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

What leaders need to know about Agile

To understand why so many people around the world have adopted Agile as their first and foremost guide to improvement, we must first look at why leadership has been failing us in the first place.

Leadership, in the modern world, has been equated to a highly visible role, a spokesperson whose suave charisma is infectious, and following their mantra is made easy. No one can deny that they are not impressed when a sharply dressed leader bounds onto the stage at a conference and proceeds to use impressive statistics to back up his or her claims that ‘if we just did this, then the world would be a better place’.

Unfortunately, reality is rarely as static as those brief moments of exuberance. The truth is, companies have been built and shaped over many years, sometimes decades. The charismatic hand-gesturing of the modern world leader (especially in technology) does not go far in the grand scheme of things to change an approach that has been ingrained in us. Undoing bad habits and helping people build new habits is hard work.

What purpose then does Agile serve to help us with this task of getting better and why should you, as a leader, care?

Leadership implies leaving a legacy that was stronger than when you first started. The leadership you provide has to be ingrained within the culture of the organization you leave behind. In short, being Agile, thinking in an Agile way allows us to be transparent and honest, learning from our mistakes without fear of retribution and scorn. That in itself is a huge shift in the way we think.

One of the Agile Manifesto principles states: “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” While the concept is simple, it implies that you, as a leader, need to act in a supporting role. Encourage acts of leadership in others. Don’t focus on the mistakes. Create an environment where work, and even innovation, can happen!

“Culture eats strategy for breakfast”

There probably won’t be a defining moment in a successful project which someone can point to and say: that was the moment where you as a leader made all the difference in a project. But slowly, over several months of sustained support and Agile thinking, you will positively affect the culture of the organization. As the late management guru Peter Drucker said, “Culture eats strategy for breakfast”, implying that no amount of managing of people would be more positive than the intrinsic motivation people have to succeed in their work.

Kiichiro Toyoda, the founder and first president of The Toyota Motor Corporation, created and espoused the Toyota Production System (TPS). In this management philosophy (built from the Lean production perspective), he believed that because people operate the system, the strategy to success has to be a people-oriented system. TPS respects the fact that only the people on the production-line can make the changes necessary for improvement. This is where leadership should focus.

Moreover, the culture of excellence has to become ingrained in the line worker to the extent that ‘good enough’ is no longer a workable philosophy. So what can you do as a leader to make the change happen? The well-known thought leader in business-leadership, John Kotter, writes about the ways that change management can be ‘made-to-stick’. For this article, suffice to say that establishing a need and creating visibility are at the forefront of what he espouses.

Creating transparency allows us to understand the current situation. Only then can we begin to tackle the problems with a frank and consolidated effort. Mistakes will ensue; however in an environment of learning, where mistakes are opportunities for improvement, success will undoubtedly follow.

At BERTEIG, our coaching and consulting approach is to support leadership in this endeavour. Almost every great leader has had the support of a non-judgemental partner to help them achieve more, and we take your success as our success. We believe that the legacy of your company will therefore be in the Agile way that people work, not the antiquated legacy systems in place that hold you back.


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)
Toronto
C$1395.00
Apr 24
2019
Details
Kanban System Design® (KMP I)
Ottawa
C$1695.00
Apr 24
2019
Details
Facilitation Skills for the Agile Workplace®
Toronto
C$1350.00
May 6
2019
Details
Certified Scrum Product Owner® (CSPO)
Toronto
C$1695.00
May 7
2019
Details
Team Kanban Practitioner® (TKP)
Toronto
C$1095.00
May 8
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1395.00
May 14
2019
Details
Kanban System Design® (KMP I)
Toronto
C$1695.00
May 15
2019
Details
BERTEIG Real Agility Series: Kanban Maturity Model and Business Agility
Online
C$0.00
May 23
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Jun 4
2019
Details
Certified Agile Leadership® (CAL 1)
Toronto
C$2200.00
Jun 10
2019
Details
Certified Scrum Product Owner® (CSPO)
Toronto
C$1440.75
Jun 11
2019
Details
Leading SAFe® with SA Certification (+FREE Scaling Workshop)
Toronto
C$1185.75
Jun 11
2019
Details
Team Kanban Practitioner® (TKP)
Toronto
C$930.75
Jun 19
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Jun 20
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Jul 4
2019
Details
Kanban System Design® (KMP I)
Toronto
C$1440.75
Jul 4
2019
Details
Certified Scrum Product Owner® (CSPO)
Toronto
C$1440.75
Jul 11
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Jul 16
2019
Details
Team Kanban Practitioner® (TKP)
Toronto
C$930.75
Jul 31
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Jul 31
2019
Details
Kanban Management Professional® (KMP II)
Toronto
C$1355.75
Aug 1
2019
Details
Certified Scrum Product Owner® (CSPO)
Toronto
C$1440.75
Aug 13
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Aug 21
2019
Details
Certified ScrumMaster® (CSM)
Toronto
C$1185.75
Sep 11
2019
Details
Coach Skills for the Agile Workplace®
Toronto
C$2018.00
Sep 16
2019
Details
Leading SAFe® with SA Certification (+FREE Scaling Workshop)
Toronto
C$1185.75
Sep 17
2019
Details
Certified Scrum Product Owner® (CSPO)
Toronto
C$1440.75
Sep 17
2019
Details