manchester itexpo talk: devops large and small - cambridge satchel
TRANSCRIPT
jmwprojmwpro
jmwpro
Web Master / Lead Java Developer
Lead Developer / Head of Development
Director of Platform Development
Head of Web Engineering
Chief Technology Officer2014
2011
2007
2003
1999
Background
DevOps Large
DevOps Small
DevOps Small
? Small
???? Small
jmwpro
DevOps Large<aka DevOps Hard/>
jmwpro
• 2011-2014 introduced Continuous Integration, DevOps & Behaviour Driven Development to M&S on £150 Million project.
• 650 Member project team, mostly outsourced.• Project touched 65 new or modified applications, mostly legacy.• Devops Capability team now in place to kick start other teams• BDD initiatives taken off on and offshore with
4 years to re-platform – ongoing….
DevOps Large: Marks & Spencer
Founded 1884, 85,000 staff£10.3 Bn group revenues
jmwpro
“It’s all about the code”Application code, Test code, Configuration code, Script code, infrastructure code, 3rd Party Binaries
jmwpro
DevOps Large: The Good
Software Factory Efficiency Ensure there is only one place to put
code, and one way to build it
Software Scanning Quality and Maintainability
Ensure all code meets agreed coding standards. Scan for Security vulnerabilities after every commit
Route to Production Simplicity and Control All code had to go through the correct
environments firstRegular Release train(s) Team Productivity Have a schedule and stick to it.
Configuration Management Code control SVN misused, sorted then moved to GIT
Behavior Driven Development
Better solution. Automated testing.
Try BDD initiatives within in-house teams- then roll out offshore.
Initiative Benefit What to look out for?
jmwpro
DevOps Large: The Bad
Architecture Too coupled Too many dependencies between systems making it difficult to move at speed or test independently
Vendors and Systems Integrators
No Unit testing, test automation, DevOps
Out of the box Vendor code poor with no or limited unit tests. Teams aligned to build features not an efficient pipeline.
Automated Testing Multiple frameworks not fit for pipeline
Ensure your automated test ‘frameworks’ can run externally (ie via jenkins or similar) and can be configured to run subsets of test. SCM.
Legacy Systems Legacy Systems!!Legacy Systems!!! Add a legacy system being built by a legacy Team and the whole code delivery process can grind to a standstill.
Test Environments Complex and Expensive
Do all you can to build your apps independently of the dreaded “System Integration Environment”
Initiative Benefit Explanation
jmwpro
DevOps Large: The Ugly
Contracts Fixed PriceNo mention of operational considerations; code process, build mechanisms, frequency of deployment, code quality, automation.
Hosting Partners No Access to hardware
Ensure you’re not handing over full control of infrastructure to 3rd Parties with no incentive to give dev/test teams access. What’s the incentive to collaborate.
Operating Model Waterfall basedInternal processes/gates/sign-off based on waterfall. DevOps initiatives cut across all phases of standard projects.
Architecture & Test Data
Impossible to get baseline data
With multiple batch jobs and internal reference tables virtually impossible to take co-ordinated snapshot of DBs and recreate test environments at will
Initiative Benefit Explanation
jmwpro
Lies, Lies and Statics<the forgotten teams/>
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
The cool kids in DevOps
Soon ;-)
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Legacy Zone
Cool Zone Team Software
Agile/Lean practices
Great Software
Goodpractices
GoodSoftware
Poor working practices
Poor Software
Bad working practices
BadSoftware
Delivering better software, faster.
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
The real cost of not doing it right
$$$$
$$$
$$$ Understand the cost to the
organisation of slow releases
Cost of rework
Cost of delay and hand off
Cost of building the wrong thing
Cost of poor technology choice
Integration test costs
Excelle
nce / C
raftsm
ansh
ip
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Legacy Zone
Cool Zone
Excelling at Software Delivery
Delivering better software, faster.
Corporate Complexity
So where on the scale are you?
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Legacy Zone
Cool Zone
DevOps Big: Enterprise Reality
DevOps / BDD Culture on a few new initiatives
Outsourced Standard Methods long integration test phases,
some test automation
Increasing use of BDD, Lean within digital teams
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
DevOps Large: The Team Ceiling
Do you have the team in place to excel?
Designed for Continuous Delivery?• Training• Skills• Mindset• Goal alignment• Contracts• Empowerment
No matter how good your technology ensure your team is
up to it!
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Team Policy based on DevOps
Do you have the team in place to excel?
Designed for Continuous Delivery?• Training• Skills• Mindset• Goal alignment• Contracts• Empowerment
No matter how good your technology ensure your team is
up to it!
INVEST
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
DevOps Large: The Technology Ceiling
Can you really do Continuous Delivery with your current architecture and systems?
Designed for Continuous Delivery?• Vendor systems from the 90s• No unit testing• Slow/No build automation• Monolithic code bases/systems• Poor monitoring / logging
No matter how good your team is your technology sucks!
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Procurement strategy based on DevOps
Can you really do Continuous Delivery with your current architecture and systems?
Designed for Continuous Delivery?• Vendor systems from the 90s• No unit testing• Slow/No build automation• Monolithic code bases/systems• Poor monitoring / logging
No matter how good your team is your technology sucks!
INVEST
jmwpro
DevOps Small<aka DevOps Fun/>
jmwpro
• Selling in over 100 countries. Flagship store in Covent Garden• Hand made in Great Britain in our own factory.
• Opportunity to re-invent the technology, teams and ways of working• Autumn 2014 - Website in urgent need of a re-platform• DevOps and BDD fundamental to the way we work and technology strategy
DevOps Small: Cambridge Satchel
Founded 2008 by Julie Deane OBE, 120 Staff
£600 initial investment in 2008has led to £10M+ total revenues
jmwpro
What if….<clean sheet of paper/>
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
App Strategy based on DevOps
Clean sheet of paper. Design and Build Team and Technology from the ground up with DevOps in mind.
Designed for Continuous Delivery:• End to End Test Automation• Build and Deploy Automation• DevOps culture• Code Reviews• API focus / API Mocks• Behaviour Driven Development• Cloud Dev Tooling • Cloud Infrastructure• Software
API
Web
App
jmwpro
Cambridge Satchel
2014
28th NovemberBlack Friday
, “Can’t be done!” ;-)
arrive
Q: How do you develop, test & deploy software?• Tell me about DevOps and BDD?• How much of my budget is for automation?• Will I be left with legacy? Where’s the code?• Is my architecture decoupled?
Crazy!
jmwpro
Cambridge Satchel – dream team please!
2014
28th NovemberBlack Friday
20% Service Integrator Developers
20% Internal Engineers
20% API & Middleware Developers
20% BDD & Exploratory Testing
20% DevOps/AWS Skills
35K in 2013
jmwpro
Cambridge Satchel
2014
28th NovemberBlack Friday
launch
35K in 2013
87K in 2014On new platform
WE DID IT!
Cambridge Satchel nominated for Demandware Pacesetter Award
jmwpro
Some tips<thoughts on how to start/>
jmwpro
Which needs to be fast moving?
Which are tied to corporate release cycles
Which have automated tests?
Define & decouple your ‘Pace Layers’
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Fight the right battles with your legacy
Where you invest your $$ is critical. Invest in DevOps where it
matters.
You can always start somewhere
DevOps without legacy is easy.Front End UI
FinanceSystems
Payment
Order Mgt
CoreEcomm
DigitalAsset
Cust.Mgt
Apps
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Enterprise equilibrium tends to push your DevOps adoption
backwards
Watch out for corporate equilibrium
Make the wrong choice and the forces may be working against
your goal of faster delivery.
Wrong technology choice
Wrong hiring policy
Wrong contractual & financial frameworks
Wrong 3rd Party Suppliers
Wrong team objectives &
rewards
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Fight the right battles with your legacy
Where you invest your $$ is critical. Invest in DevOps where it
matters.
You can always start somewhere
DevOps without legacy is easy.Front End UI
FinanceSystems
Payment
Order Mgt
CoreEcomm
DigitalAsset
Cust.Mgt
Apps
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Reduce size and complexity of slow moving applications
Reduce your legacy and create new capability
Build New initiatives the right way
E.g. consider creating a Front End separation layer enabling parts to
be independently released
NEW
Legacy Zone
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
Put all interactions between applications through APIs
Understand the pace layers of your apps and governance needed
How good are the major vendor Ecommerce and Finance/ERP
systems?
Kill Dependencies. Focus on APIs
Front End UI
FinanceSystems
Payment
Order Mgt
CoreEcomm
DigitalAsset
Cust.Mgt
Apps
API
APIAPI
API
API
API
API
API
Centralise your API access (ie Mulesoft)
BDD is great for defining and testing APIs as well as Uis
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
When a new initiative comes along and a new team is built to deliver it set the bar high with DevOps operational requirements and ways of working.
Encompass:
• Behaviour Driven Development• Continuous Integration• Continuous Delivery• Full automation• Robust configuration management
Set the bar high for new initiatives / programmes
NEW
Legacy Zone
Don’t create new ‘legacy’
jmwpro
The team’s level of
agile/lean working practices
Level of Independently testable and deployable software
Low High
Low
High
Slow
Fast
ContinuousDelivery
Daily/WeeklyIndependent
MonthlyCoordinated
QuarterlyEnterprise
TEAM
TECHNOLOGY
API
Shadowy IT, API Economy and DevOps
Accelerating Revenue opportunities by providing robust and agile data services needed throughout the business.
Marketing, Retail and Wholesale teams able to self-serve data and own their own integration with relevant partners delivered with external teams.
Web
App
Finance My Team
Everyone else…
jmwpro
#jmwproMy blog, these slides and other musings available at:
Thanks for listening