1 / 18

Understanding Test-Driven Development Impact

Explore the significance of Test-Driven Development, its effect on design debt, development cost, team productivity, and defect rate. Learn how to address design debt and influence teams effectively as a manager.

Download Presentation

Understanding Test-Driven Development Impact

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What is test-driven development? and why do I care? a primer for managers Dave Nicolette http://www.davenicolette.net/agile http://www.valtech.com Karl Scotland http://availagility.wordpress.com http://www.conchango.com

  2. What is test-driven development and why do I care? First, a taste Excel workshop

  3. What is test-driven development and why do I care? What’s design? Is it a document that describes the design - or - Is it the living expression of design in the code?

  4. What is test-driven development and why do I care? To change people, do you change this…

  5. What is test-driven development and why do I care? …or this?

  6. What is test-driven development and why do I care? To change software do you change this… Design Document

  7. What is test-driven development and why do I care? …or this? if (confirm("Are you old enough to read about beer\n" + "according to your local community standards?")) { for (i = 99 ; i > 0 ; i--) { j = i - 1; if (i != 1) { icase = "bottles"; } else { icase = "bottle"; } if (j != 1) { jcase = "bottles"; } else { jcase = "bottle"; } document.writeln(i + " " + icase + " of beer on the wall,"); document.writeln(i + " " + icase + " of beer,"); document.writeln("Take 1 down, pass it around,"); if (j != 0) { document.writeln(j + " " + jcase + " of beer on the wall."); } else { document.writeln("No more bottles of beer on the wall!"); } document.writeln(); } } else { document.write("You might want think about moving to another community.") }

  8. What is test-driven development and why do I care? Cost of change: C Cost of change: C + n Cost of change: C x n ? ? n n n Cost of change: C Cost of change: C What’s design debt?

  9. What is test-driven development and why do I care? Tests for new features 2 3 4 5 Tests for new features Starting code base Cost of change: C Changes implemented Cost of change: C + n Code cleaned up Cost of change: C Installment payments for design debt 1

  10. What is test-driven development and why do I care? n n n C C Effect of design debt on development cost during a project more cost per feature C x n C + n acceptable C design debt less more

  11. What is test-driven development and why do I care? Effect of design debt on team productivity during a project more features per iteration (velocity) design debt less more

  12. What is test-driven development and why do I care? Effect of design debt on the defect rate during a project more defects per feature design debt less more

  13. What is test-driven development and why do I care? testing & new code defects & extra time for analysis and coding Effect of design debt on time available for testing during a project how development time is spent design debt less more

  14. What is test-driven development and why do I care? $$ loss $$ (untenable) support cost effective death of product enhancement cost Effect of design debt over the life of a product more planned productive lifetime of product less design debt more

  15. What is test-driven development and why do I care? Why people continue to incur design debt I feel better now Ouch! I know it’s bad for me, but… I feel much worse later

  16. What is test-driven development and why do I care? What can I do about it? As a manager, I… …barely understand this myself …can’t tell technical professionals how to do their jobs …don’t have an answer for their technical rationalizations …need to give them “space” to work effectively

  17. What is test-driven development and why do I care? How can I influence things at this level without damaging morale? As a manager, I can… …attend daily stand-up meetings and ask questions …visit the work area and observe the process …ask team members about TDD and how they use it …track the defect curve closely and raise issues

  18. What is test-driven development and why do I care? $ $ $ $ $ Design debt and test-driven development Design debt compounds interest just like financial debt It’s easier to pay off interest in small installments than to let it accumulate TDD pays design debt as it is incurred, like paying off a credit card account in full every month You care because it’s your money You can influence the team indirectly

More Related