As a developer, I’ve picked up some non-negotiable habits and good practices over the years. But sometimes, I’ve had to work with people who were not on the same wavelength as I was. Most of the time it’s the management.
The main reason is usually that we are looking differently at problems and their solutions. We know from experience that cutting corners will get back to us in the form of technical debt or just plain frustration.
I’m writing this post to show you how you can change you manager’s opinion — or even that of your peer.
Communicating the right way
Your message might be very important, but if you fail to deliver it, then it’s your fault. Here is one way to deliver your message effectively:
As you know, people are not the same. Someone may be easy to reason with, and someone else may be stubborn. According to Gretchen Rubin, we can categorize people into four main Tendencies.
Gretchen wrote a book called The Four Tendencies. She noticed this division among people, and how we can use them and take advantage of them in our lives. Those Tendencies are Upholder, Obliger, Questioner, and Rebel.
Here is a quick joke that helps describe them:
How do you get an Upholder to change a lightbulb?
Answer: He already changed it.
How do you get a Questioner to change a lightbulb?
Answer: Why do we need that lightbulb anyway?
How do you get an Obliger to change a lightbulb?
Answer: Ask him to change it.
How do you get a Rebel to change a lightbulb?
Answer: Do it yourself.
A case study
Let’s assume that you have a product owner (PO) on a new project. The PO is only focusing on the things that you deliver. They don’t want you to spend time on anything else, like writing tests.
Here are four different ways to convince your PO that writing tests is important. But don’t forget that this is just an example — you should be able to use these frameworks in any context.
Here we go.
1. PO as a Questioner
According to Gretchen,
Questioners love research, finding efficiencies and eliminating irrational process. They reject lazy explanations like this:
’This is the way we have always done it.’
Because Questioners have great faith in their own analysis and judgement, they can become convinced of the rightness of their views and refuse to be persuaded otherwise.
When dealing with a Questioner, bring reasoning to the table. Have a valid point supported by evidence.
Here’s an example conversation with a PO named Alex:
Me: Hi Alex, can we talk about best practices for a moment?
Alex: Sure, what’s on your mind?
Me: I think that we are pushing too hard on delivering the features and not thinking about our technical debt. We don’t have much time for testing.
Alex: Well, I’m not convinced that spending lots of time on testing will help us to deliver better and faster. We are fixing bugs as they come along and it seems to work.
Me: I took a look at how much time we spend by fixing bugs, and the number grows over time. I have worked on lots of similar projects. It’s faster to ignore testing, in the beginning, but you will get to a point where it’s no longer efficient. I think that we are now at that point.
Alex: Hmm but I don’t want to hire another person to do the testing, we don’t have a budget for it.
Me: I have a solution: let’s add testing to the scope of each ticket. It will make developers happy, and you will be able to compare velocity. If you would like to know more, I have some examples of books and articles about the importance of tests.
Alex: Ok, remind me of that at our next sprint planning, and I will make sure that everyone is on the same page.
Me: Thanks.
2. PO as an Upholder
Upholders can make great colleagues. They are self-starters, and they are very interested in performance. But Upholders sometimes get impatient when others struggle to meet expectations.
I don’t think that you would have to convince an Upholder about the importance of writing tests. They would react like this:
Me: Hi Alex, I think that we are at the point where we need to spend more time on writing tests. Our technical debt is growing.
Alex: I’m ok with that. Feel free to write more tests and do some refactoring. But please make sure that we still deliver features that we promised.
3. PO as an Obliger
Obligers respond to the expectations that work situations almost inevitably supply — with deadlines, evaluations and deliverables.
So to convince them, we can use another motivator that they follow.
Me: Hi Alex, I think that we are at the point where we need to spend more time on writing tests. Our technical debt is growing.
Alex: We have a deadline to deal with — is it going to affect it?
Me: We might be delayed in the next sprint. But by writing more tests, we will be able to cut the development time. So, we should be faster in next stage and meet the following deadline with ease. Writing tests is also a best practice of development. I can show you a bunch of studies that support it if you are interested.
4. PO as a Rebel
I feel a little Machiavellian about this one. Here is an example from the book:
A rebel child might respond better if you ask: ‘Do you feel like playing the piano now?’ While an Upholder child would be happy to be reminded, ‘Time to practice the piano.’
So if I wanted to convince a Rebel product owner about tests, I’m not sure what I would do. I would probably spend time on tests and refactoring code without asking.
Gretchen does note that “They put a high value on freedom, choice, identity and self-expression.” So, by reacting on my own and taking care of things, I’d fit in that specification. I’d be the rebel!
In the end, you need to know who your audience is. You should find out what the priorities of your project are. Then make your argument more compelling by mentioning these priorities.
Leave a Reply