What activities form an integral part of a Team Leader's average workday? (Programming, Task delegation, Reporting, Bug management, etc.)
One of the sacrifices of being a team leader is that you will spend less time each day coding and more time tracking tasks and bugs and making sure things are on track. One of the challenges of a coder who has been moved into a leadership role is learning how to delegate tasks that you would rather do yourself.
Also, depending on the size of the team, you will find it challenging to centralize each task (task management, bug management, etc.) into one specific time of the day. You will probably find yourself jumping from one to another all day. Certain Agile development practices can help alleviate this, for instance a daily SCRUM will allow you to gather everyone's status reports quickly without you having to track everyone down.
What tools/software form a part of a Team Leader's essential toolkit? (MS Project, Excel, TFS, etc.) Note: I have already read What tools are available to a Team leader...
All of these tools have their purpose - the charts and such can be helpful but it all depends on your management style and what kind of information you need. Do you use Gantt charts or burndown charts to manage tasks and project goals? Find a tool that supports your informational leadership approach in the easiest and least intrusive manner. I personally like the SCRUM plugin for TFS but it has its problems. MS Project is nice for some things too but nothing can beat the simplicity and ease of use of an Excel spreadsheet!
What kind of reports does a Team Leader submit to the Project Leader or Manager?
Unfortunately the answer to this question is "whatever reports they ask you for". But common reports that you will most like be asked for will be related to time budgets. Project managers care first and foremost about time budgets and whether or not the project is on time.
What aspects of the initial designing/architecting/engineering the application is a Team Leader expected to be involved in?
This is a really good question because this is a difficult areas for team leaders who love to code. If you love to code I am sure you will want to be a big part of the designing of the project and this may be appropriate for the project you are working on or it may not. You will need to look realistically at several variables:
- The time constraints of the project.
- The ability of other team members to create a good design (do you have an architect on your team?).
- Your personal time constraints, how much time will you have to spend maintaining the project from a leadership perspective.
Are all or most Team Leaders actively involved in Object or Data modeling and designing Product Workflows?
This is similar to the previous question in a lot of ways. It really boils down to the quality of the project and the ability of your team members to do things correctly. Do you trust your team members? A good project almost requires that you do.
What aspects of a Project Manager's job should a Team Leader be involved in... for instance, resource management using Gantt charts?
This is a really good question. My feeling is that the data aggregated by your reports is owned by the team while the reports themselves are owned by you. As each developer tracks their time they are responsible for keeping things up-to-date. Beyond that I believe that the reporting and management of reports for team-encompassing data should be yours. However you should make the reports available to the team and even encourage your teammates to check the reports often so that they have an idea of the project's trajectory. A good teammate should always be aware of how their individual effort effects the final goal.