Post on 28-May-2020
“THE NEED FOR NEW SKILLS” DASA DEVOPS COMPETENCE FRAMEWORK
Rik Farenhorst (Xebia)
Niels Loader (Quint Wellington Redwood)
Since the publication of our previous
white paper” Embracing Digital
Disruption by Adopting DevOps
Practices”in April 2016, we have seen
that DevOps is increasingly moving into
the mainstream of IT organizations.
The innovators and early adopters
have made their mark. We all know the
stories of Netflix, Spotify, Amazon and
Google as trailblazers in the world of
DevOps. Many larger corporations have
also taken major steps to working in a
DevOps way, and the first valuable case
studies and lessons learned are shared
at conferences that are very well
attended. But the vast majority of IT
organizations in the world, is just about
to embark on this transformational
journey.
These organizations know the highlights of the DevOps practices,
understand the potential, and are looking for guidance in avoiding the
key pitfalls. They are also looking to provide some form of clarity for their
organizations in terms of what DevOps can and will mean. One of the key
questions is: what does DevOps mean for my IT organization, my IT people
and their skills and knowledge?
This is exactly why the DevOps Agile Skills Association (DASA) was formed.
Even with extensive automation, running and improving IT services is still
a people business. It is the creativity and capabilities of skilled technical
people that allows profit and not-for-profit organizations to provide
amazing services to their customers and stakeholders.
“THE NEED FOR NEW SKILLS”
It is useful to put the current movement in the market into context. Looking
at the automobile industry, we see that the IT industry is following a
similar path, only much faster. Before the 1920’s, the car industry was
very much driven by an artisan approach. Each product was different (as
a result of the steep learning curve) and they were created by craftsmen
in their sheds. From the 1920’s onwards, we see that the successful car
companies turned to Mass Production in which the key characteristics were
specialization and coordination of these specialisms. In the car industry,
Toyota pioneered a new way of working that since the 1990’s was adopted
by most of the car manufacturers: Lean production based on multi-skilled
people working in teams to produce entire products.
The IT industry is following the same development path. Artisan until the
development of the PC in the 1980’s, with the move from Mass Production
to Lean Production starting around 2010. DevOps is the IT form of Lean
Production. The global move towards DevOps as a post-Mass Production
service delivery and improvement model is the driver behind the change in
requirements of IT people.
We firmly believe, and we see this reflected in the market, that the role of
the IT engineer will become more generic as DevOps teams develop and IT
people become more multi-skilled. The key to working in this environment
is to recognize that there is a skills and knowledge set that needs to
be present in every DevOps team. The distribution of these skills and
2
knowledge may be different per team. However, each team will need to
ensure that there is enough of each skill and knowledge area to ensure the
service is delivered as required by the customers of the service.
The reason for this movement is the need for flexibility and the
understanding that nobody can deliver an IT service on their own for a
long (or even short) period of time; IT services have become too complex.
Paradoxically, this does mean that IT engineers need to have a broader
scope of knowledge and skills so that they are able to deliver the service as
a team.
Over the past couple of years, we have seen DevOps teams emerging
in various phases of development. Our experience has shown, and in
discussion with other DevOps practitioners confirmed, that there are
specific skills and knowledge that can be discerned. Figure 1 depicts
the 12 DevOps competence areas that DASA recognizes, divided into 8
knowledge areas and 4 skill areas. A basic level of competence on all
12 areas is required for IT professionals in this modern era, to be able
to effectively add value to a DevOps team. For the whole team to be
effective, expert-level knowledge and skills are required on these areas as
well, but here we envision three main areas of expertise for IT professionals
to specialize into: Specify & Verify, Create & Deliver and Enable & Scale.
Reality has shown that the people necessary to carry out these three areas
are different types of personalities.
3
DASA’S AGILE DEVOPS COMPETENCE FRAMEWORK
Teambuilding
Skill Areas
DevOps
Leadership
Architecture
and Design
Business
value
Optimization
Continuou
Improvem
Infrast
Engine
Knowledge
Areas
Business
Analysis
Test
Specification
Programming
Continuous
Delivery
Security, Ris
Compliance
Figure 1: the 12 key DevOps Competence Areas
The DASA Competence Framework identifies 8 knowledge areas and 4
skills that are relevant in DevOps.
Every individual operating in a DevOps team is require to be competent at
all 8 knowledge areas and proficient at the 4 skill levels.
4
Courage
In order for DevOps teams to be effective, they require all 12 areas to be at
the expert level. Individual team members can specialize in specific areas,
in order for teams to achieve these capabilities.
SPECIFY AND VERIFY
Within this specialization area, we find the following specific competencies:
Business Value Optimization, Business Analysis, Architecture & Design
and Test Specification. We see that these areas are very much focused on
ensuring that the requirements of the customers are fully understood and
translated into the team so that these requirements can be integrated into
the IT service. We estimate that approximately one third of the team will be
involved in these areas of expertise.
– Within IT organizations, we find that there is a substantial amount of
knowledge of business processes and business rules. This is principally
a result of IT people who have built these processes and rules into
information systems. Business Value Optimization is the knowledge
area in which IT harnesses its knowledge of the business and helps to
identify the improvements that add most value to the business parties
it serves. The people focusing on this knowledge area will have intimate
knowledge of the business processes their IT services support and
will be able to have well-founded discussions with business process
leaders concerning the development of the process.
– Having identified potential improvements, it is necessary for the
DevOps team to have the ability to carry out a detailed analysis of
business such that the solution implemented is effective in terms of
functionality, cost and lead time. The Business Analysis knowledge
area means that the DevOps team can deliver its own estimation of
the impact of the improvement on both the business process and the
IT systems supporting it.
– The DevOps team also needs to translate the impact of improvements
to services on the technology necessary to deliver the IT service.
The Architecture & Design knowledge area covers this need. This
knowledge area is vital for all DevOps teams since each team must be
able to identify the impact of changes to both its own technology stack
and the technology stacks of IT services with which there are links.
5
– Last but certainly not least, the Specify & Verify profile includes Test
Specification. This is all about ensuring upfront that it is clear how the
DevOps team and its customers will know whether new functionality
actual meets the needs of the users of the IT service. Increasingly,
methods such as Test Driven Development stress the need to specify
the tests first so that code can be created in line with the required
outcomes. Test specification brings together the other 3 knowledge
areas so that the team can create automated testing for each change
to the IT service.
The key responsibility is ultimately ensuring that the design of the service is
‘future-proof’, both technologically and functionally. And that the ability to
test any new functionality is optimally facilitated by test specification that
takes both the customer usage of the system and need for speed into
account.
CREATE AND DELIVER
The majority of a DevOps team will fall into the specialization area of
Create & Deliver. The core knowledge areas are Programming, Continuous
Delivery, Security, Risk & Compliance and Infrastructure Engineering. This is
really the heart of the team’s capabilities.
– Programming is the core competency of the DevOps team,
independent of whether it is a DevOps team supporting an Application,
a Platform or a Full Stack. IT technicians will all need to become
competent at creating and modifying software code. This represents
a substantial change for people who originally come from Operations
(particularly Infrastructure Operations), where until now there has
been little need to actually work with code on a daily basis. Many
organizations that started their DevOps transformation struggle with
the lack of software engineering skills in their newly formed teams,
and we predict this is one of the main reasons my many traditional
companies will not survive the digital disruption.
6
– A vital knowledge area for DevOps teams is Continuous Delivery.
This concerns the technology to facilitate the automated delivery of
new code through a well-constructed “pipeline” from development
to production, but maybe more importantly, also the conceptual
understanding of the process for which the technology is being used.
Continuous Delivery requires intimate knowledge of the IT delivery
process from development to production.
– The other technological area that a DevOps team must master
is Infrastructure Engineering. This concerns the automation of
technological environments, so that these can be standardized, kept
consistent and refreshed easily. These skills are particularly important
for DevOps teams providing infrastructure services. However, it is
important for Application-oriented DevOps teams to have a good
understanding of the underlying infrastructural technology (being
on-premise or based on cloud-native services) so that they can ensure
that their applications match the standard infrastructure models in an
optimal way.
– We also see the need for attention to Security, Risk & Compliance. This
is about building in quality at the source. Attention to secure coding,
understanding the risks related to not just the technology but also the
functionality being created and ensuring that business rules being
coded comply with industry regulations is essential to ensure that the
applications deployed have value for the customer.
We understand that our choices for both the naming of knowledge areas
and how they have been distributed over the two roles can and will lead to
discussion.
Two of the discussion areas are Security, Risk & Compliance and the
balance of Programming versus Infrastructure Engineering. Doubtlessly,
you can define others.
– We have placed Security, Risk & Compliance with the Create & Deliver
role because this is where the coding actually takes place. However,
Specify & Verify plays an important role in actually defining the security
aspects, the risks to be mitigated and the regulations with which to be
complied.
7
– The exact balance of skills particularly programming versus
infrastructure engineering will of course depend on the total area
of responsibility of the team. We see DevOps being used to deliver
infrastructure services, and obviously those delivering application
services. More rarely, we see full-stack DevOps teams responsible for
everything from user interface to server hardware. The technology stack
will ultimately determine the balance of knowledge needed in the team.
One apparent omission is Monitoring. We recognize that monitoring is a
vital aspect of delivering a successful service. Increasingly, monitoring
appears to be its own area of expertise. We have chosen to incorporate
monitoring as part of all of the knowledge areas within Create & Deliver,
rather than specify it as a separate knowledge area. Each knowledge area
is responsible for ensuring that it is clear what is going on in each of the
areas.
The most important point is that a DevOps team must have all eight
knowledge areas present in order to be able to operate - relatively -
autonomously. Each DevOps team must evaluate the knowledge areas to
determine how much of each is necessary for an optimal operation. This is
partially a design activity based on the expected demand for services, the
amount of regulation and the complexity of the business process(es)
being supported; partially this will be an experiential development within
the team.
Starting with a set of individuals, the team will need to develop together to
ensure that all knowledge areas are addressed in a way that allows the
team to be independent.
ENABLE AND SCALE
The third specialization area in the DASA Competence Framework is
Enable & Scale. This area covers the ability to ensure that a DevOps teams
works optimally and that multiple DevOps teams that support and develop
the same product can be governed in such a way that their common
product continues to provide value for customers.
The key aspects of the competence framework that are vital for this
role are found in the skills areas. DASA recognizes four major skill
8
areas: Courage, Team-building, DevOps Leadership and Continuous
Improvement.
– Courage is about the ability to act, to take a step and try something.
And at the same time understand the risks and minimize them. Much
of DevOps is uncharted territory and, for the coming years, will be the
domain of early adopters (the innovators are already there). There will
come a time when the DevOps way of working will be the norm, but still
IT engineers will need to have the courage to take the next step.
– For most of the lives of many IT engineers, they have worked in
environments where they have not really needed to build teams,
except when they have worked in project teams. Their colleagues
have been kindred souls. In the new world of IT, the successful IT
people will be those who can truly find a way to work in a team with
a large diversity of backgrounds and points of view. Team-Building is
a critical skill to ensure that the various IT engineers with their diverse
backgrounds work together in an effective way
– This also means that IT leadership will need to adjust the way
they steer the organization. DevOps Leadership is made up of a
combination of both formal and informal leadership. These need to
be balanced and used to encourage collaboration, and to ensure
that teams do not stagnate and lose sight of their ultimate goal to
continuously ensure that the service meets the requirement of the
business process.
– One of the key ways to counter this stagnation is to ensure that teams
create the Continuous Improvement habit. This means developing
both the mindset to focus on seeing and solving problems, coupled
with having the skill to solve problems in a structured way.
Each of these skills is needed to enable the members of the DevOps team
to work effectively together. They are also required to ensure that DevOps
teams can co-operate and co-exist effectively.
As a consequence, it is not acceptable to solely allocate the skills to the
Enable & Scale role and then allocate the role to a single person. In fact, all
members of a DevOps team must become competent to a certain level in
the four skill areas; this is acquired at the Practitioner level.
9
BRINGING THE COMPETENCIES TOGETHER
The challenge for both the IT organization and the DevOps team is
to ensure that the team has the right amount of each of these 12
competencies. And as the lifecycle of the IT service develops the balance
of the required competencies is likely to shift. The goal is always to achieve
a balance between Knowledge, Skills, and Behavior, of which the latter
directly follows from having acquired the proper knowledge and skills that
stimulate empowerment, mastery and purpose (see Figure 2).
The interesting challenge for many IT organizations is: how do I go from
my current population of specialists to a population of engineers with one
of the two broad areas of expertise, supported by the skills. The answer of
course lies in stimulating IT engineers to develop towards the inevitable
new paradigm of IT. Will this be easy? No, but it will be the most exciting
journey of personal and team growth that most IT people will ever have
experienced. The good thing, though, is that organizations that have
dared taking this step, report significant gains in productivity, quality,
business success, and employee happiness, as highlighted in the 2016
State of DevOps survey by Puppet Labs. [https://puppet.com/resources/
whitepaper/2016-state-of-devops-report]
10
DASA FOCUSES ON THE KNOWLEDGE AND SKILLS REQUIRED FOR DEVOPS PROFESSIONALS, TEAM AND ORGANIZATIONS TO BE SUCCESSFUL
Business Value Optimization
Business Analysis
Architecture & Design
Programming
Continuous Delivery
Test Specification
Infrastructure Engineering
Security, Risk & Compliance
Behavior
Knowledge
Skills
Courage
Teambuilding
DevOps Leadership
Continuous improvement
Figure 2: Plotting the 12 Competence a Areas Knowledge, Behavior, and Skills
HOW DO THE DASA PROFILES WORK?
Let’s say you are a systems engineer. You have a solid technical grounding
supplemented with a healthy dose of ambition. Your ambition tells you
that your future in IT hinges on your ability to work and flourish in a
DevOps environment in which infrastructure IT services are developed and
provided.
The aim of DASA is to provide you with a standardized competence
framework on which you can plot your own current capabilities. We have
developed a series of standard profiles against which you can match
yourself. The chances are that your current profile will not match the profile
necessary for working in a DevOps environment. The DASA profile will
indicate where you need to strengthen your skills and knowledge.
11
DASA also caters for the other side of the employment equation. An
IT organization wishing to recruit technicians to work in a DevOps
environment can use the standard profiles or a custom version of the
profile to indicate what the organization needs in terms of skills and
knowledge. A custom version of the profile would show a different level of
knowledge required, as compared to the standard profile.
Demand and supply of DevOps engineers will be facilitated through this
standardized profile, helping both IT engineers and IT organizations to
clearly define what they have on offer.
Measure your own capabilities and determine the gap between your
current capabilities and the skills and knowledge required for the role you
desire. You may find there are gaps you need to work on.
For each of the competence areas, DASA has created a high level
description of what each of the areas looks like using a 5-level
development model. The aim is for people working in or with DevOps
teams to identify their level of competency and gain an understanding
of how this develops as the team moves to a high-performance DevOps
team. In a next white paper, we will discuss the details of this development
model in more detail.
12
CONTACT
Level 3 , 420 Collins Street
Melbourne, 3000 VIC
Australia
www.metapm.com.au
enquiries@metapm.com.au
+1 (302) 476-2732
Copyright © 2017 DevOps Agile Skills Association LLC. All rights reserved.