SlideShare a Scribd company logo
1 of 37
© 2013 IBM Corporation
How Automation Reveals
Technical Debt
© 2013 IBM Corporation
Eric’s Bio
I’m a DevOps Evangelist at UrbanCode
where I helps customers get the most out
of their build, deploy and release
processes.
I have automation experience throughout
the application life-cycle in roles as a
developer, test automation engineer, and
support engineer. For the last 9
years, I’ve been focused on CI, CD and
DevOps
Eric Minick
eric@urbancode.com
@EricMinick
© 2013 IBM Corporation
Technical Debt
© 2013 IBM Corporation
Why do we accumulate technical debt?
We leverage technical debt to
deliver more faster.
De-leveraging is rarely accounted
for in project planning.
Green-Shifting*
Scope Time
Resources
* http://www.drdobbs.com/191600661
© 2013 IBM Corporation
Why do we care? Paying interest
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Now Later Later Still Much Later
Debt Paid
Interest Paid
Value Delivered
© 2013 IBM Corporation
Why do we care? Or paying our debts
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Now Later Later Still Much Later
Debt Paid
Interest Paid
Value Delivered
© 2013 IBM Corporation
Pay it now, or pay more later
Debt Paid
Interest Paid
Value
Delivered
Debt Paid
Interest
Paid
Value
Delivered
© 2013 IBM Corporation
Why should we care?
Baggage that slows the team
 Lack of automated tests lengthen
QA cycles
 Fear of merging work
 Unrefactored code slow to work
with
 Slow build / deploy processes
delay learning and release pace
Quality issues
Lack of tests results in
buggier code
Releases are error prone
and lead to unnecessary
outages
© 2013 IBM Corporation
The limits of what we know
Known Knowns: Bugs confirmed and tracked
Known Unknowns: Undiscovered bugs
Unknown unknowns: One of our project teams is using a
GPL’d library making their product impossible to ship
© 2013 IBM Corporation
Where Automation Helps
“Testing” for debt: Automated tests, code scans and reports
can help identify (and quantify) problems.
Automation as a learning experience: The act of
automating brings surprises.
© 2013 IBM Corporation
Testing for Debt
Continuous Integration (multi-component)
Code Inspection
Watching Trends
© 2013 IBM Corporation
Testing for Debt: Continuous Integration
On code commit, build and test the software
Roll up changes to build-time or runtime dependencies and
test those too to identify API incompatibilities
© 2013 IBM Corporation
Testing for Debt: Code Inspection
Code Reviews – Rapidly detect issues
Static Code Analysis – Tool based checks
for bugs, code duplication, code theft, &
non-compliance with dev standards.
© 2013 IBM Corporation
Testing for Debt: Code Inspection
Code Reviews – Rapidly detect issues
Static Code Analysis – Tool based checks
for bugs, code duplication, code theft, &
non-compliance with dev standards.
© 2013 IBM Corporation
Testing for Debt: Watching Trends
© 2013 IBM Corporation
More visualizations: Sonar
http://nemo.sonarsource.org/dashboard/index/327690?did=
6
© 2013 IBM Corporation
An example safety net
Continuous build & unit test
Nightly slow tests / code scans
Emails identifying new issues – ideally tied against source
code changes
Regular inspection of trends
Bugs / Stories entered around issues
© 2013 IBM Corporation
Automation as a learning experience
Implementing the safety net helps us discover
unacknowledged debt
© 2013 IBM Corporation
Tests? What tests?
© 2013 IBM Corporation
Automation Examples: The Build
Build time dependencies not understood
Build scripts missing or incomplete
“Magic build server” anti-pattern
http://www.urbancode.com/html/resources/webinars/Role_of_Binary_repositories_in_Software_Configuration_Management.html
© 2013 IBM Corporation
Automation Examples: Deployment
Deployment scripts scarce
“Special Instructions” with most deployments indicate non-
repeatable process
Environmental differences handled poorly
Separation of duties less than real
© 2013 IBM Corporation
Automation Example: Test Automation
Requirements less well understood
Existing tests are few, stale, un-optimized
Application not architected for testability
© 2013 IBM Corporation
Expect the unexpected when automating
At scale, Green-Shifting, has hidden issues
Include these discoveries in ROI estimations for automation
(positively and negatively)
This is a happy side effect
© 2013 IBM Corporation
Start making decisions
© 2013 IBM Corporation
Direct and indirect automation benefits
Direct: We tested for problems and found them.
Indirect: In attempting to be more efficient, we
automated, and accidently discovered problems.
© 2013 IBM Corporation
Automating for the team
Provide a “safety net” to detect and recognize issues.
Diagnose and repair lack of repeatability in build-deploy-test
Quantify accumulating debt in support of fighting scope creep
Team level tooling is fine
© 2013 IBM Corporation
Automating the enterprise
Benefits extend beyond aggregate team level benefits
Central Automation and Reporting gets us:
–Identify who can use shared configuration
–Who has tests, who doesn’t
–Who is using what tools
–Build / deploy failure rates
© 2013 IBM Corporation
Stories from customers
© 2013 IBM Corporation
Favorite Examples: Deployment Failures
 Debt: High rate of deployment failures a problem
 Interest: QA productivity is getting hurt & lengthened time to market
 Goal: Reduce failure rate from 40% to 5%
 Approach: Avoid manually fixing a deployment. Fix the automation
