Friday, May 02, 2008

Some thoughts on Staffing an Agile Project

The value for an Agile Team is derived from Agile Manifesto which can be summarized as follows:
1. Individuals and interactions
2. Working software
3. Customer Collaboration
4. Responding to change

Creating a good Agile team is essential for the success of an Agile project. The team should follow the above values religiously as they will enforce harmony in the team. The values of derived from agile manifesto can be micro-analyzed on following factors:
1. Humanity: The team members should acknowledge human weaknesses, leverage human strengths, and balance individual and team needs.
2. Economics: The team should strive together to increase the value of the product they are working on without forgetting the time value for money.
3. Mutual benefit: All the decisions and actions should be aimed to benefit every one (the agile team and the client).
4. Self-similarity: When the team finds a thing works well in one context the team should try to use the same experience in another context as well.
5. Improvement: The team members should always strive to improve.
6. Reflection: The team should reflect how and why they are working.
7. Flow: The team should deliver a steady business value by engaging in all activities
8. Opportunity: The team should take the problem as an opportunity for change and learning and not as trouble or show-stopper.
9. Failure: If the team has trouble succeeding, they should not be scared to fail.
10. Quality: The team should involve themselves to always push themselves for higher quality.
11. Baby steps: The team should understand the importance of incremental growth.
12. Accepted responsibility: Theoretically speaking, no task is assigned to the individuals in an agile team. The team members should be proactive and should accept responsibilities.

An agile project team staffing is crucial for smooth execution of the Agile Project. The team members should exhibit the above values even when they do not have experience of working in an Agile environment.
A good team can make or break the success of a project. That makes Agile Project Staffing very crucial. Does this mandate to choose right personalities, so that they can work together in harmony or does it happen naturally?
Model of Group development (1965) suggested by Bruce Tuckman says every team goes through four phases namely:
1. Forming: This is the stage when members knows each other and makes friends. This is the stage where we can see how each member works as individual and responds to pressure.
2. Storming: Though this stage is necessary for growth of them but leads to low motivation and could be destructive. This stage is unpleasant and even painful if the individual is averse to conflict. The tolerance of each individual is different.
3. Norming: This is the stage when team members adjust their behavior to each others as they develop work habit that makes teamwork seem more natural. Team members do this by agreeing to a set of rules, values, professional behavior, shared methods, working tools and even taboos. This is the stage when the team member start trusting each other and the motivation starts increasing.
4. Performing: Some teams will reach performing stage. At this stage the will start working as a team without conflicts and without external supervision and hence setup a high performance team. The team has become interdependent and is highly motivated.
5. Adjourning: This stage involves completing the task and breaking up the team.


Agile Methodology suggest to build team which has people from different backgrounds (different culture, geographical location etc) as they have different thinking patterns. If we talk about personality, different personality type contributes to a successful team. At the same time, the behavior of people with same personality might differ but it forms a base of behavior people feel comfortable with. Awareness of behavior and personality type can help create a favorable team mix.

The agile team should exhibit following behaviors:
1. Willingness and ability to learn
2. Willingness and ability to mentor the team
3. Willingness and ability to be tolerant and patient.
4. Willingness to work in team.
5. Exchanging suggestions amicably.

The success of staffing Agile project by minimizing the time to reach Performing stage. The personality type defines:
1. Motivation: How energy flows in an individual?
2. Information processing capabilities: How an individual takes information?
3. Decision making capabilities: How an individual makes decision?
4. Lifestyle: What kind of lifestyle an individual prefers?


Some methods to analyzing personality type:

1. DISC assessment: DISC is the four quadrant behavioural model based on the work of William Moulton Marston Ph.D. (1893 - 1947) to examine the behaviour of individuals in their environment or within a specific situation. DISC looks at behavioural styles and behavioural preferences


2. Enneagram of personality: Don Riso has defined the Enneagram as "a geometric figure that delineates the nine basic personality types of human nature and their complex interrelationships." While the Enneagram suggests that there are nine basic personality types of human nature, there are, of course, many subtypes and variations within the nine fundamental categories. Nevertheless, the assertion of Enneagram theory is that these nine adequately map out the territory of "personality types." (More information: http://www.enneagraminstitute.com/)


3. Myers-Briggs Type Indicator (MBTI): The Myers-Briggs Type Indicator (MBTI) is a personality questionnaire designed to identify certain psychological differences according to the typological theories of Carl Gustav Jung. The typology model originated by Jung (and further developed by Briggs and Myers) regards personality type as similar to left or right handedness: individuals are either born with, or develop, certain preferred ways of thinking and acting

The norming stage is critical as it’s the stage where the working style, roles, expectations are set.

Finding out the personality type:
The personality type of the candidates can be found out by face to face behavioural interview. The personality types can also be gauged by assigning the team with a team task.

Agile advocates a team with appropriate mix of people of different personality types as people of different personality has different thinking pattern. We know that the basic behavior and personality type of the people can not be changed. It would be advisable to filter out the extreme introverted personality while staffing an agile project. The agile project needs self-motivated, highly energized extroverted individuals. Knowledge of individual’s personality type can help a lot. An appropriate mix will help the project to reach norming and performing stage early.


Final thoughts:
1. Access technical skill of candidates.
2. Shortlist candidates based on their technical skill.
3. Assign the team of selected candidates with a fun activity to access their behaviour.
4. Assign the team with a simulated task and observe how each member behaves in the team.
5. Collect the feedback about the activities.
6. Final selection (based on the project requirements)

Labels: ,


Comments:
Very interesting article. Thanks for putting this up.

My 2 cents:

Bruce Tuckman - Based on my experience Bruce's model is good, but it has a flaw. Teams don't move linearly from one phase to another, they oscillate between the phases. For example your team is in the norming phase and you add a new person to the team. This person can challenge some of the practices the team is doing and the team can actually go back to a storming phase.

One of the things I strongly believe in is, ask the candidate to perform a task that you are hiring them for. For Ex: if I'm hiring a developer, I want them to write some code, I would pair program with them and I would sometimes put them in a meeting or a stand up so see how they react.
For an Office Admin, we actually ask them to find information on some product and try to close a deal with a vendor. All these things matter.

If the person can do their job nicely and give us a Wow effect, it really does not matter if the person knows every single thing they are supposed to know. Its mostly their attitude towards work and life that matters.
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?