3957 - Module 1 - Foundations of DevOps I

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

3957 Foundations of DevOps I:

Principles and Practices

Module 1: Introduction to DevOps:


Core Values and Principles

1
Course Plan
Module Titles
Current Focus: Module 1 – DevOps Introduction: Core Values and Principles
Module 2 – The Building Blocks of DevOps
Module 3 – Organizational Culture and Operating Model
Module 4 – DevOps Life Cycle of Software Development (Phase 1 To 4)
Module 5 – DevOps Life Cycle of Software Development (Phase 5 To 8)
Module 6 – DevOps Transformation Journey, Change Management and Metrics

2
Learning Outcomes for this Course

• Define DevOps and describe its benefits as compared to other


approaches
• Describe the DevOps lifecycle and processes
• Compare and contrast Agile and Waterfall models of software delivery
• Describe Agile techniques (Lean, Scrum, Kanban) used in software
development and when/how to apply them
• Describe change management approaches for integrating DevOps into
organizational culture and teams

3
Course Evaluation

• Class Attendance and Participation in Webinar – 10%


• 5 Weekly Assignments (15% each) – 75%
• Final Paper – 15%

Note: Your Instructor will place you into groups in Quercus. You will work in
your designated group for the entire duration of this class to complete your
weekly assignment and final paper.

4
Learning Outcomes for this Module

• Define DevOps and its benefits to the software development life cycle
• Identify and describe the core values of DevOps (CALMS)
• Explain the principles of DevOps from the “Three Ways” perspective
• Describe how the core values and principles of DevOps benefit
organizations

5
Topics for this Module
• Introduction to DevOps and Its Benefits
• DevOps Core Values (CALMS)
• Principles of DevOps (Three Ways)

6
Required Readings

• The History of DevOps: A Visual Timeline


• 6 Companies That Are Doing DevOps Well
• Wikipedia: DevOps
• A DevOps case study at one of the world’s largest banks

7
Recommended Readings

• DevOps Use Cases


• The DevOps Handbook: How to Create World-Class Agility, Reliability,
and Security in Technology Organizations
• The Phoenix Project: A Novel about IT, DevOps, and Helping Your
Business Win
• DevOps for Dummies

8
Module 1 - Section 1

Introduction to DevOps
and Its Benefits

9
What is DevOps?
• DevOps is a set of practices that combines software development and
IT operations. It aims to shorten the systems development life cycle
and provide continuous delivery with high software quality. DevOps is
complementary with Agile software development; several DevOps
aspects came from the Agile methodology.
• It is a software development philosophy where a culture of
collaboration, ownership, continuous learning and improvement is
encouraged in the software development lifecycle from ideation to
production.
• DevOps can enable you to reduce interpersonal friction, eliminate
bottlenecks, improve collaboration, increase job satisfaction and
enhance team productivity.

10
What is DevOps? (continued)
• The focus of DevOps is not on processes or tools. Those are important
to help organizations design and architect how they will operate and
run their software development business, but the main intent of
DevOps is to emphasize the importance of culture.
• The core values and principles discussed in subsequent slides are the
ingredients to creating the right culture and mindset which will allow
DevOps to be successful in organizations.

11
History of DevOps
• DevOps was developed when people and organizations realized that
they needed to innovate and automate processes on the technology
side. The DevOps movement started in the year 2001 with the debut of
Agile software development. Organizations increasingly felt the need
to improve their processes and deliver high quality software more
frequently.
• Although Agile revolutionized software development in many ways, it
failed to address the conflict between developers and operations staff.
A silo mentality existed between developers and operations staff: once
developers passed on their code to operations staff, they felt no
obligation to ensure what got deployed was supported, and there was
no ownership end to end of the delivery of the software.

12
History of DevOps (Continued)
• In 2008, Andrew Clay Shafer spoke with Patrick Debois about his
frustrations with the constant conflict between developers and
operations staff. Together, they launched the first DevOpsDays event
in Belgium to create a better and more Agile way of approaching
software development. This evolution of Agile took hold, and DevOps
has since enabled companies around the world to produce good
quality software faster and cheaper. DevOps is not a fad. It is a widely
accepted engineering philosophy.
• DevOps' rise in popularity grew with the publication of books like The
Phoenix Project by authors Gene Kim, George Spafford and Kevin
Behr. Published in 2013, the book is a narrative-style novel that follows
a fictional American company going through a digital transformation.