and redeploy.
 Enforcement: Monthly / weekly spreadsheet of success to CIO with
a six month plan.
© 2013 IBM Corporation
Favorite Examples: “End of Day” Commits
 Debt: Developers commit breaking changes at the end of the day
 Interest: Code base broken in morning, or other people stay up late
to fix it.
 Goal: Avoid other devs staying late to clean up
 Approach: Report on failures, and react to negative patterns as a
team.
 Enforcement: Social pressures
© 2013 IBM Corporation
© 2013 IBM Corporation
Favorite Examples: Low numbers of tests
Problem: Unit testing discipline breaking down over time
Goal: Maintain high or improving coverage
Approach: Standard coverage tools and an emphasis on
upward trends.
Enforcement: Trending report
on monitor over CIO’s door
© 2013 IBM Corporation
No hiding!
No greenshifting
© 2013 IBM Corporation
Summary
We accumulate technical debt as we race to deliver
more, faster.
This causes us to eventually release less, slower, with worse
quality
Automation directly and indirectly helps us find issues.
There are benefits at both team and enterprise levels.
© 2013 IBM Corporation
More References
http://urbancode.com/resources
Enterprise CD Maturity Model
Lean Build & Deployment Automation
Managing Release Risks with Metrics
Blogs.urbancode.com
Twitter.com/UrbanCode
facebook.com/IBMUrbanCodeProduc
Slideshare.net/Urbancode
© 2013 IBM Corporation
Yes, we sell products for this
uBuild
–Build management and continuous integration
uDeploy
–Deployment and release automation
uRelease
–Release management tool for planning and executing big releases
... And IBM’s amazing portfolio of CLM, testing tools, service
virtualization, provisioning, etc, etc.
© 2013 IBM Corporation
Questions?
eminick@us.ibm.com
@EricMinick, @Urbancode
Slideshare.net/Urbancode

More Related Content

What's hot

Customer ServicesNovember 09
Customer ServicesNovember 09Customer ServicesNovember 09
Customer ServicesNovember 09benwilson
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationInflectra
 
Introducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility ApathyIntroducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility ApathyBill Tyler
 
2018 ibm agile engineering summit - spotlight presentation
2018   ibm agile engineering summit - spotlight presentation2018   ibm agile engineering summit - spotlight presentation
2018 ibm agile engineering summit - spotlight presentationM Kevin McHugh
 
Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary Sean Kelly
 
What to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order MattersWhat to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order MattersSean Kelly
 
Different phases of accessibility testing
Different phases of accessibility testingDifferent phases of accessibility testing
Different phases of accessibility testingPoonam Tathavadkar
 
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseAdam Sandman
 
Aviation Service Lifecycle Management
Aviation Service Lifecycle ManagementAviation Service Lifecycle Management
Aviation Service Lifecycle ManagementMichael Denis
 
CloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoTCloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoTBenjamin Chodroff
 

What's hot (13)

Customer ServicesNovember 09
Customer ServicesNovember 09Customer ServicesNovember 09
Customer ServicesNovember 09
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar Presentation
 
Introducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility ApathyIntroducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility Apathy
 
