Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods Barry Boehm University of Southern California Richard Turner OUSD(AT&L)/DS/SE (George Washington University) STC 2004 Tutorial April 19, 2004
Backlog . Product, Release, Sprint Backlog - lists of all functionality in product, release and sprint respectively. Product Owner responsible for the backlog management and maintenance.
Iterative development . The whole project gets divided into sprints usually 4 weeks duration each. Sprints have fixed duration (time boxing). Time boxing enables regular deliveries, supports project heart beats and helps development teams to focus on a shippable product in the end of each sprint.
Scrum meetings . Daily meetings where team members answers the following questions: What have you done since the last scrum meeting? What has impeded your work? What do you plan on doing between now and the next scrum meeting?
Burn Down Charts . Scrum Sprint Burn Down chart shows implementation progress during a single sprint. It provides answers on the following questions: When sprint could be completed based on previous progress? What is the most possible scrum team Velocity in future sprints?
Sprint review meeting . Facilitated by Scrum Master and provides an inspection of project progress at the end of the every Sprint. The goal is to improve development process by introducing new practices, changing existing practices, etc.
Characteristics Agile Plan-driven Application Primary Goals Rapid value; responding to change Predictability, stability, high assurance Size Smaller teams and projects Larger teams and projects Environment Turbulent; high change; project-focused Stable; low-change; project/organization focused Management Customer Relations Dedicated on-site customers, where feasible; focused on prioritized increments As-needed customer interactions; focused on contract provisions; increasingly evolutionary Planning/Control Internalized plans; qualitative control Documented plans, quantitative control Communications Tacit interpersonal knowledge Explicit documented knowledge Technical Requirements Prioritized informal stories and test cases; undergoing unforseeable change Formalized project, capability, interface, quality, forseeable evolution requirements Development Simple design; short increments; refactoring assumed inexpensive Architect for parallel development; longer increments; refactoring assumed expensive Test Executable test cases define requirements Documented test plans and procedures Personnel Customers Dedicated, collocated CRACK* performers CRACK* performers, not always collocated Developers At least 30% full-time Cockburn level 2 and 3 experts; no Level 1B or -1 personnel** 50% Cockburn Level 3s early; 10% throughout; 30% Level 1B’s workable; no Level -1s** Culture Comfort and empowerment via many degrees of freedom (thriving on chaos) Comfort and empowerment via framework of policies and procedures (thriving on order) * Collaborative, Representative, Authorized, Committed, Knowledgeable ** These numbers will particularly vary with the complexity of the application