Ngay cả ngày nay số lượng dự án phần mềm thất bại vẫn còn cao. Bằng cách nào đó người quản lí phần mềm liên tục xô vào các dự án mà thậm chí không nghĩ tại sao dự án quá khứ đã thất bại.

Theo một nghiên cứu công nghiệp, đa số người quản lí dự án không nhận được đào tạo thích hợp hay không biết cách lập kế hoạch dự án. Nhiều người quản lí dự án lẫn lộn kế hoạch dự án với lịch biểu dự án. Lịch biểu chỉ là phần nhỏ của kế hoạch dự án; nó thường lấy dạng các nhiệm vụ hoàn thành trong đúng khoảng thời gian. Bản kế hoạch dự án là bản lộ trình cung cấp hướng dẫn về ưu tiên của các hoạt động, phạm vi của công việc, vòng đời, phương pháp và công cụ được dùng. Nó nhận diện khách hàng, người dùng, chiến lược doanh nghiệp, chất lượng, rủi ro, và cách thức theo đó chi phí dự án và con người sẽ được quản lí.

Phần lớn các dự án thất bại do yêu cầu lập kém. Đây là vấn đề số một gây ra thay đổi phạm vi, điều đưa tới nhiều thời gian và ngân sách cần để hoàn thành dự án. Đó là lí do tại sao việc của kĩ sư yêu cầu hay người phân tích doanh nghiệp là quan trọng nhưng ít công ti có vai trò này và ít trường dạy về kĩ năng này. Nhiều công ti mong đợi rằng người quản lí dự án phải có trách nhiệm cho yêu cầu của dự án và đây là sai lầm lớn. Yêu cầu và mối quan hệ khách hàng đòi hỏi kĩ năng khác và nhiều nỗ lực và người quản lí dự án bận rộn không thể quản lí thích hợp dự án và khách hàng cùng lúc được. Đây cũng là chỗ một số sách quản lí dự án không đề cập tới. Yêu cầu kém hay yêu cầu được xác định nghèo nàn sẽ dẫn tới kế hoạch dự án kém. Vì kế hoạch dự án phản ánh công việc, tài nguyên, ngân sách và thời gian cần để thoả mãn các yêu cầu, dễ dàng thấy tầm quan trọng của việc có được yêu cầu và dự án đúng.

Kĩ sư yêu cầu được đào tạo để làm việc với khách hàng và đảm bảo thoả thuận từ mọi khách hàng trước khi lập kế hoạch dự án. Kĩ sư yêu cầu làm việc với khách hàng để thu thập nhu cầu của họ, hiểu vấn đề của họ và làm tài liệu chúng trong bản đặc tả yêu cầu. Khách hàng phải kiểm điểm các tài liệu yêu cầu và chấp thuận trước pha lập kế hoạch dự án. Kĩ sư yêu cầu làm việc với người quản lí dự án để dịch các yêu cầu thành phát biểu phạm vi dự án, cũng như các cấu phần chính mà sẽ thoả mãn cho phạm vi. Có vài phần tử bản chất mà cần được đưa vào trong định nghĩa dự án:

  • Mô tả về vấn đề doanh nghiệp và giải pháp cho vấn đề đó
  • Mô tả về ích lợi của dự án (hoàn cảnh doanh nghiệp)
  • Định nghĩa về viễn kiến, mục đích, phạm vi và ngân sách dự án
  • Danh sách các vật chuyển giao chính mà, khi được chuyển giao cho khách hàng sẽ hoàn toàn thoả mãn các yêu cầu của dự án
  • Ngày chuyển giao được cam kết của dự án

Định nghĩa dự án là phần thứ nhất của việc lập kế hoạch nơi tổ dự án sẽ được tham gia vào việc chia các yêu cầu này thành các cấu phần nhỏ hơn. Cấu trúc phân việc – Work Breakdown Structure (WBS) là nền tảng của kế hoạch dự án. Nó là cấu trúc logic có phân cấp biểu diễn cho mọi công việc cần để tạo ra mọi vật chuyển giao dự án.

Bằng việc dành nhiều nỗ lực vào lúc bắt đầu, dự án có thể tránh được những thay đổi yêu cầu không cần thiết và người quản lí dự án có thể tổ chức dự án có cơ hội tốt hơn cho thành công.

—-English version—-

Early Project work

Even today the numbers of software projects failure are still high. Somehow software managers continue to rush into projects without even thinking why past projects failed. According to an industry research, a majority of project managers do not receive adequate trainings or know how to plan a project. Many project managers confused a project plan with a project schedule. A schedule is only a small part of a project plan; it usually takes the form of tasks complete within a timeline. The project plan is a roadmap providing guidance on the priority of activities, the scope of work, the life cycle, the method and tools to be used. It identifies customers, users, business strategy, quality, risks, and how project costs and people will be managed.

Most projects fail due to bad requirements. This is the number one issue that causes scope change, which leads to more time and budget necessary to complete the project. That is why the job of requirements engineer or business analyst is important but few companies have these roles and few schools teaching this skills. Many companies expect that project manager should be responsible for project requirements and this is a big mistake.  Requirements and customer relationships require a different skills and a lot of efforts and a busy project manager cannot adequately manage the project and the customers at the same time. This is also where some management textbooks failed to address. Bad requirements or poorly defined requirements will lead to a bad project plan. Since the project plan reflects the work, the resources, the budget, and time necessary to satisfy requirements, it is easy to see the importance of getting the right requirements and the project.

A requirements engineer is trained to work with customers and ensure agreement from all customers before project planning. A requirements engineer work with customers to collect their needs, understand their problems and document them in a requirements specification. Customers must review the requirements documents and approve before the planning phase of the project. Requirements engineer work with project manager to translate these requirements into the project scope statement, as well as the major components that will satisfy the scope. There are several essential elements that need to be included in the project definition:

  • A description of the business problem and the solution to that problem
  • A description of the benefits of the project (the business case)
  • A definition of the project vision, goals, scope and budget
  • A list of the major deliverables which, when delivered to customers will completely satisfy the requirements of the project)
  • Project committed delivery dates

The project definition is the first part of project planning where the project team will be involved to breakdown these requirements into smaller components. The Work Breakdown Structure (WBS) is the foundation of the project plan. It is a hierarchical logical structure that represents all the work necessary to produce all the project deliverables.

By spending more efforts in the beginning, the project can avoid unnecessary requirements changes and project managers can organize the project to better chance of success.