How can agile help you in clearing the technical debtPresentation Transcript
How can Agile help you in clearing the
Scrum Bangalore Meetup Sept 14,2013
Associate Lead in Technology @ Schneider Electric
Author @ DZone and Blogger @
Interested in knowing How great web applications
Defining Technical Debt
Clearing Technical Debt in Agile Projects
Upfront Vs Evolving Design
Defining Technical Debt
Technical Debt Metaphor - A term coined by Ward
Cunningham (1992) http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
Technical debt metaphor referring to the eventual
consequences of poor software development
practices within a codebase - Wiki.practices within a codebase - Wiki.
Technical debt and Cost of Change
I got your point!!.
Defining Technical Debt - 2
Technical Debt in Agile Context
From the Agile Principles http://agilemanifesto.org/principles.html
”Continuous attention to technical excellence and
good design enhances agility”
Working software over …Working software over …
Do Agile, but beware of being Fragile
Your Must Do Defense
Continuous Integration – Code Quality and Test
Tools to help ☺
Static Analysis Tools
Good Programming practices and guidelines
Negotiating with Product Owner
Case Study:– Quote Reports
Use the opportunity of Change requests to clean up
the functionality.the functionality.
Technical Stories in Release planning.
Developers - As Software Professionals its our
responsibility to push for clean code.
Trying out new Stuff
Spike – A time boxed experiment of the Unknown
A daemon thread!
Strategies for Major technical revamps
Case Study :- Upgrading Tapestry, Spring and Hibernate
to latest versions
The dilemma : Ship it Fast Vs Ship it Clean!
Ok, Get it working first
Now, get back and fix it.
How much to Design? – Upfront Vs Evolving Design
More design => clear requirements.More design => clear requirements.
You know the correct design when you are done!
Re-Design is the only viable alternative!
Detect the evil within!
Use the agile practices to Pay of your debt
Use the tools for first defense.
Negotiate and get the PO on board.Negotiate and get the PO on board.
Use Spikes when you try new stuff.
Choose your design style
Make your code base cleaner than Inherited ☺
Martin Fowler Talk
Martin Fowler on Technical Debt
Agile Architecture Emerges -- or Does It
Steve McConnell’s talk
Ward Explains Debt MetaphorWard Explains Debt Metaphor