Can we expect craftsmanship from professionals?
I believe that if people are doing what they love, they truly want to perform at their best capabilities.
I had a meeting with a scrum master the other day. He was informing me that one of his teams was audited on the way they are testing their work. The audit in itself raised a few questions, because the scrum master was asked only a few questions, and he had to deliver some links (probably to places where test material was expected) and then he heard nothing. Weeks later his mangers manager, received a report in which his team was flagged. All audited items were marked red in this report. The red was hard to ignore…
The scrum master was really, really disappointed with everything that had happened. The way this report had been delivered to whom, the fact that no one spoke to him, the fact that some of the conclusions were unjust. Unjust, since the team actually had done a couple of things right, only stored their reports at a different location, since no one told them that there was a “right” location and an audit… And maybe also somewhat disappointed with the results of the audit that actually were accurate… the fact that his team was not testing as it probably should.
So he had a talk with the team about the things that they ought to improve. They wondered about unit testing, and the importance of it, among other things. The team started to talk about the way they handled their testing and made some changes.
After he shared this with me, I shared a story with him about a team I was once with. They had ignored all red flags in their code analysis tool. They had over 300 critical warnings and those had been there, for quite some time. At some point, the team was triggered from outside forces to start fixing these warnings. At first they decided to work overtime to fix these, so that they could also still deliver a normal sprint with regular product backlog items. I talked with them, indicating that creating nice and clean code was part of their normal duties that they should have performed during normal sprints. Apparently they had not done that to their fullest potential and now was the time to fix that and learn from it. But not during overtime, as I believe that when a team is working overtime extensively, their “normal” work suffers from that anyway. Both product owner and team agreed. They took in a really small portion of the product backlog, and reserved more than half of their capacity for cleaning up. Almost halfway through the sprint, one of the developers started asking questions: when is this code going to production and shouldn’t we make a plan to extensively test our product. Everyone nodded, I was proud.
They agreed to finish whatever warning they were now working on and “someone” was going to make a plan how to spread the test activities throughout the team. After a couple of days, I realized I had not heard a single team member talk about any test activity whatsoever. Not during daily stand-up, not at their desk… nothing. So I talked to some individual team members. Wondering what had happened regarding their plan to test thoroughly. Three members replied: Well… each of us looked at our own code and after we decided it was okay, we checked it in and our code analysis tool accepted everything, so it is not necessary to test everything. The code is good!
After sharing this, I asked the scrum master whom I was talking to: “ What is really wrong in these stories. I mean, I can name tons of things that I could frown upon… but what is really, really wrong in these stories?”
Now, normally I like to refrain from judging people. Normally I really, really want to live by the prime directive of retrospectives, brought to us by Norm Kerth:
Regardless of what we discover, we understand and truly believe that everyone did the best job he or she could, given what was known at the time, his or her skills and abilities, the resources available, and the situation at hand.
However, I also try to talk to people from the perspective of craftsmanship. Because I also believe that if people are doing what they love, they truly want to perform at their best capabilities. All the team members in both stories have a degree in software engineering in one way or another. I know, that does not imply that they are doing what they love, however, they’ve chosen a career in software engineering. Some level of craftsmanship might be expected. Right?
Yet I’m truly disappointed about the way these teams neglected their duties. In both occasions testing was not up to standard. Not by far! In my own story, the team had neglected critical warnings about their code and when finally solving those, they did not bother to check functionality, not have someone other then a tool, look at the changed code. They relied on their own judgement, knowing their own judgement had lead to over 300 critical warnings. I wonder… where is the craftsmanship in this behavior.
So in both these stories, to me, what is really really wrong, is that all team members seem to not perform at their best abilities, given what was known at the time, his or her skills and abilities, the resources available and the situation at hand.
I want to live by the prime directive. But in these cases… I just don’t get it!
Tell me if I’m wrong.
Published on Medium Aug 7, 2019
Want to read more?