In this article we hoped to motivate the need for a build process that can easily get developers started. We’ll expand on these topics in future articles. Some of the issues that we still need to address are:
- The requirements of different environments (development, QA, production)
- Different types of workspaces
- The role of IDEs in the build process as compared to build scripts
- The implications of shared libraries and components (e.g. DLLs on Windows)
- The variety and role of build tools
- The Use of virtual machines
- The value of continuous integration and the place for build servers for distributed builds
- The relationship between building, testing and codeline policies
The Build is an essential link in the development process. Improving this link will make your life easier, whatever your role is. Take small steps towards making your process better and your work will be more enjoyable. Even if your build process seems to work, consider how you might improve it further, perhaps keeping in mind the words of Laurie Anderson: “Paradise is exactly like where you are right now, only much, much better.” [Anderson]
You can find more information on the patterns in Brad and Steve's book, Software Configuration Management Patterns: Effective Teamwork, Practical Integration published by Addison-Wesley. There is an overview, including a reference card that you can download, at http://www.scmpatterns.com. You can find more information on Kirk Knoernschild's work at http://www.extensiblejava.com.
-  With apologies to Oscar Wilde
- [wordnet] WordNet ( http://wordnet.princeton.edu ).
- [BuildPatterns] Software Reconstruction: Patterns for Reproducing Software Builds, by Ralph Cabrera, Brad Appleton, and Steve Berczuk. In the proceedings of the 1999 Pattern Languages of Programming Conference.
- [SCM Patterns] Software Configuration Management Patterns: Effective Teamwork, Practical Integration by Steve Berczuk with Brad Appleton. Addison-Wesley, November 2002.
- [Knoernschild] Kirk Knoernschild: Benefits of the Build, Software Development Magazine, March 2005 pp 44-46.
- [StarWars] http://www.starwars.com/databank/character/yoda/
- [Anderson] “Language Is A Virus” from the Home Of The Brave.