The two approaches to developing products or services are incremental and iterative. The following figures depict the difference between the two approaches.
In an Agile DevOps environment, both approaches are used to develop a product. You might need to build upon the existing parts or functionality (iterative). There can also be a situation where you need to add new functionality (incremental). Regardless of the approach, the goal is to deliver a completely working product every time. Considering the minimal number of essential parts or functionality to create a completely working product helps to prioritize development jobs. In other words, it helps analyze the minimal number of increments essential for the product. After determining the increments, you can build (incrementally) a minimal variant of each part, thereby creating a Minimal Viable Product (MVP). Once the MVP is ready, you can choose the part that should be enhanced first (iterative) or add new parts (incremental) to create a better product over time. Story Mapping takes exactly this approach.
A Story Map is a two-dimensional view of the Backlog (of the list of requirements). It is like a map of all the stories that are on the Backlog. It facilitates prioritization by a kind of categorization. The categories are functionality that ‘belongs together’ to a valuable (marketable) feature set that enhances the product. Each feature set is called a slice. It is like a slice cut from the completely envisioned product. A slice corresponds to a row of the Story Map. Each slice contains enhancements for some or all of the essential parts for the product (the puzzle pieces in the picture). Each essential part corresponds to a column of the Story Map. The lower you look on the Story Map, the ‘nicer’ and more advanced the parts will be developed.
The first slice is the first version of the complete product and is often called the “Walking Skeleton.” It might be ugly, but it walks. Ideally, it is the MVP that can be used to get feedback from the customers or other stakeholders. However, sometimes one or more slices need to be realized before an acceptable viable product is produced. In this case, the goal of the earlier slices is to reduce (technical) risk, such as getting knowledge about the technology being used or improving estimations of development costs. Still, such slices should be avoided if possible. In the end, the customer determines the value of your product, not your knowledge of the technology or the development process!
Each slice adds to the product and makes it more valuable. The following graph depicts the growth of value over time.
At first, value rises slowly. When knowledge and experience get accumulated, value can be added rapidly by adding or enhancing features. Eventually, the product is more or less finished. Adding more features is perceived as less and less valuable. At a certain point, the investment into adding new features will never be returned especially when the product life cycle is at its end. The following pie chart depicts the usage of features. Therefore, you should avoid building features that are useless or have low value. Story mapping helps with thinking explicitly about the value of features.
Source: DASA DevOps Professional – Enable and Scale coursebook.
DASA DevOps Certification Programs
DASA developed a certification program designed for each profile to test the practical skills and experience of professionals who feel most related to these profiles.