Agile Estimating Standards

November 30, 2011

  • Planning poker is recommended for estimating activities
  • Teams will use relative estimating to estimate user story/product backlog itemsNote: Relative estimating refers to estimating a user story by comparing it to another user story or set of user stories.
  • Teams will use the Fibonacci sequence (1, 2, 3, 5, 8 ) as the estimating standard for near-term work (for sprints within current minor release) and 13, 20, 40, and 100 to represent future work
  • All user stories (product backlog items) are estimated using story points

Distributed Scrum models

March 21, 2010

Distributed Scrum models commonly observed in practice.

Isolated Scrums – Teams are isolated across

geographies. In most cases off-shore teams are not cross functional

and may not be using the Scrum process.

Distributed Scrum of Scrums – Scrum teams are

isolated across geographies and integrated by a Scrum of

Scrums that meets regularly across geographies.

Totally Integrated Scrums – Scrum teams are

cross-functional with members distributed across

geographies.

We have been having brainstorming sessions on the following paper.

Distributed Scrum: Agile Project Management with Outsourced Development

Teams By Jeff Sutherland, Ph.D. Anton Viktorov Jack Blount Nikolai Puntikov

Patientkeeper StarSoft Dev. Labs SirsiDynix StarSoft Dev. Labs

Newton, MA, US St. Petersburg, Russia Provo, UT, USA St. Petersburg, Russia

i will blog more information soon…

 

 

Without the fundamental perception of roles and their virtues Scrum does not work!

Agile acknowledges that we’re all human . It summarizes a theme common to all agile methodologies which is the importance of the human factor in the creation of quality software.

We are neither saints nor machines.  We don’t expect someone to be righteous or virtuous in every step of their life.

You can’t play the chess game alone anymore ’cause it’s a team sport now!

We will talk about the above points shortly.

What is SCRUM – Chicken and Pigs ?

Scrum is an iterative, incremental framework for project management and agile software development. Although the word is not an acronym, some companies implementing the process have been known to spell it with capital letters as SCRUM. This may be due to one of Ken Schwaber’s early papers, which capitalized SCRUM in the title.

Although Scrum was intended for management of software development projects, it can be used to run software maintenance teams, or as a general project/program management approach.  http://en.wikipedia.org/wiki/Scrum_(development)

Chicken and Pigs , this fable is commonly referenced to illustrate two types of project members: pigs, who are totally committed to the project and accountable for its outcome, and chickens, who consult on the project and are informed of its progress. By extension, a rooster, or gamecock, can be defined as a person who struts around offering uninformed, unhelpful opinions.

A successful project needs both chickens and pigs (roosters are seen as unproductive). However, given the sacrifice required of being a pig—forswearing other projects and opportunities—they can be difficult to collect. Thus, the construction of a successful project-team must ensure that the project has sufficient “pigs” and that they are empowered to drive the project in return for committing to and taking accountability for it.

The analogy has been criticized for being inappropriate. “Pig” team members are not sacrificed (literally or figuratively) in order to produce the product, and are typically not at financial or other material risk. “Chicken” team members, while perhaps not working on the code directly, are often as critical or more critical to the project than the people directly performing the work, e.g., writing the software. http://en.wikipedia.org/wiki/The_Chicken_and_the_Pig

Manifesto for Agile Software development.

“We are uncovering better ways of developing

software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on

the right, we value the items on the left more.”

Everybody involved really has to understand, what it means to be a pig and a chicken. If one pig starts behaving like a chicken the others have no choice but to gradually follow… we are entering the  The broken window theory. A window gets broken at an apartment building, but no one fixes it. It’s left broken. Then something else gets broken. Maybe it’s an accident, maybe not, but it isn’t fixed either. Graffiti starts to appear. More and more damage accumulates. Very quickly you get an exponential ramp. The whole building decays. Tenants move out. Crime moves in. And you’ve lost the game. It’s all over.

Avatars:

Commitment is the key for success! This is my firm personal belief! Sometimes I wonder if I am wrong … but then I find evidence that others share my belief.

Scrum is one such evidence. Scrum defines pigs and chickens. Pigs are committed, chickens are just involved. But some animals are more equal than others! This is also true for the scrum-pigs: If an unworthy developer-piglet feels that it wants to hatch and chatter like a chicken, this can easily be corrected or overlooked.

But when the mighty boar ( Could be Scrum master) or the grand sow (Could be Product Owner) starts swinging his fictitious wings and moving from pole to pole, then all the little developer-piglets have no choice but to follow!  … jumping out of the allegory …