2018 ibm agile engineering summit - spotlight presentation
2018   ibm agile engineering summit - spotlight presentation2018   ibm agile engineering summit - spotlight presentation
2018 ibm agile engineering summit - spotlight presentation
 
Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary
 
What to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order MattersWhat to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order Matters
 
Different phases of accessibility testing
Different phases of accessibility testingDifferent phases of accessibility testing
Different phases of accessibility testing
 
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
 
Aviation Service Lifecycle Management
Aviation Service Lifecycle ManagementAviation Service Lifecycle Management
Aviation Service Lifecycle Management
 
Mobitop
MobitopMobitop
Mobitop
 
ATDD open house
ATDD open houseATDD open house
ATDD open house
 
Apm andre santos
Apm andre santosApm andre santos
Apm andre santos
 
CloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoTCloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoT
 

Viewers also liked

Service Management Automation (SMA) from zero to hero
Service Management Automation (SMA) from zero to heroService Management Automation (SMA) from zero to hero
Service Management Automation (SMA) from zero to heroMichael Rüefli
 
Service Automation: Enabling The Self Service Generation - Jan-Willem Middleburg
Service Automation: Enabling The Self Service Generation - Jan-Willem MiddleburgService Automation: Enabling The Self Service Generation - Jan-Willem Middleburg
Service Automation: Enabling The Self Service Generation - Jan-Willem MiddleburgPink Elephant
 
What is IT4IT? - Suresh GP
What is IT4IT? - Suresh GPWhat is IT4IT? - Suresh GP
What is IT4IT? - Suresh GPPink Elephant
 
Integrating DevOps and ITSM for agility in action_v1
Integrating DevOps and ITSM for agility in action_v1Integrating DevOps and ITSM for agility in action_v1
Integrating DevOps and ITSM for agility in action_v1Aswin Kumar
 
Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015IBM UrbanCode Products
 
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 DatabasesIBM UrbanCode Products
 
Blue ocean strategy, balanced scorecard strategy and team forming a shared p...
Blue ocean strategy, balanced scorecard strategy and team forming  a shared p...Blue ocean strategy, balanced scorecard strategy and team forming  a shared p...
Blue ocean strategy, balanced scorecard strategy and team forming a shared p...Ali Anani, PhD
 
IT Pro Webinar Series: Agile Service Management Automation with Service Manag...
IT Pro Webinar Series: Agile Service Management Automation with Service Manag...IT Pro Webinar Series: Agile Service Management Automation with Service Manag...
IT Pro Webinar Series: Agile Service Management Automation with Service Manag...Cireson
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilIBM UrbanCode Products
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsIBM UrbanCode Products
 
ITSM Process Design Workshop Pittsburg June 2013
ITSM Process Design Workshop Pittsburg June 2013ITSM Process Design Workshop Pittsburg June 2013
ITSM Process Design Workshop Pittsburg June 2013Navvia
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...IBM UrbanCode Products
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeployIBM UrbanCode Products
 
Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Aswin Kumar
 
IT4IT real life examples & myths and rumors dispelled
IT4IT real life examples & myths and rumors dispelledIT4IT real life examples & myths and rumors dispelled
IT4IT real life examples & myths and rumors dispelledTony Price
 
DevOps for IBM Commerce
DevOps for IBM CommerceDevOps for IBM Commerce
DevOps for IBM CommerceMichael Elder
 
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 BottlenecksIBM UrbanCode Products
 

Viewers also liked (20)

Service Management Automation (SMA) from zero to hero
Service Management Automation (SMA) from zero to heroService Management Automation (SMA) from zero to hero
Service Management Automation (SMA) from zero to hero
 
Service Automation: Enabling The Self Service Generation - Jan-Willem Middleburg
Service Automation: Enabling The Self Service Generation - Jan-Willem MiddleburgService Automation: Enabling The Self Service Generation - Jan-Willem Middleburg
Service Automation: Enabling The Self Service Generation - Jan-Willem Middleburg
 
What is IT4IT? - Suresh GP
What is IT4IT? - Suresh GPWhat is IT4IT? - Suresh GP
What is IT4IT? - Suresh GP
 
