Testers, what business are you in?

businesscat

Recently I read an inspirational story from Jesse Lyn Stoner’s excellent blog  I would like to share with you.

The owner of a window shades company, was asked by a business consultant “What business are you in?” He initially answered “We are in the window shade business”. Then he was asked “When someone walks into your store, why do they want a window shade? What are you really selling?” he had to pause and think before he saw it

“We’re in the light-control and privacy business! – not the window shade business.”

The implications of this discovery were that by understanding the company real purpose, he was able to introduce new products that his customers loved.

You can find the full story (here)

Reading this story reminds me of the struggle of the testing community to get buy in from business owners. Years and years of hearing complaints that business owners don’t understand the importance of testing, they don’t appreciate the hard work of testers, I have grown tired of it.

I believe it’s not the business owners not to understand testers, I believe it is testers not understanding the business they are in.

The majority of the testers I know believe that they are either in

“The business of finding bugs”

or

“The business of sourcing information to help make decisions”

The testers I want to work with are in “the business of delighting their customers”, that is what we all need to be in.

If we make our business “delighting our customers” believe me, we will find a lot of innovative ways to do it as testers.

Forget about defects, forget about information, focus on delighting your customers and

  1. you will find innovative ideas to improve the quality of your product
  2. the business owners will love your work – and most of all
  3. you will have a lot of fun in the process!

 

 

 

How a little man from Japan helped Team X focus on their customers

screen-shot-2016-10-28-at-08-26-32

Previously on “A knowledge worker’s tale“: Team X discovered that lack of clarity on what to build, was creating a backlog in their exploratory testing work queue. They realised that adding new testers would have only fixed the symptom of the problem but not addressed its root cause.

Team X met to talk about a possible solution to the fact that too many misunderstandings in the user stories were slowing down the work dramatically and driving the testers crazy.

When Gus walked in, they were all there, nobody was late, the team really wanted to resolve this problem.

Mike took charge and said “We need to ensure that the user stories contain all the details, we can’t be blamed for problems in the requirements”. All the others nodded in unison, the bloody user stories were the problem…

Peter added “Absolutely Mike, we need Fritz to sign off the user stories so that when we start, if there is a problem, we know who’s fault it is and we don’t get the blame every time, I am tired of this!” he added “we need to make sure we know who’s fault it is”.

Before Fritz could answer, Gus interjected “OK, let’s see. Am I right in saying that our goal is to deliver value to our customers? Right. How is identifying who to blame going to help our customers? How is blaming somebody going to help our customers at all?”

He continued “Customers will still get the product late because of the misunderstandings, I bet if you asked them, they will tell you that they don’t give a rats arse who’s fault it is. What they care about is to get a solution to their problems, through our software”

Then he went “Once there was a little man in Japan, many years ago. He said that every activity that does not benefit the final customer is waste and needs to be removed from the process. He went to define 7 categories of waste that can be found in manufacturing. This guy’s name was Taiichi Ohno, he revolutionised the motor industry and his learnings have been used to improve manufacturing all over the world, he worked at Toyota. I strongly believe his lessons can be used very much in every context, including software development, let’s not introduce waste, let’s focus on value add activities”

“It seems reasonable” said Mike “but how do we make sure the defects in our stories don’t get caught only at exploratory testing, we have seen that when that happens our flow gets to a standstill, we can’t allow that”

“Taiichi would be proud of you Mike” said Gus. “One of his 7 categories of waste was exactly what you described, ‘defects’.” he continued “Quality was fundamental in the Toyota production line, one tenth of a millimetre difference in a bolt could bring the line to standstill, Taiichi knew it and made sure the workers knew it too so that they could find new ways of avoiding it”

Gus stood up and went to the whiteboard, he wrote “Prevention over Detection”. Then he drew a circle that had 3 stages “1. Write a failing test” – “2. Write enough code for the test to pass” – “3. Refactor”.

He went “Ladies and gentlemen, this is TDD, the one most effective ways of preventing defects in your code I have found in my 20 years as an engineer. In one of it’s more modern evolutions it is called BDD. Through high collaboration and conversations it allows teams to deliver code that has a fraction of the defects of code written without it. If you like to know more, I can organise a one day workshop to talk about BDD and how it can help us prevent defects”

Peter said “I am a bit confused about all this stuff, little Japanese people building cars and tests that are written before code, it doesn’t make sense. But in all fairness Gus has been right before with even more nonsensical stuff like ‘do less to do more’, I think we could take a leap of faith and trust something good will come out of this, what do you think guys?”

