You are previewing Scrum® in Action: Agile Software Project Management and Development.
O'Reilly logo
Scrum® in Action: Agile Software Project Management and Development

Book Description

SCRUM IN ACTION: AGILE SOFTWARE PROJECT MANAGEMENT AND DEVELOPMENT is a practical how-to guide for software project teams on how to successfully deploy an Agile software framework with Scrum. It is clearly and concisely written and is the first practical guide with real world situations written by corporate practitioners. This book describes many good project management techniques on how to get the most from project teams and bridges the gaps between many Scrum and project management books by addressing how to communicate with executives using financial terms, how to use an objective estimation technique, and where software architecture fits into Scrum.

Table of Contents

  1. Copyright
    1. Dedication
  2. Foreword
  3. Foreword
  4. Acknowledgments
  5. About the Authors
  6. Introduction
    1. What Is This Book About?
      1. Chapter 1: Setting the Stage: Agile and Scrum
      2. Chapter 2: Finance Speak
      3. Chapter 3: Secure Top Management Support but Make Sure to Obtain Middle Management Buy-In
      4. Chapter 4: A Visual Requirements Gathering for the Product Backlog
      5. Chapter 5: Making the Story Point Estimate Comparable for Scrum Enterprise-Wide Implementation
      6. Chapter 6: The Influence of Architecture Vision on Team Velocity and Software Quality
      7. Chapter 7: From Architecture Vision to Release and Sprints Planning to Parallel Software Development
      8. Chapter 8: Did You Say Product Owner?
      9. Chapter 9: The Importance of Automated, Regression, and Integration Tests
      10. Chapter 10: The Importance of Teamwork
      11. Chapter 11: The New Nature of Management and Leadership on a Scrum Project
      12. Chapter 12: How to Adapt Scrum (Without Destroying Its Agile Foundations or Doing Negative ScrumButs)
      13. Chapter 13: Scrum Project Readiness Self-Assessment
      14. Chapter 14: When Do You Need a ScrumMaster?
      15. Chapter 15: Parting Thoughts
      16. Appendix A: Two Real-World Software Product Development Case Studies
      17. Appendix B: Could You or Should You Have an Abnormal Termination of a Sprint?
      18. Glossary
    2. Who Should Read This Book?
      1. If You Are New to Scrum
        1. If You Are a Member of the Management Team
        2. If You Are a Member of the Technical Management Team
        3. If You Are a Project Manager
        4. If You Are a Developer
        5. If You Are a Business Analyst
        6. If You Are a Tester
        7. If You Are an Application Architect
        8. If You Are an Enterprise Architect
        9. If You Are a Member of the PMO
        10. If You Are a Member of Operations
        11. If You Are a Product Owner
        12. If You Are a Business Sponsor
      2. If You Are Already Experienced with Scrum
        1. If You Are a ScrumMaster
      3. If You Are a Product Owner
        1. If You Are a Member of the (Development) Team
  7. Praise for the Book
  8. 1. Setting the Stage: Agile and Scrum
    1. What Is the Foundation of Agile Software Development and Project Management?
    2. Scrum Origins
      1. How Scrum Works
    3. Why Are Agile and Scrum Effective in Software Project Management?
    4. Summary
  9. 2. Finance Speak
    1. Calculate Project Costs
    2. Select Project Investments
      1. The Payback Period
      2. Buy Versus Build
      3. Net Present Value (NPV)
      4. Internal Rate of Return (IRR), or Return on Investment (ROI)
    3. Monitor Project Performance
      1. Cost Performance
        1. Cost Variance (CV)
        2. Cost Performance Index (CPI)
      2. Schedule Performance
        1. Schedule Variance (SV)
        2. Schedule Performance Index (SPI)
      3. Project Budget Forecasting
        1. Estimate at Completion (EAC)
        2. Estimate to Complete (ETC)
        3. Variance at Completion (VAC)
    4. Summary
  10. 3. Secure Top Management Support but Make Sure to Obtain Middle Management Buy-In
    1. Working with Top Business Management
    2. Working with Top IT Management
      1. Program Management Office
    3. Working with IT Middle Management
      1. Quality Assurance
      2. Operations Management
      3. Enterprise Architecture (EA)
    4. Turning Your Direct Management into an Ally
    5. Summary
  11. 4. A Visual Requirements Gathering for the Product Backlog
    1. A New Visual Requirements Gathering Process for Agile and Scrum
      1. First Step: Identify the Stakeholders and Their Goals
      2. The SMART Rules
      3. Second Step: Gather Requirements for the Product Backlog
      4. The CUTFIT Rules
    2. An Example
    3. Summary
  12. 5. Making the Story Point Estimate Comparable for Scrum Enterprise-Wide Implementation
    1. Problems with a Non-Comparable Story Point
    2. Cultural Problems with Planning Poker
    3. An Objective Criteria-Based Estimating Process
      1. Example
    4. Summary
  13. 6. The Influence of Architecture Vision on Team Velocity and Software Quality (*)
    1. The Importance of Architecture Vision
    2. How to Identify Architecture Vision
    3. Another Benefit of Having an Architecture Vision
    4. Summary
  14. 7. From Architecture Vision to Release and Sprints Planning to Parallel Software Development
    1. From Architecture Vision to Release and Sprints Planning
    2. From Incremental to Parallel Software Development
    3. Summary
  15. 8. Did You Say Product Owner?
    1. Managing Stakeholders’ Expectations and Prioritization
    2. Having a Clear Product Vision and Knowledge
    3. Knowing How to Gather Requirements for the Product Backlog
    4. Making Oneself Always Available
    5. Knowing How to Be a Good Organizer
    6. Knowing How to Communicate Better Than the Average Person
    7. Knowing That It Is All About Servant Leadership
    8. Summary
  16. 9. The Importance of Automated, Regression, and Integration Tests
    1. The Importance of the Definition of Done
    2. The Most Important Tests
      1. Automated Testing
      2. Continuous Integration Testing
    3. Organizing the Testing Infrastructure
    4. Summary
  17. 10. The Importance of Teamwork
    1. The Individuals
    2. The Group
    3. The Team
    4. The Keirsey Temperament Types
    5. The Five Team Stages
    6. Techniques to Resolve Team Conflicts
    7. Conditions of Great Teamwork
    8. Summary
  18. 11. The New Nature of Management and Leadership on a Scrum Project
    1. Coaching for Superior Performance: The GROW Model
    2. Traits of a Caring Leader and Manager
    3. Summary
  19. 12. How to Adapt Scrum (Without Destroying Its Agile Foundations or Doing Negative ScrumButs)
    1. How to Adapt Scrum Without Doing Negative “ScrumButs” with Excuses
    2. Examples of Situational Scrum Adaptations
      1. Organization Dimension
      2. Infrastructure Dimension
      3. Team Dimension
      4. Technology Dimension
      5. Process Dimension
      6. Business Dimension
    3. Summary
  20. 13. Scrum Project Readiness Self-Assessment
    1. A Simple Tool for Your Scrum Readiness Assessment
    2. Example
    3. Putting It Together
    4. Summary
  21. 14. When Do You Need a ScrumMaster?
    1. In Depth Theoretical and Practical Knowledge of Scrum
    2. Great Servant-Leadership Ability
    3. Strong Organizational Skills
    4. Great Communication Skills
    5. Excellent Presentation Skills
    6. Conflict Resolution Skills
    7. Great Human Development Skills
    8. Summary
  22. 15. Parting Thoughts
  23. A. Two Real-World Software Product Development Case Studies
    1. Introduction
    2. Ruby and Ruby on Rails (RoR)
      1. Ruby, the Language
        1. Syntax and Constructs
        2. Classes and Objects
        3. Variables
        4. Data Types
        5. Methods
      2. Ruby on Rails (RoR), the Web Framework
        1. MVC
          1. View
          2. Model
          3. Controller
          4. So Why Is MVC Good?
    3. Version Control and Testing for Web Development with RoR
      1. Git—Version Control
      2. Testing and Testing Framework
        1. Automated Testing
        2. Regression Testing
        3. User Acceptance Testing
        4. Test::Unit—A Testing Framework
    4. Case Study 1 (Noshster)
      1. Product Vision and Goal
      2. Requirements Gathering Using the Book’s Visual Technique
      3. Architecture Vision and Release/Sprint Planning
        1. Architecture Vision
      4. Project Estimation Using the Objective Criteria Technique
      5. Noshster Development
        1. Noshster Release 1—Sprint 1
          1. Stories (Release 1—Sprint 1)
        2. Models
          1. Views
        3. Noshster Release 1—Sprint 2
          1. Stories (Release 1—Sprint 2)
          2. Noshster Parallel (Concurrent) Software Development(Release 1—Sprint 2)
          3. Noshster Model—View—Controller (Release 1—Sprint 2)
          4. Views
          5. Controllers
        4. Noshster Release 2—Sprint 3
          1. Stories (Release 2—Sprint 3)
          2. Noshster Model—View—Controller (Release 2—Sprint 3)
          3. Views
          4. Controllers
        5. Noshster Release 2—Sprint 4
          1. Stories (Release 2—Sprint 4)
          2. Noshster Model—View—Controller (Release 2—Sprint 4)
          3. Views
          4. Controllers
        6. Testing Noshster
          1. Example Unit Test
          2. Example Integration Test
          3. Example User Acceptance Test
    5. Case Study 2 (Conferous)
      1. Product Vision and Goal
      2. Requirements Gathering Using the Book’s Visual Technique
      3. Architecture Vision and Release/Sprint Planning
        1. Architecture Vision
      4. Project Estimation Using the Objective Criteria Technique
      5. Conferous Development
        1. Conferous Sprint 1
        2. Stories (Sprint 1)
        3. Conferous Model—View—Controller (Sprint 1)
        4. Views
        5. Controllers
        6. Conferous Sprint 2
        7. Stories (Sprint 2)
        8. Conferous Model—View—Controller (Sprint 2)
        9. Views
        10. Controllers
  24. B. Could You or Should You Have an Abnormal Termination of a Sprint?
    1. Introduction
    2. When Can a Sprint Be Terminated Earlier Than Planned?
    3. How to Avoid Terminating a Sprint Earlier Than Planned
    4. How to Restart After Terminating a Sprint Earlier Than Planned
  25. Glossary
  26. References