13
DevOps Benefits to Software Delivery
There are many benefits that DevOps can bring to the discipline of
software delivery. Some key benefits are listed below:
1. Achieving Agility – it is important for organizations to be Agile to
beat market competition and deliver software faster. Through
DevOps, organizations can become more Agile which will allow to
deliver software faster.
2. Removing Silos – DevOps practices fosters collaboration and
removes the silo mentality between development and operations
teams. There is more interaction between various teams and
increased collaboration to innovate and solve problems. This
increases trust, transparency and joint ownership of a technology
product.

14
DevOps Benefits to Software Delivery (continued)
3. Efficient and Faster Deployment – If you are using DevOps
approaches then you will be able to deploy applications and
systems more efficiently and quicker. You will continue to look for
ways to make your deployment processes better organized and
reduce waste. This makes it easier to deploy products and services
faster.
4. Savings – Through DevOps, a business can automate repetitive
tasks without worrying too much about any errors. For example,
performance and regression testing can quickly bring about small
changes. Frequent rollovers and backups in the development chain
will lead to a more stable and robust process. When you have such
automation in place, the organization can benefit by saving a large
chunk of its manual costs. This therefore directly translates to
saving money.

15
DevOps Benefits to Software Delivery (continued 2)
5. Continuous Delivery – Communication and collaboration are two
main attributes of DevOps. In organization where these two
attributes are improved, there is instant improvement in
development cycles. This means that after they go through a series
of tests, the codes are quickly released to the end users. There is
very little or no gap between gathering requirements and the
production cycle, which helps to create a massive shift in production
cycle. The organization can now synchronize IT mechanisms with
production cycles, thereby able to continuously deliver software
efficiently.

16
DevOps Benefits to Software Delivery (continued 3)
6. Reduce Defects – Defects are your worst enemy in the production
environment. Through iterative development, modular programming
and collaboration, teams can minimize any defects, thereby
developing a highly-effective method to handle or overcome
defects.

In the subsequent section, we will discuss DevOps Core Values and


Principles which will help you to understand these benefits in greater
depth, and what is needed to build a successful DevOps based
organization.

17
Case Study: DevOps Benefits

Read the case study below and consider the following questions:
1. Did you understand the benefits outlined in the case study?
2. Can you list any other benefits of DevOps?

Case Study: A DevOps case study at one of the world’s largest banks

18
Module 1 - Section 2

DevOps Core Values (CALMS)

19
What are the DevOps Core Values?
As we begin to become more familiar with DevOps, we will need to
understand its core values as defined by CALMS. It stands for culture,
automation, lean, measurement and sharing. These core values will
help us to understand the principles of DevOps and help assess DevOps
success as we apply these values and principles in our organization.

1. Culture – Your culture needs to be collaborative and customer centric,


which means your software developers understand that the purpose of
technology is to make software products that makes their customers
lives easier. If the customers don’t find ease of use and value in the
product, the product has failed. Technology is secondary to this goal.
The best DevOps cultures are extremely collaborative and cross-
functional, with people from different teams and varying skill sets
working together to engineer a better product. Listening is an important
aspect of communication. If you are listening to what your customer is
asking for and all team members are able to discuss and build
consensus on what needs to be delivered to bring value to customers,
then you have achieved the goal.

20
What are the DevOps Core Values? (continued)
2. Automation – Software developers write codes that computers
understand and do the jobs that people don’t want to do. Automation of
code builds, testing, deployments and infrastructure provisioning add
value and bring efficiencies to how software developers work.
Automation is applied wherever possible to bring those efficiencies.
3. Lean – Lean does not only apply to manufacturing. It refers to how
developers and organizations are constantly looking for ways to
remove non-value added activities in the work they do. Another aspect
of lean is how it keeps to the goal of continuous improvement,
encouraging growth mindset and improvement in processes across the
organization.

21
What are the DevOps Core Values? (continued 2)
4. Measurement – There is a famous saying that if you can not measure,
you cannot manage. Data is critical to DevOps. Measuring progress
through data will inform all aspect of your organization’s activities. Here
data to measure refers to how you are performing in the current state
and what adjustments are needed, or what can be done differently to
improve in order to reach a future state. You are continuously trying to
improve your way of work and support improvements with data to help
individuals, teams, customers and organizations to be successful. You
are also celebrating success as you continue to measure and see
improvements in all facets of the organization, whether people, process
or technology.

