Más contenido relacionado
Similar a Managing Technical Debt by John Ryan 2011.6.22 (20)
Managing Technical Debt by John Ryan 2011.6.22
- 2. Overview
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
• ____level
Who cares?
Third _____
• _____level
What _____
Fourth is “Technical Debt”?
• ____ _____incur Technical Debt?
Fifth levelwe
How do
• Why do we take on Technical Debt?
• What can we do?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
2
- 3. Current Reality 1
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
Are you experiencing
Technical Debt?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
3
- 4. Why Do We Care? (1 of 4)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
4
- 5. Why Do We Care? (2 of 4)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
5
- 6. Why Do We Care? (3 of 4)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
6
- 7. Why Do We Care? (4 of 4)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
7
- 8. What’s Really Going On Here?
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
Progress = ! (Change - Quality Control) "
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
! (Diagnose + Fix)
# Defects
Change ! Complexity
Risk of Defect =
Quality Control
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
8
- 9. Current Reality, Part 2
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
What is Technical Debt?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
9
- 10. What is Technical Debt? (1 of 2)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth levelDebt is…
Technical
____ _____
Fifth level
borrowing against our capacity to
quickly respond tomorrow
for the ability to make progress today.
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
10
- 11. What is Technical Debt? (2 of 2)
The Debtedit Master text styles
____ __ itself:
Click to ____ _____ ____ ______
• _____unit test coverage (low quality control)
Poor _____
Second level
• ____level
Third _____ software (comprehension complexity)*
Poorly written
_____ _____
Fourth level
• Software design that does not match the problem being solved
____ _____
Fifth level from dissonance)
(complexity
• Repeated tasks remain manual (high risk of mistakes/defect)
Interest Payments:
• Takes longer / more effort / is more error-prone to develop new
features. (slower progress)
• Time wasted doing automatable tasks manually. (pure waste)
• Takes longer for new team members to ramp-up. (due to complexity)
• Decreasing quality delivery à Lowered morale à low gumption
* WARNING: Code Quality metrics are diagnostic aides, NOT deterministic measures. Do not manage to them.
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
11
- 12. Current Reality, Part 3
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
How did we get here?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
12
- 13. How Does It Happen? (1 of 3)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
Original Quadrant: http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
13
- 14. How Does It Happen? (2 of 3)
We Don’tedit Master text styles
____ __ Know
Click to ____ _____ ____ ______
Second level know how to rigorously define our business process
• We don’t
_____ _____
• We don’t know responsible programming practices
____ _____
Third level
Irresponsibly
_____ _____
Fourth level
Fifth level away time on lower priority tasks
____We fritter
•
_____
• We neglect design, coding and automation discipline
Unavoidably (Intrinsic)
• We ALL learn as we go:
• … about our business process
• … how well our software solution meets our business needs.
Deliberately (Strategic)
• You fully understand both approaches and you trade a technical –bility for a
business –bility.
• We take the “quick & dirty” approach to meet a real deadline.
• And fork an effort to come-up with a cleaner solution.
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
14
- 15. John’s Totally Unscientific Graph
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
15
- 16. How far do you want to go?
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
16
- 17. Future Reality
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
What can we do?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
17
- 18. What Can We Do? (1 of 3)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level John J. Doe
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
18
- 19. What Can We Do? (2 of 3)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
The Three-Fold Path to Satisfaction
____ _____
Third level
_____ _____
Fourth level
1. Fix what you can control.
____ _____
Fifth level
2. Address what you can influence.
3. Escalate what you need help with.
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
19
- 20. What Can We Do? (3 of 3)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
The Six_____ Transformational Patterns to Cure Human Causes
____ Golden*
Third level
_____ _____
Fourth level
1. Collapse the Org
____ _____
Fifth level
2. Quality First
3. Active Product Ownership
4. Hire for Cross-Functional Teams
5. Encourage Communication
6. Avoid Arbitrary Mandates
* Jonathon Golden (see references at end of deck)
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
20
- 21. As a Developer… (1 of 2)
Give Test-Driven _____ ____ ______ serious college try.
Click to edit Master text styles
____ __ ____ Development (TDD) a
Start with_____ Shore’s “Let’s Play TDD”:
_____ James
Second level
____ Install
1. _____
Third level Eclipse:
_____level_____
Fourth http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr2
2. Start the first video:
____ http://www.youtube.com/watch?v=f3G7gu1IHws
_____
Fifth level
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
21
- 22. As a Developer… (2 of 2)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
Pick-up a Chop-Sharpening Book:
1. ____level Programmer
Third _____
Pragmatic
_____ _____
Fourth level
2. ____ _____
Refactoring
Fifth level
3. Head First Design Patterns
4. Managing Software Debt
Here’s the most up-to-date list:
http://tinyurl.com/422aco8
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
22
- 23. Mapping Technical Debt
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
Chris Sterling’s Technical Debt Mapping:
____ _____
Third level
1. Draw_____
_____ major
Fourth level application components on a whiteboard.
____ _____
Fifth level
2. Write down Technical Debt on stickies and put them on the board.
3. Identify the potential value and cost to the team, if addressed.
4. Prioritize by balancing value, cost and immediacy.
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
23
- 24. Coda (1 of 2)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
What Stuck?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
24
- 25. Coda (2 of 2)
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
____ _____
Third level
_____ _____
Fourth level
____ _____
Fifth level
What One Thing Will
You Do Next?
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
25
- 26. References
Click to edit Master text styles
____ __ ____ _____ ____ ______
_____ _____
Second level
• ____level Golden’s Cutter IT Journal Article:
Jonathon
Third _____
_____ _____ Patterns for Curing the Human Causes of Technical
“Transformation
Fourth level
Debt”
____ _____
Fifth level
http://www.cutter.com/content/itjournal/fulltext/2010/10/itj1010f.html
• Martin Fowler on the Technical Debt Quadrant
http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
• Ward Cunningham explains the origin of ”Technical Debt”
http://www.youtube.com/watch?v=pqeJFYwnkjE
• Chris Sterling’s “An Exercise to Identify and Prioritize Software Debt”
http://www.gettingagile.com/2010/08/13/an-exercise-to-identify-and-
priofitize-software-debt/
• Sonar – Excellent Code Quality Diagnostic* Tool
http://www.sonarsource.org/
* “Diagnostic” meaning a way to sniff potential problems; don’t let metrics drive your thinking, just inform it.
© 2011 BigVisible Solutions, Inc.. All Rights Reserved
26