EP146 Build, Show, Improve – The Agile Cycle
Completed work and features facilitate stakeholder interaction, guide development through feedback, and ensure quality by meeting the Definition of Done.” #AdvancedQualityPrograms #TheQualityGuy #Increments
Ship It or Hold It? As Shakespeare wrote in ‘Julius Caesar’, ‘Cowards die many times before their deaths; The valiant never taste of death but once.’”
A Product Increment is the complete set of work our team finishes within a specific timeframe. Think of it as building a cake layer by layer, with each new addition building on the previous one. For the cake to be considered complete, the Increments must meet agreed-upon quality standards, ensuring it’s ready for release.
The Product Increment is a cornerstone of Agile development. It showcases the progress made during each team iteration and, crucially, delivers value to customers and users, helping them achieve their goals.
In Agile development, the core purpose of a Product Increment is to deliver new features in small, manageable pieces.
Some of the Benefits of Delivering in Small Increments are:
Faster Feedback: Regular deliveries allow for quick feedback from customers and stakeholders. This avoids wasted effort on unwanted features. Each increment provides value and fuels a continuous cycle of development, testing, and release. This keeps development aligned with evolving customer needs and market conditions, ultimately satisfying customers with early and frequent deliveries of useful products.
Transparency Through Working Products: Product Increments showcase progress through tangible deliverables, a core Agile principle. Everyone can see what’s done and what’s next. This highlights the value of working products over plans or documents. Progress is measured by functionality, and the Increment provides a clear, step-by-step view of achievements at each stage.
Overall Impact:
Product Increments promote flexibility and responsiveness. They enable a continuous cycle of planning, execution, and review, fostering ongoing improvement and adaptation. This is crucial in today’s dynamic market where customer needs and conditions can shift rapidly. Product Increments empower teams to adjust course as needed, ensuring they stay on track and deliver value effectively.
The Product Increment is a team effort, led by Developers and guided by the Product Owner.
Developers: Deliver the Increment regularly, ensuring each one adds functionality or improvements that meet team standards.
Product Owner: Sets the strategic direction and priorities, outlining the features, fixes, and enhancements for each Increment.
The Team: The entire team (Developers, Product Owner, and Scrum Master) is accountable for delivering a valuable Product Increment each period. This ensures it meets technical standards, delivers value to stakeholders, and aligns with project goals.
Shippable vs. Releasable:
At the end of each period, the Product Increment should be “shippable,” meaning it meets the Definition of Done and is usable. However, being “releasable” involves more. A releasable increment is not only complete but also aligns with strategic goals like market timing, customer demand, and business objectives. Multiple shippable increments might be accumulated before a release based on these factors.
There are three factors that influence releasing an Increment:
Testing and Quality Assurance: Rigorous testing (functional, performance, security, usability) ensures the product functions well in the user environment.
Market Timing: Releases should align with strategic market timing, such as high customer demand or optimal feature impact.
Business Objectives: The Increment should fit broader goals like marketing campaigns, competitive positioning, and financial targets.
By carefully considering these factors, the Team can decide the best time to release a Product Increment, ensuring it delivers maximum value to the market and meets the needs of both the business and its customers.
The Definition of Done: Quality & Consistency
The Definition of Done (DoD) is a critical document outlining the criteria each backlog item needs to meet for completion. This ensures consistent quality across increments, adhering to general quality standards and specific acceptance criteria for individual features. It guarantees functionality, seamless integration, and overall quality.
Benefits of Product Increments
Product Increments are central to Agile development, offering value to both teams and stakeholders. They showcase completed work and functioning features, enabling direct stakeholder interaction and driving more valuable feedback. This feedback is crucial for guiding development. By ensuring each increment is “shippable” and meets the DoD’s high standards, teams achieve consistent quality, enabling regular improvements and strategic releases aligned with market demands and business goals.
“All the world’s a stage, and all the men and women merely players.” (As You Like It) – William Shakespeare