Pipeline - The game that delivers!
Can you design a pipeline with a short enough lead time to be competitive? What testing steps should you include in your Continuous Delivery pipeline? Don’t just string together existing manual processes - use simple, collaborative tools to design something better.
Design pipelines with your team to improve
Emily Bache created the card game ‘Pipeline’ as a quick and fun way to explore alternatives for a CD pipeline without actually building anything. You get to design a pipeline for a given scenario and optimize the deployment lead time. You work in a small group and get to discuss what steps are needed and which order you want to do them in. Then compare with another group and/or try a different scenario to keep on learning.
Use the free app to practice online
At Eficode, we believe in knowledge sharing and open source development, so with the team at xtream we created an online version of the game for your teams to learn from this game too. You can simply register, create a game and invite other players to join you.
Book a facilitated workshop with our experts
If you want the full experience to learn and improve your own software production, our Continuous Delivery experts can facilitate workshops based on this game for one or many teams. We have created, tested, and improved the game for that purpose. You’ll get to discuss issues specific to your organization, and identify bottlenecks and concrete improvements. The workshop can take place online with the app, during a conference, or at your company.
How to play
The game’s goal is to design a pipeline for a given scenario and optimize the deployment lead time. You work in a small group (4-6 people) and get to discuss what steps are needed and which order you want to do them in. Then estimate the overall deployment lead time.
1. Choose one scenario
To make the discussion more concrete and productive, each group begins with a scenario. For example, imagine you work for a startup aiming to out-compete an established business. We give you 5 examples, but you can create your own.
You can discuss some specific risks you need to mitigate through testing. With that in mind it’s easier to reason about how long to spend on each testing step, and also assess the potential impact of excluding a step entirely. Can we leave out this slow testing step? Can we mitigate that risk another way?
2. Check the game rules
You have a lot of freedom to design your pipeline, but in reality, there are a few rules about how you must order the steps. For example, you can’t deploy to production before you’ve built a release candidate. The 6 game rules will help you to keep track of these constraints.
An important part of the game is to estimate the running of each step added to the pipeline. In the online game you add time estimations to each card by double-clicking them. For the physical card deck, use sticky notes.
3. Design your pipeline by ordering the Pipeline Step cards
These cards are the ones you use to define the structure of your pipeline. Choose which steps are important and which can be optional or omitted entirely. You can put several steps in parallel to reduce overall lead time. You can choose to perform a step twice, both before and after building the deployable component for example, or to do some steps before the beginning of the pipeline.
You can create new steps. Just add text on a blank card explaining what the step is. This is not possible on the online game yet.
4. Review and evaluate your pipeline
Once the time is up (between 30 minutes and one hour), it’s time for the facilitator (the person who created the game) to hit “Review”. Each group can then discuss the implications of this pipeline for their business. How does your lead time compare with your competitor’s? How does your deployment lead time relate to your time to market? Would you be able to do Lean Product Development or A/B testing?
Look at the fictitious competitors’ lead times: Why are some competitors‘ lead times much longer? why are others so fast? What must their pipeline look like? What testing must they be doing differently? Are they taking more risks?Read more about the game
Test automation is a backstop for quality
Frequent releases require a quality assurance process that can keep up with the speed of development, from first ideation all the way to production release. Continuous quality assurance takes strategy, skill, and a great deal of investment in automation. But it’s worth it because it means you can take high-quality software to your market quickly and with confidence.