4. Experiment often
Be prepared to change quickly
Visibility into progress and performance
Rely on evidence not guesses
Balance predictability and opportunities
Factors
6. Continuous Delivery
Focus on achieving pragmatic software
quality
Evolutionary architecture
Properly organized IT
Techniques
7. Early and often technical testing
Consider the time, scope, quality tradeoff
Focus on evolvability of the software
Trends often more valuable than values
Measure quality continuously
Internal Software
Quality
9. Re-factor first for understanding, then for
ease of change or re-use
Identify the hot-spots
Establish test coverage outside to inside
So is the Strangler Pattern
Abstraction is your friend
Remediating Code
Quality Issues
10. Using event capture and routing
Used to add functionality around the
edges of an old application
Using asset capture with bi-directional
migration
Not used often enough
Very useful for addressing old complex
code bases
Strangler Pattern
12. Minimizes technical debt from complexity
Delay decisions as long as you can
Maximizes the information you have
Decide early what your drivers are, and
prioritize decisions accordingly
Last Responsible
Moment
14. Continuous integration
Automate (almost) everything
Standardize environments as much as
possible
End goal - deployments are boring
Automated testing
Continuous
Delivery
18. Consider the impact of Conway’s Law
Consider your differentiators (internal and
external)
Separate commodity computing
Right-sized out sourcing
Manage at the portfolio level
What To Do?
20. Lowering risk of experimentation
Architecting for real adaptability
Keeping systems poised for change
Aligning the organization
Maximizing visibility and feedback
Achieved by