22
What are the DevOps Core Values? (continued 3)
5. Sharing – DevOps came into existence because of the conflict and silo
mentality between development and operations teams. They lacked
common ground and were incentivized based on different goals and
objectives. They did not see things eye to eye and or bother
communicating with each other, making it difficult to solve problems.
DevOps encourages teams to break this silo mentality and work in
partnership with each other. It helps create an environment in which
both teams teach and learn from each other and feel empowered, thus
building a single team approach through which everyone contributes.

23
Case Study: DevOps Core Values

Read the article below. Choose 2 out of the 6 companies described and
consider the following questions:
1. What specific core values are most prevalent in the actions taken by
the company?
2. Where is there room for them to improve?

Article: 6 Companies That Are Doing DevOps Well

24
Module 1 - Section 3

Principles of DevOps
(Three Ways)

25
The Three Ways
• In addition to Core Values discussed, DevOps is also grounded in
several foundational principles. These are often referred to as the ‘The
Three Ways’
• The Three Ways principle has been introduced by Gene Kim in his
book, DevOps Handbook. The subsequent slides will discuss these in
greater detail.

26
First Way - Systems Thinking
• The First Way enables a fast, left to right flow of work from Development
to Operations to the customer. In order to maximize flow, we need to
make work visible, reduce batch sizes and intervals of work, build in
quality by preventing defects from being passed to downstream work
centres or teams, and constantly optimize for the global goals.
• By speeding up flow through the technology value stream, we reduce
the lead time required to fulfill internal or customer requests, especially
the time required to deploy code into the production environment. By
doing this, we increase the quality of work as well as our throughput,
and boost our ability to outperform the competition.
• The resulting practices include continuous build, integration, test, and
deployment processes; creating environments on demand; limiting work
in process (WIP); and building systems and organization that are safe to
change.

Source: DevOps Handbook by Gene Kim 27


Second Way - Amplifying feedback loops
• The Second Way enables the fast and constant flow of feedback from
right to left at all stages of our value stream. It requires that we amplify
feedback to prevent problems from happening again, or enable faster
detection and recovery. By doing this, we create quality at the source
and generate or embed knowledge where it is needed – this allows us to
create ever safer systems of work where problems are found and fixed
long before a catastrophic failure occurs.
• By seeing problems as they occur and swarming them until effective
countermeasures are in place, we continually shorten and amplify our
feedback loops – a core tenet of virtually all modern process
improvement methodologies. This maximizes the opportunities for our
organization to learn and improve.

Source: DevOps Handbook by Gene Kim 28


Third Way - Culture of Continuous Experimentation
and Learning
• The Third Way enables the creation of a generative, high trust culture
that supports a dynamic, discipline, and scientific approach to
experimentation and risk taking, facilitating the creation of organizational
learning , both from our successes and failures. Furthermore, by
continually shortening and amplifying our feedback loops, we create
ever safer systems of work and are better able to take risks and perform
experiments that help us learn faster than our competition and win in the
marketplace.
• As part of the Third Way, we also design our system of work so that we
can multiply the effects of new knowledge, transforming local
discoveries into global improvements. Regardless of where someone
performs work, they do so with the cumulative and collective experience
of everyone in the organization.

Source: DevOps Handbook by Gene Kim 29


Conclusion
• The core values and the Three Ways principles enables organizations to
establish DevOps. Organizations would have to change and modify their
existing practices of development and operations to be aligned with
these values and principles. There is no short-cut or formula. Every
organization has to decided what is best for them; which, what and how
to adopt these values and principles to become successful DevOps
organization.
• The remaining modules in this course will discuss and demonstrate
various frameworks, practices and tools that are used to enable these
core- values and principles.
• In Module 2, we explore the agile frameworks and IT practices that
supports the core-values and principles to enable DevOps in
organizations today.

30
Week 1: Weekly Assignment (15%)
• In your designated group, assess an organization of your choice and
describe if CALMS core values and the Three Ways principles are
present.
• List and provide examples to support your assessment. If not, then
explain the current ways you are doing software delivery.
• No more than 3 pages.
Note: Group members are welcome to pick one of their current
organizations for the purpose of completing this assignment.
The group needs to use the same organization for all subsequent weekly
assignments and the final paper.

31
Any questions?

32
Thank You
Thank you for choosing the University of Toronto
School of Continuing Studies

33
Follow us on Social

Join the conversation with us online:

facebook.com/uoftscs

@uoftscs

linkedin.com/company/university-of-toronto-school-of-continuing-studies

@uoftscs

34

You might also like