25 May, 2021
Sai lầm thông thường của người quản lí dự án
Ngày nay Công nghệ thông tin (CNTT) đang trở nên quan trọng hơn bao giờ. CNTT có thể giúp quản lí và kiểm soát vận hành doanh nghiệp nhưng nó cũng có thể là vấn đề nữa. Khi hệ thống CNTT làm việc, mọi thứ là tốt nhưng khi nó không làm việc, nhiều điều có thể đi sai. Hình dung hệ thống CNTT kiểm soát chế tạo cơ xưởng lớn với hàng nghìn công nhân; nếu nó không làm việc toàn thể việc chế tạo dừng lại với hàng nghìn công nhân không có gì để làm. Không sửa nó nhanh chóng, công ti có thể mất nhiều tiền. Hình dung hệ thống CNTT kiểm soát doanh nghiệp trực tuyến với hàng triệu khách hàng, nếu website sập trong vài ngày, công ti có thể mất hàng triệu đô la v.v. Hình dung hệ thống CNTT kiểm soát sân bay, nếu nó dừng làm việc, mọi máy bay không thể cất cánh hay hạ cánh và hàng nghìn du khách sẽ bị ảnh hưởng.
Hệ thống CNTT bao gồm phần cứng, phần mềm và mạng nhưng phần mấu chốt nhất là phần mềm. Phần cứng và mạng bao giờ cũng được kiểm thử trước khi thiết lập nhưng phần mềm thường xuyên được cập nhật cho nên nó mong manh với lỗi. Để duy trì chất lượng, phần mềm phải được quản lí bởi người quản lí dự án có kĩ năng, người hiểu các qui trình phần mềm và quản lí chất lượng. Theo báo cáo công nghiệp, ngay cả ngày nay nhiều người quản lí vẫn không có kĩ năng quản lí dự án phần mềm. Họ có thể học lớp về quản lí dự án nhưng một tuần nghe bài giảng là KHÔNG đủ, họ thực tế phải làm nó để học. Việc quản lí dự án phần mềm yêu cầu nhiều thực hành, và họ cần thực hành nhiều lần trước khi họ có thể thu được các kĩ năng. Họ sẽ phạm sai lầm nhưng họ cũng sẽ học từ sai lầm, đó là then chốt phân biệt người quản lí dự án hiệu quả với người không hiệu quả.
Chẳng hạn, khi được cho một dự án để quản lí, bao nhiêu người quản lí dự án biết cách hỏi: “Mục tiêu của dự án này là gì? Vật chuyển giao là gì? Cái gì được mong đợi? Ai là người dùng? Ai là khách hàng? Bao nhiêu người quản lí dự án sẽ viết thông tin này vào trong phát biểu dự án và kiểm điểm nó với khách hàng để có được thoả thuận? Bao nhiêu người trong số họ sẽ có khả năng chuyển giao điều họ nói họ sẽ chuyển giao? Sai lầm thông thường của nhiều người quản lí dự án là thay vì lập kế hoạch cho dự án; họ vội vàng bắt đầu dự án bằng việc thuê người và quản lí họ thay vì quản lí dự án. Có khác biệt giữa quản lí con người và quản lí dự án.
Khi được cho một dự án để quản lí, người quản lí dự án phải nhận diện khách hàng và người dùng. Không biết ai là khách hàng và người dùng, họ thường bỏ lỡ cơ hội lấy được yêu cầu đúng. Nếu họ không thể phân biệt được nhu cầu của khách hàng là gì với điều khách hàng muốn trong đặc tả yêu cầu thì họ sẽ không thành công. Một “nhu cầu” là cái gì đó khách hàng phải có để cho họ dùng phần mềm. Một “điều muốn” là cái gì đó có thì tốt khi dự án có thời gian để làm nó. Không nói chuyện với khách hàng và người dùng để trắc nghiệm các yêu cầu và đặt ưu tiên, người quản lí không thể lập kế hoạch cho dự án đúng được. Sai lầm chung nhiều người quản lí dự án phạm phải là chấp nhận đặc tả yêu cầu như nó được viết mà không trắc nghiệm lại và đó là lí do tại sao nhiều dự án thất bại.
Khi được cho một dự án để quản lí, nhiều người quản lí dự án không thể nhận diện được mọi hoạt động mà họ phải làm bởi vì họ không có tri thức về qui trình phần mềm. Nhiều người không biết cách tổ chức các hoạt động dự án theo thứ tự đặc thù hay nhiệm vụ nào phải được thực hiện trước; nhiệm vụ nào có thể được thực hiện song hành và nhiệm vụ nào có thể được thực hiện tuần tự. Không có kinh nghiệm phần mềm, họ không thể ước lượng được chi phí dự án và lịch biểu đúng cho nên sai lầm thông thường mà nhiều người quản lí dự án phạm phải là quản lí dự án dựa trên lịch biểu và chi phí được cho mà không kiểm nghiệm và thương lượng.
Khi được cho một dự án để quản lí, nhiều người quản lí dự án không biết cách nhận diện rủi ro. Nhiều dự án thất bại vì cái gì đó bất ngờ xảy ra vì người quản lí dự án không thể dự đoán được cái gì có thể đi sai và ngăn cản nó khỏi xảy ra. Yêu cầu phần mềm bao giờ cũng thay đổi vì khách hàng đổi ý của họ nhưng phần lớn những người quản lí dự án không biết cách giải quyết với thay đổi. Họ không biết cách phát triển hệ thống quản lí thay đổi. Vì họ không thể kiểm soát được thay đổi, họ cho phép thay đổi kiểm soát họ và đó là lí do tại sao nhiều dự án thất bại.
Nhiều người quản lí dự án không biết cách nhận diện các kĩ năng được cần cho tổ dự án. Họ nhận bất kì người sẵn có nào chỉ để lấp vào vị trí còn trống vì họ vội vàng quản lí con người. Không có kinh nghiệm họ không thể làm cho các thành viên tổ quyết tâm chuyển giao dự án đúng thời gian và trong chi phí. Nhiều người không trao đổi hiệu quả với tổ và động viên họ trong toàn dự án. Phần lớn không biết cách nhận diện đào tạo kĩ năng phụ để cung cấp cho các thành viên trước khi dự án bắt đầu. Họ thường giả định rằng mọi người biết cách làm việc và mọi sự sẽ diễn ra tốt đẹp trong toàn dự án. Không có tri thức và kĩ năng, nhiều thành viên có thể bị thất vọng hay thậm chí bỏ dở và đó là lí do tại sao nhiều dự án thất bại.
Nhiều người quản lí dự án không biết cách phát triển hệ thống giám sát để chỉ ra tiến độ. Họ không thể lập ra được kiểm kiểm soát thích hợp cho dự án. Họ không thể kiểm soát được chi tiêu dự án để giữ nó bên trong chi phí hay giám sát hoạt động đã lập kế hoạch với điều đã xảy ra (được lập kế hoạch so với thực tại) và có hành động sửa chữa thích hợp. Nhiều người quản lí dự án không thể đảm bảo được chất lượng của dự án bằng việc tiến hàng kiểm điểm trước khi thực hiện và có hành động phòng ngừa. Không có kinh nghiệm, nhiều người quản lí không thể kết thúc được dự án một cách đầy đủ mà để việc trì hoãn tiếp diễn và không bao giờ kết thúc. Họ không biết về đóng dự án và đảm bảo rằng tất cả các bài học rút ra từ dự án được chia sẻ trong các thành viên tổ.
Về căn bản việc quản lí dự án phải được dạy sớm trong trường nơi sinh viên học mọi nguyên lí và thực hành trong dự án Capstone nơi họ học cách áp dụng điều họ biết vào thực hành thực tế.
—English version—
The common mistakes of project managers
Today Information Technology (IT) is becoming more important than ever. IT can help managing 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 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 understand software processes and quality management. According to 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 distinguish 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 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 customer must have in order for them to use the software. A “Want” is something nice to have when the project have 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 activities that they must do because they do not have knowledge about 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 managing 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 effective 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 its 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.