So, you want to be a project manager?
Welcome to the current cadre of Software Project Managers! Given that this course is significantly different from other CSE classes, we wanted to give you all an idea of what you’re in for…
It’s Not All About Technology
Most of your classes in CSE have been focused on technology (go figure!) and the problems that you are solving are ones that have deterministic solutions. The exciting (and possibly terrifying) domain of the project manager is the team that is executing the project. You will discover that human APIs are far less reliable than even Microsoft. In the course of this experience, you will have to communicate regularly, persuasively, decisively, to other human beings. If this is not an exciting prospect for you, then project management may not be a subject you want to pursue :-).
It’s Not Black And White
Given the human factor, this is a subjective course in many ways. Management is not an exact science; it is a set of strategies rather than solutions. You will be introduced to the exciting experience of being accountable for something you have no direct control over! We’ll explore processes that increase the probability of successful outcomes, but each team and each project will present different challenges and opportunities.
No Touching!
One of the hardest parts of being a project manager if you yourself are a strong programmer is watching your team struggle, or march stubbornly into a bad design, when you know you could step in and do it for them. You cannot! In the real world (and probably in this one as well) you won’t have the time to do the team’s work for them. They also won’t grow as developers if you do. You’re there to advise, praise, cajole, suggest, implore, and provide stern warnings. You’re not there to code.
Wait, Wait, What About Grades?
Given that the material is subjective, how do you get your coveted A? The answer is by following “the process”. You will be responsible for setting expectations and following a set schedule to meet with your team, for documenting each meeting in detail, and for keeping them accountable to their schedules and product vision and process. This will include elements like code reviews, MVP determination, backlog review and planning, source code control review, testing and feedback, and other items depending on the unique challenges your team presents (see above). Failure to attend even one scheduled meeting with your team without prior notice and authorization will result in you failing the course. You also need to show up to lecture. All the time. Whatever you just asked in your head, the answer is yes, then too. The rest of your assessment is based on how well you follow and document the process, justify the team’s results (or lack thereof) and show that you have provided appropriate guidance. If the team doesn’t listen to your excellent advice, that’s not your problem. If you don’t document that you gave them said excellent advice, it is your problem.
Still sound like a good idea?
Really? I mean, Fantastic! I’m looking forward to working with all of you, as we build out critical soft skills, and make the teams you manage stronger and more productive.