SlideShare une entreprise Scribd logo
1  sur  76
DEVOPS >
CI + CD (TOOLS)
S U D I P TA L A H I R I
D I G I T É
AG I L E G U R U G R A M 2 0 1 7
@sudiptal
QUICK INTRODUCTION…
• Sudipta Lahiri (Sudi)
• 27+ years in the industry
• Agile/Lean practitioner (85%) + Agile/Lean Student (15%)
– Head of Products @ Digité
– ex-Head of Engineering and Professional Services @ Digité
– Development of SwiftKanban and SwiftALM products
• Organize the LimitedWIP Societies in India
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
WHY DEVOPS?
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
SETTING THE CONTEXT…
• From the manifesto: Early continuous delivery of valuable
software!
• What would be a single KPI if you want to focus on this
objective?
– Lead time (LT): From the time when the customer gave you some
idea of what he/she wanted, how long did it take him/her to get it?
• Keeping focus on LT helps all teams come together to server
common objective: customer!
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
HOW DO WE BRING LEAD TIME DOWN?
Ideation to Specification
(including the front end)
Specification
to Dev
Complete
Dev
Complete to
Production
Deployment
Agile
methods
focus here.
DevOps extends the spectrum
Can we make this a non-
issue by putting adequate
processes and infrastructure
in place?
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
STATE OF DEVOPS REPORT (2016)
22%
50%
The numbers are compelling!!
@sudiptal
NET RESULT: TRIPLE CONSTRAINT
BUSTED! • Agile Methods/DevOps
establish the opposite
– We can deliver the highest
quality in the least time with
the least effort (minimize
waste)
– Slam dunk in green field
development initiatives
– Takes times with legacy
systems
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
WHAT MAKES HIGH PERFORMANCE IT
ORGANIZATIONS?
Continuous
Delivery
Lean
Management
Practices
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
CONTINUOUS DELIVERY:
MAKES WORK BETTER AND MAKE IT “FEEL” BETTER
Test Deployment
and
Automation
Continuous
Integration
(All) Production
artefacts in
Version Control
Continuou
s
Delivery
IT
Performanc
e
Lower
Deploymen
t Plan
Lower
Change Fail
Rates
Organizatio
n
Performanc
e
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
LEAN MANAGEMENT PRACTICES:
MAKES WORK BETTER AND MAKE IT “FEEL” BETTER
WIP Limits:
Drive
Improvement
Visualisations to
monitor work
Monitoring to
make business
decisions
Lean
Managemen
t
IT
Performanc
e
Decreased
Burnout
Improved
Organizatio
n Culture
Organizatio
n
Performanc
e
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
WHY IS IT
DIFFICULT?
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
THE PROBLEM IS: WE HAVE A
CONFLICT!
@sudiptal
FROM THE “CULT” CLASSIC:
3 TAKEAWAYS • DevOps is applied kanban. To run
DevOps well, you must understand
kanban.
• DevOps is not a collection of
tools
• If your people are 100% utilized,
you are introducing waste
http://daveondevops.com/2016/03/17/takeawaysfromphoenixproje
SO, WHAT’S
BEYOND CI+CD
(TOOLS)?
What are the CSFs?
DRIVEN BY FOCUS ON LEAD TIME!
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
CONTINUOUS
DELIVERY
YO U R W O R K P R O D U C T I S A LWAY S R E A D Y
F O R D E L I V E R Y
E X C LU S I O N S : L E A N M A N AG E M E N T
P R AC T I C E S , C U LT U R E
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
“ALWAYS DEPLOYABLE” MEANS…
• Ability to get changes (features, configuration changes, bug
fixes, experiments) into Production, safely, quickly and sustain
it
– Make Releases boring; no one stays awake at night!
– No need to use the latest tools; bring people together to get this
done
– Not just functionally ready – it should be ready with all NFR
requirements (performance, security)
• Eliminate integration, testing and hardening
– A good 5-10% of the overall Lead Time@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
HOW DO WE GET
THERE?
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
1. QUALITY
IMPROVING QUALITY IS
EVERYONE’S RESPONSIBILITY
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
THE QUALITY BIBLE:
DEMING’S 14 POINTS ON QUALITY MANAGEMENT
• Create constancy of purpose for improving products and services.
• Adopt the new philosophy.
• Cease dependence on inspection to achieve quality; eliminate
inspection; BUILD QUALITY INTO THE PRODUCT IN THE FIRST
PLACE
• End the practice of awarding business on price alone; instead, minimize
total cost by working with a single supplier, on a long term relationship
of loyalty and trust!
• Improve constantly and forever every process for planning, production
and service.
• Institute training on the job.
• Adopt and institute leadership.
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
THE BIBLE:
DEMING’S 14 POINTS ON QUALITY MANAGEMENT
• Drive out fear.
• Break down barriers between staff areas.
• Eliminate slogans, exhortations and targets for the workforce.
• Eliminate numerical quotas for the workforce and numerical goals for
management; eliminate MBO
• Remove barriers that rob people of pride of workmanship, and eliminate
the annual rating or merit system. The responsibility of supervisors must
be changed from sheer numbers to quality.
• Institute a vigorous program of education and self-improvement for
everyone.
• Put everybody in the company to work accomplishing the
transformation. Transformation is everyone’s job!
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
WHAT DOES IT MEAN TO US?
• There is no Agility/DevOps with crappy software
• There is no Agility/DevOps with manual test regression of
days/weeks/months
• There is no Agility/DevOps with Dev and Ops in their own cocoons,
with handoffs from one team to another
• Developers should be writing tests; if you don’t have this, you are
not ready for DevOps
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
WHAT TO DO?
• Treat Tests as first class citizens of
your project
– Use tools to build and manage
them… just like you do with your
source code
• Follow Agile Testing body of
knowledge
– If needed, get rid of the separate
Testing team; Dev understands that
there is no insurance to cover them
for their crappy code!
– Inverted Testing Pyramid is a non-
starter!
• Revitalize the tester
– Tester is a role; not a person
• Definitely, not a failed developer
– Advocates for the user; makes
quality transparent
– Preferably, not doing manual testing
• Focussed on exploratory testing +
maintaining automated acceptance
test cases
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
AGILE TESTING QUADRANTS
Diagram invented by Brian Marick
Unless you do TDD,
test automation
post deployment is
expensive and hard
Cannot automate
this stuff! You need
people…
Should be doing this
from the beginning.
These things are
testing the architecture.
You need to know if
you have this right
@sudiptal
TEST DATA MANAGEMENT
• Suffers from low focus on (compared to Test Automation)
• Need adequate test data + ability to create test data on demand
• Choose low volume test data combinations that cover large
volume scenarios
– Avoid loading/unloading of DB dumps
– Don’t use production data dumps (except for Staging and Performance)
– Start from a clean DB and programmatically create data using the
application APIs => Works nicely with an automation led strategy
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
DEPLOYMENT PIPELINE
Diagram by Jez Humble
@sudiptal
ACCEPTANCE TESTING
• Writing “good” acceptance test
cases is hard
• Its “good” IF you have the
confidence in the quality of the
software when Acceptance Test
Cases pass
• If you get failure, introduce an
automation script at the right
level
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
ACCEPTANCE TEST SUITES
• Very hard to maintain
• Decay over time..
– Just like code! Refactor relentlessly
• Ownership is always the issue
– Not owned by the tester but by
the team!
• Treat test code as Production
• Flaky tests are no good!
– You lose the trust in your existing
Test Suite
– Move them to a different test suite
– Quarantine them till they are
refactored and consistent
• External Systems
– Move to a separate suite
– Parameterize the connections
– Run them before the full
acceptance suite
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
BROWSER BASED TESTING IS UNRELIABLE
• If you hear “it failed in CI… but it ran manually”, you know
there is a difference between test mechanics and interaction
pattern
• If you have AJAX based testing where tests need to wait for a
response from the server, then you will run into issues
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
PERSONA BASED USER-JOURNEYS
• Persona based user-journeys
– Extract them from existing Acceptance Test Cases
– Move to server side testing (away from browser based UI testing)
– Journey should only cover the most likely path
• Extract negative/edge scenarios to a separate suite to run after the journey
scenarios are done
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
KEEP CURATING YOUR TESTS
Example by Jez Humble
2. ARCHITECTURE/
DESIGN IMPACT
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
CONWAYS LAW
• Organizations which design systems are constrained to
produce designs which are copies of the communication
structures of these organizations
• If you don’t want your product to look like your organization,
change your organization or change you product
Rebecca Parsons
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
ONE TEAM PER SERVICE
Diagram by Jez Humble
@sudiptal
AMAZON’S DIRECTIVE TO ITS TEAMS…
• All teams will henceforth expose their data and functionality through service
interfaces.
• Teams must communicate with each other through these interfaces.
• There will be no other form of interprocess communication allowed: no direct
linking, no direct reads of another team's data store, no shared-memory
model, no back-doors whatsoever. The only communication allowed is via
service interface calls over the network.
• It doesn't matter what technology they use. HTTP, Corba, Pubsub, custom
protocols -- doesn't matter. Bezos doesn't care.
• All service interfaces, without exception, must be designed from the ground up
to be externalizable. That is to say, the team must plan and design to be able
to expose the interface to developers in the outside world. No exceptions.
• Anyone who doesn't do this will be fired.
https://plus.google.com/+RipRowan/posts/eVeouesvaV
@sudiptal
YOU BUILD IT, YOU RUN IT!
“… Giving developers operational responsibilities has greatly
enhanced the quality of the services, both from a customer and a
technology point of view. The traditional model is that you take your
software to the wall that separates development and operations,
and throw it over and then forget about it. Not at Amazon. You
build it, you run it. This brings developers into contact with the day-
to-day operation of their software. It also brings them into day-to-
day contact with the customer. This customer feedback loop is
essential for improving the quality of the service.”
Werner Vogels, CTO, Amazon
June 2006
http://queue.acm.org/detail.cfm?id=114206
@sudiptal
ARCHITECTING FOR
REMOTE APPLICATIONS
• Circuit Breakers: handle remote calls
• Wrap the function call in a circuit breaker
object
– Once the failures reach a threshold, it trips
– Further calls return with an error, without calling the
function
• Monitor and alert when it trips; have the
breaker itself detect when its ready again https://martinfowler.com/bliki/CircuitBreaker.html
@sudiptal
ARCHITECTING FOR
LEGACY APPLICATIONS
• Strangler Applications
• Start by building new
functionality in new modules,
using SOA
– Don’t rewrite existing code except
to simplify or removing bugs
– If you need to extend, write
wrappers
https://www.martinfowler.com/bliki/StranglerApplication.htm
@sudiptal
STRANGLER APPLICATION
• Benefits:
– Reduced risk.
– Give value steadily
– Frequent releases allow you
to monitor its progress more
carefully
– You can avoid a lot of the
unnecessary features that cut
over rewrites often generate
• For new applications:
– All new applications today
will be legacy tomorrow!
– When designing a new
application, design it in such
a way as to make it easier for
it to be strangled in the
future
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
ARCHITECTED FOR RECOVERY
• Even the High performing organizations report failures up to 15%
– However, they can recover in <1hr
• Applications have to be designed for recovery
– Strategies could vary for the application layer to the DB layer
• If the build is broken, rollback first! You don’t need to stay up all
night or late evening to fix it.
– Take time to fix it. Fixes made in a hurry create more problems/technical
debt!
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
OPTIMISE FOR MTRS
• Think Lead Time!
– How quickly can I detect?
– How quickly can I find the
cause?
– How quickly can I fix the
problem?
– How quickly can I rollout the
fix?
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
3. CONTINUOUS
INTEGRATION
I N T E G R A T E E A R L Y A N D O F T E N
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
CONTINUOUS INTEGRATION
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
ESSENTIALS FOR CI
• Maintain a Single Source
Repository.
• Automate the Build
• Make Your Build Self-Testing
• Everyone Commits To the
Mainline Every Day
• Every Commit Should Build
the Mainline on an
Integration Machine
• Fix Broken Builds Immediately
• Keep the Build Fast
• Test in a Clone of the
Production Environment
• Make it Easy for Anyone to
Get the Latest Executable
• Everyone can see what's
happening
• Automate Deployment
https://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineE
@sudiptal
FEATURE BRANCHES + CI
FEATURE BRANCH CONTINUOUS INTEGRATION
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
AWAY FROM (LONG LIVE) FEATURE
BRANCHES
• Most teams got driven to
Feature Based Development
– Until these explode… and they
age!
• Longer you are building in your
own branch, greater the risk of
all sorts of incompatibilities
• Move to:
– Short branches (less than a day)
– Less than 3 active branches
– Merge to trunk/master on a daily
basis
• Emphasis on main line
development
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
SAY NO TO “LONG LIVE” BRANCHES
• Rarely needed; its value
diminishes dramatically
over time
• Avoid “environment(itis)”
Age of Branch
RealPotentialTestingValue
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
FEATURE TOGGLES:
TO SAY “NO” TO LONG LIVE BRANCHES
https://martinfowler.com/bliki/FeatureToggle.htm
@sudiptal
CATEGORIES OF TOGGLES
• Release Toggles: allow incomplete and untested code paths to be
shipped to production as latent code, which might never be turned on!
• Experiment Toggles: used to perform A/B testing
• Ops Toggles: control operational aspects of the application, for e.g.,
turning down a load intensive processing when there is high transaction
load
• Permissioning Toggles: change features that certain users receive, for
e.g., for a set of internal users (“Champagne Brunch”)
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
CATEGORIES OF TOGGLES
• Static toggles OR Short
longevity Toggles would
need a simple on/off
configuration
• Dynamic or High Longevity
Toggles need sophisticated
“Toggle Routers”
https://martinfowler.com/articles/feature-toggles.htm
@sudiptal
TOGGLE ROUTING
• Prefer static routes that are
baked into the source code
via configuration
– All the benefit of infra as a code
– Simpler testing
• Dynamic Toggle Routing
patterns
– Hard coded toggle
configuration
– Parameterised toggle
configuration (command line or
env variables)
– Toggle Configuration file
– Toggle via App DB
– Overriding configuration
• Per request overrides
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
FEATURE TOGGLES ADD TESTING
COMPLEXITY
• Both options need to be
tested for each Toggle!
• (Might) explode with multiple
toggles options!
– Use Toggle Configuration files
– Add meta-data to track
audit/governance information
for that toggle
– In general, there's no need to
test all combinations of
features.
• For release toggles, test 2
combinations
– All toggles on that are
expected to be on in the next
release
– All toggles on
• Build an ability to generate
the listing of all the “active”
toggles on the runtime
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
TOGGLE COME AT A COST!
• View the Feature Toggles as inventory
– There is a carrying cost; keep this inventory as low as possible.
• Team must be proactive in removing feature toggles; retire then
when pending feature are bedded to Production
– Add a toggle removal task onto backlog whenever it is introduced
– Put "expiration dates" on toggles.
• Creating "time bombs" that will fail a test (or even refuse to start an application!) if
a toggle is still around after its expiration date
– Apply a Lean approach by placing a limit on the number of toggles
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
4. DEPLOYMENT
PIPELINE
D E P L O Y M E N T I S T H E F I N A L S T A G E O F
C I
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
DEPLOYMENT PIPELINE
Diagram by Jez Humble
LOW RISK RELEASE
PATTERNS
Y O U H A V E T O A R C H I T E C T F O R T H E S E !
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
DEPLOYING DB CHANGES
• If you want to
• Then
– Make the DB change in the 1st release by adding the incremental fields
– The UI does a conditional read; if new field is blank, read from the old field
– The UI always writes to both fields.
– Now, introduce the new feature... if it fails, you are ready to rollback
immediately,
– Much later, delete the old field (called the "contract" phase).
Address Address1 Address2
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
CI FOR DB
• Data is persistent
• Often, large datasets;
rollback is not an option
– Some changes are
irreversible
• Make DDL/DML scripts part
of version control
– In test environment, build DB
from scratch
– Then, run acceptance test
cases
• Scripts are ordered; they
run in a sequence
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
DEPLOY ON PRODUCTION
• Apply the same scripts on
Production
• Incremental scripts to be pulled
from version control
• For each script, build the
rollback script (as far as
possible)
• Check dbdeploy.com
• Maintain a metadata table that
indicates what scripts have been
run on it
• Logs success/failure
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
BLUE-GREEN DEPLOYMENTS
• Deployments often become a batch
operation waiting for the next “good” time
• Solution: Blue Green deployments
• Minimizes cutover from one version to
next; Fast rollback if needed
• Use the “other” as staging environment
• Multiple approaches to handle “live”
transactions on the earlier system
https://martinfowler.com/bliki/BlueGreenDeployment.htm
• For Database Changes:
– Separate from the application rollout
– Use the earlier pattern
@sudiptal
RELEASE != DEPLOYMENT
• Deployment might release to all environments at the same
time.
• Release process controls who sees what
– In FB, this person is called “Gatekeeper”
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
CANARY RELEASE
https://martinfowler.com/bliki/CanaryRelease.htm
• Used by both FB
and Netflix
• Also called
Red/Black
pattern
Heavily
Monitored
5. INFRASTRUCTURE
AUTOMATION/
FAILURE MANAGEMENT
M A K I N G O P E R A T I O N S A C O M P E T I T I V E
A D V A N T A G E !
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
DEFINE THE ENVIRONMENT
• What it is?
• What to use it for?
• How long to retain that environment?
• All environments are an “approximation” of the Production
– Hence, it is only good for a purpose – not good for any other
purpose
– That defines the “What to use it for?”
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
INFRASTRUCTURE
• All environment and supporting
services
– Networking, Storage, Mail, DNS…
• Desired state in version control
• Self corrects to the desired state
(Autonomic)
• State should be known via
continuous monitoring
• Protect from “Configuration
Drift”
– Adhoc changes to the system that go
unrecorded
– Test yourself like a “Fire Drill”
• Solution:
– Use Software that automatically syncs
with a “baseline”
– Limited to the extent that you have
artefacts under version control
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
THE TALE OF 2 COMPANIES…
http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.h
@sudiptal
“…it takes about 80 hours to bootstrap a startup. This generally
means installing and configuring an automated infrastructure
management system (puppet), version control system
(subversion), continuous build and test (frequently cruisecontrol.rb),
software deployment (capistrano), monitoring (currently
evaluating Hyperic, Zenoss, and Groundwork). Once this is done the
“install time” is reduced to nearly zero and requires no specialized
knowledge.”
Jesse Robbins
(ex) Master of Disaster, Amazon
Founder of Chef
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
THE NEXTFLIX SIMIAN ARMY
https://insights.sei.cmu.edu/devops/2015/04/devops-case-study-netflix-and-the-chaos-monk
@sudiptal
AMAZON GAME DAYS
• Inject failures into critical
systems
• Discover flaws and critical
dependencies
• Accept that reliable software
platform is built on top of
components that are
unreliable
• Need to keep testing services
against failure all year around
• Fail systems that will need to
bring people together who
otherwise don’t interact with
each other
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
RESILIENCE ENGINEERING:
A FUNDAMENTAL CULTURAL SHIFT
• From a steadfast belief that
systems should never fail—and
if they do, focusing on who's to
blame—to actually forcing
systems to fail
• Rather than expending
resources on building systems
that don't fail, the emphasis is
to how to deal with systems
swiftly and expertly once they
do fail—because fail they will.
• Much of the value comes from
changing the collective mindset
of the engineers who design
and build
– It's not easy to watch their systems
fail and its consequences
– Overtime, they gain confidence in
the systems and practices
• It invokes a more just culture in
which people can be held
accountable without being
blamed, or punished, for failure.
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
SOME OTHER
THOUGHTS…
… T H A T I C O U L D N ’ T F I T A N Y W H E R E E L S E !
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
PRACTICES
• Developers should be able to run acceptance tests on their
environments
• Virtualize all environments
• If anything fails, stop the line!
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
PITFALLS
• Configuration(itis)!
– Once you start automating your
configurations, you will see an
explosion in the same
– For every small incremental
functional OR NFT, you will get a
request for a new configuration…
and then, these will stay
– Set some STANDARDS and
governance around this (similar to
temporary branching)!
• What should be a standard env
for Test, Staging, including test
data
• Ops people are generally
automation savvy
– Don’t get too obsessed with
frameworks, trying to make it too
generic
– Don’t build a huge framework with
tons of scripts and tools! Don’t have
hundreds of metadata config points
that becomes a nightmare to manage
• Don’t create Configuration
Management “Sherpas” whose only
job is to manage and track
configuration
– Avoid your Brent!@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
PITFALLS
• Change in a “stealth” mode:
– Just start by saying that you are
automating what you do today; one
organization called “Rapid Release”
– Don’t take the message “we will change
everything”
– Fast delivery in a safe way keeping all the
gray suits/ITIL happy!
– Focus on better work-life balance for
everyone
• If you are starting your DevOps
initiative with tools, you are almost
certain to fail
• Event and Alert monitoring:
– With an explosion of tools and
environments, it will be a nightmare to
analyse and track all that is happening
– Get all feeds into one activity stream like
Slack
– Build parsers to filter out what you really
want to see
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
IN CLOSING…
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
• Think lean: shorten Lead Time by focussing on the full value
stream
• Don’t look at Agile and DevOps as two different initiatives!
– If you do that, Agility is “Dead on Arrival”
– Go beyond your CI/CD tools
• Initiate small changes – take a Toyota Kata approach
– Start small; avoid the “cliché” terms – no reorg!
– The way they think, interact, architect, code, test
– Think SERVICES (SOA/Microservices)
– Simulate and test for failure/security/performance
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
@sudiptal
THANK YOU….
• Reach me at:
– @sudiptal
– slahiri@digite.com
– sudiptalahiri.wordpress.c
om
@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com

