What is Value Stream Mapping? Value Stream Mapping is an innovative framework that provides a map of how value is created, delivered, consumed and changed over time. Value stream mapping, sometimes called “material-and-information-flow visualization”, is a Lean management technique for measuring the present state and constructing a future state of the underlying series of events which take place over a product or process from the start of the processing to the end user. Value Stream Mapping helps businesses to:
What is Value Stream Mapping? In simple terms, value stream mapping (also called VSM) is a tool for determining the relationships among different elements of a software system, their relationships, and how their changes affect the customers. The main advantage of VSM is that it can be applied both in software development and in soft real-time. More importantly, VSM helps business managers to understand their delivery efforts and the impact on their business. This helps them make better strategic decisions.
How Does Value Stream Management Compare With Traditional Software Delivery? Traditional software delivery methods to measure progress in production. They measure only the outputs, ignoring the inputs from the teams. Although this may work for large organizations with hundreds of individual departments and thousands of employees, it does not work for smaller organizations with just a handful of employees. Traditional software delivery methods also measure only one dimension of business – the output. But value stream mapping (VSM) extends this traditional model by also covering the inputs and the impacts they have on the end users.
How is Value Stream Management Used in Software Development? Software development is primarily focused on creating tangible solutions for business organizations. These solutions require building tools and techniques that enable the development of value streams. In the context of software development, these tools and techniques often translate into processes or strategies. These strategies are then used to achieve specific business goals.
In simple terms, value stream management identifies the entire development process as a value stream and then measures the stages of the development process to identify which stages need the most focus and attention. Once the stages are measured, the business managers can then proactively control the risk factors and wastes in the process. The focus in these areas would include issues arising in the early stages of the project like the assumption of risks, changing business requirements, lack of time and budget management, technical issues and scope creep. These areas require quick attention and control to ensure that the projects proceed smoothly. However, if these areas are not addressed early enough, they could derail the entire development process.
Traditional software delivery methodologies to measure software features or deliverables, quality, and software architecture. They do not define or monitor waste or loss. Standard software development and monitoring methods may be acceptable for some projects but may not be suitable for all. For example, the project manager may consider adding a new feature in a feature-limited period but measure only the cost incurred to implement this new feature.
Traditional software development methodologies are unable to determine the duration of each deliverable or feature within a given project, which means that there are no requirements when starting a new project. Consequently, there is no point of working on a software product development project if it does not cover all the necessary deliverables. This is what value stream management tries to address. The ability to create deliverables on time and within budget enables a company to make better decisions and use its skills more effectively.
This visual tool was developed by NASA to help them plan and manage their programs. The NASA develops team defined the terms used in this diagram. The image below shows some of these key terms: A “value stream” is an operational value stream that delivers a single output over a period of time. An “iteration” is a period of time or a set of measurements over an “iteration” or series of outputs. An “operation” is a single operation performed by a single entity over an “operation” or series of operations.