High Performance Software Development Teams

High Performance Software Development Teams

Joseph Vargheese PMP CISA CSM

Atlanta GA

Dated: 2012-03-03




Creating a high performance team often comes as a dream to several software development managers and senior management, because they often produce as high as 5 times the output of a normal team.  But it is not easy to put together a high performance team.  This article presents some steps to create and maintain high performance teams.

Accidental exposure

Three times in my 16 years of career, I had opportunity to work or manage high performance teams.  Almost all three times, evolving of these teams was very accidental. I was able to maintain the tempo of team and productivity level. I like to share my experience with these three very different environments.

Small and Nimble

Teams were small and nimble in all three instances with size of 4 or 5.  It make cross communication channels to minimum.

 Visionary Leadership

My first exposure to a high performing team comes from a small company.  I was a team member that time.  My manager was initially an individual high performer then built a small team of high performers. He understood the strength of every team member and proactively guide in the areas team member may face issues. Idea is, not to waste time. He encourage people to help each other even before other member seek for help.  I felt as if he could predict everything going to happen in the team which was always amazing to me. He was a visionary leader.  If we think outside the box, almost all of high performance companies are built by visionaries and so are the teams

 Co-dependent Members

Second exposure was in large insurance company where I was a manager.  I was asked to deliver mission critical project in small time frame and given freedom to pick the team members. Application has components from PC to web to mainframe and data return in the same path. I never looked at individual high performers instead selected performers who work together very well. To my surprise team worked very closely and came up with three different solutions.  Every member of the team was dependent on other’s skillset wherever applicable to speed up the process. We selected two solutions and worked in parallel sharing some of efforts on both solutions.  First solution was a performance disaster and second solution was a huge success.  Application was delivered on time with minimal or no defects. Same team was kept intact for several assignments and every one of them delivered on time.

 Identity and positioning

Imagine that your company wants to build a very high performance team.  You have selected 5 of your high performers and put in one team.  I can almost guarantee that it will be a disaster and high conflict of interest. My reasoning is that every member of the team should find their identity within the team and like to get that respect and positioning from others. It looks as if an invisible hierarchical system is being developed organically within the team and members understand their position within the team.

This is same reason why hiring decision are important to these teams.  Let me explain two of hiring mistakes. I hired highly knowledgeable person (He wrote several books as well) to high performance team and It was a disaster. He could not find the identity within the team.  Another example is of hiring resources with several awards and she also could not find identity within the team as well.

Challenges and common goal

High performers require challenges and recognition of their importance within the team. I have an experience to share here. A company was starting a very important initiative to go to Web visibility of application.  A meeting was called with few of the best minds in the company and I was the project manager in that effort.  Meeting also attended by few senior management folks because of the strategic importance. One of the team member slept in that meeting. After the conclusion of the meeting one of senior manager called me and asked me to officially warn the person slept in that meeting.  I thought that was not the right approach, instead I called resource and challenged him to make this project successful and promised to write great review based on the success and given the freedom to make any decisions.  He did that project successfully and several projects thereafter. He got high visibility within the company which excited him.  He created a self-goal to work as a change agent within company and act as catalyst to bring new ideas to company.  He also excited people around him to have similar goals.


Communication is the key in success of any high performance team.  That is why expected team size is 4-5, which makes smaller number of communication channels. Prompt and two way interactions resolve issues very quickly and make email communication to minimum.


About Joseph Vargheese

One Response to High Performance Software Development Teams

  1. Pingback: Countries and Rates for off-shore software development | josephvargheese

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: