Today Information Technology (IT) is becoming more important than ever. IT can help to manage and controlling business operations but it could also be the problem too. When the IT system works, everything is fine but when it does not work, many things can go wrong. Imagine the IT system that controls the manufacturing of a big factory with a thousand workers; if it fails the whole manufacture stops with thousands of workers have nothing to do. Without fixing it quickly, the company may lose a lot of money. Imagine the IT system that controls the online business with millions of customers, if the website crashes for few days, the company may lose millions of dollars etc. Imagine the IT system of the airport control, if it stops working, all airplanes cannot take-off or landing and thousands of travelers will be impacted.
IT system consists of hardware, software, and network but the most critical part is the software. Hardware and network are always tested before installation but software is constantly being updated so it is vulnerable for errors. To maintain quality, software must be managed by skilled project manager who understands software processes and quality management. According to the industry report, even today many managers do not have the skills to manage software projects. They may take a class in project management but a week of listening to a lecture is NOT enough, they must actually do it in order to learn. Software project management requires a lot of practices, and they need to practice many times before they can acquire the skills. They will make mistakes but they will also learn from mistakes and that is the key that distinguishes effective projects managers from ineffective ones.
For example, when given a software project to manage, how many project managers know how to ask: “What are the objectives of this project? What are the deliverables? What is expected? Who are the users? Who are the customers? How many project managers would write this information into a project statement and review it with customers to get an agreement? How many of them would be able to deliver what they say they will deliver? The common mistake of many project managers is instead of planning the project; they hurry to start the project by hiring people and managing them instead of managing the project. There is a difference between managing people and managing a project.
When given a software project to manage, project managers must identify customers and users. Without knowing who the customers and users are, they often miss an opportunity to get the correct requirements. If they cannot distinguish what the customer’s need from what the customer’s want in the requirements specification than they will not be successful. A “Need” is something a customer must have in order for them to use the software. A “Want” is something nice to have when the project has time to do it. Without talking to customers and users to verify requirements and set priority, managers cannot plan the project correctly. The common mistake many project managers make is to accept the requirements specification as it is written without verification and that is why many projects failed.
When given a software project to manage, many project managers cannot identify all the activities that they must do because they do not have knowledge of software processes. Many do not know how to organize project activities in particular order or which tasks should be done first; which tasks can be done concurrently and which can be done in sequence. Without software experience, they cannot estimate project costs and schedules correctly so the common mistake that many project managers make is to manage projects based on the given schedule and costs without validation and negotiation.
When given a software project to manage, many project managers do not know how to identify risks. Many projects failed because something unexpected happens as project managers cannot predict what might go wrong and prevent it from happening. Software requirements are always changing as customers change their minds but most project managers do not know how to deal with changes. They do not know how to develop a change management system. Since they cannot control changes, they allow changes to control them and that is why many projects failed.
Many project managers do not know how to identify the skills needed for the project team. They would take any available person just to fill their open positions as they are in a hurry to manage people. Without experience, they cannot get the team members to commit to deliver the project on time and within costs. Many fail to communicate effectively with the team and motivate them throughout the project. Most do not know how to identify additional skill training to provide to members before the project start. They often assume that people know how to do their job and things will go well throughout the project. Without knowledge and skills, many members may get frustrated or even quit and that is why many projects failed.
Many project managers do not know how to develop a monitoring system to show progress. They could not set up the type of control that is appropriate for the project. They cannot control project-spending to keep it within costs or monitor planned activity to what happened (Planned versus Actual) and take corrective action appropriately. Many project managers cannot ensure the quality of the project by conduct reviews prior to implementation and take preventive actions. Without experience, many managers cannot finish the project completely but let it stay on and never finish. They do not know about project closure and ensure that all of the lessons learn from the project is shared among team members.
Basically, project management must be taught early in school where students learn all the principles and practice in Capstone projects where they learn how to apply what they know into real practice.