The team nodded in silence, they were puzzled. Accepting something brand new and counterintuitive can be scary, but true agile teams are courageous in their decisions.

Gus smiled and left the room so that the guys could make a decision freely.

Will Gus’s nonsense help team X? Stay tuned and discover what happens next

 

 

 

 

Stop building a Shitload of products, you are killing your company

idreamoforganizations0awherepeopleareempowered0atodeliverproductsthat0amatterjoyfulorganisations0a28-defaultI took my first steps in technology over 20 years ago. If we exclude the year off I took in 2006 I have always been employed in many different companies and I can say with certainty that I worked on a “shitload of products” and I use that specific term with purpose, read on to find out.

During all these years, being somebody that loves learning, I ended up working as system analyst, developer, tester, business analyst, manager, leader, coach, change agent, plus some other short term hats.

If I exclude the last 6-7 years where I had the skills and the ability to influence decisions I can go back and say for sure that the products that were initially envisioned, before any customer feedback was used, can be called a shitload of useless stuff and one or two good ideas that resolve real customer problems.

Very often the product envisioned was very similar to the product that we delivered.

Am I saying that in my first 13 years I worked I mainly produced waste?

Pretty much YES.

Another thing I remember in those early years was that I was never in a team where we could say, oh thank god we are busy but it’s not too bad, we can do our work, go home and have a balanced life. Invariantly there was pressure. We need all this by that date, come on! Work faster!

To me, it always felt like we were told by Dilbert’s boss that if we shove some more paper in the printer it will print faster. Also, when we were not busy, then managers will fill our capacity with a new shitload of useless products created for the purpose to make people sweat, very often no thought on the customer whatsoever.

Am I saying that trying to deliver fixed scope, fixed date shitloads of products creates big problems to the workers that build them?

YES, not even the pretty much is needed this time.

Another thing that I have noticed through the years is that without exception, companies older than 3 years have already built a shitload of products that are now impeding their ability to respond to change and survive. We will call this “shitload of legacy systems”.

This specific shitload is used as the excuse for not being able to change, as if saying “yes sure, we can’t compete with the market and we will die soon, but it’s not our fault it’s the fault of the legacy system (that by the way we built)

Am I saying that the shitload of products are also causing the slow death of the companies that created it in the first place?

Yes

Next time you start a product, think twice before rewarding people for the delivery of all the scope, in time.

I have been helping organisations deliver products that matter to their customer as soon as possible, I am not in the business of delivering projects or shitloads of products.

I am researching new ways of demonstrating THE VALUE in MONEYof the “non built shitload of products and features”, if you are interested, let’s do this together.

 

 

One very simple tip to help teammates connect

A couple of years ago, I started working with a new development team. As a coach, I spend the first few days observing behaviours and saying very little beyond a joke here and there.

Well, this team didn’t seem to have a process or technical problem, but I noticed a strange trend at their morning standups. People were being a bit “bitchy” to each other and focusing on people rather than on the work to be done.

You could hear things like

“well, my card is still there because I have been spending all day reviewing Frank’s pull request, not great…”

or

“I was writing the new stories but then Jack changed his mind… again…”

et cetera, I’m pretty sure you know the drill.

So on day 3 I went to the standup and I said, folks, let’s do an experiment. Before you say anything, you have got to say something nice about one of your teammates, shall we try?”

People looked at me like if I had seven heads, so I went “I’ll go first. Frank, you’re looking good today, I like your shirt, very smart”

People laughed. Then they tried.

I could see they were spending some time trying to find something nice to say, they were looking at something they liked about their teammates.

As humans, we are very good at finding flaws in people, on the other hand, we need to make an effort to find something we like about them, but if we try, we can discover something that we like, helping us connect.

Another consequence of this approach was that people realised their behaviour was not acceptable without being told and felt that they came up with the idea of reducing the bitching remarks.

All in all an easy win with very little effort.

WARNING: This approach won’t produce any positive effect if the hostility between team members derives from long-standing hatred, but it works very well with newly formed teams where people are trying to make themselves noticed sometimes using means that might be confrontational to their teammates.

 

Can we train ourselves to be more empathetic?

how_does_that_make_you_feel_

For a good while, I have been thinking more and more about the impact of our behaviour on our success and the success of the organisations we are part of. This brought me to observe people’s behaviour in trying to achieve a goal and the different reactions that each approach caused.

I have also done some experiments myself, trying to achieve the same goal using different behaviours on purpose.

The differentiator in the behaviours I have been observing is empathy

The subjects I have observed are of the type: developer, tester, analyst, business stakeholder, manager, leader.

What I found out is that the difference in the success of people with high empathy versus the less empathetic ones is astonishing. It is a different ball game. Empathetic people, get things done while building strong relationships and creating an enjoyable environment.

On the other hand, I have seen extremely skilled and capable people struggle to get anything done because their lack of empathy for their teammates made them choose behaviours that instead of achieving their goal, frustrated them and in some extreme cases made them withdraw into a corner full of anger and resentment with a common mantra: “they are idiots and they don’t understand”.

Being very empathetic, I feel very bad for them and I want to try to help.

You control how empathetic you are

The first thing I can do to help my less empathetic readers is to demonstrate to you that you are in control and can train your empathy to become more successful.

I believe we decide whether we want to act with empathy or not. Empathy is not in our DNA, it can be learned and improved. How do I know that? 

Let me tell you a story

A few years ago, driven by my burning curiosity, I had managed to get the hang on agile software development and I really thought I knew a lot about it.

Being an extrovert, I thrive when I am in the presence of big groups of people. At the same time, I am also an avid learner and I know that for me, sharing my thoughts in public, is the most effective way of learning something new.

One obvious  way of taking advantage of this two aspects of my character was to start participating actively to some Agile and Agile testing online groups with the honest intent to help people that needed help and learn in the process.

I tried. It was a train wreck.

My goal was learning by helping people resolve their problems, but the result was that I was pissing people off and pushing them further away from subjects that they found already enough challenging before they met me, the annoying Italian dickhead that thought he knew everything.

What was the cause of this disaster?

Was my knowledge on the subject not sufficient? Did I fail because of my incompetence?

No.

I knew enough to help the people starting with agile, I had the necessary knowledge and skills.

So what?

One day, I started following the answers of another person in the group let’s call him Mr. Joe. He was saying the same things I was saying, we agreed on everything, we even spoke a few times about how much we cared for the agile community and how much we wanted to help.

So, same skills, same motivation. Was he annoying people like me?

No. People loved him. They asked him direct questions and thanked him all the time.

I remember in one specific case, I got frustrated as I had spent quite a long time replying to a quite complex question with a good solution, then after I already did, Mr. Joe said the same things I said, in different terms.  and the person asking the question would thank him and ignore me.

Guess what? The person asking the question thanked Mr. Joe and completely blanked me.

Can you imagine? Somebody asks a question. I give him the right answer. Mr. Joe gives him the right answer after me. Mr. Somebody thanks Mr. Joe and blanks me.

I knew something was wrong and I started trying to find patterns, similarities and differences between me and Mr. Joe.

Then one day it hit me.

I was answering to “say the right thing”. Mr. Joe was answering because he cared that the person that asked the question would learn.

I felt stupid and ashamed of myself. I was really down. I realised how self-centered and selfish I had been while acting righteously as the “saviour of agile”.

Discovering bad things about ourselves is painful, but life has taught me that it is also the best thing that can happen to us because that’s the time we can make a decision to change and improve our lives.

I changed, bit by bit, slowly. Before answering any question on the forum, I started asking myself:

This person came to a public forum and asked for help on a subject he doesn’t know well, how might he feel?

How might this answer affect his feeling?

If I say this will he feel bad? How about I say it like this, same message but more positive, will he feel any better?

And it worked.

empathy

Week after week I started to get people contact me privately and thanking me for my time and help. They were telling me how my message had helped them resolve the problem.

I had been doing that exact same job for years and nobody ever did thank me. Then it became a stream of people thanking me for my help.

Be considerate, mindful, empathise with others. They will feel your empathy and compassion. They will want to work with you and their actions will also make you feel good about yourself.

It’s a win-win, we are both happy, why don’t you try?

How Team X got to the root of the problem by asking why

screen-shot-2016-10-28-at-08-26-32

Previously on A Knowledge Worker’s Tale: A large bottleneck appeared in the exploratory test column of team X’s kanban board, but only Rick and Jane, the testers, seemed to give a damn about it working hard to unblock it. Gus saw the problem asked the team to take off their headphones, go to a room and get instructions from the testers on how to unblock the flow of work.

And the story continues…

Team Xers reappeared in their open space with renewed energy. Rick and Jane had explained what they needed to get their work unblocked and soon people started working in pairs. Rick and Peter were debugging together an issue that seemed difficult to track with the assistance of Fritz the business analyst that seemed positive he remembered something important that could help them. Jane was showing to Mike and Jimmy how, what she thought was the correct customer journey, was not what Zach the customer thought it was.

It was great to watch, a group of skilled professionals working in groups, using all their skills and knowledge to troubleshoot a complex problem.

As expected, the pairing and collaboration gave its fruits, defects were getting fixed and retested and the bottleneck was reducing fast. Flow was being reestablished thanks to the team swarming and focusing on the biggest problem in the system, it was great to observe.

Once things got back to normal Mike called the team to the board and said “Folks, it has taken only 3 hours to fix that bottleneck that had basically stopped our flow for two days, I think we have learned a very big lesson today and the lesson is that when we see a bottleneck, we all have to chip in and help unblock it!”. The other guys nodded with satisfied faces finally seeing their work getting to completion again. “Well done all!” Rick the tester added “without your help, we would still be where we were 3 hours ago, collaborating has been fantastic” and the lads gave themselves a small round of applause.

“Let’s go back to work!” said Mike.

“Hang on, hang on” intervened Gus, that had been lurking from distance. “It is great that you guys found a way to reestablish flow, I was delighted to see how you collaborated and forgot about your roles for the good of the customer, I say well done for that”. He continued “The fact is, if we go back to work without addressing the problem that created the bottleneck in the first place, it will be only a matter of time before it happens again, don’t you agree? Now that we have it fresh in mind, I suggest we try to understand the real problem that created the bottleneck, let’s do a quick retro, who’s with me?” The team nodded and followed Gus in the retrospective room.

“So WHY do you guys think the bottleneck formed at exploratory testing?” asked Gus.  Immediately Peter jumped in “Because we need more testers!” to which some of the other team members nodded in unison. He added, “Rick and Jane are always super busy, they never have a minute free and at the same time they are always behind with work, the guys need help, we need more testers!”

“Adding more testers is a potential solution, but we haven’t identified the problem yet” said Gus. “I am going to ask a tester now, Jane, WHY do you think the bottleneck formed at exploratory testing?” Jane, slightly caught by surprise turns to Rick, mutters something, then says “Because exploratory testing was taking too long”. “Ok this sounds like a reasonable problem, and WHY was it taking too long?” added Gus. “Well, running tests would have been fast, but we found a lot of defects that needed fixing and that created a never ending back and forth with the developers and Zach” added Jane.

“Very good Jane, thank you, we are getting somewhere now” said Gus, and continued “so it appears we had too many defects in the stories you were testing, so WHY were we having so many defects?”. A long silence ensued.

Peter broke the silence and said “For my user story, it turns out I didn’t understand clearly what Zach (the customer) wanted, so I had to change it four times”. Jimmy added “Yes, the same for me, this feature is complex and the work me and Mike were doing had to be changed many times, every time Jane or Rick would find something wrong because they’d ask Zach and he changed his mind, yet again”

Gus smiled and went “Oh Oh Oh, I think we might be getting somewhere here folks, what do you think Mike?” Mike was deep in thought, head down. He stood up and said loudly “I get it! It looks like a communication problem early in the process presented itself as a visible problem in exploratory testing. It’s got nothing to do with testing!” He was truly excited by the revelation, then he added “The root cause of the problem is the bad communication between the team and the customer and the symptom shows up in exploratory testing.”

Gus said “That’s an excellent observation Mike, do you guys think that if you clarified your doubts with the customer before you started working you would have saved the time you have spent reworking?” Everybody in unison went “Yeah!”. Well, now we know what the real problem is, I’ll chat to you tomorrow morning at the stand-up and we’ll find a solution together, it’s getting late now. Great work everybody and well done for getting to the root of the problem with only four why’s, I normally need five…”

Gus stood up to leave but stopped mid-track and asked “Guys, so do we still think we need more testers?” Peter was first to answer “No Gus, you’re right that was a knee-jerk reaction, thinking about it ,we need more clarity, not testers”

Asking why enough times to get to the root cause of a problem is a great technique, thought Gus while leaving the office and heading to the pub.

Stay tuned and find out what happens next!

The next episode is out, find out how they will resolve the problem!