10 Mar, 2021
Qui trình lập kế hoạch dự án
Theo báo cáo công nghiệp mới, vấn đề chính trong phát triển phần mềm là việc thiếu kĩ năng quản lí dự án.
Báo cáo này thấy rằng chỉ 28% người quản lí dự án phần mềm nhận được đào tạo đúng. Phần còn lại 72% được đề bạt mà không có đào tạo hay chỉ ít đào tạo. Điều đó có thể là lí do tại sao nhiều dự án phần mềm đã thất bại.
Không có đào tạo đúng, dự án phần mềm thất bại khi cái gì đó xảy ra và người quản lí dự án không biết phải làm gì. Không thu được yêu cầu của khách hàng thích hợp là một yếu tố; không ước lượng được lịch biểu là yếu tố khác. Không biết cách giải quyết với sức ép là yếu tố khác. Thỉnh thoảng, dưới sức ép từ khách hàng để đáp ứng lịch biểu, người quản lí dự án ra lệnh cho tổ bỏ qua kiểm thử và chuyển giao phần mềm không được kiểm thử chỉ để đáp ứng đòi hỏi. Với sản phẩm chất lượng kém, dự án phải sửa mọi lỗi sau khi chuyển giao cho khách hàng và điều đó còn tốn kém hơn nếu chúng được sửa trong quá trình phát triển.
Các công ti phần mềm hiểu rằng có qui trình được xác định tốt là chìa khoá cho chất lượng phần mềm tốt hơn và tránh việc làm lại tốn kém. Chìa khoá cho dự án thành công là ở lập kế hoạch. Có nhiều phương pháp và kĩ thuật để lập kế hoạch dự án phần mềm nhưng nền tảng chính là người quản lí dự án phải tuân theo qui trình được xác định cho lập kế hoạch dự án. Trong các dự án lớn, lập kế hoạch là rất mấu chốt. Người quản lí dự án phải tuân theo một qui trình để xác định viễn kiến và mục đích cho dự án; lập phạm vi của dự án; và chia các yêu cầu thành những nhiệm vụ nhỏ hơn để ước lượng nỗ lực, tài nguyên, chi phí và thời gian. Ngay cả trong các dự án nhỏ, lập kế hoạch cũng quan trọng. Người quản lí dự án phải tuân theo qui trình để tổ chức và ưu tiên hoá các nhiệm vụ cần đưa ra trong từng pha.
Bằng việc tuân theo qui trình, người quản lí dự án sẽ có khả năng lập kế hoạch mọi dự án một cách nhất quán. Nó giúp cho người quản lí dự án tổ chức các hoạt động tương ứng. Chẳng hạn, họ phải làm cho mục đích dự án là đạt tới được bằng việc ưu tiên hoá các công việc được thực hiện trên từng đưa ra để cho tổ có thể duy trì hội tụ vào những điều đặc biệt. Bằng việc đưa khách hàng và người dùng tham gia cùng tổ trong pha sớm của dự án, cùng rủi ro, và ích lợi để cho mọi người có thể hiểu vấn đề trong dự án. Bằng việc chia sẻ thông tin, điều đó thúc đẩy hiểu biết tốt hơn về dự án. Qui trình này cũng giúp cho người quản lí đặt các mục đích ngắn hạn và dài hạn, điều cần được thực hiện bây giờ và điều có thể được thực hiện về sau.
Nhiều người coi qui trình là “hoạt động quan liêu” để làm tài liệu mọi thứ. Đó là quan niệm sai vì họ không hiểu rằng qui trình là cách tổ chức làm việc dựa trên một tập các ưu tiên, một trình tự các sự việc, và bản lộ trình nơi người quản lí dự án có thể giải thích các hoạt động để thực hiện để cho mọi người có thể hiểu được. Qui trình được xác định của dự án đòi hỏi rằng khách hàng, người dùng, và tổ dự án kiểm điểm các yêu cầu và thẩm tra mục tiêu doanh nghiệp của dự án. Nếu cần, nó yêu cầu tổ xây dựng bản mẫu để làm sáng tỏ nhu cầu của khách hàng và giữ cho thành viên tổ trên con đường đúng. Nó yêu cầu dự án có vài cột mốc hành động được nhỏ. Một cách lí tưởng, mỗi cột mốc không quá bốn tuần để đảm bảo tiến bộ được thực hiện. Điều này là mấu chốt cho người dùng, người muốn có những vật chuyển giao ngắn hạn trong thời gian ngắn. Nó cũng cung cấp cơ hội cho khôi phục nhanh hơn nếu dự án bắt đầu lâm vào trục trặc.
Dự án tuân theo qui trình được xác định phải công bố kế hoạch dự án, lịch biểu, cột mốc và phân phối thông tin trạng thái đều đặn theo hầu hết mọi cách có thể truy nhập được. Họ có thể dùng e-mail, tin nhắn, wiki, hay trang dự án trên website để cho nhiều người biết tới tiến độ dự án. Nó cũng tăng cơ hội bắt được vấn đề tiềm năng mà người quản lí dự án có thể bỏ lỡ. Một vấn đề chung thường xảy ra trong lập kế hoạch là khi dự án có hạn chót được lên lịch từ khách hàng mà không hiện thực dựa trên ước lượng dự án. Bằng việc có qui trình tại chỗ với sự kiện và dữ liệu, dễ dàng tiếp xúc với khách hàng để thương lượng về hạn chót đã lập lịch (đổi lịch biểu) hay đòi hỏi công nhân thêm (tăng chi phí) hay giảm chức năng của dự án (đổi phạm vi).
Quản lí rủi ro là phần quan trọng thường bị bỏ qua trong lập kế hoạch dự án. Bằng việc tuân theo một qui trình xác định, người quản lí dự án có thể nhận diện nhiều rủi ro cho dự án và được chuẩn bị nếu cái gì đó xấu xảy ra. Chẳng hạn: Ước lượng thời gian và chi phí là quá lạc quan; xác định không rõ ràng vai trò và trách nhiệm; nhu cầu của khách hàng không được hiểu rõ; khách hàng cứ thêm các yêu cầu mới sau khi dự án đã bắt đầu v.v. Những rủi ro này có thể được dõi vết và giảm nhẹ khi cần.
Ích lợi của việc tuân theo qui trình lập kế hoạch dự án là nhiều. Khách hàng sẽ đánh giá tốt mức độ cao của công việc mà công ti tạo ra cho họ, do vậy đưa tới kinh doanh mới và lợi nhuận nhiều hơn. Bằng việc có qui trình được xác định tốt, điều đó sẽ cho phép cấp quản lí nhìn vào qui trình để cải tiến nó và điều chỉnh nó để thích ứng với thay đổi doanh nghiệp khi công ti tăng trưởng. Ích lợi quan trọng nhất là ở chỗ người quản lí dự án không phải giải quyết cùng vấn đề mà thay vì vậy hội tụ vững chắc vào việc tạo ra chỗ làm việc tốt nhất có thể được.
—-English version—-
Project planning process
According to a new industry report, a major issue in software development is the lack of project management skills. The report found that only 28% of software project managers received proper trainings. The remaining 72% were promoted with no training or only little training. That may be the reason why so many software projects have failed.
Without proper trainings, software projects failed when something happen and project managers do not know what to do. Failure to gather adequate customers’ requirements is one factor; failure to estimate schedule is another factor. Do not know how to deal with pressure is another factor. Sometime, under pressure from customers to meet schedule, project managers order the team to skip testing and deliver the untested software just to meet demand. With poor quality product, the project must fix all defects after deliver to customer and it is more expensive than if they were fixed in the developing process.
Successful software companies understand that having a well-defined process is the key to better software quality and avoiding expensive rework. The key to a successful project is in the planning. There are many methods and techniques for planning a software project but the main foundation is project managers must follow a defined process for planning a project. In large projects, planning is very critical. Project managers must follow a process to define the vision and goals for the project; set the scope of the project; and breakdown requirements into smaller tasks to estimate efforts, resources, costs and time. Even in small projects, planning is also important. Project managers must follow a process to organize and prioritized tasks to be released in each phases.
By following a process, project managers will be able to plan every project consistently. It helps project managers to organize activities accordingly. For example, they should make project goals achievable by prioritizing the works done on each releases so the team can stay focus on specific things. By involving customers and users with the team during the early phase of the project to discuss objective, risks, and benefits so everybody can understand the issues in the project. By sharing information, it promotes a better understanding of the project. This process also help project manager to set short-term goals and long-term goals, what need to be done now and what could be done later.
Many people consider process as “bureaucracy activities” to document things. That is a wrong concept as they do not understand that process is a way to organize works based on a set of priority, a sequence order of things, and a roadmap where project manager can explain activities in the order of execution so that everybody can understand. Project’s defined process demands that customers, users, and project team to review requirements and verify the business objectives of the project. If necessary, it requires the team to build a prototype to clarify customers’ needs and keep the project team on the correct path. It requires the project to have several small actionable milestones (Ideally, about no more than four weeks apart) to ensure progress is made. This is critical for users who want short-term deliverables within a short time. It also provides opportunity for faster recovery if the project starts to get into trouble.
Projects that follow a defined process must publicize the project plan, schedules, milestones and distribute regular status information in the most accessible way possible. They can use e-mail, text messages, wiki, or website project pages so more people are familiar with the project’s progress. It also increases the chances of catching a potential problem that a project manager may have missed. A common problem often happened during planning is when a project has a scheduled deadline from the customer that is not realistic based on the project estimates. By having a process in place with facts and data, it is easier to contact the customer to renegotiate the scheduled deadline (Change schedule) or request additional workers (increased cost) or reduce the functionality of the project (change scope).
Risk management is an important part that often gets ignored during planning. By following a defined process, project managers can identify as many risks to the project and be prepared if something bad happens. For example: Time and cost estimates are too optimistic; unclear definition of roles and responsibilities; Customers’ needs are not well understood; customers keep adding new requirements after the project has started etc. These risks can be tracked and mitigated as necessary.
The benefits of following a project planning processes are numerous. Customers will appreciate the high level of work that the company produces for them, thus leading to new business and more profits. By having a well defined processes, it will allow management to look at the process to improve it and adjust it to accommodate business changes as company grows. The most important benefit is that project managers do not have to solve the same problems but instead focuses on producing the best work possible.