A program of products means that they are often sold together in a common market. It’s normal to share team members
across teams for specific blocks of time. One might think with a close-knit team like this, all agile processes among the
subteams would be common, but they are not. There are differences that have emerged over time according to the nature
of the project and the people on it. Some examples of differences are: different ways of tasking out stories in Rally®,
differing story acceptance criteria, and having different processes for planning and writing stories. They are small
differences and team members carry best practices between teams.
Agile has allowed these teams to broker a closer relationship with the customer liaisons and, at the same time, share
progress more visibly. Formerly, it was not uncommon for years to elapse between releases. The product direction would
change, development would follow the new direction, and testing would occur late in the cycle. By prioritizing the
features, breaking the work into manageable segments and completing each feature before moving on to the next, these
same teams working on the same product, are now able to release a new version every six months.
There are qualitative benefits as well. Team ownership of the product and process has improved. In the early phases of
agile adoption, it was also not uncommon for team members to delay engagement until detailed specifications existed.
Naturally, this led to misunderstood requirements and rework in some cases, as the developers would reactively share
their interpretation of the requirements. After the switch to agile, benefits started happening immediately. Team members
collaborate in small groups consisting of designers, developers and testers. Instead of accepting a design as-is and relying