SOA: An enabler for Continuous Delivery and innovation

Ian Tinsley
Ian TinsleyAgile Coach at Pragmateam (Pty Ltd)
SOA: An enabler for
Continuous Delivery and
innovation
Why did we want an SOA and
Continuous Delivery?
Driven by Engineering team
Stagnant Architecture
Huge automated testing overhead
Over 50% of engineers time spent maintaining tests
Slow Continuous Integration
Poor feedback loop between
feature specifications and
engineers
Engineers as code monkeys
Bureaucratic Overhead managing Scrum
Too much time spent managing
and patching releases
Manual Regression
Sign-off
Repeat
What did ‘the business’ want
To pivot
To build the prototype
To deliver on all the metrics
Restructure!
Cross-Functional Teams
Teams dedicated to business goals
Data over opinions
Culture of discovery
Iterate Quickly
Small change
Measure success
Adjust
How did an SOA help?
Discrete focus for the mind
For the individual
For the team
Ownership and personal
responsibility
Abstraction allows ownership and autonomy
Test your own work
Manage your own releases
Definition of done: In Production
Pragmatic test coverage
Honour your SLA’s
Focus on unit tests
Test where you need it
Test in production?
Continuous Delivery
Independent Releases
A mindset or philosophy
Product of behavioural changes
Observations?
Faster iterations
Smaller pieces of work
Faster feedback loop
Focus on why?
Greater Collaboration
Visual Design / UX and engineers collaborating
Devops
Responsibility for Quality is shared
Better Quality
The QA paradox
Bugs managed themselves
Steady cadence
Predictable
Wider understanding of capability
Features ‘grew’
Finally..
Drop the silos
Let testability drive your architecture
It’s not an engineering capability
1 of 21

Recommended

DevOps Introduction by
DevOps IntroductionDevOps Introduction
DevOps IntroductionKarthik Venkatesan
57 views11 slides
War for Agile by
War for AgileWar for Agile
War for AgileMikalai Alimenkou
993 views11 slides
DevOps: Why Should We Care? by
DevOps: Why Should We Care?DevOps: Why Should We Care?
DevOps: Why Should We Care?Kasun Kodagoda
318 views24 slides
War For Agile by
War For AgileWar For Agile
War For AgileAlexey Krivitsky
658 views10 slides
Building Lean Products That Pivot by
Building Lean Products That PivotBuilding Lean Products That Pivot
Building Lean Products That PivotThoughtworks
1.5K views14 slides
6 tw live.rebecca.final (1) PDF by
6 tw live.rebecca.final (1) PDF6 tw live.rebecca.final (1) PDF
6 tw live.rebecca.final (1) PDFiduartetw
198 views14 slides

More Related Content

What's hot

#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to... by
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...Vincent Biret
254 views23 slides
TestIT Software Assurance by
TestIT Software AssuranceTestIT Software Assurance
TestIT Software Assurancetestitcouk
396 views28 slides
The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017 by
The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017
The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017Xpand IT
301 views21 slides
Why do you need multiple qa environments by
Why do you need multiple qa environments Why do you need multiple qa environments
Why do you need multiple qa environments Enov8
16 views5 slides
Creating a pull for DevOps in an Agile Transformation by
Creating a pull for DevOps in an Agile TransformationCreating a pull for DevOps in an Agile Transformation
Creating a pull for DevOps in an Agile TransformationTimothy Wise
660 views56 slides
Scrum In Vs2010 by
Scrum In Vs2010Scrum In Vs2010
Scrum In Vs2010Ernst Perpignand
723 views27 slides

What's hot(20)