If any piglet wagging its tiny tail and giving an impression that he is not committed to the project, the other piglets only have two options:  Either he starts committing even more, trying to compensate for the lack of responsibility and commitment of the others. This is usually a very frustrating and sometimes even self-destructive exertion. Or he begins himself not to care. This often a subconscious act of self-protection. But the result is the typical project-setup in Mikado-style (whoever moves, looses) and queen-of-spades-style (pass the blame as fast as possible).

I am more interested in all these avatars. Not because I like to be incarnate into each one of them from time to time . It’s because of the fact that every day you are surrounded by different avatars in a project environment.  Once in a while we all tend to act like one of them. So what’s the big deal?  Here we go..they have the potential to disturb the whole ecosystem. We will talk more about this later. Interestingly you would see lot of other characters such as cow, seagull, fox , bear, lion, rabbit..etc in the blog The Complete Scrum Bestiary by Ade Miller. I am impressed with his views on Scrum Bestiary. These are not the real roles though But Why is this useful? Well, it gives you some clues to watch out for. You might want to consider this as a pocket guide to spot the behavioral patterns in your team and how to address them.

If we had to apply the following virtues and anti-virtues on each avatar to see its impact on the project before someone go for a cull to save remaining herds and habitat.  It’s going to be quite fascinating. I just want to make it clear that i am happy to be a piglet. So I would not go to an extent to apply each quality of each one of the Avatars to understand their role in the universe.

Virtues :

Nonviolence,  Mind and sense control, Tolerance, Hospitality, Compassion , Protection , Respect, Wisdom , Austerity , Celibacy,  Honesty and Cleanliness”.

The above are the most important qualities listed in Hindu Vedic Scripture. Naturally this list, and the priority given to each virtue, will vary from one tradition to another and person to another.  These are personality traits that we consider as ‘being good’.

“Allocating different standards to different people does not contradict the notion of common virtues, but is a means of ensuring that they are obtainable by everyone. Additionally, individuals may express the same values, such as selfless service, in quite different ways.” –  lndriyesha Das

So don’t try to embrace arbitrary sets of values or principles. As a team member , depending on the context, you should choose your own set of human virtues to work towards the success of the team. I believe that virtues and values are described in the Vedic scriptures or by the gurus just as the vehicle which delivers the “human factor” message.

Lets come back from Vedic world to Scrum world.  How do we apply these virtues on our avatars. I am more interested in the following qualities.

Honesty – essential to build legitimate trust within relationships and to avoid self-deception.

Respect – for all living beings and for the sanctity of all life.

How beautiful the world would be if each pig has all the above qualities. I have tried to map these qualities with everything I do in my scrum world.

Here’s a thought, if you were on a dev team of friendly team members, and each of the team members were ‘best buddies’ with whom you’d would be happy hang out with after work, or go to lunch with. With each member having the same level of respect for each person, and everyone being helpful in the group; each person wanting to work to the same goal. This team would enjoy the meeting at 09:15 every day for 15-30 minutes . Hey they’d probably meet during the course of the day as well, and meet up for lunch to talk coding, and the project.

What a dream?

Honesty –  We know that we need to answer three questions during the stand-up meetings: “What did you do since the last stand-up?”, “What are you going to do until the next stand-up?”, “What stops you from being more productive?”.  You should not feel that you are compelled to answer these questions , rather you need to share your answers with other team members. How honest you are with your answers.  Stand-ups are not to solve problems. The goal is to help the team members to communicate and synchronize between themselves as a team. In a ideal scenario each avatar expects to be as honest as possible while sharing the information. Try your best not to fake it since not all pigs have equipped with brutal claws (anti-virtues).

Respect – The bullying, tyranny and despotism is completely unacceptable among the pigs and chickens. Doesn’t matter what the activity is.  I have seen people being slandered, libeled and backstabbed by other people when they try and speak out. Don’t try to protect the people who are possessed by anti-virtues. Talk to them and help them to understand the core scrum values.  Put them off the team if they are not willing to change. Doesn’t matter if they have immense technical qualities and great ability to perform the tasks. The project manager, scrum master or whoever is in-charge of that group needs to step up to curb the pond scum. If you try to protect them you might get succeeded in finishing couple of tasks or sprints by using their capabilities, but you are not realizing that you are missing the golden opportunity to save the project from being ruined.

As a Team

What it takes to be a team ?

So… being a team to me means understanding that this will not happen overnight, we will get into arguments (and solve them ourselves), start figuring out the strengths and weaknesses of each team member (and compensate for that as a team), then finally really get to a point where we can deliver consistently and have fun doing it. You need to respect each other’s differences and have courage to remove the impediments in the teams path which includes resolving conflicts within the team.

