What is the Build Process? The build process Chapter 3, the tasks are generally small; this means you will be carrying out these steps a number of times a day. Here is a list of the typical steps you need to complete:
1. | Get the latest version of the code for the entire solutions from the source control software. | 2. | Build the latest version, including the changes made to complete the task. | 3. | Run all the tests. | 4. | If the tests all pass, add new changes to the source control system. | 5. | Rebuild the solution to a central location. | 6. | Build the installer to a central location. |
A few readers might now be asking, "What is source control software?" If you are one of those readers, please read this carefully. Source control software provides a central location for the entire team to store the code that has been developed. Think of it as a database for your code. It will let you look at the changes made over time and roll back to examine how the code looked at a given time. Microsoft currently supplies Visual SourceSafe with Visual Studio.NET as a source control software solution. Visual SourceSafe integrates with Visual Studio.Net and works well enough for the examples in this book. If you are developing software without using source control, stop reading this book and go and deploy source control software for your team now!XP teams often carry out these tasks on another computer called an integration machine. Having a separate machine for carrying out integration tasks proves valuable on several levels. An integration machine prevents more than one set of code changes from being integrated into the system at the same time. This helps to prevent conflicts from occurring. This works best in small teams of less than 15. With a large team, the bottleneck caused by having only one integration machine can be detrimental. Using an integration machine increases the visibility, to the entire development team, of the current state of the project. The feedback from this machine provides a continual reminder of the importance of having a working build and ensuring the tests run. As you will discover in the first exercise in this chapter, I like to set the entire screen of the machine to be either green for a good system state or red to indicate there is something broken in the system. Remember, feedback is one of the XP values, and this can help promote that feedback to the team. Having a separate machine to test your code before checking it in to the source control software helps to prevent the "it works fine on my machine" chant that I often hear from development teams. By testing the code on at least more than one machine, you reduce the chances of hearing these frustrating words again.
|