DevOps - Building Blocks To Boost Your DevOps Transformation
DevOps - Building Blocks To Boost Your DevOps Transformation
Building blocks to
boost your DevOps
transformation
Contents
Introduction 2
Chapter 1
Chapter 2
Chapter 3
Conclusion
1
Introduction
2
What does it mean to do DevOps?
‘We have an experienced DevOps team’ or ‘We’re hiring a DevOps
engineer’ are the types of sentiments commonly bandied around, but
they’re big red flags. DevOps isn’t a tool or individual process
restricted to a few people or isolated teams; it’s a mindset shift, much
like agile, and applies to IT as a whole. It shouldn’t be a standalone
department, rather a continuous culture that takes root and filters
throughout the business.
3
DevOps is going beyond agile
Agile is a well-established approach – it’s celebrating its 20th birthday
in 2021. By now, most organisations have made or are in the process of
some kind of agile transformation. But however hard you’re waving
your agility wand to accelerate product development, drive value, and
overhaul your organisation, it’s really all for nothing if you can’t get your
products to market at the same rate. No matter what comes before it, if
your software is still worming its way through traditional sign-offs and
endless testing, building up to a big release, then you’re not doing agile
properly – and you’re certainly not doing DevOps.
4
The three tenets of DevOps
Three fundamental principles underpin DevOps:
Continuous
Flow Feedback learning and
experimentation
5
Chapter 1
Empowering people,
changing culture
6
A conducive culture
No one said DevOps was easy. In fact, according to Gartner, through to
2022, 75% of DevOps initiatives will fail to meet expectations. The
reason won’t surprise you – issues around organizational learning and
change. Simply showing up one day and imposing a new set of
practices on your employees is dooming DevOps to fail.
7
Here are some key considerations to build buy-in and transform
your culture.
• Do it gradually
No one likes a sudden shock to the system, and DevOps is no
different. A gradual change where employees can merge into this
new mindset will get better results in the long run. While driving
change from the top is vital, actual change will start at the bottom.
By implementing DevOps at the team level, it enables individuals
to realise the possibilities, discover potential pitfalls, and
overcome them – crucially before the whole business has made a
shift. This slow-burn approach allows people to redefine their roles
at a more realistic pace too.
8
• Collaboration is key
Being on the same page means actually getting stuck in together.
Without collaboration – from individual developers to C-suite
leaders –DevOps just doesn’t work. In larger corporate structures
where people and thinking are siloed, this is a big challenge.
Communication plays a huge part in this. Employees should feel
empowered to share knowledge with each other, for the
betterment of everyone. Consider using community forums or
collaboration tools (see chapter three).
9
it works, and then iterate any issues away based on real-world
feedback. This is why fluidity and flexibility in DevOps are so
important: systems should support a fail-fast way of working
rather than stifle it.
10
The right stuff
If it’s not clear by now, people are the most important component of your
DevOps transformation. Making sure you have the right talent to ignite
the spark and carry the torch is half the battle. Despite the tech-heavy
nature of software development, when it comes to DevOps, soft skills –
like communication, collaboration, flexibility, and decision-making
– should be prioritised alongside security, coding, and infrastructure
knowledge. Don’t restrict your DevOps skills audit to IT teams alone:
make sure this mix of skills is present across the organisation.
When hiring or upskilling your existing teams, don’t forget the following:
• Program your people to win: dedicate the right time and resources
to helping your teams transition their skillset. One option is a
DevOps training program that helps them become familiar with the
tools, tech, and methods pivotal to transformation. FedEx took this
approach and upskilled 25,000 programmers with its own bespoke
training solution.[1]
[1] https://devopsinstitute.com/10-devops-trends-to-watch-in-2020/ 11
• Know when to bring in new people: it’s important to strike the right
balance between upskilling your existing employees and bringing
in new people to boost your DevOps capabilities. Your existing
employees might already have in-depth knowledge about your
organisation, but there are lots of benefits to bringing new hires on
board. Keep in mind the cost of hiring in DevOps skills and that
you’ll need a certain level of expertise to pick the right people too.
12
Chapter 2
No matter the people in your teams or the tools you choose to use,
successful DevOps transformation can’t happen unless you step away
from traditional IT’s ‘trust but verify’ methodology to a new outlook of
continuous integration and delivery, incorporating a set of essential
processes. And a pick ’n’ mix approach won’t do here. While
organisations using DevOps will incorporate variations on the theme,
they will all be utilising the following at a minimum: collaboration,
automation, continuous integration and delivery, and monitoring.
13
Collaboration: achieve more together
Collaboration is more than just a cultural facet – it’s a process-driven
practice that you must build into the way you work; in particular, it helps
IT organisations with globally distributed teams to concentrate on
aligning to achieve a common goal, whether that’s delivering a release
by the end of the day or a wider business objective for the year. Here are
just some of the problems collaboration can help you overcome:
14
Top tips for collaboration
• Embrace diversity
Your team might be geographically spread out and culturally
diverse, so inclusivity and sensitivity are key to smooth
collaboration. Don’t make assumptions, and embrace different
points of view; it will help to unite the team in the long-run.
15
Automation: repetition right at your fingertips
What sets DevOps apart is automation. It’s only possible to achieve this
level of efficiency by relying heavily on automated processes to lighten
the load. For that, you need to have the right suite of tools in place (see
chapter three) for automation, building, integration, testing, environment
configuration, deployments, workflows, data synchronisation across
systems, and more, leaving people to focus less on repetitive tasks and
more on complex problems.
16
function with a central team that controls standards? If you
choose the former, you might want to create a ‘centre of
excellence’ to lead the way in exploring and adopting new
technology or practices. Whereas that latter might require
delivery pods that are responsible for developing their own
automated processes.
17
• Pick people wisely
You’ll want a skilled and experienced lead developer to run any
automation implementations, which might mean hiring in some
new talent or working with an external partner. Make sure your
people receive training where necessary – exceptional development
and process analysis skills are vital. And unless you want standards
to slip as the team grows, consider appointing people to oversee
quality and manage the robots.
18
Continuous integration and delivery:
an agile approach
Continuous integration (CI) and continuous delivery (CD) forces
developers to merge their source code updates with others’ far more
frequently than they might otherwise choose to, and operations teams
to make sure they’re not creating a bottleneck with manual testing, to
get releases out to users.
19
• Sooner rather than later
Integration should happen early and often. Too long with one
developer and you run the risk of countless conflicts when their
code merges with the main repository. And if they integrate too
late in the process, it’s hard to understand conflicts, leading to lost
time. Regular integration also allows developers to share valuable
knowledge in bite-sized chunks.
20
• Overcoming automation fears
Some people will be wary of CD – they’ll see automation as the
enemy as it’s essentially taking over parts of their job. Build
enthusiasm and confidence into your team with the help of
experienced automation cheerleaders. If you have the right people
for the job, they’ll soon realise that repetitive tasks are more
suited to automated tools, and that automation frees them up to
work on more interesting projects.
21
Together, these help to measure software performance and
availability, improving stability in the process. By continuously taking
measurements, you can identify causes quickly, preventing outages
and minimising disruption for users. Some typical data points you
might consider measuring include time to market, deployment
frequency, change success/failure rate, security test pass rate, and
mean time to recovery from pipeline failure.
By effectively managing software and service delivery this way, you can
more easily identify which steps are adding value and which aren’t.
As well as leveraging real-time metrics, VSM helps you break down
operation silos, encourage cross-team collaboration, and coordinate
and automate workflows.
22
Chapter 3
As you build your toolchain, you’ll need to include those that step up
your collaboration, keep context-switching to a minimum, aid
automation, encourage visibility, and allow for effective monitoring.
You might choose an all-in-one solution that doesn’t integrate with
third-party tools or an open toolchain that you can customise with the
pick of the bunch, tailoring your toolset more closely to your
organisation’s needs.
Whichever approach you use, the tools you choose will correlate with
the processes mentioned in the previous chapter, notably planning and
building, continuous integration and delivery, metrics, operations, and
feedback. Given the fast-moving nature of DevOps, your individual
needs, and the rapid development of new tools, we’ve outlined some
key considerations rather than making specific recommendations.
23
Build up your toolbox
• Primed for planning
Use tools like Jira, Confluence, and Slack to make work more
manageable and learn from users at pace. Collaboration is a
priority, as is sprint planning and the ability to gather feedback
and organise it into task-based outputs. All team members should
have access and be able to share and comment on everything
with ease. Integration features are also important to convert user
stories into your development backlog.
• Collaborative coding
Get up to speed on source control and collaborative coding tools
like Bitbucket and GitLab. These help you store your code in
chains, giving better visibility of every change and making
collaboration much smoother. Initiate pull requests to tell your
team about the changes you’ve pushed, speeding up peer review
and getting your code in the mainline much quicker.
24
• Keep it continuous
Make sure CI and CD stay top of mind with tools that make it
easier to check code in a shared repository multiple times a day
or as regularly as your organisation deems necessary. You’ll need
a production-identical environment to develop in so everyone’s on
the same page when they’re coding and a platform that
automatically applies tests to development branches and offers
real-time chat alerts – providing feedback from your team.
• Testing times
Automation rules the roost when it comes to testing tools – they’ll
help you speed up development, reduce risk, and test efficiently
with minimal effort. Think UI, security scanning, and load testing
all taken care of. What’s more, these analyse data and produce
reports that help your teams identify problem areas and course-
correct as appropriate. You’ll also want tools that can handle
exploratory testing and orchestration, as well as wallboards that
give everyone visibility over results, including operations.
25
• Hassle-free deployment
For automated deployment, you’ll need to follow good engineering
practices – deploy to your lowest-level environment first before
replicating up to production to point out any difference and
generate standardised actions. There are a number of useful tools
out there to help you automate deployment, including GitLab,
Microsoft’s Visual Studio, and Bamboo Server.
26
Big tools, big decisions
When it comes to the tech and tools available, there’s a lot of choice.
Figuring out what will make most sense for your organisation can be
hard. In general, people pick and prefer solutions they feel most
comfortable with, which can be counterintuitive to transformation.
This approach can also lead to a tool binge – bringing on too much
technology where integration falls by the wayside and you end up
with nothing that really does the job you need. Take the time to
consult, and don’t lose sight of your budget – the wrong choice could
put your team behind competitors, prevent agile working, and make it
harder to scale.
27
Chapter 4
28
Lots of companies want to implement devops, but don't really
understand why. And it’s important to keep in mind who it’s designed to
benefit most – the customer. But it’s not a simple case of ‘the
customer is always right’. DevOps helps organisations to strive for
greatness and offer the customer something they didn’t even know
they needed. These key principles allow you to better understand
customer pain-points, working efficiently to put things right. They help
you stay solutions-focused – releasing features that address real use
cases and removing barriers that impact the customer experience.
Contact us
29
About Adaptavist
lifecycle management.