Craftsmanship: The Software Testers’ Goal
A couple of years ago I was traveling by train from the Amsterdam airport to Brussels to attend a testing conference. On the journey, I changed trains in Rotterdam. Struggling with my suitcase and laptop, a friendly person asked if he could be of assistance. I nodded yes, very grateful for the help.
The “help” turned out to be a distraction. A second person bumped me while a third lifted my wallet. By the time I realized what had happened, all three were gone. I arrived at the hotel in Brussels without travel money or credit cards.
However, rather than anger, I was filled with admiration for their craftsmanship—the art and science of their operation.
When it comes to our industry, craftsmanship means learning to grow yourself while learning where you fit. Its components are knowledge, skill, diligence, judgment, and passion.
- Knowledge: the understanding of tools and techniques and the proper context in which to use them. Craftsmen continually seek to expand their knowledge
- Skill: the ability to apply one’s scientific and artistic knowledge to further a goal
- Diligence: taking the time and effort to create something of quality. A craftsman balances the need for quality with the need for speed
- Judgment: knowing what to do in order to make something that is worthwhile and brings joy to its users. A craftsman combines experience, common sense, and intuition to create a valuable product or service. A craftsman doesn’t sacrifice quality for expediency
- Passion: the internal fire that welds knowledge, skill, diligence, and judgment together
However, in the workplace you inevitably will encounter forces that discourage craftsmanship. First, some people just don’t care about creating great products or services. They believe the marketplace will settle for lower quality at a lower price. (And they may be correct.) Craftsmanship is sometimes seen as a luxury that no one wants or can afford.
There’s also a pressure to deliver quickly, fueled by the minimum viable product concept of the lean startup philosophy, that pushes products out the door as an experiment in product attractiveness, not necessarily an offering of quality.
To combat these influences, keep in mind the four actions that constitute the pillars of software craftsmanship: care, practice, learn, and share. Seek out good examples, stake your reputation on the work you produce, and focus on continuous improvement.
Poet Reyna Biddy wrote, “Trust in your craft enough to admire it, study it, perfect it, breathe it. Never stop getting better at whatever it is that you love to do.” As software testers, we should heed her advice.