#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to... by Vincent Biret
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
Vincent Biret254 views
TestIT Software Assurance by testitcouk
TestIT Software AssuranceTestIT Software Assurance
TestIT Software Assurance
testitcouk396 views
The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017 by Xpand IT
The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017
The DevOps Challenge - Red Hat DevOps & Microservices Conference 2017
Xpand IT301 views
Why do you need multiple qa environments by Enov8
Why do you need multiple qa environments Why do you need multiple qa environments
Why do you need multiple qa environments
Enov816 views
Creating a pull for DevOps in an Agile Transformation by Timothy Wise
Creating a pull for DevOps in an Agile TransformationCreating a pull for DevOps in an Agile Transformation
Creating a pull for DevOps in an Agile Transformation
Timothy Wise660 views
Is there a Golden Ratio? Test Specialist to Developer in an Agile team by debashisb
Is there a Golden Ratio? Test Specialist to Developer in an Agile teamIs there a Golden Ratio? Test Specialist to Developer in an Agile team
Is there a Golden Ratio? Test Specialist to Developer in an Agile team
debashisb371 views
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya... by Scrum Bangalore
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum_BLR 11th meet up 13 dec-2014 - SDET - They Way to go for Testers - Jaya...
Scrum Bangalore1.7K views
Why do you need multiple qa environments by Enov8
Why do you need multiple qa environments Why do you need multiple qa environments
Why do you need multiple qa environments
Enov846 views
Continuously Delivering: Compress the time from committed to consumed by Atlassian
Continuously Delivering: Compress the time from committed to consumedContinuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Atlassian869 views
Automation testing tea time by Rahul Badave
Automation testing tea timeAutomation testing tea time
Automation testing tea time
Rahul Badave152 views
Efficient Software Development with Visual Studio Team System by richardbushnell
Efficient Software Development with Visual Studio Team SystemEfficient Software Development with Visual Studio Team System
Efficient Software Development with Visual Studio Team System
richardbushnell563 views
5 signs you need DevOps in your life by IJYI
5 signs you need DevOps in your life5 signs you need DevOps in your life
5 signs you need DevOps in your life
IJYI31 views
Test-Driven Development by Sarah Allen
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
Sarah Allen404 views
Adaptive Development Methodology by Steve Greene
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development Methodology
Steve Greene10.6K views
Efficient Software Development with Visual Studio Team System 2008 by richardbushnell
Efficient Software Development with Visual Studio Team System 2008Efficient Software Development with Visual Studio Team System 2008
Efficient Software Development with Visual Studio Team System 2008
richardbushnell572 views
Golden ratiotestertodev debashis banerjee - upload by Debashis Banerjee
Golden ratiotestertodev   debashis banerjee - uploadGolden ratiotestertodev   debashis banerjee - upload
Golden ratiotestertodev debashis banerjee - upload
Debashis Banerjee203 views
Devops2 by Apsara G
Devops2Devops2
Devops2
Apsara G76 views

Similar to SOA: An enabler for Continuous Delivery and innovation

Assessing youragility by
Assessing youragilityAssessing youragility
Assessing youragilityrseniv
728 views35 slides
The philosophy of continuous deployment by
The philosophy of continuous deploymentThe philosophy of continuous deployment
The philosophy of continuous deploymentIan Tinsley
647 views16 slides
InCycle's DevOps with Azure by
InCycle's DevOps with AzureInCycle's DevOps with Azure
InCycle's DevOps with AzureInCycleSoftware
1.3K views21 slides
Using Agile Processes on Documentum Projects by
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsBlueFish
1.6K views32 slides
Resilience and Compliance at Speed and Scale by
Resilience and Compliance at Speed and ScaleResilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and ScaleJason Chan
1.9K views54 slides
Using Agile Processes on Documentum Projects by
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projectsmufflerdog
645 views32 slides

Similar to SOA: An enabler for Continuous Delivery and innovation(20)

Assessing youragility by rseniv
Assessing youragilityAssessing youragility
Assessing youragility
rseniv728 views
The philosophy of continuous deployment by Ian Tinsley
The philosophy of continuous deploymentThe philosophy of continuous deployment
The philosophy of continuous deployment
Ian Tinsley647 views
Using Agile Processes on Documentum Projects by BlueFish
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projects
BlueFish1.6K views
Resilience and Compliance at Speed and Scale by Jason Chan
Resilience and Compliance at Speed and ScaleResilience and Compliance at Speed and Scale
Resilience and Compliance at Speed and Scale
Jason Chan1.9K views
Using Agile Processes on Documentum Projects by mufflerdog
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projects
mufflerdog645 views
DevOps Maturity Curve v5 by Paul Peissner
DevOps Maturity Curve v5DevOps Maturity Curve v5
DevOps Maturity Curve v5
Paul Peissner4.5K views
Principles and Techniques of Evolutionary Architecture with Dr. Rebecca Parsons by Bamdad Dashtban
Principles and Techniques of Evolutionary Architecture with Dr. Rebecca ParsonsPrinciples and Techniques of Evolutionary Architecture with Dr. Rebecca Parsons
Principles and Techniques of Evolutionary Architecture with Dr. Rebecca Parsons
Bamdad Dashtban3.6K views
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps by KMS Technology
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
KMS Technology839 views
Recycling Legacy Applications by Inés Gabriel
Recycling Legacy ApplicationsRecycling Legacy Applications
Recycling Legacy Applications
Inés Gabriel388 views
Implementing Azure DevOps with your Testing Project by RTTS
Implementing Azure DevOps with your Testing ProjectImplementing Azure DevOps with your Testing Project
Implementing Azure DevOps with your Testing Project
RTTS10K views
Large scale agile development practices by Skills Matter
Large scale agile development practicesLarge scale agile development practices
Large scale agile development practices
Skills Matter982 views
Iryna Kulakova dev ops ITEM 2017 by ITEM
Iryna Kulakova   dev ops ITEM 2017Iryna Kulakova   dev ops ITEM 2017
Iryna Kulakova dev ops ITEM 2017
ITEM71 views
Visual Studio ALM and DevOps Tools Walkthrough by Angela Dugan
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
Angela Dugan577 views
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017 by Caserta
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Caserta 1.9K views
Software Dev Process In A Nutshell by Ocean Dong
Software Dev Process In A NutshellSoftware Dev Process In A Nutshell
Software Dev Process In A Nutshell
Ocean Dong812 views
Team Foundation Server 2010 - Overview by Steve Lange
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - Overview
Steve Lange5.7K views