Integrating DevOps and ITSM for agility in action_v1
Integrating DevOps and ITSM for agility in action_v1Integrating DevOps and ITSM for agility in action_v1
Integrating DevOps and ITSM for agility in action_v1
 
Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015
 
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
 
Blue ocean strategy, balanced scorecard strategy and team forming a shared p...
Blue ocean strategy, balanced scorecard strategy and team forming  a shared p...Blue ocean strategy, balanced scorecard strategy and team forming  a shared p...
Blue ocean strategy, balanced scorecard strategy and team forming a shared p...
 
IT Pro Webinar Series: Agile Service Management Automation with Service Manag...
IT Pro Webinar Series: Agile Service Management Automation with Service Manag...IT Pro Webinar Series: Agile Service Management Automation with Service Manag...
IT Pro Webinar Series: Agile Service Management Automation with Service Manag...
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
ITSM Process Design Workshop Pittsburg June 2013
ITSM Process Design Workshop Pittsburg June 2013ITSM Process Design Workshop Pittsburg June 2013
ITSM Process Design Workshop Pittsburg June 2013
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
 
Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4
 
IT4IT real life examples & myths and rumors dispelled
IT4IT real life examples & myths and rumors dispelledIT4IT real life examples & myths and rumors dispelled
IT4IT real life examples & myths and rumors dispelled
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
DevOps for IBM Commerce
DevOps for IBM CommerceDevOps for IBM Commerce
DevOps for IBM Commerce
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
 
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
 

Similar to How Automation Reveals Technical Debt

APM Talk
APM TalkAPM Talk
APM TalkMongoDB
 
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionMobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionSanjeev Sharma
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps IBM UrbanCode Products
 
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
IBM Z for the Digital Enterprise 2018 - Automate Delivery PipelineIBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
IBM Z for the Digital Enterprise 2018 - Automate Delivery PipelineDevOps for Enterprise Systems
 
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...IBM Rational
 
Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation
Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation
Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation Anatoly Levenchuk
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best PracticesMichael Elder
 
Building intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBMBuilding intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBMPAPIs.io
 
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksCampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksSanjeev Sharma
 
Industry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessIndustry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessMichael Elder
 
Urban code - DevOps - cost reduction
Urban code - DevOps - cost reductionUrban code - DevOps - cost reduction
Urban code - DevOps - cost reductionChris Sparshott
 
Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02Shetal Patel
 
IBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC EventIBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC EventRoger Snook
 
Tdc 2013 alm com dev o ps
Tdc 2013 alm com dev o psTdc 2013 alm com dev o ps
Tdc 2013 alm com dev o psWalter Farias
 
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 DeliverySanjeev Sharma
 
IBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryIBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryRoberto Pozzi
 

Similar to How Automation Reveals Technical Debt (20)

How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
APM Talk
APM TalkAPM Talk
APM Talk
 
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionMobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
 
Avoiding the Release Weekend
Avoiding the Release Weekend Avoiding the Release Weekend
Avoiding the Release Weekend
 
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
IBM Z for the Digital Enterprise 2018 - Automate Delivery PipelineIBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
 
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
 
Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation
Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation
Kerim Cakmak, Moshe Cohen -- Continuous Verification and Validation
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best Practices
 
Building intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBMBuilding intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBM
 
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksCampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
 
Industry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessIndustry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average Business
 
Urban code - DevOps - cost reduction
Urban code - DevOps - cost reductionUrban code - DevOps - cost reduction
Urban code - DevOps - cost reduction
 
Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02Ibmmobilefirstdevopsdc 140311164526-phpapp02
Ibmmobilefirstdevopsdc 140311164526-phpapp02
 
IBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC EventIBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC Event
 
Automation and Technical Debt
Automation and Technical DebtAutomation and Technical Debt
Automation and Technical Debt
 
Tdc 2013 alm com dev o ps
Tdc 2013 alm com dev o psTdc 2013 alm com dev o ps
Tdc 2013 alm com dev o ps
 
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
 
IBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryIBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & delivery
 

