Before, projects were 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 the continuous flow of information and value. From the concept stage of an idea, 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.
What is a value stream?
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
What is value stream mapping?
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.
Here, it is 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.
Thus, it is crucial to understand what processes cause waste in the value stream of a software engineering organization.
6 types of waste in the value stream
- Delays: They occur when interdependencies exist between projects down or up the value stream. Although it is desirable to reduce dependencies between projects or features, this can be very difficult to achieve. As a result, delays can cause many types of waste between different projects or even different value streams.
- Half-completed work: Causes other types of waste since software is being pushed out without full completion. It will need extra work to fix missing functionalities by pushing more updates. A process that creates tech debt.
- Defects: Defect waste occurs when bugs are pushed in software. It is linked to the waste created from half-completed work. When bugs are pushed they are normally discovered by end users who then send the notification upstream to customer support. The involvement of many departments becomes a time-intensive pipeline and a source for waste down the value stream.
- Handoffs: A handoff refers to the handing over of roles within an organization (e.g. change of project ownership or employee turnover). During this process key members leave a project. This project is then handed over to a team member without the necessary context to guarantee its continuous operation. Since the velocity of the project is affected, this causes a reduction in value delivered.
- Extra features: They are features that aren’t requested by customers. Instead, they are a product of a well intentioned speculation. They cause waste by needing more effort and time than is actually required.
- Task switching: The waste caused by task switching is at an individual level. It causes inefficient value creation because engineers get distracted by non-essential tasks.
How Athenian can help you reduce waste in your value stream
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:
- Spot which segment of the pipeline increases your total cycle time the most.
- Identify bottlenecks and potential problems before they arise.
- Check the deployment frequency of your team and what affects it.
- Increase the transparency and communication with your team.
- Access to KPIs such as lead time, cycle time, team velocity and open/close rates.
- Improve the communication by sharing progress constantly and providing feedback.
- Justify decision making by accessing current and historical data.
Learn more about in-depth value stream mapping here.