Teaching project management principles is as easy as following the text book for a class through the chapters on management. If you have ever taught computer classes, there is something sweet about teaching project management. You are teaching an overall philosophy rather than individual skills. That is unless you are also teaching MS Project or some other PM tool. This article gives you some reasons to teach project management principles during any class on computer software engineering.
The CMIS 460 course text I used at University of Maryland was called Software Engineering Principles by Roger Pressman. Pressman taught the DOD through University of Bainbridge in Connecticut. His book covers the watershed model, spiral model and rapid prototyping. He gives the reader a set of templates to use for documentation of major systems, life cycle phases. This text is the number one reason I used these templates in my work for Maryland State Highways. They are like a good friend to the technical writer and project manager. Everyone knows that good project manager who requires his technical people to better document their systems software and applications. How else will they grow and become project managers themselves? It often seems that I left source code a long time ago in search of a writing career. The fact is that good executives are also effective writers.
The main lure of teaching project management principles is that you are at an abstract level above the source code. You are teaching methods of how to handle source code development and projects with complex processes. You even are teaching how to do basic construction which mostly follows the watershed model. As my Navy class in project management outlined, the construction industry was using watershed models long before the computer industry. The power is that you have a CPM and PERT charts developed to show all the phases of the project, in a linear fashion, on a one page time line. MS Project Software lets you develop your model tasks in a structured environment.
But you don’t just stop there as a good teacher. You can show the rapid prototyping model and how developers can speed up the software requirements refinements process in using this project management model. When a good software developer tells how he came to his requirements this way it is like discovering what the real system source code will be after you get comments from the end user(s). The users drive the process in rapid prototyping. This can also be done in JAD sessions with multiple users so you get more comments and refinements. Your first prototype is your own version of what you think they are looking for but it is never the final version. As many as 5-7 iterations can be developed in Rapid Prototyping. It really takes shape fast (within one month) after the initial design is done and presented to the end users. You have to make sure you are good with people and you show them all the features. Even if they totally trash the first prototype you have still learned something about what they don’t want. I have had this happen several times. You have to design a GUI that will be fresh and interesting, as well as functional,to the end user.
Teaching these basic facts to students can be hard if they have no experience programming. Usually they have to have a programming class before they take a project management course. I would also say they should have developed a few systems of their own. Then they understand why you are using different methods of managing the projects. Graduate school courses seem to focus on the managerial side of the equation. I have had students who were managers and often they wanted to learn the basic details of the job. This would indicate that they understand the project management principles better than the actual source coding of the projects. This is not far fetched. I also find that foreign students pick up on the principles of project management mush faster than native US Students. Maybe we shelter our kids too much but this I do know, my foreign students outperform my US students in grades as well. I think they are more open to the subject matter and they have a wider perspective. I enjoy teaching to both types of students and it is a joy to see the lights turn on when they get the material.