More from IBM UrbanCode Products

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9IBM UrbanCode Products
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesIBM UrbanCode Products
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversalIBM UrbanCode Products
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureIBM UrbanCode Products
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at ScaleIBM UrbanCode Products
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
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 RoadmapIBM UrbanCode Products
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployIBM UrbanCode Products
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsIBM UrbanCode Products
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 
Continuous Application Delivery to WebSphere - Featuring IBM UrbanCode
Continuous Application Delivery to WebSphere - Featuring IBM UrbanCodeContinuous Application Delivery to WebSphere - Featuring IBM UrbanCode
Continuous Application Delivery to WebSphere - Featuring IBM UrbanCodeIBM UrbanCode Products
 
Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...IBM UrbanCode Products
 
Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...IBM UrbanCode Products
 
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 BluemixIBM UrbanCode Products
 

More from IBM UrbanCode Products (20)

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
 
What's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode DeployWhat's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode Deploy
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
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 and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Continuous Application Delivery to WebSphere - Featuring IBM UrbanCode
Continuous Application Delivery to WebSphere - Featuring IBM UrbanCodeContinuous Application Delivery to WebSphere - Featuring IBM UrbanCode
Continuous Application Delivery to WebSphere - Featuring IBM UrbanCode
 
Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...
 
Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...
 
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
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

