When you are the team lead of a small or a big development team, you have many responsibilities on the project that you don’t as a developer. You become a key player in ensuring successful delivery of the project. Here are 6 things to keep in mind as a lead.
This is one of the key aspects of your responsibility as a team lead, Visualization of the application architecture. This will help you every time you want to extend the application or accommodate any changes. It will also help you guide the development team in the part of the application (s)he is working on.
On top of everything when the development is in full swing, you will be able to refer your architecture diagram to ensure you are adhering to the software engineering principles you had in mind while creating the architecture.
This is another very vital responsibility that one needs to execute. You will be making sure the overall quality of the codebase is maintained. This can be achieved by doing a few things.
- Code Reviews
- Defining Coding Standards
- Knowledge sharing in the team
As a developer, you are usually tempted to revisit your code and come up with a better design or maybe you want to refactor the code you have written. At times the development team may go overboard with this refactoring and over engineer a solution. As a lead, you have to keep track of the deliverables and the cost the business is incurring. At times a good solution is feasible and, you need to draw the line for the development team keeping the business prospects in mind.
Planning and Process
Being a lead you will be one of the custodians of the process. You will need to ensure that the team is following the process strictly. This will help you stay updated with the current state of the project. At the same time, you can fix ownership and accountability of the project. With a solid execution plan, you can manage expectations from the business well. The lead should spend some time to periodically revisit the roadmap.
As a lead you are involved in two-sided communication. You are presenting the business side of story to the development. At the same time you are presenting the development team’s perspective and challenges to the business. If you can communicate effectively on both the fronts you will be able to ensure smooth execution of the project.
As a lead, you are always in a dilemma whether you should be writing code or you should be mentoring the team and be involved in the planning. The simple answer is YES you should be writing code (a certain Zuckerberg still does). The advantage is that you are always up-to-date with the codebase. You avoid the situation of making uninformed decisions. Also, as a good leader, you should work with the team in trenches. At heart you are still a developer, you will enjoy this part the most and it will refresh your mind.
Follow me on Twitter