Aman, a trustworthy and accomplished IT manager, looks at Scrum and Agile for his first time. After going over timeboxes, value-driven backlogs and potentially shippable product increments, Aman assumes that this method of developing software is not applicable to their projects. Aman sees a problem producing valuable increments of software every iteration. Some of their features are much larger than what could be developed in one iteration. He quickly nudges the Agile Coach, Priya, about this major oversight on the part of their organizational sponsor for Scrum and Agile. Priya is empathetic to Aman’s position since she has held that position before. She decides to learn a little more about Aman’s world and see if they can find a way through this issue.

One of the most often asked questions I get as a Certified Scrum Trainer and Agile Coach is around potentially shippable product increments and value of those increments to the customer. In my opinion this is a question about what is “value” and how does that relate to a “return”. In iterative and incremental methods of developing software such as Scrum and Extreme Programming (XP) there is emphasis on potentially releasable product increments at the end of each iteration. This provides some benefits such as the following:

  • Product Owner is enabled to identify early release opportunities
  • Software continues to be in a more predictable state
  • Forces system integration more frequently
  • Reduces duration of stabilization phase at time of release
  • Increases early feedback of architecture and system design issues
  • Minimizes amount of architecture by only supporting implemented features

The product accrues value as we progress from iteration to iteration adding more features into the product. How value is measured for software projects may come in various forms such as:

  • Increase market potential
  • Create valuable upgrade features for existing customers
  • Reduce total cost of ownership
  • Improve operational effectiveness
  • Enabling platform for future software endeavors

Although the product may be potentially shippable at the end of each iteration there may not be enough value accrued to ship it. Therefore we use each iteration deliverable as an increment of value towards an ultimate releasable product.

A value-driven approach such as Scrum will prioritize the implementation of the highest value features first. This means that each potentially shippable product increment delivered will contain the most valuable feature elements to produce a releasable product. As the release schedule progresses the Delivery Team will increase production of valuable software as the architecture becomes stable and unknowns lessen. Since we are continually working on the next most valuable features for the release the amount of value we produce per iteration will begin to level off. The following shows the value per feature added throughout a release cycle.

Value per feature added for release

Although the software has continued to get more valuable, the value is not realized until there is a release and the end users are using the software. In an Agile environment we tend towards shorter release cycles in order to maximize return on our investment of valuable features implemented in the software.

As Priya and Aman discuss the implications of potentially shippable product increments delivered each iteration Aman gets a clearer picture of what is required in breaking down the features into consumable chunks a Delivery Team can implement inside an iteration. Priya describes the accrual of value as each iteration passes. Aman finished by describing how the customers of their product can then realize this value once it is released and they start using the software. Aman now understands that a release still contains essential elements such as the sufficient amount and correct valuable features to give the customers the best experience possible with the software.