Scrum Core Values.

According to Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. (Great book to read) the core values are Commitment, focus, openness, respect and courage.

I have found the following information very clear and concise by Andy, a certified scrum master.

Commitment

  • Be willing to commit to a goal
  • Support & encourage commitment
  • The team has the authority to decide how to do the work it has selected

Focus

  • Do your job
  • Focus all of your efforts and skills on doing the work that you’ve committed to doing
  • Don’t worry about anything else
  • Once you’re focused, all of your time is spent looking for and trying solutions to bring order to the problems

Openness

  • Keep everything about the project visible to everyone
  • Scrum removes the ability to dissemble
  • Responsibilities are clear, authority is allocated, and everything is visible
  • Scrum counters interference; No one is allowed to add work to a Sprint once it is underway
  • It’s better to produce something than it is to pursue many alternatives, please everyone, and produce nothing

Respect

  • Individuals are shaped by their background and their experiences
  • Respect the different people who comprise a team
  • The team adjusts and adapts to meet its commitments for a Sprint:
    (1) Who does what is up to the team
    (2) The team commits as a whole and sinks or swims together
  • Do your best, remember everyone else is doing his/her best, and help your teammates

Courage

  • Have the courage to commit, to act, to be open, and to expect respect
  • It requires courage to act differently; Courage to see find out that the environment will support these values; Courage to be willing to find out that relying on one’s own judgment is acceptable – even admirable
  • Courage is having the guts, the determination, to do the best you can
  • Courage is the stubbornness not to give up, but to figure out how to meet commitment.

These attributes are not easy to attain. It takes time to become a team, and a lot of hard work.

Every member expects to be professional and do their due diligence. You know the ones … Don’t you. they sit in meetings without contributing much beyond an eye roll or exasperated sigh … purposely derail conversations to focus attention on themselves … and attempt to discount or undermine others’ new ideas, approaches, or methods.  How to manage Know-it-alls, negativity thinkers, and change-challenged members of your team. Learn ways to boost declining morale, keep negative emotions at bay.

As I said earlier you can’t play the chess game alone anymore ’cause it’s a team sport now!  Involving every team member in every step of the scrum process  is very critical. For example let’s take a task, WBS (Work break down structure) to the level of assigning the resources to a particular activity or piece of work. If you depend on certain people whom you think that they have every bit of information you needed then you are making a mistake. It’s not necessary that everyone needs to attend every meeting but you need to create an atmosphere or process within the team to attend or participate in any discussing as a team without waiting for the meeting invitation. Remember the one of the basic scrum value, Openness. If you don’t involve the team members they have less to lose as a person but more to lose as a team.

Train or motivate the every team member to handle any tasks within their limits. Encourage and shuffle the people within the team to perform different tasks in each sprint. Don’t try to label them with tags such as front end developer or back end developer. Of course you don’t want to be so dumb in assigning a task of designing a web page to a database administrator or data modeler. Involve everyone..what do we get out it?  Togetherness and increase in sense of responsibility. Work assignment becomes very easy. You would only worry about the stories/tasks in the sprint instead of worrying about finding a person who has done the similar kind of work in earlier sprints. Sprint deliverables should not get delayed just because of one person in the team. It’s against the Scrum principals. Don’t try to assign the tasks to someone just because you like them or they need the work to retain their job. If you are doing that then maybe you shouldn’t be part of team in the first place.

….more to follow

Credits:
http://en.wikipedia.org/wiki/The_Chicken_and_the_Pig
http://en.wikipedia.org/wiki/Scrum_(development)
What’s Wrong With Agile Methods Some Principles and Values to Encourage Quantification Tom Gilb,  http://www.gilb.com/
Scrum Alliance http://www.scrumalliance.org/
Lessons From the Eye of the Storm: Agile Product Management in Practice – Derek Britton
Ignore “Values & Principles”, Focus on Virtues – By Jurgen  writer and speaker
Manifesto for Agile Software Development  http://agilemanifesto.org
How to Manage, Train, and Motivate the Change-Resistant Employee – careen track.
Iskcon http://hinduism.iskcon.com/index.htm

Disclaimer:
The opinions expressed herein are my own personal opinions and do not represent my employer’s view or current client i work for in any way. I have used some information as is or slightly modified from the other sources for educational purpose. If you hold the copyright(s) to any content that can be found here and would like for it to be removed, please contact me and it will be removed immediately.

Follow

Get every new post delivered to your Inbox.