You wish your software is able to survive its environment changes and its users requests for change? Four pillars are needed for long lasting software: a good organization, a good development team, good tools and good practices (clean code and clean architecture). This talk is a synthesis of my own experience with a focus on the key points and ideas to be successful in the long term.
5. Keys for Long Lasting Software
- Knowing software evolution “laws”
- Applying the four pillars
Source: https://allomarcel.com/blog/artisanat/la-cle-de-la-securite.html
6. Lehman's “laws”
●
Changes are needed
– Improvements and added features
– Technical environment
●
Complexity increases (technical debt)
– Quality decreases
– Cost of change increases
7. Software is under pressure!
source: http://www.symbols-n-emoticons.com/2013/09/emoticon-under-pressure.html
Exogenous factors
- User requirements
- Technology changes
Endogenous factors
- Design/coding practices
- Schedule
8. Result is technical debt
source: http://blog.castsoftware.com/
the-financial-implications-of-technical-debt/
Technical Debt
is the cost
of missing
quality
9. How to keep your
software healthy?
source: http://fitlife.tv/5-minutes-and-5-dollars-to-a-happier-healthier-you_original/
10. Healthy software: how?
Genetic: software DNA
Things to do
→ Continuous improvement
Things not to do
→ Software killer practices