Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Test Driven Development – how it benefits business and teams alike


Published on

by Alan Taylor (Innodev)

Test Driven Development is an engineering concept with practices that has great benefit to business. For example, if your business wants to have idealised and revered products, you will have:
- an ability to deliver high quality products which keep up with the latest customer wishes;
- products which are constantly updated with the latest cool features; and
- ability to very quickly resolve any issues that do occur – and they do for even the best organisation

We will share with you why Test Driven Development is a pivotal tool in the fight to be one of those inspiring organisations. We will cover the practices at a high level and go into the outcomes of those practices. We will include not only how the business should benefit directly from them, but also how they provide indirect benefits for the team and the organisation. Every positive has some negatives, whether they are perceived or actual, long term or short term). We will touch on how they are like any form of exercise – they will be hard work at times, but afterwards the results will include fitter, stronger and faster teams able to delivery consistently better results.

As a manager or leader, you will be able to walk away with insight that will enable you to determine how TDD is worth following up in your domain.

As someone within the delivery team, you will leave with deeper understanding of how you, your team and your company can effectively benefit from Test Driven Development.

Published in: Business
  • Be the first to comment

  • Be the first to like this

Test Driven Development – how it benefits business and teams alike

  1. 1. Alan Taylor Scrum Master and Agile Coach START Red (Fail) Green (Pass) Refactor Team Improved Skills Clean Code Satisfaction Trust Risk Management Business Customers Reliable & Robust Efficiency Speed Quality
  2. 2. DARK SCRUM”… agile that's just the name, but none of the practices and values in place” - Martin Fowler Continuous attention to technical excellence and good design enhances agility. Agile Manifesto Principle #9
  3. 3. DELIVERING Other organizations require the minimal defects and high productivity that allows them to ship on cadence and receive the market boost that comes from consistently Delivering when the market demands. CHART YOUR AGILE PATHWAY Sources:
  4. 4. Plan and prepare carefully and thoughtfully before taking action3 . Consider Options & Way Forward … The Build Fridge 2. Test First – If I open the door, will it open IF there was a cupboard to the side Test first Fridge 4 . Testing the door – all is good CupboardFridge Yay! 1. Current Situation – No cupboard next to the fridge Blank SpaceFridge
  5. 5. Write a Test Write Code Run all Tests Refactor - Clean up code Test Succeeds Test Fails Test(s) Fails Check if the Test Fails All Tests Succeed Benefits Include: • Better quality code • Simpler code with better design • Automated test suite • Massive risk reduction • Frequent positive reinforcement • Ability to release enhancements quicker
  6. 6. IncreasingComplexity Decreasingnumberoftests Automated GUI Tests Automated API Tests Automated Integration Tests Automated Component Tests Automated Unit Tests Good Strategy Automated GUI Tests Integration Tests Unit Tests IncreasingComplexity&RunningCosts Increasingnumberoftests Bad Strategy
  7. 7. Pre-Release Defect Density 40% - 90% reduction Initial Development Time 15% - 35% increase Cost of Change
  8. 8. Code Quality Development of Everything Usability ROI Single Point of Failure
  9. 9. Image: Craig Brown Customers Want: Differentiating Features Innovation Stable Products
  10. 10. Costs • 15 – 35 % increased initial dev time Benefits • 40% – 90% reduction in pre-production defects • 10% – 20% reduced SIT/UAT • Reduction of production defect debugging (from 10% – 30%) • Decreases code complexity by about 30% • Accelerated delivery of innovation • Avoid ever growing integration test cycle • Avoid cost of retrospective addition of tests • Trust between customers, business & dev team Data Sources: And so why aren’t we doing it ...
  11. 11. Push Back • Increased delay in ROI • It won’t help! Investment J Curve Return$ Investment Period Payback Period Profit Period Time
  12. 12. Focus Fast feedback & positive reinforcement Ability to experiment To learn To set expectations based on the learnings Freedom to refactor without fear Reduced Silos Satisfaction in knowing safe outcomes
  13. 13.
  14. 14. ©[cartoonresource]/Adobe Stock
  15. 15. ©[cartoonresource]/Adobe Stock
  16. 16. ©[cartoonresource]/Adobe Stock Tests Passed Failed In Progress Queued
  17. 17. Getting used to stopping and thinking Differentspeeds Old Habits Pull Us Back
  18. 18. Organisation Benefits • Flexibility & Adaptability • Customer Satisfaction • Capitalise on Emergent Conditions • Risk Reduction • Code Quality • Removal of Redundant Code • Efficiency • Code Easier to Maintain • Remove Bottleneck in Value Chain (QA) Team Benefits • Skills Increase • Satisfaction • Team Engagement • Teamwork (Especially QA & Dev) • Safety & Comfort • Easier to Learn Code New to You Organisation Culture Benefits • Increased Trust • Lower Staff Turnover • People Queuing to Join