0% found this document useful (0 votes)
108 views

Module 1. Planning For DevOps

This document provides an overview of lessons for planning a DevOps transformation, including: 1. Transformation planning involves defining shared goals and timelines, selecting projects, and identifying metrics. 2. Project selection considers greenfield vs brownfield projects and prioritizing groups to minimize resistance. 3. Team structures for agile development include vertical teams aligned to outcomes and horizontal teams divided by architecture. Mentoring helps teams adopt agile practices.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views

Module 1. Planning For DevOps

This document provides an overview of lessons for planning a DevOps transformation, including: 1. Transformation planning involves defining shared goals and timelines, selecting projects, and identifying metrics. 2. Project selection considers greenfield vs brownfield projects and prioritizing groups to minimize resistance. 3. Team structures for agile development include vertical teams aligned to outcomes and horizontal teams divided by architecture. Mentoring helps teams adopt agile practices.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Planning for Devops

Instructor: Tony Stivenson Trujillo Dávila


MY RESUME

Data Engineer
Sr/Data Architect

ABOUT ME
https://www.linkedin.com/in/tonytec/
Celular: 991589183
AZ-400.00
Module 1:
Planning for DevOps
Lesson 01: Module overview
Module overview

Lesson 1: Module Overview Lesson 5: Migrating to Azure DevOps

Lesson 2: Transformation Planning Lesson 6: Lab

Lesson 7: Module Review and


Lesson 3: Project Selection
Takeaways

Lesson 4: Team Structures


Learning objectives
After completing this module, students will be able to:

Plan for the transformation with shared Design a license management strategy
goals and timelines (e.g. Azure DevOps users)

Select a project and identify project Design a strategy for end-to-end


metrics and Key Performance Indicators traceability from work items to working
(KPI’s) software

Create a team and agile organizational Design an authentication and access


structure strategy

Design a strategy for integrating


Design a tool integration strategy
on-premises and cloud resources
Lesson 02: Transformation planning
What is DevOps?
"DevOps is the union of
people, process, and
products to enable
continuous delivery of
value to end users."

– Donovan Brown, What is


DevOps?
What is DevOps? (continued)
• Understand your cycle time
• Observe, Orient,
Decide, Act (OODA)
loop
• Become data-informed
• Strive for validated learning
• Shorten your cycle time
• Optimize validated learning
The DevOps journey

• Continuous Integration
• Continuous Delivery
• Version Control
• Agile/lean
• Monitoring and logging
• Cloud
• Infrastructure as Code (IaC)
• Microservices
• Containers
• DevOps may hurt at first

https://docs.microsoft.com/en-us/azure/devops/learn/what-is-devops
Separating transformation teams

There are several challenges when creating teams:


• Availability of staff
• Disruption of current procedures and processes

To overcome the challenges, create a team that is:


• Focused on the transformation
• Well respected in their subject areas
• Internal and external to the business

A transformation project can conflict with ongoing business needs


Defining shared goals

Projects must have a clearly-defined set of measurable outcomes, like:


• Reduce the time spent on fixing bugs by 60%
• Reduce the time spent on unplanned work by 70%
• Reduce the out-of-hours work required by staff to no more than 10% of total
working time
• Remove all direct patching of production systems

One of the key aims of DevOps is to provide greater customer value, so outcomes should
have a customer value focus
Setting timelines for goals

Measurable goals should have timelines that challenging yet achievable

Timelines should be a constant series of short-term goals – each clear and measurable

Shorter timelines have advantages:


• Easier to change plans or priorities when necessary
• Reduced delay between doing the work and getting feedback
• Easier to keep organizational support when positive outcomes are apparent
Lesson 03: Project selection
Greenfield and brownfield projects defined

Greenfield software projects develop in a Brownfield software projects develop in


totally new environment. the immediate presence of existing
software applications/systems.
Choosing greenfield and brownfield projects

Greenfield projects:
• Appears to be an easier starting point
• A blank slate offers the chance to implement everything the way you want.

Brownfield projects:
• Comes with the baggage of existing code bases, existing teams and often a great amount of
technical debt
• Spending time maintaining existing Brownfield applications, limits the ability to work on new
code.

There is a common misconception that DevOps suits greenfield projects better than brownfield projects,
but this is not the case.
Choosing systems of record versus systems of engagement

Systems of record:
• Emphasize accuracy and security
• Provide the truth about data elements
• Historically evolve slowly and carefully

Systems of engagement:
• Are more exploratory
• Use experimentation to solve new problems
• Are modified regularly
• Prioritize making changes quickly over ensuring that the changes are correct

Both types of systems are important


Selecting groups to minimize initial resistance
Different types of staff members:
• Canaries voluntarily test bleeding edge features
• Early adopters voluntarily preview releases
• Users consume the products after canaries and early adopters

Ideal Target Improvements:


• Can be used to gain early wins
• Are small enough to be achievable in a reasonable time-frame
• Have benefits that are significant enough to be obvious to the organization
Identifying project metrics and Key Performance Indicators (KPIs)

Faster outcomes – Deployment frequency, deployment speed, deployment size, and


lead time

Efficiency – Server to admin ratio, staff member to customers ratio, application usage, and
application performance

Quality and security – Deployment failure rates, application failure rates, mean time to recover, bug
report rates, test pass rates, defect escape rate, availability, service level agreement (SLA)
achievement, and mean time to detection

Culture – Employee morale and retention rates

Goals must be specific, measurable, and time-bound


Lesson 04: Team structures
Agile development practices defined

Waterfall approach:
• Define, analyze, build and test, and deliver
• Hard to accurately define requirements, which can change over time, including during
development
• Requires change requests and additional cost after delivery