Contenu connexe

Tendances

Crash Course Scrum - handout
Crash Course Scrum - handoutCrash Course Scrum - handout
Crash Course Scrum - handoutArjan Franzen
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementRavi Tadwalkar
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQASymphony
 
Scaled Agile Framework (SAFe) in the Trenches
Scaled Agile Framework (SAFe) in the TrenchesScaled Agile Framework (SAFe) in the Trenches
Scaled Agile Framework (SAFe) in the TrenchesYuval Yeret
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshopRavi Tadwalkar
 
Advance ALM and DevOps Practices with Continuous Improvement
Advance ALM and DevOps Practices with Continuous ImprovementAdvance ALM and DevOps Practices with Continuous Improvement
Advance ALM and DevOps Practices with Continuous ImprovementTechWell
 
Scaling Agile Past the Team
Scaling Agile Past the TeamScaling Agile Past the Team
Scaling Agile Past the TeamMike Cottmeyer
 
Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...
Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...
Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...Yuval Yeret
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
 
Building Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectBuilding Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectStephanie Gasche
 
Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...
Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...
Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...Scrum Bangalore
 
Agile lean workshop for managers & exec leadership
Agile lean workshop for managers & exec leadershipAgile lean workshop for managers & exec leadership
Agile lean workshop for managers & exec leadershipRavi Tadwalkar
 
