Problem – a mess in Continous Delivery Pipeline
Imagine you came to a legacy project as a Senior Developer or Technical Leader. After a few days of time-wasting introductory training about the importance of the safety of working on a laptop you started to dig into Continuous Delivery Pipeline. It was a mess. Nobody knows how it really works, mysterious bash scripts are spread between many different Jenkins jobs.
On your previous job in the greenfield project, you and your colleges made everything exactly by the book. You used Pipeline as a Code. Every script was kept in the code repository, your Product Owner released the newest version to production with just one click. It was perfect. You have knowledge, skills, and experience to fix your current project, but how you should even start?
How to convince your colleges and higher management to invest in better Pipeline?
Usually, in the case of teams working for a long time on legacy projects, there is some level of resistance when it comes to significant changes in architecture, infrastructure or a way of working. You will have to convince your team members and management that change is needed. One of the best ways to do it is to visualize how bad the current state is. I am doing it using Pipeline Storming.
How to fix the current Pipeline in small steps?
It is very hard to force the team to change their mindset or a way of working as a tech leader. It is best when team can brainstorm their own ideas on how the situation could be fixed, and you are only guiding and mentoring them. Pipeline storming gives your team a chance to show their true potential and create their own recipe for success in the DevOps world.
Pipeline Storming – workshop
Goal and overall description
This is a workshop activity. It has two goals:
1. Capture, visualize and understand the current state of the continuous delivery pipeline.
2. Come up with the list of actions that can be made to improve the current state.
Up to 20 participants. You should include the development team as well as management so that, you will be able to convince them that it is worth to put some extra cash on a table to fix the current state.
- You will need a room with at least 3-4 meters of empty space on the wall. I suggest putting a roll of electrostatic paper all over the well (it is the best surface to put your stickies on).
- Stickies (for moderate size pipeline):
- > 100 yellow sticky notes (smaller size than rest looks better)
- > 100 green sticky notes
- > 100 red sticky notes
- > 100 blue sticky notes
- Thin markers for every participant to write on a sticky note
- Invite important participants
- Legend – stick on a whiteboard every type of sticky with its meaning and explanation on it
- Red – manual step
- Green – automatic step
- Yellow – duration
- Blue – improvement
The whole workshop could take between 1-3 hours.
- Ice Breaker
Start with some Ice Breaker to start with a high level of energy in the room
Explain the idea of this workshop, goals you are trying to achieve and plan for it
- Pipeline steps
During this phase ask participants to write down all steps of the pipeline which they can imagine and put them on the wall in proper order. The color of sticky notes is important – red stickies refers to manual steps and green stickies to automatic steps (eg. “QA manual tests” on red sticky; “Deploy to TST environment” on green sticky).
- Review of pipeline
When participants finished creating new stickies ask them to review there work, order steps in a timely manner and remove duplicated stickies
When the review is finished participants should put yellow sticky above every step with the duration of this step.
- The revelation of Mess
This is a very important part. Ask your whole group to take a step backward, look at a wall from a perspective and think for a minute. Afterward, ask them about conclusions, give them some time to discuss those. At this point, it should strike them how long, messy and chaotic processes they have. Now we have a motivated team of people ready for some changes.
It is time to pass them blue stickies. They should brainstorm every possible improvement, write it down on a sticky note and stick it on a wall next to impacted steps.
- Voting and final conclusion
Finally, we have a light in a tunnel, there are some possible improvements. Every participant could vote on 3 best improvements by putting dots on relevant stickies (everybody has 3 votes). We write down those which are chosen as an action point from this meeting.
In this article, I show you a workshop tool to improve your CI/CD pipeline. I recommend running it once in several months, it is a great way to improve DevOps culture and mindset in your team.