Building Generalized Specialists

>> Sunday, February 07, 2010

Generalist Vs Specialist The topic of  Generalists Vs Specialists is another eternal debate in the Agile community. Every one in the community has their own opinions.  I too have my personal opinion about this topic. 


Let me start this discussion with a few definitions.

Put it in a simple way,

 


A Specialist is some one who knows a “bit more” about something.

In the context of the software world, this something could be Architecture, User Interface Design, Testing, Coding, Business Analysis, etc


A Generalist is some one who knows a bit about many things


The question arises, should we have specialists in the team or generalists in the team.   Each of these techniques has its own pros and cons as explained in this article.



My opinion is that, every individual is passionate about something. Some times they get to express it and get opportunity to pursue the same, and many won’t get this chance. People pursuing their passion end up becoming true specialists. However at the end of the day, every one in the software company gets a designation whether they like it or not, and end up becoming specialists.

Is there a problem being a specialist ?


Many Agile evangelists say specialists are not good. However what they mean is bottlenecks created due to specialization is not good. Bottleneck arises due to demand and supply issue in the organization/project.

Let me give you an example, most of the software companies (that I have seen so far)  have limited number of  Architects and Database administrators and mostly these roles are shared among various projects. Consider a situation when the Oracle DB admin who is currently been assigned to a new project is at the client site gathering requirements. At the same time, a critical bug was detected in one of the DB modules that he worked on an earlier project and this is a show stopper.  This is a challenging situation right ?  How can we make use of the DB admin in handing this situation as he is the only one available.

Let us review couple of options on hand

 



 Option 1:

Pull the DB admin for a few weeks from his current assignment and reassign him to the defect until it is fixed.  But doing so might make the current client unhappy


 Option 2:After completing the current assignment, go back to earlier project, understand the defect and fix it.  This may not be possible as the defect is critical and needs immediate attention
 Option 3:Split time between the current requirement gathering work and fixing the defect.  It has been proven that  multi tasking reduces efficiency and productivity.      


Situations like the one mentioned above where the specialists have become bottlenecks have made the Agile thought leaders to encourage generalized specialists.

How to build Generalized Specialists ?


image While I coach teams, I observe that if specialists are going to be shared across projects and by this I know that in the future they would end up becoming bottlenecks.In such instances,  I apply what is called “Backup Pattern”. This pattern name is my own invention. While applying this pattern, I start analyzing the skills and passion of various team members and start making each one back up for the other.  This provides an opportunity to have backups(in knowledge and skill) and over a period of time, these backups will be in a position to handle most of the specialists tasks.  However the same backup personnel  would continue to have their own specialization. The team members could volunteer to be backups.

Here is an example of a table showing my backup pattern technique

 



Module Name

Skills/technology      Primary         Backups

Billing

JSP, Java, Hibernate      Rashmi     Rohit, Chandru

Dynamic IP Generation

Java, C++, Tcp/Ip      Jim     Chandru, Rashmi
CMTS configuration WAS, TCP/IP, REST, XML       Chandru      Jim, Rohit


Above technique has helped me in tackling the issues of specialization. This is not a quick fix, and it takes any where from couple of weeks to months to build a generalized team.



Conclusion

Having an extreme form of  all Specialists or Generalists is not healthy for any project.  There should be balance between these two types  and decision to have generalists or specialists should be based on specific context.  

Read more...

Requirements considered harmful

>> Wednesday, January 27, 2010

image Jeff Patton kept talking about usage of the word Requirements considered harmful during recently concluded Agile Bengaluru conference. When you listen to Jeff from his context and examples, you tend to nod your head in agreement.

Requirement Jeff has written a very nice article about the subject and I don’t want to copy/paste the article, and go ahead and read it here.

Read more...

The Rise and Fall of the chaos report

>> Tuesday, January 26, 2010

 Chaos

One of the most popular reports people use to showcase failure of software development is the Standish’s chaos report .

In 1994, Standish reported a shocking 16 percent project success rate, another 53 percent of the projects were challenged,and 31 percent failed outright.  Even though the new reports from Standish show better numbers still they cause a lot of heartburn to software companies and investors.

