February 12th, 2013

The One Where The Developers Wouldn't Test

The Geckos were coming towards the end of the sprint (day 28 of 30) and were having their daily scrum in the morning. The team were standing around the sprint backlog board and were taking it in turns to update the rest of the team on what they had been working on and their plan for the day. An extract from the conversation:

“Guy & I have finished coding the photo upload feature and have handed it over to Roxie and Eve to test” Christian said “and that’s us done for this sprint so we are probably going to make a start on the ratings feature from the product backlog to give ourselves a bit of a headstart for the next sprint. Obviously we have no impediments because I’m finished! Hooray!”

Christian then threw the speaker’s ball to Roxie to indicate that he wished to hear from her next so Roxie took her turn:

“This will probably take us the last two days of the sprint to test. I was hoping for it a little earlier and so we were kind of hanging around a little yesterday waiting for Christian and Guy to finish but now we have it we can get cracking on it. I am a bit worried about testing the photo upload feature as I think that might be a can of worms but at the moment I have no impediments” 

The sprint burndown for the team was looking healthy and, if anything, indicating that they were likely to be finished early for the sprint so there seemed little to worry about. In fact, with Christian & Guy starting on some of the Sprint 2 stuff, they were actually in an even healthier position than the sprint Burndown was implying.

It came as a bit of a surprise to the Product Owner Ericka, then, when she was told at the end of the Sprint that this important feature was not actually ready to deploy as it didn’t pass testing. The sprint burndown had been telling everyone that we were absolutely on track and some of the team had even started working on “bonus” features that hadn’t been planned into this sprint.

In the retrospective the team discussed what happened to cause the team to miss their commitment.

“Well we managed to get everything done our end” said Christian “it was just the testers that didn’t manage to do their stuff”

“Well if you had managed to get it to us quicker, we might have had a chance” Roxie replied “We only had two days to test it and I did say that the photo upload was likely to be a can of worms.”

Marcelle, the ScrumMaster, quickly tried to defuse the situation “Whose fault it was doesn’t interest me, and I am pretty sure it doesn’t interest Ericka. All she sees is the team failed to deliver her priority #4 feature this Sprint but somehow managed to find time to work on her priority #9 feature.”

“What makes you believe that the testing of that feature was purely the responsibility of Roxie & Eve?” Marcelle asked Guy & Christian

“The fact that they are testers” they quickly answered, in unison.

“How do you feel about the fact that the effort you put in on that feature returned zero credit?” he then asked

“That’s not true. The code is there. It is almost complete” Guy said, getting a little defensive

“Well from the point of view of the project, that feature is ‘not done’. It’s not classed as ‘almost done’. Just because you felt you have done ‘your bit’ doesn’t count for anything because it’s not potentially deployable” Marcelle said “We all understood this when we talked about our definition of done in sprint planning” 

He then asked “And the ratings feature that you started while Roxie & Eve were testing, is not potentially deployable either so that is potentially wasted effort as well isn’t it?”

“Only if Ericka decides she doesn’t want it any more” Christian answered, sulking a little now

“What do you suspect she would prefer to have received? All of feature 4 or part of feature 4, which can’t be deployed, and some research/design on feature 9?”

“Well obviously she would prefer feature 4 but we’re not testers” Guy said

“So, because you aren’t testers you can’t be involved in testing?” Marcelle asked “Is there no other way you could organise yourselves to reduce the risk of this happening? Is this worth spending some time on in the retrospective?”

Analysis

The “developers don’t test” syndrome is probably one of the most common role clashes in Scrum teams. Because most organisations are set up around functional areas and individual career paths are focussed on functional specialisms, usually based around the stages of a typical waterfall lifecycle, this is incredibly commonplace and is even backed up with job descriptions. In Scrum, the role of developer is intended to mean a member of a development team whose primary responsibility, above all others, is to help the team turn product backlog items from requirements or user needs to “done”.

The default definition of “done” in Scrum is “potentially deployable” or “potentially releasable”  and while this is going to be slightly different in from organisation to organisation and, potentially, even from team to team, things can rarely be described as “done” if they haven’t been tested. So testing must be part of a Scrum team and this will, in most organisations, invariably involve people with the primary responsibility and skillset of testing to be part of the Scrum team. This does not, however, allow the other members of the development team to abdicate responsibility for testing to those “testers”. Testing is a whole-team responsibility in Scrum.

Funnily enough it is not just the developers who are concerned or anxious about blurring this boundary between development and test. There are status concerns, quality concerns, job security concerns, career progression concerns. I have seen a lot of organisations who attach lower status to testers than they do to developers and only when you have become “good enough” are you allowed to become a developer. This is absurd in my opinion but, nevertheless, is a cultural reality (re-inforced by pay rates etc) that some ScrumMasters will encounter and so may need to work hard at countering (with the help of management, HR etc if necessary). Equally, I have met many who believe that you have to have a “special mindset” to be a good tester and developers are a different breed. As such, they can’t be trusted to test. Again, this is a ridiculous position from my perspective and one that is almost certainly going to become self-fulfilling. The more that developers are not trusted to test, the more they will act that way and shirk the responsibility of writing good code.

