Skip to content

Notes from a Tool User - Mark Levison
Syndicate content
Best practices for your goals
Updated: 10 hours 50 min ago

By: Reflections: Co-Training with Mark Levison (CST) July 6-8, 2011 | Agile Guidance via Paul Heidema

Fri, 11/18/2011 - 06:04

[...] more and from Mark Levison: http://agilepainrelief.com/notesfromatooluser Be Sociable, Share! Tweet(function() {var s = document.createElement('SCRIPT'), s1 = [...]

Categories: Blogs

Scrum Master Tales – More Interruptions

Thu, 10/13/2011 - 18:12

Prohibitory traffic signPart of an ongoing series called Scrum Master Tales. The series covers ScrumMaster John and his team as they develop an online bookstore.

Last time we read about our team they were suffering from a very high rate of interruptions after the product had gone live: The Story of Production Support.

After another couple of sprints using the one “person off” strategy the production support problem wasn’t completely fixed but the team was starting to spend less time on support. However John started to notice a new problem, even though production support wasn’t the primary cause there were still alot of interruptions, he still noticed that team members were being interrupted (a mix of drop by, phone calls and email).

John spent the next few days just taking notes on the interruptions. Discounting friends dropping by for coffee or smokes and calls on personal phones (presumably family or friends), he could still see that his team members were being bothered 2-3 times a day. Taking the best notes he could without outright spying on people, some of the interruptions were obvious:

  • a couple of people called Martin every time there was a database problem (big or small)
  • team members attended meetings (corporate, HR, …) sometimes more than one
  • Tonia (the world’s best Agile Tester) has become a focus for Agile testing questions with people stopping by her desk 2-3 times a day to ask questions about Agile testing.

To track these issues John didn’t need to spy, he just watched the flow of people in and out of the team space, listened for phone calls and read the email trail that filled his inbox.

Once John noticed the issue he mentioned into a standup and asked people to start tracking what sort of interruptions they had. In the retrospective the team discussed sources of interruptions (again using a timeline as reminder).

Discoveries:

  • Corporate meetings that don’t aid directly in the delivery of software
  • Several team members are the only ones who know their respective areas (Database Architecture, QA), as a result for issues big or small everyone asks them for help.
  • People outside of the development group don’t appreciate the cost of interrupting the team. In particular they don’t understand the costs of context switching (allow 20-30 minutes to recover if working on a complex task).
Analysis

Caveat Emptor: Remember the Lean Principle: “Optimize the Whole”. In this case ensure that the strategies benefit the whole system and not just one team.

The key issue at play is that your brain can sustain 4-5 hrs of focused “Flow” work in a day. The question at hand is how can we help team members utilise that time?

First the team needs to make the cost of the interruptions visible to the organization. Very often these things happen because people think about their own needs: i.e. Martin knows the database and can answer my question quickly. vs. I can spend 15 minutes trying to figure things out for myself before turning to Martin yet again. This assumes the person with the question isn’t on Martin’s team, perhaps not even in the development organization.

Things the team can do:

  • Implement Core Hours – example 9:30 – 3:30 (with a break for lunch). During this time the team will focus on development (includes Test/Documentation/…) work. Interruptions from other development teams are expected but people from outside development are asked to wait. This does risk setting up an us vs. them relationship so it has to be handled well. The key is good communications: explain the problem, give specific example of the effects, tell people how core hours will work and seek their feedback after 2-3 sprints.
  • Email is turned off during core hours. Its best if email is checked ~3 times a day.
  • Pairing to share knowledge i.e. people from other teams should pair with Martin and Tonia to learn more about the specifics of their work.
  • Run lunch and learns to share knowledge that’s known by only key people
  • Reduce committee involvement. For corporate meetings and other events that won’t help the team deliver ask how many people from all of development need to attend.
  • Move meetings outside core hours. Most meetings don’t require the same amount of mental energy as development. Consider moving them after core hours.
  • Consider removing company phones from team members desks. This may just shift the problem to people’s cell phones.
  • Get people to spend at least 15 minutes trying to solve their own problem before asking for help. If nothing else this will deepen a persons knowledge in that area making it less likely they will have to call for help next time.

Perhaps most important make the cost of interruptions visible to the organization. I often use signs at the edge of the team area.

Update: When I say development team I don’t mean coding I mean the people involved to getting the application out the door (Coding, QA, Docs, UX, … – assuming you have separate roles still).

Image Credit: MZacha “Prohibitory Traffic Sign

Next up:
An aside on tracking sprint and release progress, burndowns and interruptions

Categories: Blogs

Neuro Agile Quick Links #2

