Recently, I have taken ownership of the deployment process at Atlantic BT. We have had some issues with communication, consistency and flat out failures. We have to look at ourselves in the mirror and face the facts; we have to improve.
We spend the majority of our projects in the trenches. We workshop with our clients, we design, we code, we test. The deployment is all about the unveiling; it’s time to show the world what you have done.You owe it to your customer and to your team to finish it right. The goal is for the deployment to go smoothly and pop a cork when it’s done.
Incorporating Agile Concepts in the Deployment Process
I like to borrow Agile concepts and use them in different ways. A stand-up is great for daily communication, identifying roadblocks and simply getting everyone on the same page. We make good use of stand-ups during our development projects at Atlantic BT, but they can also be used in other parts of our work because they present a rhythmic opportunity to communicate
With that in mind, consider these questions:
- Where do you need to improve?
- What process is causing you the most headaches?
- In your business segment, at what do you want to be known for being the best?
When I think about these three questions, my go-to solution is a retrospective. A retrospective is about gathering data, discussing possible actions and then doing something. At Atlantic BT we ask three critical questions as part of our retrospectives:
What went well?
When something isn’t going well it’s very easy to focus on what is wrong. We cannot forget our victories, even the minor ones. These victories lay the foundation for future awesomeness!
What didn’t go well?
It’s common to fall into the trap of thinking of this category as ‘our failures’. It’s hard to look into the mirror and face your demons and admit that you have problems. If you are able to remove judgment from this section you will find it very effective. Use “I” statements like: “I notice that we lost momentum when the QA server went down” instead of “You shut down the QA server and slowed us down.”
What are we going to DO to improve?
It’s time for the ideas to flow. Talk about what is the most valuable change you can make to be better. It doesn’t have to be 10 things, it can be one. The most important part is that it gets done. Decide what to do and then set the accountability:
- What problem(s) are we trying to solve?
- What will be done?
- Who will do it?
- When will it be done?
- When will there be a follow up?
Retrospectives are great because you can use it for just about any process.
Solving Atlantic BT’s Deployment Challenges
After taking over responsibility for Atlantic BT’s deployments, I immediately implemented retrospectives as a part of our deployment process. In fact, there are now 3 parts to a deployment for us: the pre-deployment meeting, the deployment itself and the deployment retrospective. With each iteration we are analyzing the good, the bad and the areas of improvement.
Each team member brings a unique perspective and approach to the meeting, therefore they must attend the retrospective. I have noticed that when our team members are challenged to improve, they rise to the occasion. They may suggest a simple change that can be done immediately or a complex change that requires a significant time investment. As a team, we discuss the value in each suggestion and decide what will be done. We are careful not to commit to completing too many action items with each iteration. We look for items that can be done with confidence before the next deployment. In a short time we have seen the creation of checklists, an alternative deployment technique and a communication protocol created.
Our goal is to have perfect deployments. Downtime will be at as close to zero as possible, communication with all parties will be consistent and clear. While we have already made significant improvements, we still have further to go. But with each iteration we draw a little closer to perfection. And that’s a win for both Atlantic BT and our clients.
About Dan Beard
Dan Beard is the Director of Software Development at Atlantic BT. With more than 19 years of experience in software development, Dan’s focus has been delivering high quality software products on time. He is responsible for managing developers across multiple technologies including .NET, PHP, IOS and Android development. He has implemented and augmented Agile development practices to suit the needs of projects and organizations. You can follow Dan on Twitter or connect with him on LinkedIn.