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
Advanced Certified ScrumMaster® (A-CSM) [Guided Mentorship]
Online
C$1599.00
Jul 10
2020
Details
Real Agility Series Workshop: How Agility Helps Overcome Bias in the Workplace
Online
C$45.00
Jul 14
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1595.00
Jul 21
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1795.00
Jul 21
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1350.00
Jul 23
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1795.00
Jul 23
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$2199.00
Jul 24
2020
Details
Team Kanban Practitioner® (TKP)
Online
C$1195.00
Jul 25
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1525.00
Jul 28
2020
Details
Kanban Systems Improvement® (KMP II) [Virtual Learning]
Online
C$1795.00
Jul 28
2020
Details
Real Agility Series Workshop: Cognitive Biases That Can Undermine Your Agile Transformation
Online
C$45.00
Jul 28
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1595.00
Jul 29
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Aug 10
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Aug 11
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Aug 18
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Aug 18
2020
Details
**NEW** Kanban Maturity Model (KMM) {Virtual Learning]
Online
C$2120.75
Aug 24
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Aug 25
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Aug 25
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1355.75
Aug 27
2020
Details
**NEW** Kanban Coaching Practices (KCP) [Virtual Learning]
Online
C$1695.75
Aug 27
2020
Details
**NEW** Advanced Certified Scrum Product Owner® (A-CSPO)
Online
C$1359.15
Aug 28
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Sep 2
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Sep 24
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 Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Sep 29
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Sep 30
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
Kanban System Design® (KMPI) [Virtual Learning]
Online
C$1525.75
Nov 19
2020
Details
Kanban Systems Improvement® (KMPII) [Virtual Learning]
Online
C$1525.75
Nov 26
2020
Details
Licensed Scrum Master and Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Dec 1
2020
Details