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.
Cybersecurity Awareness Training Presentation v2024.03
Test Driven Development – how it benefits business and teams alike
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.
3. 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
4. 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:
https://www.agilefluency.org/model.php
https://martinfowler.com/articles/agileFluency/agile-fluency-model-v2-full-landscape-page.pdf
5. 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
6. 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
12. 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:
http://biblio.gdinwiddie.com/biblio/StudiesOfTestDrivenDevelopment
https://blog.takipi.com/5-ways-developers-waste-more-than-20-of-their-work-week/
And so why aren’t we doing it ...
13. Push Back
• Increased delay in ROI
• It won’t help!
Investment J Curve
Return$
Investment
Period
Payback
Period
Profit Period
Time
14.
15. 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