In this post I want to do comparisons between adopting DevOps practices and preparing for cycling event. Because having done both I can see some similarities.
If you don’t know much about cycling you will also learn some new things about it as well.
Because this post is in-depth I have created the below quick links for use. In addition, I should highlight this post is written in British English.
- Bike fitting
- Training at home
- Completing a ride
- Overcoming an obstacle
- Show off your results
- Final word
Before you start cycling you should always do research into what type of bike you want. For example, it took me three visits to a bike store and lots of online reviews before I chose my bike.
In reality, the same goes for when you want to adopt DevOps practices. You should read up on whichever practices you want to adopt. In addition, watch online videos or go to conferences about them.
For example, to find out more about using Git you can use the Microsoft Learn course as an introduction. Which you can read about in a previous post about version control here.
People always think once they have purchased a bike that will be it. I can tell you from experience that after a while you will want to customise it for various reasons.
For example, purchasing new wheels or tyres can make a big difference to your ride.
In the world of DevOps this is the same as customising whichever applications you intend to use. For example, customising the templates for your work items in Azure Boards to suit your needs.
People always think it’s just the bike that makes for a great ride. In reality it’s a combination of a few things.
Kit in particular is one of them, including chamois cream which can make your ride a lot more comfortable. Especially if you are pushing yourself during a cycling event.
In addition, the right kit can make all the difference in certain weather conditions as well. Nobody wants to overheat and get uncomfortable during a long ride.
In reality, the same goes for DevOps practices. Try and choose which applications you are going to use wisely. For example, established applications for developing SQL Server databases.
Otherwise you may end up having to use applications which are not flexible enough.
In addition, you may end up having to invest time and money looking for workarounds or alternatives after you have started adopting these practices.
Bike fittings are becoming a lot more popular now. Which is the practice where you take your bike somewhere and they check how your body works with it.
If changes are required to make you ride better then they make changes to your bike. On occasion, they can also make changes to other things like your cycling shoes.
In reality, these can make a big difference to your cycling experience.
When choosing applications for whichever DevOps practice you want to adopt a similar principle should also apply. You should check how the applications you intend to use will work within your architecture.
If you work for a large organisation, check how well these applications work with others and how they would fit into your infrastructure. For example, will firewall ports need to be allowed?
In reality, if working in a large organisation you should always check if your proposed applications are approved for your estate. Or alternatively, find out how to seek approval to use them.
When you’re planning to do a big ride like Prudential RideLondon you tend to do some training for it. Especially if you’re use to cycling a certain way.
For example, if you rarely cycle uphill you definitely need to train for it for RideLondon. Because there are a couple of well-known hills on that ride.
In DevOps the same goes for you and your colleagues. Whichever parts of DevOps practices you are looking to adopt you should ideally train on how to use them.
In this post about comparisons between adopting DevOps practices to preparing for cycling event I want to stress just how important training can be.
In reality there are many ways you can do this. Either with personal training materials or dedicated courses.
Otherwise, trying to use a new DevOps practice without any training can be like trying to cycle up a very steep hill on a very heavy bike. I can tell you from experience that training for cycling uphill on a bike will definitely pay off.
To show that I know what I am talking about. At the end of this post is a picture of me climbing the infamous Box Hill during the RideLondon cycling event.
Now and again cyclist need to train at home for one reason or another. For instance, if the weather is bad or for convenience reasons.
Usually this is done by using a device called a Turbo Trainer. Which is a device that you can mount your bike onto so that you can cycle indoors.
In addition, a lot of cyclists use an application on their computer so that they can mimic a bike ride.
In comparison, whilst adopting DevOps practices you will probably benefit from training at home as well. However, instead of using a Turbo Trainer you would use your own test environment running on your laptop instead.
For example, using your own Azure DevOps organisation at home for testing updates to Azure SQL Databases.
Before you do a main ride you should always complete smaller rides beforehand as part of your training. Which means at some stage you have to get out there and do the ride, regardless of the time it takes.
In reality, the same principle applies if looking to build a deployment pipeline. If you are going to look to use them you should build one to begin with that works.
In reality, it only has to be a small scale of what you are trying to achieve. For example, building a deployment pipeline that will deploy an update a few SQL Server databases instead of your whole estate.
It doesn’t even have to use all DevOps practices like unit, acceptance and load tests straight away . It just has to work so that you and your colleagues know that you can do it.
Doing this shows you it’s possible and also gives you and your colleagues confidence to carry on.
Plus, after you have completed many rides cycling definitely gets a lot easier. In reality, the same goes for DevOps practices because the more you practice them the more natural they become.
Sometimes when going out to complete a ride you will end up taking an alternative route. Which means you could end up with a surprising challenge like a very steep hill. So, you have to push yourself to finish it.
Exactly the same can happen when looking to adopt DevOps practices. An unknown obstacle can occur. For example, an issue with firewall ports when using your own Azure DevOps agents.
All I can recommend is to grit your teeth and overcome it.
Just like when cyclist overcome obstacles when cycling you can reward yourself afterwards for overcoming them.
Preparing for a cycling event can take a lot of self discipline. For example, as well as training you should diet right beforehand.
In reality, many cyclist are very disciplined regardless of if they are training for an event.
For example, I spent twelve weeks being very careful what I ate or drank in preparation for a cycling event. Which was tough because I was away on holiday for one of those weeks.
Same goes for adopting DevOps practices because you and your colleagues will need some self discipline.
For example, say you and your colleagues decide to start adopting the Scrum framework. You will have to make sure you’re willing to attend all the meetings that are involved. Especially the daily standup meetings.
Nutrition is one of the key things you have to get right if doing a long bike ride. For example, what energy gels you use and nutrients you put in your drink.
You also have to figure out when the best time is to stop to stock up on fluids if doing a cycling event.
Because not enough nutrients and your body will struggle and too many means you have to figure out where to carry them during your ride.
Of course, the same applies to some DevOps practices.
For example, your team members can be seen as nutrients during scrum sprints.
If you don’t have enough team members during the sprint you will struggle. In contrast, too many will require more coordination and use a lot of time and effort.
When you’re doing a long ride, you should try and keep a certain pace. In cycling this is normally done using what is called cadence. Which is the number of times your crank goes around in one minute.
A lot of cyclists have their own ideas of the perfect cadence. Including one former world champion who has been known to have ride on a cadence of ninety.
In terms of DevOps your pace can be reflected in your work items. For example, if you use the Scrum framework your pace is the total amount of whichever unit of measurement you use for a sprint.
If you over estimate this unit of measurement you may struggle. If you underestimate then be prepared to either take on additional work or do more work item refinements.
Another key point I want to discuss in these comparisons between adopting DevOps practices to preparing for cycling event is about teamwork.
In the cycling world it’s well known that teamwork makes cyclist fast. Whilst cycling cyclist can form a peloton so that those at the rear can use the cyclists in front drag. Which means they use less effort during the ride.
When looking to adopt any DevOps related practices for a team you have to remember it is not a one-man band. It’s all about bringing everybody up to a good level of understanding.
If you try and do it alone and you do not encourage others the team will struggle as a whole.
Once you have finished a big event in cycling your body feels like it should be rewarded, and rightly so. In addition, if it’s a cycling event the chances are you will also be rewarded with a medal.
In addition, cyclists are known to reward themselves with certain foods or drink after a big ride. Mostly because of the calories they have burned off.
If you implement a DevOps practice right you can feel just as rewarded. For example, knowing you have delivered something like a working deployment pipeline can be very satisfying.
You’ve probably noticed that when some cyclists finish a bike ride they lift their bikes up in the air. In reality, a lot of cyclists tend to show their cycling ride results online as well.
For example, a lot of them show their results on a site called Strava. Which you can find out more about in detail here.
If you’re adopting a DevOps practice you definitely should show off your results. Show others that you have delivered using these practices.
If you’re using Azure DevOps as part of your journey you will be able to show all kinds of results. For example, velocity and burndown charts as part of a scrum sprint.
I hope you have enjoyed my comparisons between adopting DevOps practices to preparing for cycling event.
In addition, I hope you all had just as much fun reading this post as I did writing it. If you can think of any other similarities or have any other comments you can contribute below.