05 - eBook-The-need-for-New-skills-DASA-DevOps-Competence-Framework
05 - eBook-The-need-for-New-skills-DASA-DevOps-Competence-Framework
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 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
Skill Areas
Teambuilding
DevOps
Courage
Leadership
5
Architecture Continuous
and Design 2 Improvement
Business Infrastructure
value Engineering
Optimization
Knowledge
Areas
Test Continuous
Specification Delivery
Programming
4
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.
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.
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.
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.
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.
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).
10
DASA FOCUSES ON THE KNOWLEDGE
AND SKILLS REQUIRED FOR DEVOPS
PROFESSIONALS, TEAM AND
ORGANIZATIONS TO BE SUCCESSFUL
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.
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
www.devopsagileskills.org
PARTNER CONTACT DETAILS
Quint Wellington Redwood DevOps Agile Skills Association
www.quintgroup.com www.devopsagileskills.org
[email protected] [email protected]
Linkedin /company/quint-wellington-redwood Linkedin /company/devops-skills-association
Copyright © 2017 DevOps Agile Skills Association LLC. All rights reserved.