Essential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release TrainEssential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release TrainCprime
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 
JIRA 101 - Over(our)head No Longer!
JIRA 101 - Over(our)head No Longer!JIRA 101 - Over(our)head No Longer!
JIRA 101 - Over(our)head No Longer!Frank Caron
 
10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling Agile10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling AgileYuval Yeret
 
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018Yuval Yeret
 
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019Yuval Yeret
 
Damn... we missed the date again
Damn... we missed the date againDamn... we missed the date again
Damn... we missed the date againSudipta Lahiri
 
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...QASymphony
 

Tendances (20)

Crash Course Scrum - handout
Crash Course Scrum - handoutCrash Course Scrum - handout
Crash Course Scrum - handout
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product Roadmap
 
Scaled Agile Framework (SAFe) in the Trenches
Scaled Agile Framework (SAFe) in the TrenchesScaled Agile Framework (SAFe) in the Trenches
Scaled Agile Framework (SAFe) in the Trenches
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshop
 
Advance ALM and DevOps Practices with Continuous Improvement
Advance ALM and DevOps Practices with Continuous ImprovementAdvance ALM and DevOps Practices with Continuous Improvement
Advance ALM and DevOps Practices with Continuous Improvement
 
Scaling Agile Past the Team
Scaling Agile Past the TeamScaling Agile Past the Team
Scaling Agile Past the Team
 
Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...
Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...
Scrum, Kanban and DevOps Sitting in a tree... Dave West and Yuval Yeret at Ag...
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
 