Will spreading my skills away from pure development into the testing arena reduce my marketability? Will I have to sacrifice my focus on being the best in my field in order to learn (and implement) new skills? Am I going to have to become a hybrid? Will I miss out on some sexy new languages or coding techniques just to do more testing? These are just some of the concerns over job security and career progression that people have when facing this situation. In contrast, the growing evidence suggests (unsurprisingly in my view) that the rates for developers with good testing/quality skills are much higher than those without.

Marcelle (or, more accurately, the team) has a number of options. They already seem to be used to the practice of pairing (2 team members working on the same task together) as Christian & Guy were paired up on the coding of the photo upload feature while Roxie & Eve were paired up on the testing of it. Perhaps an alternative would be to pair Christian & Eve and Guy & Roxie. This way, the testing can be undertaken during development and development can evolve to the feedback of the ongoing testing process. It is much more collaborative and agile at heart than pairing developers to feed testers.

Most Scrum teams find pretty quickly that, in order for them to make regular, ongoing progress, they need to invest in automation of their tests and this practice will most likely be helpful to the Geckos too. This usually leads to test-first or test-driven development, which will help reduce the bottleneck that the Geckos are feeling currently.

Another option is for the team to implement some form of kanban type limits on the stages within a sprint. For example, the team would set a limit of a maximum of two items to be “in test”  at any one time. No further items are then allowed to be worked on until there is testing capacity and the team then “swarm” around the items at the bottleneck stage to clear up capacity.

However the team decide to move forward, they need to be comfortable with the choice so Marcelle would do well to facilitate the discussion gently but thoroughly (possibly with an HR presence) but he should also bear in mind that sometimes teams need to be pushed outside of their comfort zone in order to develop and this area is definitely outside of most teams’ comfort zones.

Moral

“It is better for the developers to be surfing than writing code that won’t be needed. If they went surfing, they would have fun and I would have a less expensive system and fewer headaches to maintain” – Jeff Sutherland

The concept of “done” is critical to Scrum. Teams do not have the luxury of being able to just do the coding this sprint and test it next sprint. In Scrum, every feature that the teams take on needs to be potentially releasable at the end of the sprint.

Ultimately, there is no such thing in Scrum as a tester or a coder. There are only 3 roles in Scrum – ScrumMaster, Product Owner and Team. The team consists of the skills necessary to get items from the product backlog to a state of “done” and it is everyone’s responsibility to make sure things get “done”. There is no point any member of the team getting all of their tasks done if the features are not complete, and that involves testing. If there is a bottleneck in skills, the team have a responsibility to do what needs to be done, to the best of their collective ability. And sometimes doing nothing (not adding code that can’t be tested) is the best response.

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Cross-functional / Developer / Scrummaster / Tester / Testing

0 comments | view comments | add comment

 

December 13th, 2012

Towards a Definition of a Great ScrumMaster

I often get asked about a Job Description for a ScrumMaster - recruitment companies certainly haven't nailed this one yet - and also do a lot of coaching of ScrumMasters. There really isn't a great definition of what a ScrumMaster is or what makes a great ScrumMaster so I started writing down examples I have seen of great ScrumMastery in an attempt to move towards a definition of what a great ScrumMaster might be. I will expand on some of these in future blog posts: They are written in a particular format with both sides of the statement illustrating a positive example of ScrumMaster behaviour and the second part of the statement illustrating what, in my opinion, lifts someone from a good ScrumMaster to a great ScrumMaster. The  A good... read more

 

Category:

Scrum / scrum master

Tags:

Scrummaster / Team Dynamics

0 comments | view comments | add comment

 

January 13th, 2012

Are you an ADAPTIVE ScrumMaster?

As a Certified Scrum Coach (CSC) I do a lot of work with ScrumMasters in organisations who are looking to find new ways to engage their teams and move their Scrum implementations forward past the basic Scrum framework. When Coaching ScrumMasters I recommend they try to become more ADAPTIVE. As you might have guessed from the fact that the word is capitalised, it is an acronym for a number of behaviours. Following on from my blog post about ScrumMasters getting RE-TRAINED, an ADAPTIVE ScrumMaster: Helps the team to hold themselves ACCOUNTABLE Leads the team to DIVERGE before they converge Helps the team take ACTION to improve Asks POWERFUL questions to make them think about the root cause of their challenge Encourages the team to TRY someth... read more

 

Category:

Games / Scrum / scrum master

Tags:

Accountability / Adaptive / Advanced / Agile Adoption / Asm / Divergence / Elephant / Experimentation / Involvement / Scrum / Scrummaster / Training / Visibility

3 comments | view comments | add comment

 

June 29th, 2011

The One Where The Release Plan Was Unacceptable

