Tuesday, January 12, 2016

Understanding the Stages of Team Formation

Of-late teams are my favorite subject of study and understanding different stages of team formation was very helpful to me as an agile coach. It helped me in understanding my team and I was being able to help my team become more effective more quickly. 

Lets discuss what are stages of team formation. As per psychologist Bruce Tuckman, every teams has following stages: Forming, Storming, Norming and Performing.  He published his article in 1965 about development sequence of small team. He used it to describe the path that most teams follow on their way to high performance. Later, he added a fifth stage, "adjourning". 

Lets see how we can use this model to build a highly effective team: 

In this stage, most team members are positive and polite. Some are anxious, as they haven't fully understood what work the team will do. Others are simply excited about the task ahead.
As leader, you play a dominant role at this stage, because team members' roles and responsibilities aren't clear.
This stage can last for some time, as people start to work together, and as they make an effort to get to know their new colleagues.

Next, the team moves into the storming phase, where people start to push against the boundaries established in the forming stage. This is the stage where many teams fail.
Storming often starts where there is a conflict between team members' natural working styles. People may work in different ways for all sorts of reasons but, if differing working styles cause unforeseen problems, they may become frustrated.
Storming can also happen in other situations. For example, team members may challenge your authority, or jockey for position as their roles are clarified. Or, if you haven't defined clearly how the team will work, people may feel overwhelmed by their workload, or they could be uncomfortable with the approach you're using.
Some may question the worth of the team's goal, and they may resist taking on tasks.
Team members who stick with the task at hand may experience stress, particularly as they don't have the support of established processes, or strong relationships with their colleagues.

Gradually, the team moves into the norming stage. This is when people start to resolve their differences, appreciate colleagues' strengths, and respect your authority as a leader.
Now that your team members know one another better, they may socialize together, and they are able to ask one another for help and provide constructive feedback. People develop a stronger commitment to the team goal, and you start to see good progress towards it.
There is often a prolonged overlap between storming and norming, because, as new tasks come up, the team may lapse back into behavior from the storming stage.

The team reaches the performing stage, when hard work leads, without friction, to the achievement of the team's goal. The structures and processes that you have set up support this well.
As leader, you can delegate much of your work, and you can concentrate on developing team members.
It feels easy to be part of the team at this stage, and people who join or leave won't disrupt performance.

Many teams will reach this stage eventually. For example, project teams exist for only a fixed period, and even permanent teams may be disbanded through organizational restructuring.
Team members who like routine, or who have developed close working relationships with colleagues, may find this stage difficult, particularly if their future now looks uncertain.

As a leader our goal is always to help teams reach Performing stage as quickly as possible. Identify the stage your team is in and then slowly move forward towards Performing stage. Based on team's stage adjust your approach and behavior towards your team. Provide enough help during Forming stage, would be my suggestion. During Storming give them structure and try identify their strengths and weaknesses. This stages is usually the hardest. Give them context and autonomy to resolve things on their own but do help if need arise. Once you are over this stage, you should simple step back and your team should take over the responsibility of moving forward. Once Norming stage is over, you should pat your back and go for vacation since your job is mostly done. Last stage happens a lot in all organization, so celebrate before leaving each other and remember. 

"The world is round and the place which may seem like the END may also be the beginning" -Ivy Baker Priest


Sunday, January 10, 2016

Storyboarding/Storymaping/Journeymapping a requirement

"We don't write our stories we draw them." - Walt Disney

I am big believer of being agile but just hated using it as an excuse to be half-assed about requirements and design. Two areas whose mastery has extreme impacts to project success.

It might take little time to create storyboard but we create an understanding on paper then team can make it happen on code. Storyboard can cut off lots of unnecessary work upfront. I want to this blog in value first style, since I completely concur with Simon Sinek and like to start with WHY questions first. Hence lets start with answering our first questions and slowly move forward.

"WHY we should use storyboards?"

Short: Teams are better aligned and confident doing a change or developing a new feature. It helps in building shared understanding in the room.

