Dr. Dobb‘s | Scaling Scrum | (二)

来源:百度文库 编辑:神马文学网 时间:2024/04/26 11:19:03
Scaling Scrum
(Page2 of3)
The Full Development Picture
Construction is only one part of the overall software developmentlifecycle. Figure 2 presents an overview diagram of the Agile lifecyclewhich encompasses the ideas presented in Figure 1 and extends them toaddress the full range of software development issues. This lifecycleexplicitly includes the concept of phases because the activities thatyou perform do in fact change throughout the span of a project. I‘veadopted the normalized terminology described in the sidebar plus othercommon agile phase terminology—many agile teams refer to projectinitiation effort as "iteration 0" and transition as the release phase.In the Eclipse Way, the Agile process followed by the Eclipsedevelopment team, they use the terms "warm up" and "end game"respectively. In Agile and Iterative Development(Addison Wesley, 2004), Craig Larman uses the terms "pre-game" and"release" for these phases. The Open Unified Process (OpenUP) uses theterms Inception and Transition respectively. Sadly, many peopleconsider the concept of phases to be antithetical to agility, yet inpractice they seem to be a fundamental lifecycle concept.
Figure 2 encompasses several critical activities to scale to meet your real-world development needs:
You need to do some initial requirements and architecture envisioning at the beginning of the project to address basic questions around scope, cost, schedule, and technical strategy. Few projects are funded without acceptable answers to these issues.
To ensure the quality of your work, you should have an independent test team that works in parallel to the development team. This team reports change stories back to the team who then treats them exactly like a requirement—they‘re estimated, prioritized, and put on the work item stack (see "Scaling Test-Driven Development",www.ddj.com/architect/205207998).
The "work item stack" contains all of the potential items of work that a team may need to address, not just stakeholder requirements. For example, you need to set up people‘s workstations, fix defects, people attend training, they take vacations, they review the work of other teams, and so on. These are important activities that must be planned for accordingly.
Iterations can be any length, not just 30 days, and an individual team needs to determine which is best for them. As Dr. Dobb‘s 2007 Agile Adoption Survey (www.ddj.com/architect/200001986) found, the most popular iteration length is two weeks.
Effective agile teams prove their architecture with code early in the project (this is the Elaboration part of Elaboration and Construction). Although purists claim that you should prioritize based solely on business concerns, the reality is that it behooves you to address technically risky requirements early in the lifecycle. Luckily, business value and technical risk often go hand-in-hand, so you rarely need to "game" your work item stack much to accommodate this strategy.
The Transition phase provides time to successfully release software into production. This effort includes training people, finalizing testing, finalizing documentation, pilot/beta testing, and deploying the system; see "The Agile End Game" (www.ddj.com/architect/198800565) for more detail.
Enhancement requests and defect reports are identified once the system is in production and treated as new work items that must be prioritized.
[Click image to view at full size]

Figure 2: The Agile Software Development Lifecycle. The fulldevelopment lifecycle must address project initiation, construction,and deployment.
Since the late 1990s, I‘ve written that effective softwaredevelopment is serial in the large, iterative in the small, deliveringincremental releases over time. Over the past few years the rhetoricaround agile software development has unfortunately drowned out the"serial in the large" part of the message, forcing many people torediscover proven techniques and strategies. If the lifecycle of Figure2 makes sense to you, and you‘d like to extend Scrum to address theseissues, I suspect that you‘ll find that the OpenUP, downloadable freeof charge atwww.eclipse.org/epf, will be of interest to you.