Overview Xander, the ScrumMaster for the Blockheads team, had just finished leading them through release planning of the highest priority section of Product Backlog for the OPAL project. The team was fairly new and had little concept of their velocity plus the project was fairly complex and, after 4 hours, the Blockheads came up with a plan of 6 sprints to complete this release. Heleena, Xander’s manager, who had been observing this new practice of agile planning pulled Xander to one side. “Six months? That’s ridiculous. We can’t afford to take six months to get this release out.” She said “Well we do have the option of deploying any time after sprint three so we could call this two releases really”... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Planning / Product Owner / Release Planning / Scrummaster / The One With

0 comments | view comments | add comment

 

April 27th, 2011

The One Where The Team Was Working On Everything At Once

Overview Half way through the Sprint the team are having their Daily Scrum. The team take it in turns to share with their colleagues what progress they have made and what they plan to work on today. There are a couple of impediments that get added to the Sprint Backlog and Ashley, the ScrumMaster promises to pick up – one with an external vendor who is not supplying the input file in the correct format, and another with Operations who still haven’t provided a correctly configured staging environment. The team glance at the Sprint Burndown which shows they are roughly on track and the team are about to leave the Scrum room when Ashley asks a vital question: “Are we actually OK here? I feel worried but you guys seem fine wit... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Backlog / Burndown / Impediments / Scrummaster / Team / The One With

0 comments | view comments | add comment

 

November 30th, 2010

The One With Two Daily Scrums

Overview On my first day coaching a new team they invited me along to their Daily Scrum first thing in the morning. They had been using Scrum for a couple of months and had a great “Scrum room” with glass walls on all sides and a lovely view of the lake. On one wall they had their Sprint Backlog, on another they had the Sprint Burndown and on another they had the outcomes from the last retrospective. Everybody was there on time and even Annika, the Product Owner, was demonstrating her commitment to the team by being present. There were a few quick greetings before the team members stood in a circle and took turns to update their colleagues on their progress, confirming the view that the Sprint Burndown was indicating their good... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Burndown / Daily Scrum / Product Owner / Scrum / Scrummaster / The One With

0 comments | view comments | add comment

 

October 18th, 2010

The One Where Everything Was Signed Up For In Sprint Planning

Overview Eve, the newly minted ScrumMaster was facilitating her first sprint planning for the Jalapenos team on Project Lhasa. She had worked hard with Lilia, the Product Owner, beforehand to make sure the product backlog was well organised, prioritised and understandable and the team had reacted well. The first part of the sprint planning meeting included some planning poker to estimate the top 20% and some good conversation emerged between the team and Lilia. The team committed to 28 points of product backlog (8 items) and were now in the second part of the meeting, where the team work out how they are going to turn those 8 items into potentially deployable functionality. Clinton, Tania & Kurt were around the whiteboard with a stack ... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Commitment / Planning / Sprint Planning / Task Board / Tasks / The One With

0 comments | view comments | add comment

 

August 24th, 2010

The One With The Fifty Percent Resources

Overview   The Wizard Sleeves were a team of 7 people – Alistair, Dave, Gordon, Margaret, Nicola, Olivier, and Peter; pulled together from various project teams within the department to tackle a project that had been hanging around for about a year. At Sprint Planning Tony, the ScrumMaster (and also one of the management team in the department), brought along a “resource planner” to show how much time each of the team members had available to spend on this project. Alistair Dave Gordon Margaret Nicola Olivier Peter 40% 33% 50% 50% 25% 66% 33% Every member of the team had other projects that they were working on at the same time as working on the Wizard Sleeves team. Indeed thi... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Dedicated Teams / Multi-task / Resource / Sprint Planning / Team / The One With

0 comments | view comments | add comment

 

July 12th, 2010

The One Where The Product Backlog Was Too Big

Overview Andy, the ScrumMaster, was guiding the team through a session of planning poker to estimate the initial Product Backlog so the team could come up with a release plan for the new project. Murray, the Product Owner, had provided the team with the Product Backlog in time for the planning session although it did have to be rescheduled a couple of times as he couldn’t get hold of a couple of the account reps to get their requirements. The team had timeboxed three hours for the estimation but they had only really just scratched the surface of the Product Backlog and time was nearly up. A quick look at the spreadsheet showed they were probably only about 10% of the way through the product Backlog and that was quite depressing; it ... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Backlog / Product Owner / Requirements / The One With

0 comments | view comments | add comment

 

June 14th, 2010

The One Where The Product Owner Was Also The Designer

Overview Abdul, the lead developer was one of the co-founders of the company along with Pervez, the CEO and Suzanne, the head of sales. They had built a product from scratch to rival the biggest players in the industry and were getting to the point where they absolutely had to expand. So far they had got away with just Abdul and another developer building the product and due to the small nature of the team, when there was a trade off between user experience and functionality, the choice had always been to add functionality at the expense of user experience. Recently Pervez had appointed a Product Owner, Manish, to the team to focus the product from a user’s perspective as a clunky product just wouldn’t fly in the market. Unfort... read more

 

Category:

Scrum / scrum master / ScrumMaster Stories

Tags:

Design / Designer / Dual Role / Product Owner

0 comments | view comments | add comment