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 overheadOver 50% of engineers time spent maintaining tests
Slow Continuous Integration
Poor feedback loop between feature specifications and
engineersEngineers as code monkeys
Bureaucratic Overhead managing Scrum
Too much time spent managing and patching releases
Manual Regression
Sign-off
Repeat
What did ‘the business’ wantTo pivot
To build the prototype
To deliver on all the metrics
Cross-Functional TeamsTeams dedicated to business goals
Data over opinions
Culture of discovery
Iterate QuicklySmall change
Measure success
Adjust
How did an SOA help?
Discrete focus for the mindFor 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 coverageHonour your SLA’s
Focus on unit tests
Test where you need it
Test in production?
Continuous DeliveryIndependent Releases
A mindset or philosophy
Product of behavioural changes
Faster iterationsSmaller pieces of work
Faster feedback loop
Focus on why?
Greater CollaborationVisual Design / UX and engineers collaborating
Devops
Responsibility for Quality is shared
Better QualityThe QA paradox
Bugs managed themselves
Steady cadencePredictable
Wider understanding of capability
Features ‘grew’
Finally..Drop the silos
Let testability drive your architecture
It’s not an engineering capability