However recently J. Laurenz Eveleens and Chris Verhoef  have published a paper in IEEE challenging the numbers stated by Standish report.   The major problems in the Standish report seems to be around the way numbers for the Successful and Challenged projects are gathered.   According to Eveleens and Verhoef, these Standish figures are:  

     “misleading, one-sided, pervert the estimation practice,
and result in meaningless figures


The problem seems to be coming from the way the Successful and Challenged projects are defined.  The definition seems to have loop holes due to which many valid projects are not considered leading to wrong result.

 


You can read the entire IEEE report here 

Read more...

Day 2 of Agile Bengaluru 2010

>> Sunday, January 24, 2010

I attended TOC and JIT session . This session was intended to teach Theory of constraints and in turn identify the bottlenecks in projects. I liked the way the session was structured.



This session also included a small hands on workshop where in the participants form small groups and would pick a project to work on. Within each group, the participants would work on identifying the bottleneck and how throughput could be increased by reducing the cycle time.

I also got a chance to listen to Jeff Patton during one of the breaks.

I had a few Aha moments while listening to Jeff. Here are some points which has put me to ponder for the next few days



1. Requirements are considered to be harmful. Read Jeff’s popular whitepaper here to understand why he says so


2. The projects would always lead to failure as long as we have the You and US mentality between the customer and the software development team.



I also got a chance to meet Bas Vodde, imagewho happened to be in Bangalore and just walked in to say hi to Jeff and Dave.

Bas and Craig Larman (my Guru) have written image various books and white papers. I highly recommend the recently released book Scaling Lean and Agile. image

Read more...

Day 1 of Agile Bengaluru 2010

>> Friday, January 22, 2010

Just returned home from the ASCI Agile Bengaluru 2010 session. The event was well planned and organized.

See full size imageThe session started with  David Hussman’s Discovery and Delivery - Redesigning Agility.

I realized that every presentation by Jeff Patton and Dave revolved around discovery and Delivery.

image Next session that I attended was by Jeff Patton. He is a very knowledgeable guy and  I enjoyed his session on User Story mapping. More info about this technique can be found here

 

Here is the gist of the session

Most of the time people relate Features to User stories, which is a big misunderstanding. People with this misunderstanding, and continuing to gather requirements in the name of user stories would end up creating bucket of features list.

One of the key point I learnt from Jeff’s session on User Story mapping was the importance of the good facilitator. During the user story mapping workshop, he was able to gather the stories by asking the right set of questions.

Don’t get bogged down by the formula

 Formula Nowadays it is increasingly becoming popular to follow the user story template 

 

 

 

As a [role], I can [feature] so that [reason]

However, Jeff made it clear that there is no harm in using the above template however don’t get bogged down with this formula. Understand the intent behind the above template and create the stories in your way.

Jeff also touched upon the importance of Personas.

Blogger Labels: Agile,Bengaluru,ASCI,Delivery,presentation,Jeff,Patton,Dave,User,Story,info,technique,Here,gist,Most,Features,People,requirements,bucket,importance,facilitator,workshop,formula,Nowadays,template,role,Understand,Personas

Read more...

An open source Agile Project Management tool - Express

>> Tuesday, January 19, 2010

Came across this new Open Source project management tool called ExpressThis tool seems to be still in beta development.

More details below,

Express is an Agile project management tool. The web application is written using Flex while server-side component is a Spring based Java EE application.

You can download the same from here

Following are some of the screen shots of the application

Backlog management screen

image

Virtual wall

image

Read more...

100 Impediments while implementing Agile methods

>> Monday, January 18, 2010

image Every Agile project has some impediment in one form or the other.

  • It could be the organizational policy like individual appraisals and rating encouraging competition among the team members killing the team unity
  • People related issues, like the command and control Scrum Master not letting the team to make decisions
  • Tools and environment issues like the lack of automation and lack of skills in using tools,etc

We could list out many more...

I came across this article which lists 100 impediments that is constantly seen on Agile projects.

This website classifies various impediments into categories.

Read more...

About This Blog

Lorem Ipsum

  © Blogger templates Palm by Ourblogtemplates.com 2008

Back to TOP