How Automation Reveals Technical Debt

  • 1. © 2013 IBM Corporation How Automation Reveals Technical Debt
  • 2. © 2013 IBM Corporation Eric’s Bio I’m a DevOps Evangelist at UrbanCode where I helps customers get the most out of their build, deploy and release processes. I have automation experience throughout the application life-cycle in roles as a developer, test automation engineer, and support engineer. For the last 9 years, I’ve been focused on CI, CD and DevOps Eric Minick eric@urbancode.com @EricMinick
  • 3. © 2013 IBM Corporation Technical Debt
  • 4. © 2013 IBM Corporation Why do we accumulate technical debt? We leverage technical debt to deliver more faster. De-leveraging is rarely accounted for in project planning. Green-Shifting* Scope Time Resources * http://www.drdobbs.com/191600661
  • 5. © 2013 IBM Corporation Why do we care? Paying interest 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Now Later Later Still Much Later Debt Paid Interest Paid Value Delivered
  • 6. © 2013 IBM Corporation Why do we care? Or paying our debts 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Now Later Later Still Much Later Debt Paid Interest Paid Value Delivered
  • 7. © 2013 IBM Corporation Pay it now, or pay more later Debt Paid Interest Paid Value Delivered Debt Paid Interest Paid Value Delivered
  • 8. © 2013 IBM Corporation Why should we care? Baggage that slows the team  Lack of automated tests lengthen QA cycles  Fear of merging work  Unrefactored code slow to work with  Slow build / deploy processes delay learning and release pace Quality issues Lack of tests results in buggier code Releases are error prone and lead to unnecessary outages
  • 9. © 2013 IBM Corporation The limits of what we know Known Knowns: Bugs confirmed and tracked Known Unknowns: Undiscovered bugs Unknown unknowns: One of our project teams is using a GPL’d library making their product impossible to ship
  • 10. © 2013 IBM Corporation Where Automation Helps “Testing” for debt: Automated tests, code scans and reports can help identify (and quantify) problems. Automation as a learning experience: The act of automating brings surprises.
  • 11. © 2013 IBM Corporation Testing for Debt Continuous Integration (multi-component) Code Inspection Watching Trends
  • 12. © 2013 IBM Corporation Testing for Debt: Continuous Integration On code commit, build and test the software Roll up changes to build-time or runtime dependencies and test those too to identify API incompatibilities
  • 13. © 2013 IBM Corporation Testing for Debt: Code Inspection Code Reviews – Rapidly detect issues Static Code Analysis – Tool based checks for bugs, code duplication, code theft, & non-compliance with dev standards.
  • 14. © 2013 IBM Corporation Testing for Debt: Code Inspection Code Reviews – Rapidly detect issues Static Code Analysis – Tool based checks for bugs, code duplication, code theft, & non-compliance with dev standards.
  • 15. © 2013 IBM Corporation Testing for Debt: Watching Trends
  • 16. © 2013 IBM Corporation More visualizations: Sonar http://nemo.sonarsource.org/dashboard/index/327690?did= 6
  • 17. © 2013 IBM Corporation An example safety net Continuous build & unit test Nightly slow tests / code scans Emails identifying new issues – ideally tied against source code changes Regular inspection of trends Bugs / Stories entered around issues
  • 18. © 2013 IBM Corporation Automation as a learning experience Implementing the safety net helps us discover unacknowledged debt
  • 19. © 2013 IBM Corporation Tests? What tests?
  • 20. © 2013 IBM Corporation Automation Examples: The Build Build time dependencies not understood Build scripts missing or incomplete “Magic build server” anti-pattern http://www.urbancode.com/html/resources/webinars/Role_of_Binary_repositories_in_Software_Configuration_Management.html
  • 21. © 2013 IBM Corporation Automation Examples: Deployment Deployment scripts scarce “Special Instructions” with most deployments indicate non- repeatable process Environmental differences handled poorly Separation of duties less than real
  • 22. © 2013 IBM Corporation Automation Example: Test Automation Requirements less well understood Existing tests are few, stale, un-optimized Application not architected for testability
  • 23. © 2013 IBM Corporation Expect the unexpected when automating At scale, Green-Shifting, has hidden issues Include these discoveries in ROI estimations for automation (positively and negatively) This is a happy side effect
  • 24. © 2013 IBM Corporation Start making decisions
  • 25. © 2013 IBM Corporation Direct and indirect automation benefits Direct: We tested for problems and found them. Indirect: In attempting to be more efficient, we automated, and accidently discovered problems.
  • 26. © 2013 IBM Corporation Automating for the team Provide a “safety net” to detect and recognize issues. Diagnose and repair lack of repeatability in build-deploy-test Quantify accumulating debt in support of fighting scope creep Team level tooling is fine
  • 27. © 2013 IBM Corporation Automating the enterprise Benefits extend beyond aggregate team level benefits Central Automation and Reporting gets us: –Identify who can use shared configuration –Who has tests, who doesn’t –Who is using what tools –Build / deploy failure rates
  • 28. © 2013 IBM Corporation Stories from customers
  • 29. © 2013 IBM Corporation Favorite Examples: Deployment Failures  Debt: High rate of deployment failures a problem  Interest: QA productivity is getting hurt & lengthened time to market  Goal: Reduce failure rate from 40% to 5%  Approach: Avoid manually fixing a deployment. Fix the automation and redeploy.  Enforcement: Monthly / weekly spreadsheet of success to CIO with a six month plan.
  • 30. © 2013 IBM Corporation Favorite Examples: “End of Day” Commits  Debt: Developers commit breaking changes at the end of the day  Interest: Code base broken in morning, or other people stay up late to fix it.  Goal: Avoid other devs staying late to clean up  Approach: Report on failures, and react to negative patterns as a team.  Enforcement: Social pressures
  • 31. © 2013 IBM Corporation
  • 32. © 2013 IBM Corporation Favorite Examples: Low numbers of tests Problem: Unit testing discipline breaking down over time Goal: Maintain high or improving coverage Approach: Standard coverage tools and an emphasis on upward trends. Enforcement: Trending report on monitor over CIO’s door
  • 33. © 2013 IBM Corporation No hiding! No greenshifting
  • 34. © 2013 IBM Corporation Summary We accumulate technical debt as we race to deliver more, faster. This causes us to eventually release less, slower, with worse quality Automation directly and indirectly helps us find issues. There are benefits at both team and enterprise levels.
  • 35. © 2013 IBM Corporation More References http://urbancode.com/resources Enterprise CD Maturity Model Lean Build & Deployment Automation Managing Release Risks with Metrics Blogs.urbancode.com Twitter.com/UrbanCode facebook.com/IBMUrbanCodeProduc Slideshare.net/Urbancode
  • 36. © 2013 IBM Corporation Yes, we sell products for this uBuild –Build management and continuous integration uDeploy –Deployment and release automation uRelease –Release management tool for planning and executing big releases ... And IBM’s amazing portfolio of CLM, testing tools, service virtualization, provisioning, etc, etc.
  • 37. © 2013 IBM Corporation Questions? eminick@us.ibm.com @EricMinick, @Urbancode Slideshare.net/Urbancode

Editor's Notes

  1. Collected technical work left undone.When a feature changes, there’s immediate debt to documentation. When we branch, as we work longer in parallel, we accumulate a debt towards integrating. CI minimizes the accumulation of that debt.
  2. My apologies to Mr. Rumsfeld.