Skills required by a software development team lead

 

    Today’s software development managers have to deal with a range of issues while trying to meet customer expatiations, time lines and the project cost window. What skills do they need to be successful in today’s competitive environment? I am going to paint out three skills I think are critical to successful project development in today’s fast pace environment.

 

    Communications skills, if you do not have them then get them, or just forget about ever being a team lead. In my opinion, this is the single most important skill that is required of a software development team lead. Ask yourself when was the last time you seen that wallflower who does not communicate much lead anything… that is right never! As you can see in Charlie Poole’s post “Three week project turnaround” (Poole, 2010) he had to communicate his ideas to the rest of the team. Poole naturally fell into the “Seven Habits of Highly Successful Communicators”. (Tabares, 2012)

 

    To be a successful communicator you need to know your audience. (Tabares, 2012) That means that you as a software development team lead must use words and analogies that your team can relate to if you are going to get your point across to them. Obviously, you cannot use vocabulary that you would normally use when fishing with your friends to explain what you want done with your team. In addition, you need to be a good listener. (Tabares, 2012) As a team lead, you need to be able to listen to the needs, ideas and problems of your team. A good leister is not critical of others thoughts and dose not dismiss them out of hand.

 

    Successful communicators also must be creditable and be able to back up there claims with facts not opinions. (Tabares, 2012) Creditability is important when establishing a rapport with your team, the team must know that you can be trusted and have their best interests in mind. Creditability can come from many sources like being a previous team member yourself or knowledge of your achievements. The quickest way to damage your creditability is if you make a claim and you do not back it up with facts and it turns out to be false.

 
    Time management, we all complain about not having enough time in the day, week or year. As a team lead, you must not only manage your time but also the time of your team. According to Wikipedia “Time management is the act or process of planning and exercising conscious control over the amount of time spent on specific activities, especially to increase effectiveness, efficiency or productivity.” (wikipedia, 2012) Your team can only complete a finite amount of work in a specified period. You have to maximize the effectiveness of their work and use their time by focusing them on priorities. Then follow up by reducing the amount of time spent on non-priorities. Poole said that he made sure that all the tasks he wanted completed had to be done in a normal workweek with no overtime to keep his team sharp. (Poole, 2010) As you can see, he demonstrated time management skills not only in prioritizing effort but also in maintaining effectiveness in a constrained window of time. In short, time management is boiled down to these principles “Create an effective environment, Set priorities and goals, Implement goals and Elimination of non-priorities” (wikipedia, 2012)

 

    Lastly, a software development team lead must have sense of mission, direction of vision and goals. These go hand in hand with each other and one must know why they are there, where they are going, and how they are measuring progress. Sense of mission, as a team lead you must know why your organization exists. (Javitch, 2009) As a software developer, provide your team members with a mission statement as to why they are there. A mission statement can be as simple as “We are here to produce the best software ever”. The team lead must make sure the team members understand the mission statement and embody it.

 

    Team leads need to provide direction of vision. According to Dr. Javitch, a team lead must show “Where do you want your team to go? A vision needs to be abstract enough to encourage people to imagine it but concrete enough for followers to see it, understand it and be willing to climb onboard to fulfill it.” (Javitch, 2009) As a team lead what do you want to see done in 6 months to a year out and what do you want the final product to look like. Then communicate your vision to your team members so they can shear your vision.

 

    Lastly set goals, as a team lead you need a measure of your progress. Poole did this by implementing “Small Releases”. (Poole, 2010) In example, the goal is not to finish the software project but per say to finish a more immediate task like completing the user access controls. These goals are short-term achievable tasks that provide the team with a sense of accomplishment and provide a measuring stick for the overall project development. Setting goals for the team is critical in keeping productivity up and projects on time.

 

    As you can see, the three most important skills needed by a software development team lead can also be useful in any line of work. Communications skills, Time management and the ability to provide a sense of mission, direction of vision and goals are skills needed by any effective leader. Do not sale yourself short as a software development team lead, you are a leader.

 

Works Cited

Javitch, D. D. (2009, Dec 9). 10 Characteristics of Superior Leaders. Retrieved Oct 30, 2012, from www.entrepreneur.com: http://www.entrepreneur.com/article/204248

Poole, C. (2010, May 6). Three Week Project Turnaround. Retrieved Oct 30, 2012, from c2.com: http://c2.com/cgi/wiki?ThreeWeekProjectTurnaround

Tabares, J. (2012, Oct 30). 7 Habits of Highly Successful Communicators. Retrieved Oct 30, 2012, from artofeloquence.com: http://artofeloquence.com/articles/7-habits/

wikipedia. (2012, Oct 30). Time_management. Retrieved Oct 30, 2012, from wikipedia.org: http://en.wikipedia.org/wiki/Time_management

 

Share

Comments are closed.