Michael Hall Three Beacons 214.783.3936 Managing Technical Debt Using Agile.

Slides:



Advertisements
Similar presentations
ATMAN HB summary seminar # Challenges 2 ATMAN project 9/17/2010.
Advertisements

Iteration Planning.
©2011 Improving Enterprises, Inc. Breaking down the Epic User Story.
Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
Agile 101.
1 Agile Estimation V. Lee Henson CST. 2 Founded in Salt Lake City, UT Personally Trained, Coached, and or Mentored at 41 of the Fortune 100 Companies.
NAUG NAUG Knowledge Evening – th February 2007.
DESIGNING FOR MOBILE NIKHIL J DESHPANDE. Nikhil Deshpande Digital Strategy Director, GeorgiaGov
Confidential Lessons Learned in Agile Development Jim Smith PDX, Inc.
Agile development By Sam Chamberlain. First a bit of history..
Presentation copyright © AccuRev, Inc. May be used with permission only. Contact for permission. Scrum &
Agile Leadership: Want to Change Your Results? Change How You Lead
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CPSC 875 John D. McGregor C20 – Technical Debt. Value-based SE SCS – success-critical stakeholder.
Agile Metrics, Value, and Software
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
Managing a Project Using an Agile Approach and the PMBOK® Guide
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Is Agile Any Better? Damon Poole 2009 Scrum and Kanban Like Chocolate and Peanut Butter Damon Poole – CTO, AccuRev.
Chapter 9 – Software Evolution and Maintenance
Lean Startup and the Enterprise Applying Lessons from Entrepreneurs to Large Organizations Brian Bozzuto.
Michael Hall Three Beacons Performance Evaluation for Agile Team Members.
©2012 Improving Enterprises, Inc. Architecture in an Agile World Don linkedin.com/in/donmcgreal.
Elephants in the Agile Room. Reflections on 10 Years of Agility Todd Little Sr. Development Manager Landmark Graphics.
Responsive Web Design Nikhil J Deshpande Webinar – May 14, 2014 Sponsored by.
Analysis in Agile: It’s More Than Just User Stories Kent Webinar Series 2015.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Data Virtualization & Information As A Service (IaaS) By Anil Allewar Senior Solutions Architect - Synerzip 1.
Todd Little Sr. Development Manager Landmark Graphics Context Driven Agile Leadership One Size Doesn’t Fit All.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Slicing Pie EUREKA!. Win a signed copy: SlicingPie.com/synerzip
Valtivity Panning for User Story Gold.
Lifecycle of a User Story Webinar Series © Three Beacons LLC, 2015 Lifecycle of a User Story Mike Hall Three Beacons
Sri Lanka Institute of Information Technology Software Engineering Project – I Clone of Rally GROUP NO : WD-SEP-002 | PROJECT NO :25 PROJECT : CLONE OF.
4/23/ :45 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
©2011 Improving Enterprises, Inc. Epics and Agile Planning.
Webinar Series 2015 ©Pollyanna Pixton Team Ownership: How do we help it happen? Presented by Pollyanna Pixton.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
Webinar Series Sins of Scrum and other Agile Anti-Patterns Todd Little VP Product Development September Webinar.
Using Agile Approach with Fixed Budget Projects April 15, 2009.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
© 2015 Webinar Series 2015 what is the role of an architect in an agile organization? 1 The Agile Architect / November 2015.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
1 Copyright © 2015, Drilling Info, Inc. All right reserved. All brand names and trademarks are the properties of their respective companies. Webinar Series.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Technical Debt and What to do about it. Kane Mar Certified Scrum Trainer and Coach (CST and CSC) Kane Mar Certified.
SOFTWARE PROCESS IMPROVEMENT SHARATH CHANDAR REDDY ALETI CSC 532 TERM PAPER.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
T Iteration Demo Tikkaajat [PP] Iteration
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
 Son Nguyen, YM & Skype: ng_thanhson.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile Project Management
Continuous Delivery- Complete Guide
Scrum and TargetProcess
Agile Scrum Management
Advantages OF BDD Testing
What do you need to know about XP?
collaborating with non- collaborators
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
One Size Doesn’t Fit All
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Presentation transcript:

Michael Hall Three Beacons Managing Technical Debt Using Agile

Premise 2 © Three Beacons LLC, 2011 “All known compound objects decay and become more complex with the passage of time. Software is no exception.”

What is Technical Debt? 3 © Three Beacons LLC, 2011 “Technical Debt” term coined by Ward Cunningham in 1992 Also called “design debt” Choosing a design or construction approach that is expedient But increases complexity and is costlier in the long term

The Debt Metaphor 4 © Three Beacons LLC, 2011 Use a credit card to obtain something now Pay for it later - financial debt Plus interest (short term) (future payment due) (the cost of being able to do this)

Technical Debt 5 The consequences of: ­ slapdash architecture ­ poor design ­ hasty coding (versus rapid) ­ lack of quality focus ­ others? The danger occurs when the debt is not repaid quickly. Every minute spent on not-quite-right code results in interest on that debt.interest © Three Beacons LLC,

Technical Debt 6 T or F: all technical debt is bad and should be avoided at all costs. © Three Beacons LLC,

Types of Technical Debt 7 © Three Beacons LLC, 2011 An outline to use when discussing technical debt 1.Unintentional 2.Intentional A.Short-term B.Long-term

Types of Technical Debt 8 © Three Beacons LLC,

Technical debt quadrant 9 © Three Beacons LLC, 2011 INTENTIONAL UNINTENTIONAL RECKLESS PRUDENT “We don’t have time to mess with coding standards.” “There is a standard way of doing this?” “We will ship on time and revise the quick fix as our top priority in the next release.” “We now know what to avoid.” *

Technical debt quadrant 10 © Three Beacons LLC, 2011 * Short-term: Only if the commitment is there to schedule, prioritize, and fix soon (e.g. in the next sprint). Long-term: Only if the commitment is there to sponsor projects to resolve the debt. If you must take on technical debt for valid reasons, then “respect the asterisk”.

Cost of Technical Debt © Three Beacons LLC,

Technical Debt - impact 12 “The all too common problem is that development organizations let their debt get out of control and spend most of their future development effort paying crippling interest payments.” - Jeff Atwood, Programming and Human Factorswww.codinghorror.com © Three Beacons LLC, 2011 CASE STUDY

Person Team Business Technical Debt – impacts 13 © Three Beacons LLC, CASE STUDY

Techniques for PREVENTING Technical Debt © Three Beacons LLC,

1. Draw the Line 15 © Three Beacons LLC, 2011 Culture shift: From this day forward … We no longer allow technical debt! Only exception: tactical or strategic business justification Even then, we “respect the asterisk” *

2. Strong “Definition of Done” Things to consider: ­Coding standards adherence ­Code reviews ­Static analysis ­Dynamic purification ­Complexity analysis ­Written unit tests ­0 known bugs ­100% test cases pass ­Test cases automated ­Etc. Visible for ­User Story ­Sprint ­Release © Three Beacons LLC,

3. Test-Driven Development TDD: write test, fail the test, then write code to pass the test. Refactor when needed. Develop higher quality streamlined code! © Three Beacons LLC,

4. Collaborative Designs Whiteboard sessions on design topics Leverage collective experience of the team Wisdom of the crowd User Design Studio Less reliance on subject-matter experts Etc. Increase the chance of an optimal design! © Three Beacons LLC,

Recap Draw the line! Strong definition of done TDD Collaborative designs © Three Beacons LLC, Use these agile techniques to help prevent technical debt

Techniques for Managing NEW Technical Debt © Three Beacons LLC,

1. Debt Backlog 21 © Three Beacons LLC, 2011 Used when technical debt is business justified Tracks debt by name Lists work tasks associated with each debt Includes an estimate Tracks the commitment to fix schedule Form: product backlog entries, separate Excel spreadsheet, special designation in defect DB, tool entry, sticky notes, etc. Helps to keep the debt service level visible! Track the debt as you go!

Debt Backlog - example 22 © Three Beacons LLC,

2. Automatic Payment Plan 23 © Three Beacons LLC, 2011 Pay as you go Slow team’s velocity down to service the debt as it is incurred Include technical debt items in upcoming sprints As quickly as feasible In line with fulfilling commitment made when debt was justified Service the debt as you go! Keep it as close to $0 as possible.

3. Makeup Stories 24 “Makeup”: a story that apologizes to the code base ­And promises to fix it! Placeholder indicating non-user story work ­For when you incur technical debt ­For any reason you circumvented quality ­Use a different color card (red or pink is good) Add it to the product backlog Prioritize into next sprint (if possible) Good way to track technical debt. © Three Beacons LLC,

