Augury Journey Towards CD
AgileSparks
May 2019
Augury Confidential
COLLECT
Smart sensors monitor
your machines 24/7
ANALYZE
Algorithms predict
malfunctions and provide
alerts
VISUALIZE
Full visibility of machine
health across your facilityPREDICT
MACHINE
FAILURES
Augury Confidential
65,000+ Machines
5,000+ Facilities
R&D Structure
Tech Stack
Augury Confidential
2 Years Ago...
SunSun
Squad B
Sun
Squad CSquad A Squad D
Wed Wed Wed
Squad A
Squad B
Squad D
Unite QA
Effort
Manual Regression Manual Regression
Release Trains
Release Version XXX
Release Version XXX + 1
Ice Cream Cone Anti-Pattern
Development
Release
Local Env
Squad Env
CI
Staging
1
2
3
4
5
6
Production
Release Process
Development Process
Quality
Deployment
Design
Too Many Handoffs During Development
Augury Confidential
Developer In The Center
What to
build??
How to
build??
Is it
working??
Is it deployed
yet??
How is it in
production?
Take active part in
shaping impactful
product
Design & Write
clean, simple and
testable code.
Own code quality
Deliver to Production
Monitor and track
deliverables behaviour and
usage
Developer Growth
==
Shorter High Quality Delivery Cycles
Fast and Safe Development.
Developer Growth.
Data Driven.
Fast Feedback Loop In Every Step.
Augury Confidential
Phase 1 - Built-In Quality
Development
Release
Developers Own Quality.
QA = Quality Assistance != Quality Assurance
Better Design Process
Code Reviews As Part of CI
Augury Confidential
Phase 2 - Break It, Ship It
Break It Ship It
Closer to Production
Break It down into smaller pieces
In order to eliminate release idea, reduce delivery risk and achieve a faster feedback loop, we
should breakdown feature into small decoupled, testable and shippable units.
Once a unit is implemented and tested it should be deploy to production by the developer.
Each delivered unit can have immediate or “eventual” impact
Closer to production
Once the developer ships code frequently into production, monitoring code’s behaviour in
production becomes a habit which is streamlined into the development life-cycle.
Receiving fast feedback from the production environment is extremely powerful practice.
Closer to Production
Separate deployment from release
By using tools such as feature flags we can avoid code aggregation in branches which is bad
practice.
The ability to integrate our code into production with limited activation is powerful tool and
enabler for actual testing in production.
Augury Confidential
Delivery Metrics
Augury Confidential
Key Learnings
● Developers can do QA to their own code.
● Sharing half-baked things is not easy for most of developers
● Wonderful things happens when developers are minutes from production
● Developers feels more impactful and skilled since we moved to CD
Augury Confidential
Nowadays..
Continuous Delivery
Augury Confidential
THE END
Questions?

Augury's Journey Towards CD by Assaf Mizrachi