Continuous builds for development teams using the IBM Agile ALM solution (Part 2)Part 2: Using automated build as part of the development activities
As described in t Let's explore how my agile development team can leverage builds during Sprint execution.
To implement a new story, I can adopt a “Test First” approach and start with the creation of JUnit test cases. It helps me test my new classes, but it also provides automated tests that I can include in builds. In agile projects, continuous integration is a recommended practice to ensure that code developed by individuals does not conflict other parts of the application. \With RTC, before I deliver a change set, I can verify that the new code will not affect the integrity of the application. Classes in an “Outgoing” change set are copied to my repository workspace on the server, but are not delivered to the development stream yet. At this point, I can request a Personal Build. The use of personal builds is a way to validate changes and integration before the artifacts are delivered to the comon streams. Errors are identified before they impact the rest of the team.
If the build fails, I can explore the information provided by RTC and the build engine to understand the problem. At this point, no one else in my team will see the errors. When my Personal Build completes successfully, I am ready to deliver my changes to the Stream shared by the whole team. All members will now be able to see the new capabilities that I have developed. Any team member can request a build anytime. And Agile ALM team can configure the environment to launch build on a predefined schedule. Rational Team Concert provides different ways to support continuous builds as described above. One simple option is to leverage the Jazz Build Engine. RTC provides sample build files that you can customize to meet you specific needs. Here is a build.xml example that you can download and review. The build compiles the code, runs the test, writes logs, creates archive files for dowload and publishes all the results on a centralized RTC dashboard.
|