Thu, 10/06/2011 - 21:21

At Agile2011 Kevlin Henney provactively suggested that we don’t learn from mistakes (see: Why we don’t learn from our mistakes, The Optimism Bias), suggesting that we learn more from our successes. This seems to against the core agile principle that we learn from our mistakes (i.e. my motto “Fail Fast” etc). It also seemed to contradict the message in Linda Rising’s keynote that followed Kevlin. This makes me very happy to have seen a pair of articles in the past few days that bridge the gap: How Your Brain Reacts to Mistakes Depends On Your Mindset (a short summary from Science Daily) and Why Do Some People Learn Faster? (a longer item from Jonah Lehrer that ties several ideas together). The upshot both Kevlin and Linda were right. We do learn from our mistakes but not everyone has the mindset to do it.

High Social Status Makes People More Trusting, Study Finds – trust is important in the world of Agile software development and this summary from Science Daily gives some more insights as when trust is conferred.

Men and Women Cooperate Equally for the Common Good, Study Finds – its a well known fact that women are better than men when it comes to cooperation. This item summarizes a meta-study, which does make clear there are still some differences between the sexes. (Also Science Daily)

The Problem With Narcissistic Leaders (Jeremy Dean @ PsyBlog) – talks about the negative effects of Narcissistic leaders – they reduce the flow of information between groups but perhaps most insidiously the group members may think the narcissists were doing a good job. See also Why We Love Narcissists (At First).

Playing games ‘engages whole brain’ – (from the UK Press Association), the short item is provocative and appears to support the use of Agile Games/Simulations in training, coaching and improving engagement in solving problems. Having struggled to read the paper (neither neuroanatomy nor statistics are specialities of mine), I can see how the UK Press drew its conclusion at this stage I would like to see the follow-up research from Timothy Vickery to see where this applies and what benefits we can claim.

This is part of an ongoing series I refer to as Neuro Agile – which is my attempt to find ideas from the world of neuroscience that are applicable to world of software development.

Update Added another link to better represent Kevlin’s point: The Optimism Bias

Categories: Blogs

ScrumMaster Tales – The Story of Production Support

Tue, 10/04/2011 - 21:19

//www.sxc.hu/photo/582114When we left John and the team they were just getting the shipping features ready and were waiting to go live with the site. This turns out to be a blessing and a curse. Its a blessing because the business is making money, a curse because with it come support issues.

John spends some of his time and energy just watching the team and their flow everyday. In the first two sprints after the release the team struggles and fails to meet its planning commitments. At first he’s ok and just says its the inevitable post release hiccups (I don’t agree with John on this one, its not inevitable I think it was a first warning sign – ed), but when its clear that its continuing into the 3rd sprint he starts to get worried. John notices that team members are being interrupted often several times a day. Most of the interruptions are support issues.

During the retrospective John chooses a timeline to help the team remember/discover what happened in the past two weeks. Its worse than even John realized, team members spent most of their time on Production Support. After some more discussion they discovered there were three major classes of issue:

  • Issues where a team member just had to help support understand how to help the customer
  • Issues that required a small code change and could be made by most team team members
  • Issues that required the specialized skills of one or two team members
Analysis

The team can do a number of things:

  • Choose one team member per sprint and they become the first point of contact for support. Some issues they can deal with themselves and others they will have to find help. NB this job should rotate so its never just one person.
  • If there are multiple teams, in any one sprint one team takes the support hit. This is the same strategy as the first at scale.
  • Wait until the days end before interrupting another team member for help on a support issue
  • Monitor the production support issues and track their effects on the teams productivity. Example usually in the days that follow handling a support issue the team is able to complete fewer stories. Remember its not just the cost of fixing the issue that needs to be tracked, but additional costs: deployment, multitasking cost,
  • Based on historical needs acknowledge in planning that there is a tax of 20-30% to be paid for support. This is my least favourite solution because it doesn’t help make the situation better it just increases awareness of it.

No matter what we every time a support issue comes up, do a root cause analysis or use A3 Problem solving to identify the real issue and reduce the number times it hits the team in the future. In addition we have to help the organization see the costs of what is happening, the support calls might be what the organization needs at the moment but needs feedback as to the impact.

Update: One of my readers (Sergey Kotlov) pointed out that in some cases the frequent production support issues are of a database/admin support type and suggest that the team has missed an opportunity to provide support with tools to help. He’s absolutely right, in that case the PO might want to prioritize work to create support tools so the development team can stay focused. Thanks to Sergey for his suggestion.

Image Credit:  Mini Tripé 11 – Leo Cinezi http://www.sxc.hu/photo/582114

Categories: Blogs