Benefits of Continuous Delivery and Continuous Deployment
Continuous Delivery is an approach in software engineering where you release your changes in short cycles. If, besides that, you have an automated process, then we talk about Continuous Deployment.
Releasing more often brings some important benefits to your organization:
- Faster time to market. Your users get the features sooner, which makes you more competitive.
- Power to experiment and find the right feature. Combined with metrics, you can get user feedback earlier and validate features as you continue development.
- Better productivity. Having a repeatable process allows your engineers to focus on the creative side, instead of spending time on the process itself.
If the process is automated and your software ends up in production at the end of the process, then you have the extra benefit of the immediate feedback for the new functionality and potential errors.
Challenges of Continuous Delivery
In many organizations, the Continuous Delivery process is not the ideal one depicted in white papers. This is a normal situation since, in practice, the best way to achieve your goals is making continuous improvements in small steps.
These are some of the issues that you can find during the implementation of Continuous Delivery:
- Lack of confidence to release due to missing test coverage. Developers don’t trust the process so they are reluctant to take the pipeline until the end.
- Continuous Delivery pipeline requires some manual steps. If this is your case, people might also feel uncomfortable taking this responsibility or having to coordinate the process.
- The release process is boring. Some developers like to focus more on the creation of code and not so much on the final user tests and the release. This happens more frequently if the process takes long to complete.
As you see, these issues are related to people’s motivation. To solve them, the first step would be identifying what are the factors causing the issues (e.g. lack of integration tests, complex process, etc.). Then, you can act in two fronts:
- Make a plan for improvement and start working on it. Create small tasks that will lead you to improve your Continuous Delivery process, such as automating extra parts, simplifying the process or adding tests.
- Encourage people to participate in the process. Improving it will take some time so, while you’re not there, you can use some techniques to try to make people more confident about the process. This will also help you achieve your improvement plan because more people will get in touch with the process so they’ll be able to identify the main pain points.
Gamification and motivation
Gamification means the inclusion of game elements into a field or scenario that is not a game. In our particular use case, it means including game elements into your Continuous Delivery or Release process.
Introducing game elements in a process boosts motivation because people can have fun while they’re at work. Before you get scared, this does NOT mean that the process is no longer a serious one and releases will be treated as unimportant.
By including game elements such as score, leader boards, badges, campaigns, etc., teams can enjoy of a sane competition and spice up the process. This is because, besides having fun, there is a feeling of getting better at something by having quick feedback after completing the task.
On the other hand, it’s important to note that this game shouldn’t be linked to any performance metrics of a person or team. In that case, it’s not fun anymore. The game should be there to encourage participation and motivate people to complete a process that is boring or not rewarding by itself. If you use it in an evil way, it may cause the opposite effects.
If you want to know more about Gamification in a broader scope, we recommend the books Reality is Broken (Jane McGonigal) and For the Win: How game thinking can revolutionize your business (Kevin Werbach and Dan Hunter).
Encourage Continuous Delivery with Gamification
Quboo is a gamification platform: it gives you ingredients you need to gamify some of your IT processes. One of the main Game Modes in Quboo is the Release Game, let’s see how it helps you achieve your goal of improving Continuous Delivery.
First concept in the game is that the action of completing a release gives the person driving the process a certain amount of points (score). If Jane Doe completes a release, Jane gets 50 points, for example. Jane is part of a team and her team also gets the points. The more releases her team does, the more score they get. Other teams are playing the same game and you can choose whether you want to use the Solo ranking, Multiplayer (teams) or both.
The game is organized in Campaigns: periods of time where the total score starts again from zero and finish at a given date that is known by everybody. The player and the team with the highest score by the end of a Campaign wins that game iteration. Then, you can choose if you want to give a real reward for winners or keep it to the pleasure of winning this sane competition.
Integrate Quboo in your tools or scripts
First, you have to create a Quboo account. It’s free so you can give it a try without costs.
If you use a CI/CD system that works with pipelines, you can integrate Quboo very easily by following the instructions in the CLI integration guides. You can also have a look at other Game Modes in case you want to combine the release game with code quality improvement or other features.
Start the game
When you play Quboo, it’s important that you tell others how the game works and why you introduced the game. Be honest and let everybody know that it’s good both for the teams, because they can have fun, and for the organization, because it’ll improve the metrics.
Quboo makes very easy for all players to access the rankings since nobody needs to register an account. The administrator only needs to share the public link. In any case, Quboo works even better if you have screens where you can display the rankings and instructions to everybody.
Support and feedback
If you need help in the process of creating the game or introducing it into your organization, please contact us.
We love feedback and would like to hear from you for any question or concern you may have. Just get in contact.