Tag archive

agile requirements

Problem Solved: Formula to figure out How Much Detail is Required with Agile Requirements

in Agile/Humor by
WARNING: Shameless plug for my session at Agile2014 ahead.

I recently got the priviledge to listen to Alistair Cockburn talk to a small group at the VersionOne offices. He told the story about Kent Beck and how the idea of how the user story on notecards was born (I’ve read about this before, but it was great hearing it from Alistair). He talked about how the card was just that — a card with a title that reminded the developer and the target customer/user what they were building, maybe there were a few notes jotted down on the card. The narrative about the story wasn’t captured on the card — the details were verbally communicated because the developer and customer were all in close proximity of one another — they did this crazy thing, they simply walked down the hallway and talked.

In addition to this story, Alistair spoke about his experiences with a team that had development in Singapore and the business folks and architecture worked in the states. The company was having challenges with the team in Singapore at getting things done efficiently and, in some cases, getting things done right. It seemed like there was an inordinate amount of time that had to be spent on discussing requirements and getting questions worked out. The company decided to send some of the business and architect team members to Singapore to work out some improvements. When they did — the quality and productivity went up. When they returned, it took just a couple weeks before productivity slipped and all gains were lost. The reason for these results seems obvious — timezones, communication barriers, and not being able to have impromptu conversations can have a great impact on how well teams understand the requirements especially since a lot of conversations capture the specifics.

Hearing these two stories triggered some ideas in my head, and I thought — why can’t there be a simple formula we can use to gauge the amount of detail (words) we capture in a story to make it work. Through some hard work — I’ve now have that formula.

Here are some factors that I think go into figuring this out:

  • Complexity – just how well does the team understand the story and how hard the team thinks it will be, either from experience or flat out guessing. Usually captured as story points.
  • Difference in Timezones – the number of hours that separate us greatly impacts how fast communications can happen, especially if the communications occur near the bookend points of the day.
  • Auditing Requirements – audits are generally costly and require an additional amount of documentation overhead.
  • Multiple Offices – when people are in different buildings, it raises the amount of details that have to be captured.
  • Offices on Different Continents – although this somewhat relates to timezones, there is also the fact that people speak different languages. Even if they all agree to use english as the primary business language, there’s still slang, accents, and even cultural differences that impact communications.

How Long the Team has Worked Together – knowing each other is key, we figure out accents, we are able to exchange less verbal words, and we learn how to work with one another — what level of information is required to work effectively as a team.

So I reached out to some friends and the folks at Tagri Tech, and with their help — here’s the formula we came up with:

Amount of Words in Story = (Complexity * (1+ max absolute difference between timezones) * (1 + # of annual audits) * (Total # of locations * # of continents)) / (# of quarters the team has worked together)

And here’s the formula in action:

Documentation Formula

Multiple simulations have been ran and I found that the formula works in less than 0.01% of the situations. The people I’ve been working with at Tagri Tech’s statistics analysis department have ascertained that every team is different, and every product is different — this means that no matter how much documentation you have — the people involved in creating the documentation or the target consumer of the documentation really are not going to read it. They found that while some documentation like compliance reporting and end user documentation are necessary, much of the collaboration level docs are only consumed by the person that created it.

Ultimately, Teams will generally work together to figure out how much details are truly required to facilitate working effectively. If your teams are having challenges with how much documentation is required within Agile Software Development projects, then please come to Agile 2014 and check out my session on Friday at 9AM in the Sanibel room, we’ll talk about some ways teams can workout their own formula.

Twelve Awesome Interactive Facilitation Techniques for Agile Teams

in Agile/Agile Engineering/Product Management/Project Management by

If you work with a team, and possibly, you are the Scrum Master or Lead or Product Owner, or just a Team Member trying to guide a conversation — then these interactive facilitation techniques are for you. But before we move on, let’s first get it out there that we may call these “Interactive Facilitation Techniques”, but they are really games. More specifically, games that help us at work. Using games — I mean interactive facilitation techniques — help us to effectively and easily facilitate discussions. Using these games to helps to drive good team behaviors (Blunt 1993) including cooperation, clarifying, inspiring, risk taking, harmonizing, and process checking. All the while, helping to overcome the destructive team behaviors of dominating, rushing, withdrawing, digressing, discounting, and blocking. That all being said, let’s get to it. The following list of games are those that I’ve personally used with teams that I see work really well and are easy to adapt. I’ve taken the liberty to group them by the team meetings where they make the most sense; however, as I previously said — they are easy to adapt and can be used for almost any activity.

General Brainstorming

Affinity Mapping – An oldie, but a goodie — this great way to collect, organize, and rationalize ideas — even large amounts of ideas. I’ve used this to help understand the objectives of meeting attendees and get everyone on the some page. Here’s a great a time-lapse video of a team using Affinity mapping to sort 500 pieces of customer feedback…

Dot Voting – Dot voting is a simple way to get a group of people to form consensus. This technique let’s everyone have a voice and it’s a quick and easy way to rank things. By the way, here’s a cool and FREE tool to do this with distributed teams … http://www.dotvoting.org

Pre-mortem – First off, let’s remember that words mean things and mortem is related to death. So I equate doing a pre-mortem to death planning including making your bucket list, understanding what things you should do to be health, and things to do to stay safe. The pre-mortem is a great risk management technique.

Discovery

Product BoxProduct Box – Also known as Vision Box, this is a great way to discover what customers think, a way to uncover expectations, and ultimately share – or gain a shared understanding of the product or project or release. I find the product box to be a great exercise for Release Planning and project chartering.

My Worst Nightmare – This is a great way to get into heads of the team and learn from their experiences, anxieties, and expectations. An easy way to express yourself, you use pictures. They say a picture is worth a thousand words and it’s true. I use this exercise to prime the pump on understanding objectives.

Spider Web – Another game from Innovation Games, Spider Web is a form of context diagramming, but it’s no the run-of-the-mill context diagramming. First, everyone get’s to draw, second — use pictures, and finally, no rules — lines can go from one item to another. You’ll find this a great game to understand information flows between people, systems, and organizations.

Requirements

Staple Yourself to Something – Have you ever found that getting started is the hardest thing to do? Well, this is the perfect game for you. This game involves mapping out processes, it helps to quickly get everyone on the same page as to how something should work. It helps with knowledge exchange, establishing process flow, and establishing a shared understanding.

Empathy Mapping – Establishing personas is a key activity at helping to understand our customers or the users of the systems we are building. This technique is a fast-and-easy way to do understand our users as a team. Even if you already understand your personas, let the team do this exercise and see what they discover.

Buy a Feature – Have you’ve ever been frustrated with stakeholders not being able to make prioritization decisions? Buy a Feature is an awesome way to help drive the discussions around prioritization. You may not land on the final ranking, but you will gain some awesome insight into what is important and where people are willing to negotiate.

White Elephant Sizing – This is the only way to estimate stories. Okay, not the only way, but it’s a good way. This game is a spin on the White Elephant gift exchange we do after the holidays. The values of this game are conversations and shared experiences of all the players. If you want to find a fast way to estimate, try this.

Retrospectives

SailboatSailboat and 4Ls – I’ve talked about both of these games before, and I play them regularly to help evaluate coaching sessions. I encourage folks to mix it up all the time with regards to retrospectives, and these two games are great ways to do it.

Learning Matrix – This one is from Diana Larson and Esther Derby’s Agile Retrospectives book. What I really like about it is that you find things to improve upon based on looking at what you are doing right. You review where things are going well and look at how applying what you are doing well to this things that are going wrong.

Check out the AgileBacon links page for sites that are all about Games that Work.

Go to Top