Dr. Dobb's Journal - May 2008 - (Page 53) d05ambler_p5as 3/14/08 11:26 AM Page 53 • 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. Since the late 1990s, I’ve written that effective software development is serial in the large, iterative in the small, delivering incremental releases over time. Over the past few years the rhetoric around agile software development has unfortunately drowned out the “serial in the large” part of the message, forcing many people to rediscover proven techniques and strategies. If the lifecycle of Figure 2 makes sense to you, and you’d like to extend Scrum to address these issues, I suspect that you’ll find that the OpenUP, downloadable free of charge at www.eclipse .org/epf, will be of interest to you. Enterprise Concerns Most IT departments have numerous systems in production, many currently in development, and many more under consideration. The implication is that to be truly effective you need to take the crosssystem IT lifecycle into account, not just the system lifecycle. Yes, letting your architecture evolve over time is a great concept, but wouldn’t it be great to take advantage of a common architecture and reusable assets? Figure 2: The Agile Software Development Lifecycle. The full development lifecycle must address project initiation, construction, and deployment. May 2008 l www.ddj.com l Dr. Dobb’s Journal 53 http://www.ddj.com/architect/200001986 http://www.ddj.com/architect/198800565 http://www.ddj.com/architect/198800565 http://www.rallydev.com http://www.rallydev.com http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - May 2008 Dr. Dobb's Journal - May 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Software Development Goes to the Movies Cat: A Functional Stack-Based Little Language Mojax: Mobile Ajax Framework Kernel-Mode Databases Getting Better Search Results Effective Concurrency The Agile Edge Dr. Dobb's Journal - May 2008 Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page Cover1) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page Cover2) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 1) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 2) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 3) Dr. Dobb's Journal - May 2008 - Contents (Page 4) Dr. Dobb's Journal - May 2008 - Contents (Page 5) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - May 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - May 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 14) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 15) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 16) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 17) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 18) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 19) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 20) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 21) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 22) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 23) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 24) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 25) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 26) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 27) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 28) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 29) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 30) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 31) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 32) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 33) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 34) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 35) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 36) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 37) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 38) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 39) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 40) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 41) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 42) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 43) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 44) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 45) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 46) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 47) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 48) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 49) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 50) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 51) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 52) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 53) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 54) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 55) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 56) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page Cover3) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.