Looking for its best definition, the one that most caught my attention was that the Software Development Manager is “everything else“.
The main concern when considering a Software Development Manager is: Should have more technical skills? Must have a Project Manager profile? The answer may vary depending on the IT organization, size or type of business, but if it’s really technical or manager is rather irrelevant.
Ideally, should combine technical expertise, with planning and resource management, to bring projects to success.
The main difference compared to the Project Manager would be that the Development Manager shouldn’t only ensure to reach the end of the project in a given or estimated time, but also how you get to that endpoint.
There are some practices and tools to use or maybe consider:
Communication: Good communication is essential when carrying teams, when playing with the uncertainty of projects, and also when handling with customer expectation. Must communicate continuously, be transparent, and must be bidirectional: Must know how to receive feedback from both the people from whom it is responsible, and the people that it depends on.
Methodologies: The Development Manager defines what methodologies will allow carrying out the work, and will be who reviews the metrics and analyzes the performance. A common methodology in software development is Scrum. I recommend the implementation of certain practices such as Scrum Meetings.
Planning: Must have some control of the project, and plan together with the Project Manager (if any). But above all should have a clear idea of the project status, and keep the full view of the project. Not control obsessed, better to know how to develop and improve team performance in order to reach the proposed deadlines.
Professional Development: Is responsible for the people to be formed and letting them grow within the company, though that means also letting them leave the company sooner. Should identify potential, interests, and help meet the needs of each individual, as far as possible. And it isn’t always a matter of budget, there are serveral ways to develop talent and creativity of the people without any cost.
Best Practices: Define and implement the set of best practices is also one of its responsibilities. You need to know what works and what doesn’t work, identify gaps and develop strategies to avoid as its impact.
Leader: A development manager holds a leadership position, and the first important thing should be to lead by example. Must be professional and know how to react, with serenity and analytical capacity, in the most adverse situations.
Decisions: Through thick and thin, has the will to decide. Don’t be afraid of making decisions! This is probably the hardest part. It’s very important to have necessary calm to analyze the situation and make the right decisions in times of “crisis”.
At the end, the Software Development Manager is responsible when things go well and bad, is responsible for its people, and also for the achievement of objectives. The proper application of the above points could help on its success.
Will be happy to add or modify any point through your feedback ;-)