You are previewing Agile and Iterative Development: A Manager's Guide.
O'Reilly logo
Agile and Iterative Development: A Manager's Guide

Book Description

Agile/iterative methods: From business case to successful implementation

This is the definitive guide for managers and students to agile and iterative development methods: what they are, how they work, how to implement them—and why you should.

Using statistically significant research and large-scale case studies, noted methods expert Craig Larman presents the most convincing case ever made for iterative development. Larman offers a concise, information-packed summary of the key ideas that drive all agile and iterative processes, with the details of four noteworthy iterative methods: Scrum, XP, RUP, and Evo. Coverage includes:

  • Compelling evidence that iterative methods reduce project risk

  • Frequently asked questions

  • Agile and iterative values and practices

  • Dozens of useful iterative and agile practice tips

  • New management skills for agile/iterative project leaders

  • Key practices of Scrum, XP, RUP, and Evo

  • Whether you're an IT executive, project manager, student of software engineering, or developer, Craig Larman will help you understand the promise of agile/iterative development, sell it throughout your organizationaeand transform the promise into reality.

    Table of Contents

    1. Copyright
      1. Dedication
    2. The Agile Manifesto
    3. The Agile Principles
    4. The Agile Software Development Series
    5. Preface
      1. Typographic Conventions
      2. About the Author
      3. Acknowledgments
    6. 1. Introduction
      1. Software Is New Product Development
      2. What's Next?
      3. Web Resources
        1. Broad Link or Article Sites
        2. More Specific Sites
    7. 2. Iterative & Evolutionary
      1. Iterative Development
      2. Risk-Driven and Client-Driven Iterative Planning
      3. Timeboxed Iterative Development
      4. During the Iteration, No Changes from External Stakeholders
      5. Evolutionary and Adaptive Development
      6. Evolutionary Requirements Analysis
      7. Early “Top Ten” High-Level Requirements and Skillful Analysis
      8. Evolutionary and Adaptive Planning
        1. Fixed-Price Contracts
      9. Incremental Delivery
      10. Evolutionary Delivery
      11. The Most Common Mistake?
      12. Specific Iterative & Evolutionary Methods
        1. Evo
        2. Unified Process
        3. Other Methods
      13. What's Next?
      14. Recommended Readings
    8. 3. Agile
      1. Agile Development
      2. Classification of Methods
      3. The Agile Manifesto and Principles
        1. The Agile Manifesto
        2. The Agile Principles
      4. Agile Project Management
      5. Embrace Communication and Feedback
      6. Programming As If People Mattered
      7. Simple Practices and Project Tools
      8. Empirical vs. Defined & Prescriptive Process
      9. Principle-Based versus Rule-Based
      10. Sustainable Discipline: The Human Touch
      11. Team as a Complex Adaptive System
      12. Agile Hype?
        1. Agile Methods Did Not Invent Iterative Development
      13. Specific Agile Methods
        1. Scrum
        2. XP
        3. Crystal Methods
        4. Agile Modeling
          1. Scenario
        5. Other Methods and Practices
      14. What's Next?
      15. Recommended Readings
    9. 4. Story
      1. What's Next?
    10. 5. Motivation
      1. If It Ain't Broke, Don't Fix It
      2. The Facts of Change on Software Projects
      3. Key Motivations for Iterative Development
        1. Timeboxing Benefits
      4. Meeting the Requirements Challenge Iteratively
      5. Problems with the Waterfall
        1. Problem: “Complete” Up-front Specifications with Sign-off
        2. Problem: Late Integration and Test
        3. Problem: “Reliable” Up-front Schedules and Estimates
        4. Problem: “Plan the Work, Work the Plan” Values
      6. What's Next?
    11. 6. Evidence
      1. Summary
      2. Research Evidence
        1. Iterative and Evolutionary Research
        2. Size Research
        3. Change Research
        4. Waterfall Failure Research
        5. Productivity Research
        6. Quality and Defect Research
      3. Early Historical Project Evidence
        1. Pre-1970
        2. 1970s
        3. 1980s and Later
      4. Standards-Body Evidence
      5. Expert and Thought Leader Evidence
        1. Harlan Mills
        2. Tom Gilb
        3. Frederick Brooks
        4. Barry Boehm
        5. James Martin
        6. Tom DeMarco
        7. Ed Yourdon
      6. A Business Case for Iterative Development
      7. The Historical Accident of Waterfall Validity?
        1. Why Did Waterfall Promotion Continue?
      8. What's Next?
      9. Recommended Readings
    12. 7. Scrum
      1. Method Overview
        1. Classification
        2. Introduction
      2. Lifecycle
      3. Workproducts, Roles, and Practices
        1. Roles
        2. Practices
        3. Core Practices
        4. The Scrum Meeting: Details
        5. The Value of the Scrum Meeting
        6. Workproducts
        7. Other Practices and Values
      4. Values
      5. Common Mistakes and Misunderstandings
        1. or, How to Fail with Scrum
        2. You Know You Didn't Understand Scrum When...
      6. Sample Projects
      7. Process Mixtures
        1. Scrum + Evo
        2. Scrum + UP
        3. Scrum + XP
      8. Adoption Strategies
      9. Fact versus Fantasy
      10. Strengths versus “Other”
        1. Strengths
        2. Other
      11. History
      12. What's Next?
      13. Recommended Readings
    13. 8. Extreme Programming
      1. Method Overview
        1. Classification
        2. Introduction
      2. Lifecycle
      3. Workproducts, Roles, and Practices
        1. Roles
        2. Practices
        3. Core Practices
        4. Workproducts
        5. Other Practices and Values
      4. Values
      5. Common Mistakes and Misunderstandings
        1. or, How to Fail with Extreme Programming
        2. You Know You Didn't Understand XP When...
      6. Sample Projects
      7. Process Mixtures
        1. XP + Evo
        2. XP + Scrum
        3. XP + UP
      8. Adoption Strategies
      9. Fact versus Fantasy
      10. Strengths versus “Other”
        1. Strengths
        2. Other
      11. History
      12. What's Next?
      13. Recommended Readings
    14. 9. Unified Process
      1. Method Overview
        1. Classification
        2. Introduction
      2. Lifecycle
      3. Workproducts, Roles, and Practices
        1. Roles
        2. Practices
        3. Core Practices
        4. UP Guidelines
        5. The Six Best Practices
        6. Workproducts
        7. Other Practices and Values
      4. Values
        1. UP as a Heavy, Defined Process versus an Agile UP Approach
      5. Common Mistakes and Misunderstandings
        1. or, How to Fail with the Unified Process
        2. Superimposing Waterfall Ideas
        3. Other Common Misunderstandings
        4. You Know You Didn't Understand the UP When...
        5. Signs the UP “Expert” Is Not an Iterative Expert
      6. Sample Projects
      7. Process Mixtures
        1. UP + Evo
        2. UP + Scrum
        3. UP + XP
      8. Adoption Strategies
      9. Fact versus Fantasy
      10. Strengths versus “Other”
        1. Strengths
        2. Other
      11. History
      12. What's Next?
      13. Recommended Readings
    15. 10. Evo
      1. Method Overview
        1. Classification
        2. Introduction
      2. Lifecycle
      3. Workproducts, Roles, and Practices
        1. Roles
        2. Practices
        3. Core Practices
          1. Evolutionary Project Management
          2. Specification Quality Control (SQC) Through Early Inspection
          3. Planguage
        4. Workproducts
          1. Function Requirement Specification
          2. Performance Requirement Specification
          3. Design Specification
          4. Impact Estimation Table
        5. Other Practices and Values
      4. Values
      5. Common Mistakes and Misunderstandings
        1. or, How to Fail with Evo
      6. Sample Projects
      7. Process Mixtures
        1. Evo + Scrum
        2. Evo + UP
        3. Evo + XP
      8. Adoption Strategies
      9. Fact versus Fantasy
      10. Strengths versus “Other”
        1. Strengths
        2. Other
      11. History
      12. What's Next?
      13. Recommended Readings
    16. 11. Practice Tips
      1. Project Management
        1. Multiteam or Multisite Early Development
        2. Difficult Multiteam or Multisite Iteration Planning
        3. Overlapping or “Pipelining” Activities Across Iterations
        4. Rolling Wave Adaptive versus Predictive Planning
          1. Benefits of Rolling Wave Adaptive Planning
          2. Conclusion
        5. Planning: Consider Ending on “Wednesday”
        6. Planning: Whole Team Planning Meetings
        7. Planning: Workers Estimate
        8. Planning: Improving Estimates with Wideband Delphi
        9. Planning: Multiple Iteration Planning Meetings
        10. Planning: Agile Task Generation
        11. Planning: Don't Forget to Budget for Iteration Overhead Tasks
        12. Planning: People Estimate Their Time Budget Each Iteration
        13. Planning: Volunteering
        14. Visible Project Plans
        15. Iteration Goals: Risk, Coverage, Criticality, Skills Development
        16. Iteration Goals: What to Rank?
        17. Iteration Goals: How to Rank? Dot Voting
        18. Iteration Goals: How to Rank? Quantitative Methods
        19. Iteration Goals: Related Iteration Length?
          1. Iteration Length Chosen First
          2. Requests Chosen First
        20. Iteration Goals: Before the First Development Iteration
        21. Iteration Goals: The First Development Iteration
        22. Iteration Goals: Use Cases and Scenarios
        23. Iteration Goals: Primary and Secondary Requests
        24. Iteration Goals: Don't Add Requests to an Iteration
        25. Tracking Iteration Progress
        26. Tracking Iteration Progress—What to Track?
        27. Tracking and Planning: XPlanner
        28. Earned Value Tracking on IID Projects
        29. Ranking Risks
        30. Managing Risks
      2. Environment
        1. Continuous Integration
        2. Project Wiki Webs
        3. CASE Tools and Reverse-Engineering
        4. Consider a Plotter
        5. Caves and Common Room
        6. Liberate the Walls
        7. Cling Sheets or Whiteboard Paint
        8. Digital Cameras
      3. Requirements
        1. Agile Modeling
        2. Defining and Keeping the Vision
        3. The Product Vision Box
        4. A Moore-Style Vision Statement
        5. Product Sheets
        6. Evolutionary Requirements Workshops
        7. Tracking Requirements Across Iterations
        8. Direct User Involvement in Requirements and Product
        9. Use Cases are OK
        10. Quantification Is OK
        11. GUIs with Glue
        12. Brainstorming
        13. Brainwriting
        14. Affinity Clustering
        15. Mind Maps
        16. Team Rotation Writing
      4. Test
        1. Test-Driven Development
        2. Fit or Fitnesse for Acceptance Testing
    17. 12. Frequently Asked Questions
      1. Question List
      2. Questions and Answers
    18. Bibliography