Contrary to popular belief, there is no special trick or secret to successful software project management. Just like any other software-related task, be it development, testing or support, project management requires some knowledge and experience, and a willingness to apply the required effort. So why is it that software project management has gotten such a bad rap? One reason is that project mismanagement gets the brunt of the blame for the many software projects that do indeed fail. Another reason is that often software developers – with little or no preparation – are promoted to managerial roles. While it certainly helps for a software project manager to have a healthy background in software development, the basic skill-sets and aptitudes required for these two tasks are very different.Making the TransitionI come from a software development background and have been doing software project management for a decade now. This transition has not always been easy. Probably the biggest conceptual challenge I had to face was assuming personal responsibility for code written by others – developers that are often less experienced or proficient than I am. My instinctive reaction to this was to try to get directly involve in every aspect of the projects’ development process. I learned to resist this urge because it would have made me a bottleneck and would have practically guarantees that the projects would not be completed on schedule. Also, developers hate to be micromanaged in this way, so it would have created a lot of friction within the team. I learned to trust my team, and in some cases transform it into a team I could trust, and to set up the appropriate checks and balances to identify and correct mistakes early enough in a project’s life-cycle.
Based on my own experience as a manager and the books and articles I’ve read on the subject, as well as the presentations I’ve attended and webcasts I’ve listened to, I’ve come up with a personal “Top Ten” list of tips and suggestions for effective software project management. This list is by no means exhaustive or conclusive – I’ve intentionally kept it short and succinct. It is also no substitute for actual study and experience but it should help get you on your way managing projects. Certainly if you are managing software projects and you are not familiar with all of these items then your processes are lacking.
This is, of course, just the very small tip of a huge iceberg. Lots of software project management books have been written over the years, and I recommend reading several of them (for example these). Hopefully my list will help you out while you are doing that.