Agile approach:
• Emphasizes constantly adaptive planning, and early delivery with continual improvement
• Development methods are based on releases and iterations
• At the end of each iteration, should have tested working code
• Is focused on shorter-term outcomes
Principles of agile development
Measure progress through working software
1 Satisfy the customer through early and 7
continuous delivery of valuable software
Agile processes promote sustainable
2 Welcome changing requirements 8
development

Continuous attention to technical excellence


3 Deliver working software frequently 9
and good design

Simplicity - the art of maximizing the amount


4 Work together throughout the project 10
of work not done

Build projects around motivated individuals


5 11 Use self-organizing teams

6 Use face-to-face conversation 12 Reflect on how to become more effective

https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/
Creating organizational structures for agile practices

UI Email TV
Horizontal team structures divide teams
according to the software architecture. Email Voice TV

Data Email TV

Email TV
Vertical teams span the architecture and
are aligned with product outcomes, and UI UI UI
scaling can occur by adding teams. SOA SOA

Data Data Data

Vertical teams have been shown to provide stronger outcomes in Agile projects
Ideal DevOps team members

• Think there is a need to change and have shown an ability to innovate


• Are well-respected and have broad knowledge of the organization and how it operates
• Ideally, already believe that DevOps practices are what is needed
Mentoring team members on agile practices

Many teams hire external agile coaches or mentors

Agile coaches have teaching and mentoring skills

Agile coaches tend to be both trainers and consultants

Some coaches are technical experts

Some coaches are focused on agile processes

Team members must learn as they work, and acquire skills from each other
Enabling in-team and cross-team
collaboration Cultural changes – More open workspaces,
meeting etiquette, outsourcing, better
communication

Cross-functional teams – Collaboration with


others, diversity of opinion, rewarding collective
behavior

Collaboration tooling –Slack, Teams, Asana, Glip,


JIRA
Selecting tools and processes for
agile practices
Tools can often enhance the outcomes achieved.

Physical tools such as white boards, index cards,


sticky notes

Project Management tools such as Kanban


boards for planning, monitoring, and
visualization

Screen recording tools for recording bugs,


building walk-throughs, and demonstrations
Lesson 05: Migrating to DevOps
What can Azure DevOps do?

Azure Boards: Agile planning, work item tracking, visualization and reporting tool

Azure Pipelines: A language, platform and cloud agnostic CI/CD platform with support for
containers or Kubernetes

Azure Repos: Provides cloud-hosted private git repos

Azure Artifacts: Provides integrated package management with support for Maven, npm, Python
and NuGet package feeds from public or private sources

Azure Test Plans: Provides an integrated planned and exploratory testing solution
What can GitHub do?

Codespaces: Provide cloud-hosted collaborative development environments

Repos: Provide cloud-hosted and on-premises git repos for both public and private projects

Actions: Create automation workflows with environment variables and customized scripts

Artifacts: Ease integration with numerous existing packages and open-source repositories

Security: Review code and identity vulnerabilities early in the development cycle
Designing an authorization and access strategy for Azure DevOps

Azure DevOps Services uses either a Microsoft account or Azure Active Directory,
to protect and secure your data

For non-Microsoft tools like Git, NuGet, or Xcode you can use personal access
tokens

Azure DevOps is pre-configured with default security groups and permissions

You can also configure app access policies and conditional access policies
Migrating or integrating existing work management tools

Both Azure DevOps and GitHub can be


integrated with a wide variety of existing
work management tools:
• Trello integration tooling is a free, flexible, and
visual way to organize anything with anyone.
• Solidify offers a tool for Jira to Azure DevOps
migration.
• Third party organizations offer commercial
tooling to assist with migrating other work
management tools like Aha, BugZilla,
ClearQuest.
Migrating or integrating existing test management tools

Azure Test Plans are used to track sprints and milestones. There is a Test &
Feedback extension available in the Visual Studio Marketplace.

Other tools:
Apache JMeter is open-source software written in Java and designed to load test functional
behavior and measure performance.
Pester is a tool that can be used to automate the testing of PowerShell code.
SoapUI provides another testing framework for SOAP and REST testing.

If you are using Microsoft Test Manager, you should plan to migrate to Azure Test Plans
Designing a license management strategy

Azure DevOps can be licensed for individual services or for users. It offers free and
paid tiers:

https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/

GitHub can be licensed for individuals, teams, and enterprises. It offers free and
paid tiers:

https://github.com/pricing
Lesson 06: Lab
Lab: Agile planning and portfolio management with
Azure Boards
Lab overview:
In this lab you will learn about the agile planning and portfolio management tools
and processes provided by Azure Boards and how they can help you quickly plan,
manage, and track work across your entire team.

• Objectives: • Duration:
• Manage teams, areas, and iterations
• Manage work items
• Manage sprints and capacity
• Customize Kanban boards 60
• Define dashboards minutes
• Customize team process

© Copyright Microsoft Corporation. All rights reserved.


Lesson 07: Module review and takeaways
What did you learn?
Plan for the transformation with shared Design a license management strategy
goals and timelines (e.g., Azure DevOps and GitHub users)

Select a project and identify project Design a strategy for end-to-end


metrics and Key Performance Indicators traceability from work items to working
(KPI’s) software

Create a team and agile organizational Design an authentication and access


structure strategy

Design a strategy for integrating


Design a tool integration strategy
on-premises and cloud resources
Module review questions
Which of the following would a system that manages inventory in a warehouse be
1
considered?

An Agile tool that is used to manage and visualize work by showing tasks moving
2 from left to right across columns representing stages. What is this tool
commonly called?

3 In which of the following would you find large amounts of technical debt?

4 As a project metric, what is Lead Time measuring?

5 What is a cross-functional team?


Gracias
40

You might also like