All posts by Pedram Malek

Customers Don’t Pay Me to Write Tests: The Importance of Tests

As a technical agile coach and trainer, I help teams discover ways of testing. Some teams ignore tests altogether, while others write every possible test possible, wasting valuable time and not being able to deliver at a good pace.

My first question is always this: How much does the customer pay for tests?

Nothing.

That’s right! Not a dime. I don’t even ship my product to them with any tests. They aren’t even compiled into bytecode for them. They are not going to pick up my application and open a debugger to make sure I’ve written tests that pass. They don’t care how many tests I’ve written or my code coverage ratio. They don’t care about unit, integration and acceptance tests, or how much time I spent on mocking and stubbing to isolate my functions. They only pay for working software.

So why write them?

I don’t write tests for the user. I don’t write tests for management. I write tests for me. I write tests for my future self. I write tests for my team members and any other developer that will need to change my code.

I write tests to prove that what I have written is what I have intended. I write tests to make my code manageable, to help me refactor when, inevitably, a new feature or change request arrives. I write tests so that I can fearlessly alter a system and know what I will break, and to find and repair bugs quickly before they are pushed into production.

I write tests so that my team members can feel a sense of code ownership, so that they too can alter, improve and remove my code and be able to predict the outcome. I write tests so that it becomes a form of documentation of the capability of the system.

Certainly they take time to write, but they save all kinds of time when it comes to changing things later. They allow me to do the one thing that software needs to do in the rapidly evolving market: adapt. I can adapt quickly to the needs of my customers to deliver quality features rapidly.

I write as many tests to make myself and my team feel confident that we can continuously develop a quality product at a sustainable pace, responding to the changes of the market and the needs of our customers. I write enough tests that I am releasing nearly bug-free code and I write as many tests as needed to satisfy just that!

In my Agile Software Developer training events, I help developers learn ways of writing tests to improve the quality of their work, so that they are able to spend more time developing new features rather than debugging old ones.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail
Berteig
Upcoming Courses
View Full Course Schedule
Stop the BS Metrics! Performance Reviews in Agile Teams - Lunch Session
Online
C$0.00
Mar 2
2021
Details
Seven Design Thinking Tips for Product Owners - Lunch Session
Online
C$0.00
Mar 3
2021
Details
Advanced Certified Scrum Product Owner® (A-CSPO) [Virtual Learning]
Online
C$1695.00
Mar 9
2021
Details
Leave Us Alone! - Dealing with Urgent Interruptions in Agile Teams
Online - Instructor Led
C$149.00
Mar 9
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1195.00
Mar 10
2021
Details
Banking on Kanban - Kanban in the Financial Sector
Online - Instructor Led
C$149.00
Mar 10
2021
Details
Improve Estimation Effectiveness for Agile Work - Practicing Agile Estimation Techniques (ML-PAET)
Online
C$149.00
Mar 10
2021
Details
The Myth of Self-Organizing Teams - Lunch Session
Online
C$0.00
Mar 11
2021
Details
Dealing with Slackers, Idiots and Subversives in Agile Teams - Lunch Session
Online
C$0.00
Mar 16
2021
Details
Deadlines Are Dead To Me - Dealing with Deadlines in Agile Teams
Online - Instructor Led
C$149.00
Mar 18
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1595.00
Mar 22
2021
Details
Scrum Foundations - Build A Strong Foundation On Scrum
Online - Instructor Led
C$149.00
Mar 22
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1795.00
Mar 25
2021
Details
What the Heck is Kanban? - Introduction to the Kanban Method
Online - Instructor Led
C$149.00
Mar 25
2021
Details
Kanban System Design® (KSD) [Virtual Learning]
Online
C$1795.00
Mar 30
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1440.75
Mar 30
2021
Details
Leadership Writing Workshop [Virtual Learning]
Online
C$495.00
Mar 30
2021
Details
Kanban Your Projects - Kanban for Project Managers
Online - Instructor Led
C$149.00
Mar 31
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Apr 6
2021
Details
Banking on Kanban - Kanban in the Financial Sector
Online - Instructor Led
C$149.00
Apr 6
2021
Details
Four Strategic Tips on using Technology & Digital Media Effectively - Lunchtime
Online
C$0.00
Apr 6
2021
Details
How to Effectively Achieve Work/Life Balance in your Environment - Lunchtime
Online
C$0.00
Apr 7
2021
Details
Leadership Writing Workshop [Virtual Learning]
Online
C$495.00
Apr 7
2021
Details
Leadership for Managers
Online
C$149.00
Apr 7
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Apr 8
2021
Details
Should we just Ban Facebook (and other Social Media) in the Workplace? - Lunchtime
Online
C$0.00
Apr 8
2021
Details
Boost Efficiency and Flow on Your Scrum Team - Kanban for Scrum Masters
Online - Instructor Led
C$149.00
Apr 8
2021
Details
Critical Steps on how to be an Effective Colleague/Manager in the Digital Age - Lunchtime
Online
C$0.00
Apr 9
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Apr 13
2021
Details
Leadership Writing Workshop [Virtual Learning]
Online
C$495.00
Apr 13
2021
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Apr 21
2021
Details
Leadership Writing Workshop [Virtual Learning]
Online
C$495.00
Apr 21
2021
Details
Advanced Certified Scrum Product Owner® (A-CSPO) [Virtual Learning]
Online
C$1440.75
Apr 27
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1440.75
Apr 29
2021
Details
Certified ScrumMaster® (CSM) [Virtual Training]
Online
C$1355.75
May 3
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
May 6
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
May 12
2021
Details
Certified ScrumMaster® (CSM) [Virtual Training]
Online
C$1355.75
May 18
2021
Details
Kanban System Design® (KSD) [Virtual Learning]
Online
C$1525.75
May 18
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
May 25
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1440.75
May 27
2021
Details
Kanban Systems Improvement® (KSI) [Virtual Learning]
Online
C$1525.75
Jun 1
2021
Details
Certified ScrumMaster® (CSM) [Virtual Training]
Online
C$1595.00
Jun 1
2021
Details
Advanced Certified Scrum Product Owner® (A-CSPO) [Virtual Learning]
Online
C$1695.00
Jun 4
2021
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1195.00
Jun 8
2021
Details
Certified ScrumMaster® (CSM) [Virtual Training]
Online
C$1595.00
Jun 14
2021
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1795.00
Jun 17
2021
Details
Advanced Certified ScrumMaster® (A-CSM) [Virtual Learning]
Online
C$1695.00
Jun 22
2021
Details
Certified ScrumMaster® (CSM) [Virtual Training]
Online
C$1595.00
Jun 28
2021
Details
Kanban System Design® (KSD) [Virtual Learning]
Online
C$1795.00
Jul 6
2021
Details
Kanban System Design® (KSD) [Virtual Learning]
Online
C$1795.00
Aug 25
2021
Details
Kanban Systems Improvement® (KSI) [Virtual Learning]
Online
C$1795.00
Sep 15
2021
Details