Building Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectBuilding Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware Project
 
Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...
Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...
Scrum_BLR 10th meet up 13 sept-2014 - How to Measure Efficiency or Productivi...
 
Agile lean workshop for managers & exec leadership
Agile lean workshop for managers & exec leadershipAgile lean workshop for managers & exec leadership
Agile lean workshop for managers & exec leadership
 
Essential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release TrainEssential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release Train
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 
JIRA 101 - Over(our)head No Longer!
JIRA 101 - Over(our)head No Longer!JIRA 101 - Over(our)head No Longer!
JIRA 101 - Over(our)head No Longer!
 
10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling Agile10 Essential SAFe(tm) patterns you should focus on when scaling Agile
10 Essential SAFe(tm) patterns you should focus on when scaling Agile
 
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
 
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
 
Damn... we missed the date again
Damn... we missed the date againDamn... we missed the date again
Damn... we missed the date again
 
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
 

Similaire à Agile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri

Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentApplause
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestPeter Marshall
 
sitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming AgilesitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming AgileMarkus Theilen
 
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)Split Software
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Agile software development slide show
Agile software development slide showAgile software development slide show
Agile software development slide showGirish Nandagopal
 
Atlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile TestingAtlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile TestingMaurizio Mancini
 
LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...
LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...
LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...Innovation Roots
 
Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...
Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...
Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...LeanKanbanIndia
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingAtlassian
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product DevelopmentGary Pedretti
 
Agile Mumbai 2019 Conference | Intelligent DevOps enabling Enterprise Agilit...
Agile Mumbai 2019 Conference |  Intelligent DevOps enabling Enterprise Agilit...Agile Mumbai 2019 Conference |  Intelligent DevOps enabling Enterprise Agilit...
Agile Mumbai 2019 Conference | Intelligent DevOps enabling Enterprise Agilit...AgileNetwork
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Alan Hood
 

Similaire à Agile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri (20)

"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left Commitment
 
State of Agile 2017
State of Agile 2017State of Agile 2017
State of Agile 2017
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile webinar pack (2)
Agile webinar pack (2)Agile webinar pack (2)
Agile webinar pack (2)
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
 
sitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming AgilesitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming Agile
 
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Agile software development slide show
Agile software development slide showAgile software development slide show
Agile software development slide show
 
