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
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1595.00
Apr 7
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1195.00
Apr 14
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1995.00
Apr 14
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1350.00
Apr 16
2020
Details
Advanced Certified ScrumMaster® (A-CSM)
Online
C$1599.00
Apr 17
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1525.00
Apr 20
2020
Details
BERTEIG Real Agility Series: The Cloud - Supercharge Your Agillty
Online
C$0.00
Apr 20
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1595.00
Apr 21
2020
Details
AWS® Certified Solutions Architect – Associate Level [Virtual Learning]
Toronto
C$2195.00
Apr 22
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1795.00
Apr 23
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
May 16
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1355.75
May 19
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1525.75
May 21
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1147.50
May 21
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
May 26
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
May 26
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Jun 1
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1355.75
Jun 2
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jun 6
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Jun 9
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC) [Virtual Learning]
Online
C$2020.00
Jun 15
2020
Details
Virtual Agile Coaching at [YOUR COMPANY NAME HERE]
ONLINE
C$2500.00
Jun 16
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Jun 16
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1147.50
Jun 18
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jun 20
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1355.75
Jun 23
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1525.75
Jun 25
2020
Details
Advanced Certified Scrum Product Owner® (A-CSPO)
Online
C$1359.15
Jul 3
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jul 4
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Jul 7
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jul 11
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Jul 14
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1355.75
Jul 21
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Jul 21
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1525.75
Jul 23
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1147.50
Jul 23
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jul 25
2020
Details
Kanban Management Professional® (KMP II) [Virtual Learning]
Online
C$1525.75
Jul 28
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Jul 28
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Aug 18
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Aug 25
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Aug 29
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Sep 2
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Sep 12
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Sep 26
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Sep 29
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Oct 3
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Oct 13
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Nov 2
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Nov 14
2020
Details