microsoft devops ja ohjelmistokehityksen nopeuttaminen
DESCRIPTION
Removing Barriers between Development and Operations - Michael Kösterin esitys DevOps -kehityksestä.TRANSCRIPT
Removing Barriers betweenDevelopment and Operations
Michael KoesterMicrosoft Corporation
“Development
and Operations
collaboration”
What is DevOps?
DEV OPS
DEV OPS
DEV OPS
Development Operations
• Troubleshooting performance and availability is often difficult
• Operations cannot keep up with development and release fast enough
• Agile methodologies speed up the
development cycle
• Prioritization of investments is not
based on real-world usage patterns
Development Operations
Source: Saugatuck Technology Inc. © 2014 www.saugatucktechnology.com
Technical Debt
Hypothesis-
driven Backlog
Evidence
and Data
Production-first
Mindset
Public and
Hybrid Cloud
Agile Schedule
and Teams
Technical Debt
Flow of
Value
DevOps
Cloud Infrastructure
Reactive Repeatable Reliable Aspirational
Behaviors Behaviors are typically ad-hoc
or after-the-fact, and fire drills
are not uncommon.
While the organization can
repeat behaviors, it does not
repeat the behaviors with any
regularity.
Behaviors are ingrained and are
executed consistently, reliably
and with regularity.
The DevOps ideal - a state where
an organization has attained true
transparency and collaboration
and is able to deliver software to
production multiple times a day.
Issues Issues come “out of thin air” and
frequent conflict is common.
Issues will still pop up with high
frequency, but the number of fire
drills is decreasing.
The frequency of issues has
decreased and the velocity at
which software is delivered is
increasing.
Some data is used in decision
making; user satisfaction levels
increase.
Description Most organizations in this state
identify as reactive and are
unable to get ahead of fire drills.
Activities can be repeated again
and again with minimal
overhead. Examples include
releasing software repeatedly
without having to invent the
release process each time, or
managing source code and
requirements in a repeatable
manner.
While consistent, there is still
opportunity for faster and more
frequent delivery to improve
business results.
The aspirational state is one that
only few organizations will fully
achieve (some may not even
desire to achieve this state), but
this is the ideal that is referenced
when discussing the overall value
of DevOps practices.
DevOps Stages
The DevOps progression
framework (3RA) can be used
to understand the current state
of an organization.
Source: 3RA Whitepaper – http://www.microsoft.com/#
Reactive Repeatable Reliable Aspirational
Issues Brute force; executive order;
escalation; surprises; scope
creep; yelling; fighting; missed
requirements.
Conflicts about assumptions;
limited stakeholder engagement;
escalations; surprises; ad-hoc
backlog grooming.
Few conflicts; few assumptions;
driven by the business; regular
backlog grooming.
Data-driven decision making;
high-level of user engagement.
Process • Define a schedule
• Document all work items
• Use storyboarding
• Cultivate a culture of
continuous stakeholder
engagement
• Institute a single prioritized
backlog per team
• Use storyboarding
• Cultivate a culture of
experimentation and data-
driven decision making
• Shift from requirements to
hypothesis
• Engage users when
determining priorities
Tools Team Foundation Server
Visual Studio Online
Visual Studio Premium
Team Foundation Server
Visual Studio Online
Visual Studio Premium
Team Foundation Server
Visual Studio Online
Visual Studio Premium
How do you currently manage
requirements and change
requests?
How are software requirements
associated to business needs
and value?
DevOps Practice
Source: 3RA Whitepaper/#Backlog – http://www.microsoft.com/#
Reactive Repeatable Reliable Aspirational
Issues Reporting silos by discipline,
with some off-shoring; long
iterations; responding to fire
drills; scheduling via email.
Dev and Test share org structure -
Ops is separate; 4-6 week
iterations; difficult to respond
to changes quickly; delays.
Transparency; effective planning
and change control; 2-4 week
iterations; Ops attends planning
activities, daily standups and
retrospectives.
Dev, test and Ops in same org
structure; <1 week iterations.
Process • Shift to Agile
• Enable Configuration as Code
• Define unit tests for each fix
• Shared accountability
• Advance Agile
• Shorter iterations
• Smaller PBI’s
• Change mgmt. process
• Foster a culture of trust and
transparency between
development and IT teams.
• Develop a truly shared view
of success across the organization.
Tools Team Foundation Server
Visual Studio Online
Visual Studio Premium
PowerShell DSC
Team Foundation Server
Visual Studio Online
Visual Studio Ultimate
SharePoint
Team Foundation Server
Visual Studio Online
Visual Studio Premium
How are your teams organized?
What is their size and makeup?
How do teams schedule work?
How long are iterations?
How do Development and
Operations teams collaborate?
DevOps Practice
Source: 3RA Whitepaper/#Schedule – http://www.microsoft.com/#
Reactive Repeatable Reliable Aspirational
Issues Ad-hoc and minimal use of
code quality tools; manual
testing; minimal automated
testing; no telemetry.
Static analysis and profiling; ad-
hoc code reviews; acceptance
tests developed with user
stories; evidence based defects.
Code reviews; automated
acceptance testing; load tests
with every release; instrumentation
for failure cases.
Instrumentation for usage and
QoS; measurable results from
experiments, fault injection.
Process • Build a culture around data
• Use static code analysis and
inject profiling into automated
builds.
• Advocate for increased use of
data over anecdotes in
decision making.
• Introduce automated user
acceptance testing.
• Foster an evidence/data-
driven culture.
• Reward evidence-based
decision making.
• Extend the use of telemetry
to include real user metrics.
Tools Team Foundation Server
Visual Studio Online
Team Foundation Server
Visual Studio Online
Visual Studio Test Pro.
Release Management / DSC
Azure / System Center
Team Foundation Server
Visual Studio Online (AI)
Visual Studio Ultimate
(IntelliTrace) and Test
Professional
Release Management
PowerShell DSC
Azure / System Center
How frequently do you use tools
to validate software quality?
How closely do your test
environments mimic production?
How do you measure and react
to how users interact with your
software?
DevOps Practice
Source: 3RA Whitepaper/#Data – http://www.microsoft.com/#
Optimize Resources
Improve Quality and Availability
Development Operations
www.visualstudio.com
visualstudio.com msdn.microsoft.com