Long: A picture worth thousand words. Storyboards are extremely useful, when we have a very long narrative to explain. It brings the communication overhead down by multiple notch. It helps in creating a shared understanding where developers can apprehend, what the client or product owner is imagining and why. It is not that a person is right or wrong but with sketches and sticky notes around, we evolve our shared understanding in the room lot quicker which is super-hard with just words alone. It is very easy to make changes and alteration on storyboards vs. on real projects. We can't measure shared understanding but after trying storyboards my teams definitely feel more aligned and confident.

"How we start with storyboards?"
I always like to start with an empty template, like below: There are lots of templates available on google (search world story board template). Or make one, which works best for your team. Choose the one you like.
Start off by visualizing your product or feature. Tell the requirement in the most simplest form before you start building them in most complex form.

Close you eyes and start to think about desired out come.  Who it is for and why are we building it. Think about the tasks a user would perform. Imagine big picture and include pains and joys of user. Write them down on sticky notes and arrange them from left to right flow (also called story telling flow). Try to use verbs to specify tasksWrite phrases in your user language. You must have noticed that each sticky note is a step, and hidden in between each sticky note is the nifty little conjunction phrase, "... and then I ...".  Keep in mind when you are thinking about user using your product. They might have different goals. They may use it in different contexts. This may evolve different types of users or things. Explore other types of users.
Use the goal-level concept to aggregate small tasks or decompose large tasks. Alistair Cockburn uses an altitude metaphor where sea level is in the middle and everything else is either above or below sea level. A sea-level task is one we would expect to complete before intentionally stopping to do something else
So far we got all happy path. Now start to think about ".. what about..". We will get some alternative variation for our storyboard. By now, you should get pretty wide board and little deep if you have explored few tasks. 
Now if you will step back a bit, you will find bunch of stories that seems to go together. Cluster these task which seems to go together to help reach a bigger goal. Put another sticky on top of these tasks and write a short phrase on it that distills all the tasks underneath it. This will help us in identifying high level tasks or activities

To slice out minimum solution that would both delight people and help reach it's goal, Identify minimum set of tasks that would make that outcome possible. Bingo! In short
  • Tasks are short verb phrases that describe what user do.
  • Tasks have different goal levels.
  • Tasks in a map or board are arranged in a left to right narrative flow.
  • The depth of a map or board contains variations of alternative tasks.
  • Tasks are organized by high level activities across the top of the map.
  • Activities form the backbone of the map.
  • You can slice the map to identify the tasks you'll need to reach a specific outcome
Don't forget so far all these are hypothesis so don't forget to add stories for risk and how to measure our hypothesis. Now it's time to develop things which we identified. Focus on risky things. first

In gist building a map helps you see a big picture, to see the forest for the trees. That's one of the biggest benefits of story mapping but if you are the one responsible for building the forest, you make sure to plant one tree at a time. Two most important things which makes them work :
  • Use storytelling with words and pictures to build shared understanding
  • Don't just talk about what to build: talk about who will use it and why so you can minimize output and maximize outcome.
What are storyboarding or storymapping?

"What I was thinking of was the way users sometimes tell stories about the cool new things the software they use does. [ For example,] if I type in the zip code and it automatically fills in the city and state without me having to touch a button. I think that was the example that triggered the idea. If you tell stories about what the software does and generate interest and vision in the listener's mind, then why not tell stories before the software does it?"
                                                                                                                             - Kent Beck
So the idea is telling, and you know you're doing it right if you're generating energy interest and vision in the listener's mind. That's big and it sounds a lot more fun than reading a typical requirements document. But folks who start using stories for software development and who still have a traditional process model in their heads, tend to focus on the writing part and gets frustrated.

If you are not getting together to have rich discussions about your stories, then you are not really using stories correctly in your project. To get that experience sketch your requirement then tell the stories to explain those sketches during discussion capture the facts as acceptance criteria.

There's some evidence that a fact wrapped in a story is much more memorable than the fact presented alone - 22 times more memorable, according to psychologist Jerome Bruner.

Enjoy mapping your stories