Value Stream Mapping for our VSTS Extensions
We the ALM | DevOps Rangers are a bunch of volunteers brought together by our enthusiasm of Microsoft’s ALM and DevOps technologies. Our mandate is to provide practical guidance, experience and gap-filling solutions to the developer community.
Creating VSTS Extensions is part of our gap-filling solution. Currently, there are about 12 active VSTS Extensions created and maintain by us. Working with a diverse set of volunteers living in different time zones and varied day-jobs is challenging, but Rangers seem to be able to do it fine and come with goods most of the time.
However, there were some areas where we were looking to improve upon and thought that creating Value Stream Mapping for our VSTS Extensions related work would help in this effort. Some of the triggers for creating our Value Stream Mapping include
- Reducing the delays in our release pipelines.
- Take a step back and look what can we improve.
- Reduce dependency from individuals.
- Speed up delivery.
- Ensure more consistency in different VSTS Extension projects
- Quicker turnaround for bugs submitted in marketplace for our VSTS Extensions.
In this series of articles, I am going to talk about our approach for creating Value Stream Mapping and what are we doing in this space.
What is Value Stream Mapping?
Value Stream Mapping is a lean management method that provides a visual depiction of events that occur to produce a product. The keywords here are “visual” and “events”. In other words, VSM illustrates each step that needs to happen for a product to be created. Creating such an illustration, triggers discussion about the need and efficiency of each step. People come together, inefficiencies and potential improvements are identified and therein lies the benefits of VSM.
Like Kanban, Value Stream Mapping has its roots in the world of manufacturing, provides a useful mechanism for lean resource planning (suppliers, raw materials, etc.) and reduces waste. So, how does it gets applied in the world of software development? What are the wastes in software development?
Value Stream Mapping in Software Development
In terms of software development, Value Stream Mapping analyzes both the artefacts (material) and information flow and attempts to reduce inefficiencies and/or promote more cohesion.
In manufacturing, inefficiencies are identified in what is also termed as TIM WOOD. Let’s look at a view of what it means for software development.
|T•ransport||Moving material from one place to another||Transfer or handover from one person/team to another|
|I• nventory||Either too much material in storage or essential items missing||Incomplete artefacts in the backlog. Artefacts built but not documented and maintained.|
|M• otion||Excess movements of goods & material||Rapid and repeated change in priority / ownership.|
|W• ait||Things not arriving on time. Processing not synchronized||Non-decision. Delay in project approval.|
|O• ver-processing||Putting more work than needed to produce something.||Too much analysis. Working with undocumented legacy code.|
|O• ver-production||Creating more products that needed||Scope not documented.|
|D• efects||Defected items created. Need to be re-produced.||Bugs. Unclear specifications.|
Creating a Value Stream Mapping is a also useful exercise in bringing people together and encourage a greater level of cohesion between teams.
Creating Value Stream Mapping
We started the Value Stream Mapping for our VSTS Extensions work stream as a research project. We did it to create better consistency in our different extensions projects and to promote good practices across the board. A team was set up to work on the project.
The first thing we needed was to define what "Value" meant for us. For a volunteer organization like us, the investment we do is the amount of time each member puts in to get some work done. In the Rangers program, we estimate that each volunteer would spend around 15 minutes on a project every day. The value we deliver based on this investment is the amount of features we deliver (be it new extensions, bug fixes or maintenance requests). We want to optimize our process so we can deliver as much value with the smallest possible investment.
The other challenge we faced with a disperse self-run community like ALM | DevOps Rangers was to identify the right set of people for conducting the Value Stream Mapping exercise. In addition to our Rangers Program Manager, we identified a few champion rangers who have started VSTS Extension projects as key participants
Now, we were set to start the process of creating Value Stream Mapping. We will go through the details of our AS-IS VSM creation process in the next blog post.
THANKS TO OUR REVIEWERS – Rui Melo, Wouter de Kort