Informal Visibility Into Projects
Figure 1, modified from OpenUP (www.eclipse.org/epf), overviews the strategy for scheduling work on an Agile project team. This strategy is an extension of Scrum's requirements management strategy to take into account all types of work items that software development teams perform. Not only do we implement requirements, represented as ovals in Figure 1, we also set up workstations, experiment with new technologies, take vacations, attend training courses, and other team health activities. Obviously, there are trade-offs involved with prioritizing nonrequirements-related work into the work stack.
During each construction iteration, Agile teams develop working software, fulfilling the highest-priority work items from the stack and thereby providing the greatest return on investment (ROI) possible. By delivering working software each iteration, stakeholders get clear feedback as to what the team is achieving. This "informal visibility" into development projects is far more valuable than the traditional documentation-based "earned-value management" (www.earnedvaluemanagement.com) because it's concrete. Stakeholders don't have to rely on the promises made in traditional status reports, or in comprehensive requirements documentation, but instead work with actual software and determine if the team is actually delivering value.
Stakeholders can provide immediate and valuable feedback to the team, steering them in a better direction if the team gets off track. As I discussed last month, we find that Agile teams must be far more disciplined than their traditional counterparts to actually make this work.