A Practical Approach to Large-Scale Agile Development: How HP Transformed LaserJet FutureSmart Firmware

Book description

Today, even the largest development organizations are turning to agile methodologies, seeking major productivity and quality improvements. However, large-scale agile development is difficult, and publicly available case studies have been scarce. Now, three agile pioneers at Hewlett-Packard present a candid, start-to-finish insider’s look at how they’ve succeeded with agile in one of the company’s most mission-critical software environments: firmware for HP LaserJet printers.

This book tells the story of an extraordinary experiment and journey. Could agile principles be applied to re-architect an enormous legacy code base? Could agile enable both timely delivery and ongoing innovation? Could it really be applied to 400+ developers distributed across four states, three continents, and four business units? Could it go beyond delivering incremental gains, to meet the stretch goal of 10x developer productivity improvements?

It could, and it did—but getting there was not easy.

Writing for both managers and technologists, the authors candidly discuss both their successes and failures, presenting actionable lessons for other development organizations, as well as approaches that have proven themselves repeatedly in HP’s challenging environment. They not only illuminate the potential benefits of agile in large-scale development, they also systematically show how these benefits can actually be achieved.

Coverage includes:
• Tightly linking agile methods and enterprise architecture with business objectives
• Focusing agile practices on your worst development pain points to get the most bang for your buck
• Abandoning classic agile methods that don’t work at the largest scale
• Employing agile methods to establish a new architecture
• Using metrics as a “conversation starter” around agile process improvements
• Leveraging continuous integration and quality systems to reduce costs, accelerate schedules, and automate the delivery pipeline
• Taming the planning beast with “light-touch” agile planning and lightweight long-range forecasting
• Implementing effective project management and ensuring accountability in large agile projects
• Managing tradeoffs associated with key decisions about organizational structure
• Overcoming U.S./India cultural differences that can complicate offshore development
• Selecting tools to support quantum leaps in productivity in your organization
• Using change management disciplines to support greater enterprise agility

Table of contents

  1. Title Page
  2. Copyright Page
  3. The Agile Software Development Series
  4. Dedication Page
  5. Contents
  6. Foreword
  7. Preface
  8. Acknowledgments
  9. About the Authors
  10. Chapter 1. Agile Principles versus Practices
    1. The Principles of the Agile Manifesto
    2. Our Take on Agile/Lean Principles
    3. A Quick Tutorial: Agile versus Waterfall
    4. Summary
  11. Chapter 2. Tuning Agile to Your Business Objectives
    1. Background: HP FutureSmart Firmware Case Study
    2. Cost and Cycle-Time Drivers Prior to HP FutureSmart Firmware
    3. Value Proposition of Re-Architecting the HP FutureSmart Firmware and Processes
    4. Establish Development Objectives from the Business Analysis
    5. Summary
  12. Chapter 3. Aligning Architecture with Business Objectives
    1. Challenges with Existing Architecture
    2. Architecting for the Business: Dynamic Variability and Forward Compatibility
    3. Keeping an Architecture Current and Sustainable
    4. Summary
  13. Chapter 4. How to Establish a New Architecture Using Agile Concepts
    1. Re-Architecting Iteratively
    2. Making Progress
    3. The Thin-Slice Model
    4. Creating Cultural Shifts Through Architectural Demos
    5. Summary
  14. Chapter 5. The Real Secret to Success in Large-Scale Agile
    1. Change for People’s Sake
    2. Metrics Are a Conversation Starter
    3. Iterative Model of Agile Management
    4. Summary
  15. Chapter 6. Continuous Integration and Quality Systems
    1. Reducing Build Resources and Build Time: Continuous Integration
    2. Achieving High Quality with CI: Automated Multilevel Testing
    3. Productivity Results of Our Automated Delivery Pipeline
    4. Special Considerations for Enterprise Software Systems
    5. Summary
  16. Chapter 7. Taming the Planning Beast
    1. Predict by Ballparking and Trend Watching
    2. Clear Prioritization
    3. Just-in-Time User Story Definition
    4. Convincing the Business: Agile Planning Is Okay
    5. Summary
  17. Chapter 8. Unique Challenges of Estimating Large Innovations
    1. Waterfall Approach and Challenges
    2. Agile Approach
    3. Challenging Situations with the Agile Approach: Large Architectural Efforts
    4. Change Management and Integrating with the Business
    5. Summary
  18. Chapter 9. Our Take on Project Management for Large-Scale Agile
    1. Oversight and Priority: Program Managers
    2. Accountability: Section Managers
    3. Robustness and Scalability: Architects
    4. Putting It All Together
    5. Summary
  19. Chapter 10. Organizational Approach: Managing to Disadvantages
    1. Test Ownership Organization
    2. Component versus Feature Organization
    3. Traditionally Managed Project Teams versus Self-Managed Scrum Teams
    4. Summary
  20. Chapter 11. Effective Agile Development Across U.S. and Indian Cultures
    1. Lesson 1: Permission to Ask
    2. Lesson 2: Ensure Time to Explore
    3. Lesson 3: Have Small Wins First
    4. Lesson 4: Exploit the Time Difference
    5. Lesson 5: Take Time to Train—Always
    6. Lesson 6: Remember a Team Is About People
    7. Organizing for the Highest Leverage of Offshore Teams
    8. Summary
  21. Chapter 12. The Right Tools: Quantum Leaps in Productivity
    1. Common Development Environment
    2. Simulation and Emulation Environment for Automated Testing
    3. Test Architecture for Scalability: Common Test Framework (CTF)
    4. The Most Important Part of Test Automation: Virtual Machine Provisioning System (VMPS)
    5. Real-Time Metrics and Tracking
    6. Integrated Toolset
    7. Cool Toys Worth Investing In
    8. Summary
  22. Chapter 13. Real-World Agile Results: HP FutureSmart Firmware
    1. Resources Moved from Overhead to Innovation
    2. R&D and Developer Productivity
    3. Improvement in Current Product Support
    4. Summary
  23. Chapter 14. Change Management in Moving Toward Enterprise Agility
    1. Impacts on Other R&D Groups and System Qualification
    2. Impacts on Product Program Teams
    3. Impacts on Non-R&D Product Generation Activities/Teams
    4. Where to Draw Boundaries with Coordinating Organizational Agility
    5. Change Management of the HP FutureSmart Firmware Transformation
    6. Summary
  24. Chapter 15. Differences in Our Perspective on Scaling Agile
    1. A Difference in Perspective
    2. Focusing on Agility Rather Than Team Operations
    3. Changing the Deployment Pipeline
    4. Embracing the Uncertainty of Agile
    5. Enterprisewide Tracking and Incremental Improvements
    6. Summary
  25. Chapter 16. Taking the First Step
    1. Figuring Out First Steps
    2. What’s Next for FutureSmart?
    3. Determining Your First Steps
    4. Summary
  26. Appendix A. Twelve Principles of Agile Software
  27. Bibliography
  28. Index

Product information

  • Title: A Practical Approach to Large-Scale Agile Development: How HP Transformed LaserJet FutureSmart Firmware
  • Author(s): Gary Gruver, Mike Young, Pat Fulghum
  • Release date: November 2012
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780132980982