An approach to scaling Agile in Mid size Enterprise Application Stack/ Products
An approach to scaling Agile in Mid size Enterprise Application Stack/ Products An approach to scaling Agile in Mid size Enterprise Application Stack/ Products
An approach to scaling Agile in Mid size Enterprise Application Stack/ Products
 
Atlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile TestingAtlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile Testing
 
LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...
LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...
LKIN17: Enabling Enterprise Agility though a Hybrid Agile Implementation Mode...
 
Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...
Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...
Lean Kanban India 2017 | Case study - Hybrid Agile Implementation Model to En...
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
Agile Mumbai 2019 Conference | Intelligent DevOps enabling Enterprise Agilit...
Agile Mumbai 2019 Conference |  Intelligent DevOps enabling Enterprise Agilit...Agile Mumbai 2019 Conference |  Intelligent DevOps enabling Enterprise Agilit...
Agile Mumbai 2019 Conference | Intelligent DevOps enabling Enterprise Agilit...
 
Sanitized tb swstmppp1516july
Sanitized tb swstmppp1516julySanitized tb swstmppp1516july
Sanitized tb swstmppp1516july
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 

Plus de AgileNetwork

ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...AgileNetwork
 
ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...
ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...
ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...AgileNetwork
 
ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...
ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...
ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...AgileNetwork
 
ANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by Kunal
ANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by KunalANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by Kunal
ANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by KunalAgileNetwork
 
ANIn Kolkata April 2024 |Ethics of AI by Abhishek Nandy
ANIn Kolkata April 2024 |Ethics of AI by Abhishek NandyANIn Kolkata April 2024 |Ethics of AI by Abhishek Nandy
ANIn Kolkata April 2024 |Ethics of AI by Abhishek NandyAgileNetwork
 
ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...
ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...
ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...AgileNetwork
 
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...AgileNetwork
 
ANIn Pune April 2024 |L&D Accelerating business growth by Mukta Nalke
ANIn Pune April 2024 |L&D Accelerating business growth by Mukta NalkeANIn Pune April 2024 |L&D Accelerating business growth by Mukta Nalke
ANIn Pune April 2024 |L&D Accelerating business growth by Mukta NalkeAgileNetwork
 
ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...
ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...
ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...AgileNetwork
 
ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...
ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...
ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...AgileNetwork
 
ANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna S
ANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna SANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna S
ANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna SAgileNetwork
 
ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...
ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...
ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...AgileNetwork
 
ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...
ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...
ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...AgileNetwork
 
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...AgileNetwork
 
ANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh Mehta
ANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh MehtaANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh Mehta
ANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh MehtaAgileNetwork
 
ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...
ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...
ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...AgileNetwork
 
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...AgileNetwork
 
ANIn Coimbatore May 2023 | Agile and Beyond by Nithya Sitharam
ANIn Coimbatore May 2023 | Agile and Beyond by Nithya SitharamANIn Coimbatore May 2023 | Agile and Beyond by Nithya Sitharam
ANIn Coimbatore May 2023 | Agile and Beyond by Nithya SitharamAgileNetwork
 
ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...
ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...
ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...AgileNetwork
 
ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...
ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...
ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...AgileNetwork
 

Plus de AgileNetwork (20)

ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
ANIn Chennai April 2024 |Agile Engineering: Modernizing Legacy Systems by Ana...
 
ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...
ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...
ANIn Chennai April 2024 |Beyond Big Bang: Technical Agility in Vintage Produc...
 
ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...
ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...
ANIn Gurugram April 2024 |Agile Adaptation: Driving Progress in Generative AI...
 
ANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by Kunal
ANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by KunalANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by Kunal
ANIn Noida Oct 2023 |AI Usage in Agile Transformation Journey by Kunal
 
ANIn Kolkata April 2024 |Ethics of AI by Abhishek Nandy
ANIn Kolkata April 2024 |Ethics of AI by Abhishek NandyANIn Kolkata April 2024 |Ethics of AI by Abhishek Nandy
ANIn Kolkata April 2024 |Ethics of AI by Abhishek Nandy
 
ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...
ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...
ANIn Kolkata April 2024 | AI Enabled Reflection in Agile Delivery by Indranil...
 
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
ANIn Gurugram April 2024 |Can Agile and AI work together? by Pramodkumar Shri...
 
ANIn Pune April 2024 |L&D Accelerating business growth by Mukta Nalke
ANIn Pune April 2024 |L&D Accelerating business growth by Mukta NalkeANIn Pune April 2024 |L&D Accelerating business growth by Mukta Nalke
ANIn Pune April 2024 |L&D Accelerating business growth by Mukta Nalke
 
ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...
ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...
ANIn Pune April 2024 | Meeting Modern Learning Needs with Innovation by Ankit...
 
ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...
ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...
ANIn Ahmedabad April 2024 | Powering Big Wins with Small, Agile Teams by Yoge...
 
ANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna S
ANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna SANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna S
ANIn Coimbatore March 2024 | Unlocking Agility with Gen AI by Balaprasanna S
 
ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...
ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...
ANIn Coimbatore March 2024 | Agile & AI in Project Management by Dhilipkumar ...
 
ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...
ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...
ANIn Chennai March 2024 |Conversational AI for Agility in Healthcare by Shine...
 
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
 
ANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh Mehta
ANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh MehtaANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh Mehta
ANIn Ahmedabad March 2024 | The Power of Retrospection by Rakesh Mehta
 
ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...
ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...
ANIn Pune March 2024 | Customer Stratification for Business Growth by Manish ...
 
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
 
ANIn Coimbatore May 2023 | Agile and Beyond by Nithya Sitharam
ANIn Coimbatore May 2023 | Agile and Beyond by Nithya SitharamANIn Coimbatore May 2023 | Agile and Beyond by Nithya Sitharam
ANIn Coimbatore May 2023 | Agile and Beyond by Nithya Sitharam
 
ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...
ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...
ANIn Hyderabad Jun 2023 |Humanizing Agile Transformation Beyond Process and T...
 
ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...
ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...
ANIn Coimbatore Jul 2023 |The Importance of Business Agility in the Current L...
 

Dernier

Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Dernier (20)

Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

Agile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri

  • 1. DEVOPS > CI + CD (TOOLS) S U D I P TA L A H I R I D I G I T É AG I L E G U R U G R A M 2 0 1 7
  • 2. @sudiptal QUICK INTRODUCTION… • Sudipta Lahiri (Sudi) • 27+ years in the industry • Agile/Lean practitioner (85%) + Agile/Lean Student (15%) – Head of Products @ Digité – ex-Head of Engineering and Professional Services @ Digité – Development of SwiftKanban and SwiftALM products • Organize the LimitedWIP Societies in India @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 3. WHY DEVOPS? @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 4. @sudiptal SETTING THE CONTEXT… • From the manifesto: Early continuous delivery of valuable software! • What would be a single KPI if you want to focus on this objective? – Lead time (LT): From the time when the customer gave you some idea of what he/she wanted, how long did it take him/her to get it? • Keeping focus on LT helps all teams come together to server common objective: customer! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 5. @sudiptal HOW DO WE BRING LEAD TIME DOWN? Ideation to Specification (including the front end) Specification to Dev Complete Dev Complete to Production Deployment Agile methods focus here. DevOps extends the spectrum Can we make this a non- issue by putting adequate processes and infrastructure in place? @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 6. @sudiptal STATE OF DEVOPS REPORT (2016) 22% 50% The numbers are compelling!!
  • 7. @sudiptal NET RESULT: TRIPLE CONSTRAINT BUSTED! • Agile Methods/DevOps establish the opposite – We can deliver the highest quality in the least time with the least effort (minimize waste) – Slam dunk in green field development initiatives – Takes times with legacy systems @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 8. @sudiptal WHAT MAKES HIGH PERFORMANCE IT ORGANIZATIONS? Continuous Delivery Lean Management Practices @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 9. @sudiptal CONTINUOUS DELIVERY: MAKES WORK BETTER AND MAKE IT “FEEL” BETTER Test Deployment and Automation Continuous Integration (All) Production artefacts in Version Control Continuou s Delivery IT Performanc e Lower Deploymen t Plan Lower Change Fail Rates Organizatio n Performanc e @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 10. @sudiptal LEAN MANAGEMENT PRACTICES: MAKES WORK BETTER AND MAKE IT “FEEL” BETTER WIP Limits: Drive Improvement Visualisations to monitor work Monitoring to make business decisions Lean Managemen t IT Performanc e Decreased Burnout Improved Organizatio n Culture Organizatio n Performanc e @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 11. WHY IS IT DIFFICULT? @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 12. @sudiptal THE PROBLEM IS: WE HAVE A CONFLICT!
  • 13. @sudiptal FROM THE “CULT” CLASSIC: 3 TAKEAWAYS • DevOps is applied kanban. To run DevOps well, you must understand kanban. • DevOps is not a collection of tools • If your people are 100% utilized, you are introducing waste http://daveondevops.com/2016/03/17/takeawaysfromphoenixproje
  • 14. SO, WHAT’S BEYOND CI+CD (TOOLS)? What are the CSFs? DRIVEN BY FOCUS ON LEAD TIME! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 15. CONTINUOUS DELIVERY YO U R W O R K P R O D U C T I S A LWAY S R E A D Y F O R D E L I V E R Y E X C LU S I O N S : L E A N M A N AG E M E N T P R AC T I C E S , C U LT U R E @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 16. @sudiptal “ALWAYS DEPLOYABLE” MEANS… • Ability to get changes (features, configuration changes, bug fixes, experiments) into Production, safely, quickly and sustain it – Make Releases boring; no one stays awake at night! – No need to use the latest tools; bring people together to get this done – Not just functionally ready – it should be ready with all NFR requirements (performance, security) • Eliminate integration, testing and hardening – A good 5-10% of the overall Lead Time@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 17. HOW DO WE GET THERE? @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 18. 1. QUALITY IMPROVING QUALITY IS EVERYONE’S RESPONSIBILITY @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 19. @sudiptal THE QUALITY BIBLE: DEMING’S 14 POINTS ON QUALITY MANAGEMENT • Create constancy of purpose for improving products and services. • Adopt the new philosophy. • Cease dependence on inspection to achieve quality; eliminate inspection; BUILD QUALITY INTO THE PRODUCT IN THE FIRST PLACE • End the practice of awarding business on price alone; instead, minimize total cost by working with a single supplier, on a long term relationship of loyalty and trust! • Improve constantly and forever every process for planning, production and service. • Institute training on the job. • Adopt and institute leadership. @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 20. @sudiptal THE BIBLE: DEMING’S 14 POINTS ON QUALITY MANAGEMENT • Drive out fear. • Break down barriers between staff areas. • Eliminate slogans, exhortations and targets for the workforce. • Eliminate numerical quotas for the workforce and numerical goals for management; eliminate MBO • Remove barriers that rob people of pride of workmanship, and eliminate the annual rating or merit system. The responsibility of supervisors must be changed from sheer numbers to quality. • Institute a vigorous program of education and self-improvement for everyone. • Put everybody in the company to work accomplishing the transformation. Transformation is everyone’s job! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 21. @sudiptal WHAT DOES IT MEAN TO US? • There is no Agility/DevOps with crappy software • There is no Agility/DevOps with manual test regression of days/weeks/months • There is no Agility/DevOps with Dev and Ops in their own cocoons, with handoffs from one team to another • Developers should be writing tests; if you don’t have this, you are not ready for DevOps @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 22. @sudiptal WHAT TO DO? • Treat Tests as first class citizens of your project – Use tools to build and manage them… just like you do with your source code • Follow Agile Testing body of knowledge – If needed, get rid of the separate Testing team; Dev understands that there is no insurance to cover them for their crappy code! – Inverted Testing Pyramid is a non- starter! • Revitalize the tester – Tester is a role; not a person • Definitely, not a failed developer – Advocates for the user; makes quality transparent – Preferably, not doing manual testing • Focussed on exploratory testing + maintaining automated acceptance test cases @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 23. @sudiptal AGILE TESTING QUADRANTS Diagram invented by Brian Marick Unless you do TDD, test automation post deployment is expensive and hard Cannot automate this stuff! You need people… Should be doing this from the beginning. These things are testing the architecture. You need to know if you have this right
  • 24. @sudiptal TEST DATA MANAGEMENT • Suffers from low focus on (compared to Test Automation) • Need adequate test data + ability to create test data on demand • Choose low volume test data combinations that cover large volume scenarios – Avoid loading/unloading of DB dumps – Don’t use production data dumps (except for Staging and Performance) – Start from a clean DB and programmatically create data using the application APIs => Works nicely with an automation led strategy @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 26. @sudiptal ACCEPTANCE TESTING • Writing “good” acceptance test cases is hard • Its “good” IF you have the confidence in the quality of the software when Acceptance Test Cases pass • If you get failure, introduce an automation script at the right level @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 27. @sudiptal ACCEPTANCE TEST SUITES • Very hard to maintain • Decay over time.. – Just like code! Refactor relentlessly • Ownership is always the issue – Not owned by the tester but by the team! • Treat test code as Production • Flaky tests are no good! – You lose the trust in your existing Test Suite – Move them to a different test suite – Quarantine them till they are refactored and consistent • External Systems – Move to a separate suite – Parameterize the connections – Run them before the full acceptance suite @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 28. @sudiptal BROWSER BASED TESTING IS UNRELIABLE • If you hear “it failed in CI… but it ran manually”, you know there is a difference between test mechanics and interaction pattern • If you have AJAX based testing where tests need to wait for a response from the server, then you will run into issues @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 29. @sudiptal PERSONA BASED USER-JOURNEYS • Persona based user-journeys – Extract them from existing Acceptance Test Cases – Move to server side testing (away from browser based UI testing) – Journey should only cover the most likely path • Extract negative/edge scenarios to a separate suite to run after the journey scenarios are done @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 30. @sudiptal KEEP CURATING YOUR TESTS Example by Jez Humble
  • 31. 2. ARCHITECTURE/ DESIGN IMPACT @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 32. @sudiptal CONWAYS LAW • Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations • If you don’t want your product to look like your organization, change your organization or change you product Rebecca Parsons @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 33. @sudiptal ONE TEAM PER SERVICE Diagram by Jez Humble
  • 34. @sudiptal AMAZON’S DIRECTIVE TO ITS TEAMS… • All teams will henceforth expose their data and functionality through service interfaces. • Teams must communicate with each other through these interfaces. • There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team's data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. • It doesn't matter what technology they use. HTTP, Corba, Pubsub, custom protocols -- doesn't matter. Bezos doesn't care. • All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. • Anyone who doesn't do this will be fired. https://plus.google.com/+RipRowan/posts/eVeouesvaV
  • 35. @sudiptal YOU BUILD IT, YOU RUN IT! “… Giving developers operational responsibilities has greatly enhanced the quality of the services, both from a customer and a technology point of view. The traditional model is that you take your software to the wall that separates development and operations, and throw it over and then forget about it. Not at Amazon. You build it, you run it. This brings developers into contact with the day- to-day operation of their software. It also brings them into day-to- day contact with the customer. This customer feedback loop is essential for improving the quality of the service.” Werner Vogels, CTO, Amazon June 2006 http://queue.acm.org/detail.cfm?id=114206
  • 36. @sudiptal ARCHITECTING FOR REMOTE APPLICATIONS • Circuit Breakers: handle remote calls • Wrap the function call in a circuit breaker object – Once the failures reach a threshold, it trips – Further calls return with an error, without calling the function • Monitor and alert when it trips; have the breaker itself detect when its ready again https://martinfowler.com/bliki/CircuitBreaker.html
  • 37. @sudiptal ARCHITECTING FOR LEGACY APPLICATIONS • Strangler Applications • Start by building new functionality in new modules, using SOA – Don’t rewrite existing code except to simplify or removing bugs – If you need to extend, write wrappers https://www.martinfowler.com/bliki/StranglerApplication.htm
  • 38. @sudiptal STRANGLER APPLICATION • Benefits: – Reduced risk. – Give value steadily – Frequent releases allow you to monitor its progress more carefully – You can avoid a lot of the unnecessary features that cut over rewrites often generate • For new applications: – All new applications today will be legacy tomorrow! – When designing a new application, design it in such a way as to make it easier for it to be strangled in the future @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 39. @sudiptal ARCHITECTED FOR RECOVERY • Even the High performing organizations report failures up to 15% – However, they can recover in <1hr • Applications have to be designed for recovery – Strategies could vary for the application layer to the DB layer • If the build is broken, rollback first! You don’t need to stay up all night or late evening to fix it. – Take time to fix it. Fixes made in a hurry create more problems/technical debt! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 40. @sudiptal OPTIMISE FOR MTRS • Think Lead Time! – How quickly can I detect? – How quickly can I find the cause? – How quickly can I fix the problem? – How quickly can I rollout the fix? @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 41. 3. CONTINUOUS INTEGRATION I N T E G R A T E E A R L Y A N D O F T E N @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 42. @sudiptal CONTINUOUS INTEGRATION @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 43. @sudiptal ESSENTIALS FOR CI • Maintain a Single Source Repository. • Automate the Build • Make Your Build Self-Testing • Everyone Commits To the Mainline Every Day • Every Commit Should Build the Mainline on an Integration Machine • Fix Broken Builds Immediately • Keep the Build Fast • Test in a Clone of the Production Environment • Make it Easy for Anyone to Get the Latest Executable • Everyone can see what's happening • Automate Deployment https://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineE
  • 44. @sudiptal FEATURE BRANCHES + CI FEATURE BRANCH CONTINUOUS INTEGRATION @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 45. @sudiptal AWAY FROM (LONG LIVE) FEATURE BRANCHES • Most teams got driven to Feature Based Development – Until these explode… and they age! • Longer you are building in your own branch, greater the risk of all sorts of incompatibilities • Move to: – Short branches (less than a day) – Less than 3 active branches – Merge to trunk/master on a daily basis • Emphasis on main line development @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 46. @sudiptal SAY NO TO “LONG LIVE” BRANCHES • Rarely needed; its value diminishes dramatically over time • Avoid “environment(itis)” Age of Branch RealPotentialTestingValue @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 47. @sudiptal FEATURE TOGGLES: TO SAY “NO” TO LONG LIVE BRANCHES https://martinfowler.com/bliki/FeatureToggle.htm
  • 48. @sudiptal CATEGORIES OF TOGGLES • Release Toggles: allow incomplete and untested code paths to be shipped to production as latent code, which might never be turned on! • Experiment Toggles: used to perform A/B testing • Ops Toggles: control operational aspects of the application, for e.g., turning down a load intensive processing when there is high transaction load • Permissioning Toggles: change features that certain users receive, for e.g., for a set of internal users (“Champagne Brunch”) @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 49. @sudiptal CATEGORIES OF TOGGLES • Static toggles OR Short longevity Toggles would need a simple on/off configuration • Dynamic or High Longevity Toggles need sophisticated “Toggle Routers” https://martinfowler.com/articles/feature-toggles.htm
  • 50. @sudiptal TOGGLE ROUTING • Prefer static routes that are baked into the source code via configuration – All the benefit of infra as a code – Simpler testing • Dynamic Toggle Routing patterns – Hard coded toggle configuration – Parameterised toggle configuration (command line or env variables) – Toggle Configuration file – Toggle via App DB – Overriding configuration • Per request overrides @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 51. @sudiptal FEATURE TOGGLES ADD TESTING COMPLEXITY • Both options need to be tested for each Toggle! • (Might) explode with multiple toggles options! – Use Toggle Configuration files – Add meta-data to track audit/governance information for that toggle – In general, there's no need to test all combinations of features. • For release toggles, test 2 combinations – All toggles on that are expected to be on in the next release – All toggles on • Build an ability to generate the listing of all the “active” toggles on the runtime @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 52. @sudiptal TOGGLE COME AT A COST! • View the Feature Toggles as inventory – There is a carrying cost; keep this inventory as low as possible. • Team must be proactive in removing feature toggles; retire then when pending feature are bedded to Production – Add a toggle removal task onto backlog whenever it is introduced – Put "expiration dates" on toggles. • Creating "time bombs" that will fail a test (or even refuse to start an application!) if a toggle is still around after its expiration date – Apply a Lean approach by placing a limit on the number of toggles @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 53. 4. DEPLOYMENT PIPELINE D E P L O Y M E N T I S T H E F I N A L S T A G E O F C I @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 55. LOW RISK RELEASE PATTERNS Y O U H A V E T O A R C H I T E C T F O R T H E S E ! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 56. @sudiptal DEPLOYING DB CHANGES • If you want to • Then – Make the DB change in the 1st release by adding the incremental fields – The UI does a conditional read; if new field is blank, read from the old field – The UI always writes to both fields. – Now, introduce the new feature... if it fails, you are ready to rollback immediately, – Much later, delete the old field (called the "contract" phase). Address Address1 Address2 @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 57. @sudiptal CI FOR DB • Data is persistent • Often, large datasets; rollback is not an option – Some changes are irreversible • Make DDL/DML scripts part of version control – In test environment, build DB from scratch – Then, run acceptance test cases • Scripts are ordered; they run in a sequence @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 58. @sudiptal DEPLOY ON PRODUCTION • Apply the same scripts on Production • Incremental scripts to be pulled from version control • For each script, build the rollback script (as far as possible) • Check dbdeploy.com • Maintain a metadata table that indicates what scripts have been run on it • Logs success/failure @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 59. @sudiptal BLUE-GREEN DEPLOYMENTS • Deployments often become a batch operation waiting for the next “good” time • Solution: Blue Green deployments • Minimizes cutover from one version to next; Fast rollback if needed • Use the “other” as staging environment • Multiple approaches to handle “live” transactions on the earlier system https://martinfowler.com/bliki/BlueGreenDeployment.htm • For Database Changes: – Separate from the application rollout – Use the earlier pattern
  • 60. @sudiptal RELEASE != DEPLOYMENT • Deployment might release to all environments at the same time. • Release process controls who sees what – In FB, this person is called “Gatekeeper” @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 61. @sudiptal CANARY RELEASE https://martinfowler.com/bliki/CanaryRelease.htm • Used by both FB and Netflix • Also called Red/Black pattern Heavily Monitored
  • 62. 5. INFRASTRUCTURE AUTOMATION/ FAILURE MANAGEMENT M A K I N G O P E R A T I O N S A C O M P E T I T I V E A D V A N T A G E ! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 63. @sudiptal DEFINE THE ENVIRONMENT • What it is? • What to use it for? • How long to retain that environment? • All environments are an “approximation” of the Production – Hence, it is only good for a purpose – not good for any other purpose – That defines the “What to use it for?” @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 64. @sudiptal INFRASTRUCTURE • All environment and supporting services – Networking, Storage, Mail, DNS… • Desired state in version control • Self corrects to the desired state (Autonomic) • State should be known via continuous monitoring • Protect from “Configuration Drift” – Adhoc changes to the system that go unrecorded – Test yourself like a “Fire Drill” • Solution: – Use Software that automatically syncs with a “baseline” – Limited to the extent that you have artefacts under version control @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 65. @sudiptal THE TALE OF 2 COMPANIES… http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.h
  • 66. @sudiptal “…it takes about 80 hours to bootstrap a startup. This generally means installing and configuring an automated infrastructure management system (puppet), version control system (subversion), continuous build and test (frequently cruisecontrol.rb), software deployment (capistrano), monitoring (currently evaluating Hyperic, Zenoss, and Groundwork). Once this is done the “install time” is reduced to nearly zero and requires no specialized knowledge.” Jesse Robbins (ex) Master of Disaster, Amazon Founder of Chef @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 67. @sudiptal THE NEXTFLIX SIMIAN ARMY https://insights.sei.cmu.edu/devops/2015/04/devops-case-study-netflix-and-the-chaos-monk
  • 68. @sudiptal AMAZON GAME DAYS • Inject failures into critical systems • Discover flaws and critical dependencies • Accept that reliable software platform is built on top of components that are unreliable • Need to keep testing services against failure all year around • Fail systems that will need to bring people together who otherwise don’t interact with each other @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 69. @sudiptal RESILIENCE ENGINEERING: A FUNDAMENTAL CULTURAL SHIFT • From a steadfast belief that systems should never fail—and if they do, focusing on who's to blame—to actually forcing systems to fail • Rather than expending resources on building systems that don't fail, the emphasis is to how to deal with systems swiftly and expertly once they do fail—because fail they will. • Much of the value comes from changing the collective mindset of the engineers who design and build – It's not easy to watch their systems fail and its consequences – Overtime, they gain confidence in the systems and practices • It invokes a more just culture in which people can be held accountable without being blamed, or punished, for failure. @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 70. SOME OTHER THOUGHTS… … T H A T I C O U L D N ’ T F I T A N Y W H E R E E L S E ! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 71. @sudiptal PRACTICES • Developers should be able to run acceptance tests on their environments • Virtualize all environments • If anything fails, stop the line! @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 72. @sudiptal PITFALLS • Configuration(itis)! – Once you start automating your configurations, you will see an explosion in the same – For every small incremental functional OR NFT, you will get a request for a new configuration… and then, these will stay – Set some STANDARDS and governance around this (similar to temporary branching)! • What should be a standard env for Test, Staging, including test data • Ops people are generally automation savvy – Don’t get too obsessed with frameworks, trying to make it too generic – Don’t build a huge framework with tons of scripts and tools! Don’t have hundreds of metadata config points that becomes a nightmare to manage • Don’t create Configuration Management “Sherpas” whose only job is to manage and track configuration – Avoid your Brent!@ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 73. @sudiptal PITFALLS • Change in a “stealth” mode: – Just start by saying that you are automating what you do today; one organization called “Rapid Release” – Don’t take the message “we will change everything” – Fast delivery in a safe way keeping all the gray suits/ITIL happy! – Focus on better work-life balance for everyone • If you are starting your DevOps initiative with tools, you are almost certain to fail • Event and Alert monitoring: – With an explosion of tools and environments, it will be a nightmare to analyse and track all that is happening – Get all feeds into one activity stream like Slack – Build parsers to filter out what you really want to see @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 74. IN CLOSING… @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 75. @sudiptal • Think lean: shorten Lead Time by focussing on the full value stream • Don’t look at Agile and DevOps as two different initiatives! – If you do that, Agility is “Dead on Arrival” – Go beyond your CI/CD tools • Initiate small changes – take a Toyota Kata approach – Start small; avoid the “cliché” terms – no reorg! – The way they think, interact, architect, code, test – Think SERVICES (SOA/Microservices) – Simulate and test for failure/security/performance @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com
  • 76. @sudiptal THANK YOU…. • Reach me at: – @sudiptal – slahiri@digite.com – sudiptalahiri.wordpress.c om @ Agile Network India , All Rights Reserved. www.agilenetworkindia.com

Notes de l'éditeur

  1. Front end is fuzzy and time consuming…
  2. CRQ: Change Request or a Call Request
  3. MTRS: Mean time to restore service
  4. Digité’s DevOps Tool Implementation