07 Jan, 2021
Đào tạo người quản lý dự án
Ngày nay nhiều dự án phần mềm thất bại bởi vì người quản lí dự án không được huấn luyện, hay họ được huấn luyện bởi những người không có kinh nghiệm quản lí dự án . Sau đây là vài lời khuyên có thể có ích cho bạn.
1) Hiểu tiêu chí thành công của dự án.
Vào lúc bắt đầu dự án, bạn phải hỏi khách hàng họ hiểu thế nào là dự án này thành công. Bạn cần biết tiêu chí nào, như lịch biểu, chi phí, hay chức năng là quan trọng nhất với họ. Một số khách hàng muốn có sản phẩm trên thị trường trước hết để chiếm thị phần, trong trường hợp đó lịch biểu là rất quan trọng. Một số khách hàng muốn sản phẩm chất lượng cao do khối lượng lớn của công việc và tính đúng đắn của công việc vận hành của họ. Trong trường hợp đó chất lượng là quan trọng nhất. Hãy nhớ rằng chính khách hàng mới xác định ra thành công dự án của bạn và bạn phải hỏi họ.
2) Xác định tiêu chí đưa ra sản phẩm.
Ngay từ đầu trong dự án, bạn phải quyết định tiêu chí nào sẽ xác định ra liệu sản phẩm này có sẵn sàng đưa ra cho khách hàng không. Bạn có thể muốn đặt tiêu chí đưa ra là chức năng đặc biệt nào đó phải được cài đặt đầy đủ, số lỗi phải giảm xuống ít hơn hay những chỉ báo khác chứng tỏ rằng dự án đã đạt tới mục đích của nó. Dù bạn chọn tiêu chí nào, nó cũng nên thực tế, đo được và khớp với điều khách hàng muốn.
3) Hãy chân thành.
Đừng hứa hẹn điều bạn không thể thực hiện được. Hãy chân thành với khách hàng và các thành viên tổ và nói cho họ cái gì có thể đạt tới được một cách thực tế. Họ có thể không thích điều bạn đề nghị nhưng bạn cần thuyết phục họ rằng bạn đang cố hết sức để đáp ứng nhu cầu của họ.
4) Lập kế hoạch hoạt động.
Là người quản lí dự án bạn phải viết ra mọi hoạt động cần được thực hiện trong bản kế hoạch dự án. Bạn phải tuân theo qui trình lập kế hoạch để ước lượng phải mất bao nhiêu thời gian, tốn chi phí bao nhiêu, cần bao nhiêu người, đặt ưu tiên thế nào và làm sao thương lượng được với khách hàng v.v. Thời gian bạn dành cho việc xác định cái gì được cần để quản lí dự án sẽ làm giảm số vấn đề bạn phải giải quyết về sau trong dự án
5) Phân rã các yêu cầu thành nhiệm vụ.
Yêu cầu của khách hàng thường là lớn, phức tạp và khó ước lượng cho nên bạn phải chia các yêu cầu này thành nhiều nhiệm vụ nhỏ để giúp cho bạn ước lượng chúng chính xác, và xác định hoạt động nào bạn phải làm và hoạt động nào bạn có thể đã không nghĩ tới.
6) Để thời gian cho huấn luyện
Mọi dự án mới đều là thách thức và mọi thành viên tổ để phải có kĩ năng cần thiết để làm việc. Bạn phải dành thời gian sớm trong dự án để cho các thành viên tổ tham gia vào việc huấn luyện sao cho họ có thể có hiệu quả. Sự hội tụ mấu chốt của huấn luyện là vào việc loại bỏ lỗ hổng giữa kĩ năng hiện thời của từng thành viên tổ và kĩ năng cần để thực hiện công việc dự án. Mặc dầu ngân sách huấn luyện bao giờ cũng bị hạn chế, bạn phải thuyết phục cấp quản lí rằng những kĩ năng này là chủ chốt, nếu không được thực hiện có hiệu quả thì có thể gây nguy cơ cho hiệu năng thành công của dự án.
7) Điều phối tiến độ
Người quản lí dự án phải biết cái gì là điều quan trọng nhất trong dự án và điều phối chúng trên cơ sở hàng ngày hay hàng tuần để đảm bảo rằng chúng đang tiến triển tương ứng.
Bạn phải tự hỏi mình: Dự án đang tiến triển theo lịch như thế nào? Dự án đang tiến triển theo ngân sách thế nào? Loại rủi ro nào đã được nhận diện và làm sao quản lí được chúng? Vấn đề gì mới đã nảy sinh và làm sao quản lí được chúng? Việc trao đổi của dự án với khách hàng như thế nào rồi?
Chất lượng tiến triển như thế nào theo dự án? Các thành viên tổ cần dành bao nhiêu thời gian cho dự án? Bao nhiêu lỗi đã được chữa trong tuần này và tuần tới? Tôi phải dự bao nhiêu cuộc họp?
Như bạn có thể thấy, làm người quản lí dự án bạn phải hỏi những câu hỏi đó bởi vì nếu bạn không có câu trả lời thì mọi sự có thế thoát ra ngoài kiểm soát và bạn không thể khắc phục được nó.
8) Kế hoạch làm lại sau kiểm thử.
Mọi sản phẩm phần mềm đều có lỗi. Sau kiểm thử, bạn sẽ thấy lỗi và bạn phải sửa chúng trước khi chuyển giao cho khách hàng. Loại việc làm lại này (Sửa lỗi) thường không có trong bản kế hoạch dự án gốc của bạn bởi vì bạn không biết mình phạm phải bao nhiêu lỗi ở lúc bắt đầu dự án. Bạn sẽ cần thời gian và người cho loại việc này. Điều này sẽ tác động tới lịch biểu gốc và chi phí gốc của bạn cho nên bạn phải thảo luận điều đó với cả khách hàng và thành viên tổ trong phạm vi lịch biểu chuyển giao và ngân sách.
9) Liên tục cải tiến qui trình.
Thành viên tổ bao giờ cũng bận rộn với công việc dự án của mình nhưng nếu bạn muốn xây dựng phần mềm với ít lỗi hơn, bạn phải đầu tư thời gian cho việc cải tiến qui trình và khử bỏ nguyên nhân của lỗi. Bạn phải để ra một số thời gian trong lịch biểu bận rộn của mình cho việc cải tiến bởi vì những thay đổi này sẽ giúp dự án tiếp của bạn thành công hơn. Đó là lí do tại sao tôi chưa bao giờ phân công cho thành viên tổ của mình cả 100% thời gian của họ để làm việc trên dự án mà để ra khoảng 20% để làm việc cải tiến qui trình.
—-English version—-
Project Manager train
Today many software projects fail because project managers do not receive any training, or the training that they received is not taught by people who have experience managing projects. Following are some advises that you may find useful:
1) Understand project success criteria.
At the beginning of the project, you must ask the customer how they determine whether this project is successful. You need to know which criteria, such as schedule, cost, or functionality, is important to them. Some customers want to have product on the market first to capture the market share, in that case schedule is very important. Some customers want high quality product due to the important of their operation volume and correctness. In that case quality is the most important. Remember that it is the customer who determine your project success and you must ask them.
2) Define product release criteria.
Early in the project, you must decide what criteria will determine whether or not the product is ready for release to the customer. You may want to base release criteria on specific functionality being fully implemented, number of defects has reduced to fewer counts or other indicators that the project has met its goals. Whatever criteria you choose, it should be realistic, measurable, and aligned with what your customers wants.
3) Be Honest.
Do not promise what you can not accomplish. Be honest with customer and team members and tell them what is realistically achievable. They may not like what you proposed but you need to persuade them that you are doing your best to meet their need.
4) Plan activities.
As project manager you must write down every activities needed to be done in the project plan. You must follow a planning process to estimate how long it will take, how much it will cost, how many people you will need, how to set priority and how to negotiate with customer etc. The time you spend in determine what is needed to manage the project will reduce the number of problems that you have to solve later in the project.
5) Decompose requirements into tasks.
Customer requirements are usually large, complex and difficult to estimate so you must break these requirements into multiple small tasks to helps you estimate them accurately, and determine what activities you must do and what activities you may not have thought of otherwise.
6) Set aside time for training
Every new project is a challenge and every team member must have the skills necessary to do work. You must set aside time early in the project for team members to receive training so they can be effective. The key focus of training is on removing the gap between the current skills of each team member and the skills required to perform project works. Although training budget is always limited, you must convince management that these skills are critical, if not performed effectively could jeopardize the successful performance of the project.
7) Monitor progress
Project manager must know what are the important things in a project and monitor them on a daily or weekly basis to ensure that they are progressing accordingly.
You must ask yourself: How is the project progressing against the schedule? How is the project progressing against budget? What kind of risk have been identified and how are they being managed? What new problems have arisen and how are they being managed? How is the project communicating with customers?
How quality is progressing on the project? How much time certain team members are spending on the project? How many defect will be fixed this week and next week? How many meetings that I have to go to?
As you can see, as project manager you must ask those questions because if you do not have the answers then things may get out of control and you can not fix it.
8) Plan for rework after testing.
Every software product has defects. After testing, you will find defects and you have to fix them before deliver to customer. This kind of rework (To fix defects) is usually not in your original project plan because you do not know how many defects you will have at the start of the project. You will need time and people for this kind of work. This will impact on your original schedule and cost so you must discuss that with both customer and team members to extend the delivery schedule and budget.
9) Continuously improving the process.
Team members are always busy with their project works but if you want to build better software with fewer defects, you must invest time to improve the process and eliminate the causes of defects. You must set aside some time from your busy project schedule for improvement because these changes will help your next project be more successful. That is why I never assign my team members 100% of their time to work on project but set aside about 20% to do process improvement.