How can agile help you in clearing the technical debt
-
Upload
manu-pk -
Category
Technology
-
view
3.314 -
download
3
description
Transcript of How can agile help you in clearing the technical debt
How can Agile help you in clearing the
Technical Debt?
Manu PK
@manupk12
http://www.jyops.blogspot.in/
Scrum Bangalore Meetup Sept 14,2013
About Me
� Associate Lead in Technology @ Schneider Electric
� Author @ DZone and Blogger @
http://www.jyops.blogspot.com/http://www.jyops.blogspot.com/
� Interested in knowing How great web applications
were built.
Agenda
� Defining Technical Debt
� Clearing Technical Debt in Agile Projects
� Upfront Vs Evolving Design
� Summary
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 Reports
� Tools to help ☺� Sonar� 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!
Summary
� 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 ☺
Questions / Comments /
Feedback
@manupk12| [email protected]
Slides @
http://www.slideshare.net/pkmanu
References
� Martin Fowler Talk
� Martin Fowler on Technical Debt
� Agile Architecture Emerges -- or Does It
� Using Spikes
� Steve McConnell’s talk
� http://www.ontechnicaldebt.com
Ward Explains Debt Metaphor� Ward Explains Debt Metaphor
Thank You Thank You
for Listening