Makeup Stories - example 25 © Three Beacons LLC,

4. Adopt a Debt! 26 User Story Makeup Story © Three Beacons LLC, 2011 Good way to insure that makeup stories get worked. “Adopt” approach If a user story leverages the debt area, “adopt” the debt card as part of the user story effort Add the makeup story estimate into the user story

5. Dedicated Sprint to Service Debt 27 © Three Beacons LLC, 2011 Similar to a “bugfix sprint” Do this only if really needed ­Preponderance of business debt occurring during project ­Team concerned about debt growth ­ Upcoming features rely on code that has debt Or, combine for a bugfix/debt sprint Periodically pay down your debt throughout the project!

Recap Debt backlog Service the debt commitment Makeup stories Adoption Dedicated debt sprint © Three Beacons LLC, Use these agile techniques to manage new technical debt

Techniques for Managing LEGACY Technical Debt © Three Beacons LLC,

1. Re-Do Project 30 © Three Beacons LLC, 2011 Business decides on a total re-design and re-write Happens rarely, hard to justify Hard for execs to see the value Often timed with new technology introduction How to insure that the new system is really better? ­ Rigorous quality plan ­ Strong Definition of Done ­ Iterative development ­ Feedback loops ­ Inspect & adapt ­ Watchful eyes Not an answer: “better people”

2. “Small Chunks” Approach Smaller chunks of effort In conjunction with normal dev flow Can work well across an API abstraction Often requires an architectural assessment Can require code changes to other parts of legacy base (risky) Happens more often than Re-Do projects Must insure end result is worth the effort! © Three Beacons LLC,

3. 70/30 Rule 32 70% - new user stories 30% - paying down the debt of a legacy system Rule can also be used to manage new technical debt Helps to have a PO with history of the legacy system Socialize that legacy improvements are part of this project! ­Ask for commitment ­Ask to be held accountable ­Do your part ­Ask others to continue the tradition © Three Beacons LLC,

4. “While There” Rule While adding a new feature Any legacy function modified for the feature must be rewritten according to quality plan ­Variable names ­Coding guidelines ­Braces alignment ­Etc. Works well for support team also (while fixing bugs) CAUTION: may introduce bugs Final thought on case study: We improved almost 50% of the 4M LOC Significant drop in critical defects reported from customers But, we introduced at least 10 new bugs on existing functionality Each time – required additional justification to continue the effort © Three Beacons LLC,

Recap Re-Do project Small chunks approach 70/30 rule “While there” rule © Three Beacons LLC, Use these agile techniques to manage legacy technical debt

Conclusion © Three Beacons LLC,

36 © Three Beacons LLC, 2011 “Developers know their code has technical debt, but they feel powerless to stop adding to it.” – David Rooney, “Technical Debt: Challenging the Metaphor” A Sobering Thought There is hope – using Agile.

37 © Three Beacons LLC, 2011 “Take my advice: go well, not fast. Care about your code. Take the time to do things right. In software, slow and steady wins the race; and speed kills. – Robert C. Martin (Uncle Bob), president of Object Mentor and agile methods author Managing Technical Debt - conclusion

Good References 38 © Three Beacons LLC,

Questions? Hemant Elhence, Agile Software Product Development Partner 39 Short/Long term Agile coaching Facilitated improvement Agile Methods training: Scrum Team Training Agile / Scrum User Stories – Requirements w/ Agility Product Owner Role ScrumMaster Role Etc. All courses can be delivered onsite at your location Michael Hall, © Three Beacons LLC, 2011

Confidential Synerzip in a Nut-shell 1. Software product development partner for small/mid- sized technology companies Exclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phase By definition, all Synerzip work is the IP of its respective clients Deep experience in full SDLC – design, dev, QA/testing, deployment 2. Dedicated team of high caliber software professionals for each client Seamlessly extends client’s local team, offering full transparency Stable teams with very low turn-over NOT just “staff augmentation”, but provide full mgmt support 3. Actually reduces risk of development/delivery Experienced team - uses appropriate level of engineering discipline Practices Agile development – responsive, yet disciplined 4. Reduces cost – dual-shore team, 50% cost advantage 5. Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option © Three Beacons LLC, 2011

Confidential Synerzip Clients © Three Beacons LLC, 2011

Thank You! Michael Hall Hemant Elhence Agile Software Product Development Partner Call Us for a Free Consultation! 42 © Three Beacons LLC, 2011