Recently uploaded

Sprint 226 by
Sprint 226Sprint 226
Sprint 226ManageIQ
5 views18 slides
Short_Story_PPT.pdf by
Short_Story_PPT.pdfShort_Story_PPT.pdf
Short_Story_PPT.pdfutkarshsatishkumarsh
5 views16 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
40 views62 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
6 views1 slide
Introduction to Maven by
Introduction to MavenIntroduction to Maven
Introduction to MavenJohn Valentino
6 views10 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
122 views25 slides

Recently uploaded(20)

Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ5 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller40 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492122 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app7 views
Quality Engineer: A Day in the Life by John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino6 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8712 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino5 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 views
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j8 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views

SOA: An enabler for Continuous Delivery and innovation

Editor's Notes

  1. Our Engineering team was stuck on Rails 2.3.5, architecture had become stagnant. Change was needed!
  2. 75% Cucumber/BDD code coverage 100% unit test coverage At least 15 hours worth of tests end to end Jenkins for parallel processing still took at least an hour Legacy of poorly written and/or Flaky tests a maintenance nightmare
  3. Engineers given “Tablets of stone” requirements from above Bug Tsar was required to manage and prioritise the hundreds of outsanding bugs Huge overhead of Feature prioritisation meetings and negotiated commitment Points not treated as abstract by management
  4. Process of cut Release Candidate > Regression Test > Patch every Sprint caused large overhead and delays to release code. Late entry to ‘production-like’ environment meant issues around content/scale/usabilty etc are discovered late
  5. ‘The Business’ meaning marketing, the guys that are paying - note, see http://vertical-slice.com/2014/05/19/we-are-the-business/ What the business wants is always simple, it’s the implementation that is hard
  6. We didn’t have all the answers, that was accepted. We needed to discover them. Achieve a goal rather than complete a task Team should be able to unblock itself A cross functional team may consist of the following: UX/BA/VD/Ops/FED/BED/SME
  7. A developer should always be able to hold the project in his head – the architecture needs to be separated into discrete components With separation of services separation of scope and ownership becomes much easier. It is very difficult to achieve X-func teams, autonomy and quick iterations without a decoupled architecture which allows it.
  8. Defining done as “Released to production” focuses the mind Create a culture where engineers cannot hand over sub-standard work to QA Who is responsible for quality in a Traditional Cycle With great power comes great responsibility
  9. BDD can protect you from poor abstractions but it’s slow and expensive Automate heavily across crucial areas such as Payments or brittle areas such as maps. Less so on edge cases Sometimes it’s cheaper to find and fix a bug in production than support test automation overhead
  10. See http://vertical-slice.com/2014/02/15/the-philosophy-of-continuous-deployment/ An SOA enables the abstractions and behavioural changes that allow small changes to be released fast. This enables Continuous Delivery.
  11. Encourage the team to ask why they are implementing a piece of work and measure it’s success
  12. Small iterations make greater collaboration a necessity Ops have to give up control so collaborate closely with engineers Engineers accept they are on call for operational issues At Westfield Labs there was great collaboration on a Release Pipeline application built by QA/Engineers/Ops
  13. Asking QA’s not to take responsibility for functional testing actually seemed to reduce bugs Bugs given parity with features when being prioritised by the team Less bugs, less bug management Smaller, more focused teams meant the team implicitly understood bugs, saving time on bureaucracy
  14. Stable, steady output of measured enhancements Points abolished, commitment reached far more often Features tended to grow out of a series of minor enhancements toward a larger goal rather than lurching forward then stabilising afterward
  15. Don’t have teams structured by functional silo Don’t leave Continuous Delivery to your Engineering team, it must be collaborative across all areas of the business