As team leader, one of your key responsibilities is assigning work to team members and tracking progress. Reasonable work delegating and effective progress tracking is the key factor to guarantee the accomplishment of software development with quality.
When delegating task, you should take into account team member’s personal interests and capability, as well as project needs. We often pay more attention on project needs and ignore team member’s personal interests. But in most cases, personal interests are the best way to maintain personnel motivation in the long term. In my past, when I was running a team for around two years, I clearly knew who has strong knowledge in which development areas. So intuitively I got used to assign development tasks to team member with best knowledge and experience to try to achieve best possible development efficiency. But one day, when I held a 1:1 performance talking with a member, he told me whether it is possible to give him opportunity to touch on some new area which someone else has spent years on so that he can extend his own knowledge on that part. After I heard that, I immediately reflected on the matter and realized simply pursuing highest team development efficiency probably can work in the short term, but it hurts team member’s ambition as well as team’s long term morale. So since then, at the beginning of each project, I try my best to make a balance between achieving higher short term team efficiency and satisfying team member’s long term development needs.
As for progress tracking, team leader also needs to make balance between tightly tracking and giving team member adequate independent working and thinking space. Too tight track, say, you collect progress report every five minutes, definitely negatively affect team member’s working mood, making members feel you doubt their capability and don’t trust them. This feeling must be about to ruin team work. So you best seek team member’s self commitment first and then regularly ask team member give you concrete evidence to prove their progress. Some software team uses weekly completion percentage which team member report orally or in paper as only evidence to justify the progress. Generally speaking, it can not be adequate. To get true and accurate progress, team leader should resort to find more concrete and verifiable data. E.g. how many unit tests developer has written and how about its function and code coverage and whether all test cases have been passed. In the article of “Road of Agile”, we talked about more effective project tracking methods, but here as a team leader, from people management perspective, you should first have confidence in your team member, and then you should not take that for granted. Calmly and objectively analyzing all progress related data is necessary for you to figure out what is really going on.