SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Reduce Time to Value
Focus First on Configuration Management Debt
Chris Sterling, Product Owner, CenturyLink Cloud
Bio - Chris Sterling
2
Director of Product Management at
CenturyLink Cloud
Recently Launched AppFog:
https://www.ctl.io/appfog
Author of book “Managing Software Debt:
Building for Inevitable Change”
Supported change efforts to adopt Lean,
Agile & Continuous Delivery behaviors in
organizations of 10 up to 800+ people
Entrepreneur & Lean Startup Practitioner
Blog: managingsoftwaredebt.com
Social
3
@csterwa
#swdebt
@appfog
@centurylinkcld
Types of Software Debt
Configuration Management Debt: Integration and release management become
more risky, complex, and error-prone.
Platform Experience Debt: The availability and alignment of people to business
objectives that involve software changes is becoming more limited or cost-prohibitive.
Design Debt: The cost of adding features is increasing toward the point where it is more
than the cost of writing from scratch.
Quality Debt: There is a diminishing ability to verify the functional and technical quality
of software: the “Break/Fix” mentality.
Technical Debt: These are the activities that a team or team members take shortcuts
on now that will impede future development if left as is.
4
Reducing Time To Value
5
Focusing on Configuration Management Debt first leads
to opportunities for reducing all forms of software debt
Reduce hand-offs and dependencies in Org to reduce
Platform Experience Debt
Malleable architectures with Pluggable UI,
Microservices and APIs to reduce Design Debt
Increase efficiency of validation processes to reduce
Quality Debt
Make software more testable to reduce Technical Debt
Configuration
Management
Debt
“If releases are like giving birth,
then you must be doing
something wrong.”
— Robert Benefield, CTO - Evolve Beyond
6
Case Study: Web Property
7
180+ person “Web 2.0” product organization
Waterfall SDLC that development uses to deliver in 6 month release
cycles
Want to use Agile methods to be more responsive to users and keep up
with other “Web 2.0” companies
Transitioned to Agile methods on 15 teams in 3 months
Changed release management strategy, added XP technical practices,
and implemented Scrum product development framework for scaled
coordination
Able to release every week to users within 4 months
Used streamlined deployment environment process to validate product
changes daily using Continuous Integration and automated promotions
Case Study: Ad Platform
8
700+ person Ad Platform organization
Extended dependencies out to 2000+ people throughout company
Millions of lines of code + Hundreds of unique apps & services
Continuous Integration server involved thousands of jobs & 1M+
builds per year
9-18 month overlapping release cycles
Found opportunity to not branch for each overlapping release
After 2 years can release to 20+ data centers globally every day
4 years later they release to production with no humans for nearly
100% of their company application & service deployments
Principle:
Focusing on Configuration
Management Debt first leads to
opportunities for reducing all
forms of software debt
9
Where Does CM Debt
Source control practices that impact delivery velocity
Too many variations/versions of the software supported in production
Over-burdened release engineering and operations teams
High coupling with centrally managed architecture element/
component
Too many hand-offs between teams in order to release software to users
Poor integration processes across architecture components and scaled
team delivery
Code changes feel too risky and takes too long to validate before
releasing into production
Poor documentation practices
10
Traditional Source Control
11
Traditional Source Control
11
Main Branch
Traditional Source Control
11
Main Branch
Version 1
Branch
Integrate for
Version 2
Code
Complete
Traditional Source Control
11
Main BranchDebt
Death March
Version 1
Branch
Integrate for
Version 2
Code
Complete
Traditional Source Control
11
Main BranchDebt
Death March
{
Debt accrues quickly within stabilization periods
Version 1
Branch
Integrate for
Version 2
Code
Complete
Worse Source Control
12
Main Branch
Version 1
Version 2 Version 3 Version 4
Worse Source Control
12
Main Branch
Version 1
Version 2 Version 3 Version 4
{
We wish branch points were this clean
Flexible Source Control
13
Flexible Source Control
13
Main Branch
Flexible Source Control
13
Main Branch
Version 1
Flexible Source Control
13
Main Branch
Version 1 Version 2
Flexible Source Control
13
Main Branch
Version 1 Version 2
{
Not Easy! Must have proper infrastructure to do this.
Scaled Continuous Delivery
14
Component
Validation
Integrated
Component
Validation
End-to-End &
Load/Stress
Canary Deployments
15
Embrace
DevOps
Culture
Cultures, for better or worse, are
very stable.
— Jeff Bezos, CEO Amazon
16
Principle:
Teams own software delivery
from solution to deployment to
operations.
17
Monitor App Performance
18
Assess Anomalies
19
Monitor Valuable Trends
20
Platform Experience
Debt
“As in Nature, if an organization is too inflexible
or stands still too long it will get eaten.”
- James Burke
Principle:
Rather than creating teams to
work on projects, let’s find ways
to give work to cross-functional
teams.
22
Feature Team
“Feature Team” structure
Uses common Product Backlog
Integration is done in parallel
Requires high levels of communication
across teams to resolve integration
issues
Forces Teams to be more coordinated
Sprints should be synchronized
Cross team fertilization is a

requirement to successfully 

deliver in parallel
23
Design Debt
Technical features that involve improving
software quality attributes can be prioritized
based on the cost of not addressing them.
Design Debt
Technical features that involve improving software
quality attributes can be prioritized based on the
cost of not addressing them.
26
Malleable architectures and design
enable nimble business capabilities.
Feature Toggles
Problem: Need to deliver changes to production on master
with features that are not sufficient or validated with customers
Introduce feature behind toggle
▶ ON: Show and allow access to feature
▶ OFF: Don’t show or allow access to feature
Should be secondary option to introducing smaller
capabilities that lead to sufficient feature
27
Microservices
28
Pluggable UI
API Routing
Service 1 Service 2 Service 3 Service 4
Identity Management
Authorization Authorization Authorization Authorization
Data Data Data Data
Messaging Platform
Application Programming
29
API
Deploy to a Platform
30
Quality Debt
“Promises make debt, and debt makes promises.”
— Dutch proverb
The Three Amigos
Quickly get testers,
coders, and business on
the same page before
building based on a
requirement
32
* The Three Amigos pattern originally coined by George Dinwiddie
http://www.stickyminds.com/s.asp?F=S17232_COL_2
The Three Amigos Pattern
33
As a Shopper I want to
receive updates on incredible
deals that are located near
my home so that I can save
money on my purchases
Acceptance Criteria:
Save Shopper’s location
Ask Shopper if they want to receive
localized deals daily
Send notification of incredible deals to
Shoppers located within 10 miles each
morning
Allow Shopper to stop receiving localized
deals
The Three Amigos Pattern
34
As a Shopper I want to
receive updates on incredible
deals that are located near
my home so that I can save
money on my purchases
What areas of the application will this
affect?
What is the overall design? (UI, API, UX,
etc…)
What are the details test cases for this user
story and it’s acceptance criteria?
What about negative test conditions?
What about boundary conditions?
How might we put existing functionality at
risk?
The Three Amigos
At minimum include tester,
coder & business rep in
discussion
Should only take 30 minutes to 1
hour for user stories
Focus on clarification and design
through testable inputs/outputs
Extend to Operations to reduce
Configuration Management Debt
35
Acceptance Test-Driven
36
ATDD Case Study
Test Automation Reduces Cost of Change
Manual Regression Testing
Testing was taking 75 person hours during 2 full test
runs consisting of:
▶ Comprehensive manual regression testing
▶ Data conversion and validation
Cost for testing was $17,000 each iteration
38
Introducing Fit into Testing
After 8 iterations team had introduced healthy
amount of Fit fixtures and automated tests
Reduced 70+ hour test runtime down to 6 hours which
now included:
▶ Fit automated regression testing
▶ Data conversion and validation automated with Fit
fixtures
Reduced cost of testing each iteration from $17,000 to
$7,000
39
The Agile Regression Testing
40
* The Agile Triangle has been modified from Mike Cohn’s original version
The Agile Regression Testing
40
* The Agile Triangle has been modified from Mike Cohn’s original version
Automated Unit Tests
Make up largest portion of
regression tests and are
developed by programmers
The Agile Regression Testing
40
* The Agile Triangle has been modified from Mike Cohn’s original version
Automated Unit Tests
Make up largest portion of
regression tests and are
developed by programmers
Integration Tests
Automated &
Exploratory
The Agile Regression Testing
40
* The Agile Triangle has been modified from Mike Cohn’s original version
Automated Unit Tests
Make up largest portion of
regression tests and are
developed by programmers
Integration Tests
Automated &
Exploratory
Smoke++ Tests
Risk-based UI &
API Automated
Tests
Technical Debt
“For every [dollar] of competitive advantage gained by cutting
quality, it costs $4 to restore it; and software is an organizational
asset and decisions to cut quality must be made by executive
management and reflected in the financial statements.”
— Ken Schwaber, co-creator of Scrum
Source: http://www.infoq.com/presentations/agile-quality-canary-coalmine
Continuous Integration
42
Early Warning Signs
43
Early Warnings:
• Broken Builds
• Broken Automated Tests
• Broken Custom Thresholds
Quality Dashboard - Sonar
44
Early Warning Dashboard
45
Measuring Early Warning Signs:
• Design Debt in Duplication (DRY)
• Technical Debt in Code Complexity
• Quality Debt in Bug DB (Break/Fix)
• Other Custom Thresholds
Reducing Time To Value
46
Focusing on Configuration Management Debt first leads
to opportunities for reducing all forms of software debt
Reduce hand-offs and dependencies in Org to reduce
Platform Experience Debt
Malleable architectures with Pluggable UI,
Microservices and APIs to reduce Design Debt
Increase efficiency of validation processes to reduce
Quality Debt
Make software more testable to reduce Technical Debt
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

Enabling Continuous Quality in Mobile App Development
Enabling Continuous Quality in Mobile App DevelopmentEnabling Continuous Quality in Mobile App Development
Enabling Continuous Quality in Mobile App Development
Matthew Young
 

Was ist angesagt? (20)

DevOps for the Mobile Enterprise: Build and Connect
DevOps for the Mobile Enterprise: Build and ConnectDevOps for the Mobile Enterprise: Build and Connect
DevOps for the Mobile Enterprise: Build and Connect
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
dev@InterConnect workshop - Lean and DevOps
dev@InterConnect workshop - Lean and DevOpsdev@InterConnect workshop - Lean and DevOps
dev@InterConnect workshop - Lean and DevOps
 
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
 
A DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scaleA DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scale
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
 
DevOps for Enterprise Systems - Rosalind Radcliffe
DevOps for Enterprise Systems - Rosalind RadcliffeDevOps for Enterprise Systems - Rosalind Radcliffe
DevOps for Enterprise Systems - Rosalind Radcliffe
 
University of Miami Briefing: DevOps Steer – an agile response to customer fe...
University of Miami Briefing: DevOps Steer – an agile response to customer fe...University of Miami Briefing: DevOps Steer – an agile response to customer fe...
University of Miami Briefing: DevOps Steer – an agile response to customer fe...
 
IBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryIBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & delivery
 
Why DevOps Matters To The CIO
Why DevOps Matters To The CIOWhy DevOps Matters To The CIO
Why DevOps Matters To The CIO
 
Enabling Continuous Quality in Mobile App Development
Enabling Continuous Quality in Mobile App DevelopmentEnabling Continuous Quality in Mobile App Development
Enabling Continuous Quality in Mobile App Development
 
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
Using Lean Thinking to identify and address Delivery Pipeline bottlenecksUsing Lean Thinking to identify and address Delivery Pipeline bottlenecks
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
 
DevOps Thinking for the Line of Business
DevOps Thinking for the Line of BusinessDevOps Thinking for the Line of Business
DevOps Thinking for the Line of Business
 
HPE ALM Octane | DevOps | Agile
HPE ALM Octane | DevOps | AgileHPE ALM Octane | DevOps | Agile
HPE ALM Octane | DevOps | Agile
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
Applying DevOps for more reliable Public Sector Software Delivery
Applying DevOps for more reliable Public Sector Software DeliveryApplying DevOps for more reliable Public Sector Software Delivery
Applying DevOps for more reliable Public Sector Software Delivery
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
 
OpenTechSummit InterConnect2015 DevOps
OpenTechSummit InterConnect2015 DevOpsOpenTechSummit InterConnect2015 DevOps
OpenTechSummit InterConnect2015 DevOps
 

Andere mochten auch

Workshop Schedule
Workshop Schedule Workshop Schedule
Workshop Schedule
chorgheelim
 
12. npa & recovery management
12. npa & recovery management12. npa & recovery management
12. npa & recovery management
Ratnesh Ratn
 
ACCENT Hospital Management System
ACCENT  Hospital  Management  SystemACCENT  Hospital  Management  System
ACCENT Hospital Management System
ACCENT Trading
 

Andere mochten auch (20)

RED WAN
RED WANRED WAN
RED WAN
 
4 Methods to Avoid Dealing with Debt
4 Methods to Avoid Dealing with Debt 4 Methods to Avoid Dealing with Debt
4 Methods to Avoid Dealing with Debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Mitera
MiteraMitera
Mitera
 
Workshop Schedule
Workshop Schedule Workshop Schedule
Workshop Schedule
 
5 ideas to overcome delinquent payments without offending your customers
5 ideas to overcome delinquent payments without offending your customers5 ideas to overcome delinquent payments without offending your customers
5 ideas to overcome delinquent payments without offending your customers
 
Debt management In Islam
Debt management In IslamDebt management In Islam
Debt management In Islam
 
Developing an electronic health record for mobile community based health prac...
Developing an electronic health record for mobile community based health prac...Developing an electronic health record for mobile community based health prac...
Developing an electronic health record for mobile community based health prac...
 
What Can A Creditor Do to Collect a Debt?
What Can A Creditor Do to Collect a Debt?What Can A Creditor Do to Collect a Debt?
What Can A Creditor Do to Collect a Debt?
 
Collect Bad Debt
Collect Bad DebtCollect Bad Debt
Collect Bad Debt
 
Kerala revenue recovery act 1968
Kerala revenue recovery act 1968Kerala revenue recovery act 1968
Kerala revenue recovery act 1968
 
Debt Recovery Management or Debt Recovery Mechanism by Banks
Debt Recovery Management or Debt Recovery Mechanism by BanksDebt Recovery Management or Debt Recovery Mechanism by Banks
Debt Recovery Management or Debt Recovery Mechanism by Banks
 
Debt Collecting Presentation
Debt Collecting PresentationDebt Collecting Presentation
Debt Collecting Presentation
 
Debt collection strategies
Debt collection strategiesDebt collection strategies
Debt collection strategies
 
Debt recovery techniques
Debt recovery techniques Debt recovery techniques
Debt recovery techniques
 
Debt Management
Debt ManagementDebt Management
Debt Management
 
Collection Secrets Presentation
Collection Secrets PresentationCollection Secrets Presentation
Collection Secrets Presentation
 
Twenty Ideas for Becoming More Effective Collector
Twenty Ideas for Becoming More Effective Collector Twenty Ideas for Becoming More Effective Collector
Twenty Ideas for Becoming More Effective Collector
 
12. npa & recovery management
12. npa & recovery management12. npa & recovery management
12. npa & recovery management
 
ACCENT Hospital Management System
ACCENT  Hospital  Management  SystemACCENT  Hospital  Management  System
ACCENT Hospital Management System
 

Ähnlich wie Reduce Time to Value: Focus First on Configuration Management Debt

Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
Nicole Gomez
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
Thoughtworks
 
Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02
Shetal Patel
 

Ähnlich wie Reduce Time to Value: Focus First on Configuration Management Debt (20)

Freedom and Responsibility
Freedom and ResponsibilityFreedom and Responsibility
Freedom and Responsibility
 
DevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a StartupDevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a Startup
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
Migrating from ClearCase
Migrating from ClearCaseMigrating from ClearCase
Migrating from ClearCase
 
Andy singleton continuous delivery-fcb - nov 2014
Andy singleton   continuous delivery-fcb - nov 2014Andy singleton   continuous delivery-fcb - nov 2014
Andy singleton continuous delivery-fcb - nov 2014
 
Connecting Applications from Mobile to Mainframe in the Application Economy
Connecting Applications from Mobile to Mainframe in the Application EconomyConnecting Applications from Mobile to Mainframe in the Application Economy
Connecting Applications from Mobile to Mainframe in the Application Economy
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 
Coghead Overview 21 Aug08
Coghead Overview 21 Aug08Coghead Overview 21 Aug08
Coghead Overview 21 Aug08
 
Product Development in the Cloud
Product Development in the Cloud Product Development in the Cloud
Product Development in the Cloud
 
ENT206 Product Development in the Cloud
ENT206 Product Development in the CloudENT206 Product Development in the Cloud
ENT206 Product Development in the Cloud
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
 
Versiondog
VersiondogVersiondog
Versiondog
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
 
IBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC EventIBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC Event
 
Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02
 

Mehr von Chris Sterling

The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...
Chris Sterling
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Chris Sterling
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at Intel
Chris Sterling
 
Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010
Chris Sterling
 
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
Chris Sterling
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software Debt
Chris Sterling
 

Mehr von Chris Sterling (20)

Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
 
The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...
 
From Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSFrom Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaS
 
Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at Intel
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget Sound
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing Agile
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to Burst
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011
 
Managing Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve Bank
 
Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010
 
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software Debt
 
UW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User Stories
 
Managing Software Debt Agile Bazaar
Managing Software Debt Agile BazaarManaging Software Debt Agile Bazaar
Managing Software Debt Agile Bazaar
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Reduce Time to Value: Focus First on Configuration Management Debt

  • 1. Reduce Time to Value Focus First on Configuration Management Debt Chris Sterling, Product Owner, CenturyLink Cloud
  • 2. Bio - Chris Sterling 2 Director of Product Management at CenturyLink Cloud Recently Launched AppFog: https://www.ctl.io/appfog Author of book “Managing Software Debt: Building for Inevitable Change” Supported change efforts to adopt Lean, Agile & Continuous Delivery behaviors in organizations of 10 up to 800+ people Entrepreneur & Lean Startup Practitioner Blog: managingsoftwaredebt.com
  • 4. Types of Software Debt Configuration Management Debt: Integration and release management become more risky, complex, and error-prone. Platform Experience Debt: The availability and alignment of people to business objectives that involve software changes is becoming more limited or cost-prohibitive. Design Debt: The cost of adding features is increasing toward the point where it is more than the cost of writing from scratch. Quality Debt: There is a diminishing ability to verify the functional and technical quality of software: the “Break/Fix” mentality. Technical Debt: These are the activities that a team or team members take shortcuts on now that will impede future development if left as is. 4
  • 5. Reducing Time To Value 5 Focusing on Configuration Management Debt first leads to opportunities for reducing all forms of software debt Reduce hand-offs and dependencies in Org to reduce Platform Experience Debt Malleable architectures with Pluggable UI, Microservices and APIs to reduce Design Debt Increase efficiency of validation processes to reduce Quality Debt Make software more testable to reduce Technical Debt
  • 6. Configuration Management Debt “If releases are like giving birth, then you must be doing something wrong.” — Robert Benefield, CTO - Evolve Beyond 6
  • 7. Case Study: Web Property 7 180+ person “Web 2.0” product organization Waterfall SDLC that development uses to deliver in 6 month release cycles Want to use Agile methods to be more responsive to users and keep up with other “Web 2.0” companies Transitioned to Agile methods on 15 teams in 3 months Changed release management strategy, added XP technical practices, and implemented Scrum product development framework for scaled coordination Able to release every week to users within 4 months Used streamlined deployment environment process to validate product changes daily using Continuous Integration and automated promotions
  • 8. Case Study: Ad Platform 8 700+ person Ad Platform organization Extended dependencies out to 2000+ people throughout company Millions of lines of code + Hundreds of unique apps & services Continuous Integration server involved thousands of jobs & 1M+ builds per year 9-18 month overlapping release cycles Found opportunity to not branch for each overlapping release After 2 years can release to 20+ data centers globally every day 4 years later they release to production with no humans for nearly 100% of their company application & service deployments
  • 9. Principle: Focusing on Configuration Management Debt first leads to opportunities for reducing all forms of software debt 9
  • 10. Where Does CM Debt Source control practices that impact delivery velocity Too many variations/versions of the software supported in production Over-burdened release engineering and operations teams High coupling with centrally managed architecture element/ component Too many hand-offs between teams in order to release software to users Poor integration processes across architecture components and scaled team delivery Code changes feel too risky and takes too long to validate before releasing into production Poor documentation practices 10
  • 13. Traditional Source Control 11 Main Branch Version 1 Branch Integrate for Version 2 Code Complete
  • 14. Traditional Source Control 11 Main BranchDebt Death March Version 1 Branch Integrate for Version 2 Code Complete
  • 15. Traditional Source Control 11 Main BranchDebt Death March { Debt accrues quickly within stabilization periods Version 1 Branch Integrate for Version 2 Code Complete
  • 16. Worse Source Control 12 Main Branch Version 1 Version 2 Version 3 Version 4
  • 17. Worse Source Control 12 Main Branch Version 1 Version 2 Version 3 Version 4 { We wish branch points were this clean
  • 21. Flexible Source Control 13 Main Branch Version 1 Version 2
  • 22. Flexible Source Control 13 Main Branch Version 1 Version 2 { Not Easy! Must have proper infrastructure to do this.
  • 25. Embrace DevOps Culture Cultures, for better or worse, are very stable. — Jeff Bezos, CEO Amazon 16
  • 26. Principle: Teams own software delivery from solution to deployment to operations. 17
  • 30. Platform Experience Debt “As in Nature, if an organization is too inflexible or stands still too long it will get eaten.” - James Burke
  • 31. Principle: Rather than creating teams to work on projects, let’s find ways to give work to cross-functional teams. 22
  • 32. Feature Team “Feature Team” structure Uses common Product Backlog Integration is done in parallel Requires high levels of communication across teams to resolve integration issues Forces Teams to be more coordinated Sprints should be synchronized Cross team fertilization is a
 requirement to successfully 
 deliver in parallel 23
  • 33. Design Debt Technical features that involve improving software quality attributes can be prioritized based on the cost of not addressing them.
  • 34. Design Debt Technical features that involve improving software quality attributes can be prioritized based on the cost of not addressing them.
  • 35. 26 Malleable architectures and design enable nimble business capabilities.
  • 36. Feature Toggles Problem: Need to deliver changes to production on master with features that are not sufficient or validated with customers Introduce feature behind toggle ▶ ON: Show and allow access to feature ▶ OFF: Don’t show or allow access to feature Should be secondary option to introducing smaller capabilities that lead to sufficient feature 27
  • 37. Microservices 28 Pluggable UI API Routing Service 1 Service 2 Service 3 Service 4 Identity Management Authorization Authorization Authorization Authorization Data Data Data Data Messaging Platform
  • 39. Deploy to a Platform 30
  • 40. Quality Debt “Promises make debt, and debt makes promises.” — Dutch proverb
  • 41. The Three Amigos Quickly get testers, coders, and business on the same page before building based on a requirement 32 * The Three Amigos pattern originally coined by George Dinwiddie http://www.stickyminds.com/s.asp?F=S17232_COL_2
  • 42. The Three Amigos Pattern 33 As a Shopper I want to receive updates on incredible deals that are located near my home so that I can save money on my purchases Acceptance Criteria: Save Shopper’s location Ask Shopper if they want to receive localized deals daily Send notification of incredible deals to Shoppers located within 10 miles each morning Allow Shopper to stop receiving localized deals
  • 43. The Three Amigos Pattern 34 As a Shopper I want to receive updates on incredible deals that are located near my home so that I can save money on my purchases What areas of the application will this affect? What is the overall design? (UI, API, UX, etc…) What are the details test cases for this user story and it’s acceptance criteria? What about negative test conditions? What about boundary conditions? How might we put existing functionality at risk?
  • 44. The Three Amigos At minimum include tester, coder & business rep in discussion Should only take 30 minutes to 1 hour for user stories Focus on clarification and design through testable inputs/outputs Extend to Operations to reduce Configuration Management Debt 35
  • 46. ATDD Case Study Test Automation Reduces Cost of Change
  • 47. Manual Regression Testing Testing was taking 75 person hours during 2 full test runs consisting of: ▶ Comprehensive manual regression testing ▶ Data conversion and validation Cost for testing was $17,000 each iteration 38
  • 48. Introducing Fit into Testing After 8 iterations team had introduced healthy amount of Fit fixtures and automated tests Reduced 70+ hour test runtime down to 6 hours which now included: ▶ Fit automated regression testing ▶ Data conversion and validation automated with Fit fixtures Reduced cost of testing each iteration from $17,000 to $7,000 39
  • 49. The Agile Regression Testing 40 * The Agile Triangle has been modified from Mike Cohn’s original version
  • 50. The Agile Regression Testing 40 * The Agile Triangle has been modified from Mike Cohn’s original version Automated Unit Tests Make up largest portion of regression tests and are developed by programmers
  • 51. The Agile Regression Testing 40 * The Agile Triangle has been modified from Mike Cohn’s original version Automated Unit Tests Make up largest portion of regression tests and are developed by programmers Integration Tests Automated & Exploratory
  • 52. The Agile Regression Testing 40 * The Agile Triangle has been modified from Mike Cohn’s original version Automated Unit Tests Make up largest portion of regression tests and are developed by programmers Integration Tests Automated & Exploratory Smoke++ Tests Risk-based UI & API Automated Tests
  • 53. Technical Debt “For every [dollar] of competitive advantage gained by cutting quality, it costs $4 to restore it; and software is an organizational asset and decisions to cut quality must be made by executive management and reflected in the financial statements.” — Ken Schwaber, co-creator of Scrum Source: http://www.infoq.com/presentations/agile-quality-canary-coalmine
  • 55. Early Warning Signs 43 Early Warnings: • Broken Builds • Broken Automated Tests • Broken Custom Thresholds
  • 57. Early Warning Dashboard 45 Measuring Early Warning Signs: • Design Debt in Duplication (DRY) • Technical Debt in Code Complexity • Quality Debt in Bug DB (Break/Fix) • Other Custom Thresholds
  • 58. Reducing Time To Value 46 Focusing on Configuration Management Debt first leads to opportunities for reducing all forms of software debt Reduce hand-offs and dependencies in Org to reduce Platform Experience Debt Malleable architectures with Pluggable UI, Microservices and APIs to reduce Design Debt Increase efficiency of validation processes to reduce Quality Debt Make software more testable to reduce Technical Debt
  • 59. Q&A