Projects used to be the cornerstone of software engineering organizations. Software companies and teams used them to manage investments, organize teams and create new features. Nowadays, this has changed. The focus now is on the continuous flow of information and value, from the concept stage to the delivery of the finished feature. This flow of information is what we call a value stream.
Value streams and the mindset of value stream optimization are now key. They help deliver modern technology and value creation as a whole to the end customer.
In this article we will:
> Explore the concept of value and the value stream
> Understand value stream mapping and how it's different when applied to software engineering
> Identify the six types of waste in the value stream so you can optimize your processes
To understand a value stream, we first have to explore the concept of value.
The definition of value is: a service, good or product delivered for a price to an end user who benefits from it. Determining the value your organization is offering to customers is important. But, it is constant and profitable delivery that will either make or break your organization’s survival.
💡 “How much time and effort are we spending on this feature, and what is the true value and outcome for our customers?” - Paul Poppert, Faire
A value stream is: all the activities or processes you use to deliver value to the end customer. The main goal is to reduce the time needed to deliver value to the market and customer. To achieve this we optimize the flow of value through the system as a whole.
It is easy to miss out on processes that define your value stream. To improve and deliver value, you need to understand the current and future efforts of your organization. And, to achieve this you need to map your value stream.
Paul agrees with this, saying:
💡 “What I really care about is the value stream, which takes into consideration the value proposition delivered to the end-user”. - Paul Poppert, Faire
Value stream mapping is a lean management approach popularized by Toyota in the 1990s. It analyzes, designs and manages the flow of information and resources needed to bring value to the customer. Processes in the value stream show if they add value or not, from the customer’s point of view. Its purpose is to find processes that don’t add value and then, help you streamline the value stream.
👉 It's important to note that according to lean practices, value is everything that a customer would pay for. In software engineering this is different. There are practices that help deliver passive value to a customer. For example: Customers don’t care how they get the value they expect and pay for, if they get it. They don’t care about what SCM you use or what you use for source control.
In software engineering companies, when mapping a value stream there are processes that may not bring direct value to your customer. But, they help you deliver the final product or service. This is why it is crucial to understand what processes cause waste in the value stream of a software engineering organization.
Could you answer the following: “what is the mean time needed for our code review stage, and how does it affect my value stream?”
To learn this, you can use the Athenian Software Delivery dashboard. It allows you to: