Lập kế hoạch dự án phần mềm/2

Một người phát triển phần mềm hỏi tôi: “Sao nhiều dự án phần mềm vẫn thất bại mặc dầu người quản lí dự án đã lập kế hoạch cho chúng cẩn thận rồi?”

Đáp: Có nhiều lí do làm cho dự án phần mềm thất bại và phần lớn phụ thuộc vào kĩ năng của người quản lí dự án. Trong các dự án phi phần mềm, người quản lí lập kế hoạch dự án nhưng trong phần mềm, lập kế hoạch là hoạt động tổ chứ không là hoạt động cá nhân. Đây là quan niệm sai phổ biến trong nhiều chương trình đào tạo nơi mọi người giả định rằng mọi dự án đều như nhau. Nếu bản thân người quản lí lập kế hoạch dự án phần mềm mà không có thành viên tổ nào cùng tham gia thì chỉ người đó mới biết cách công việc phải được thực hiện. Phần mềm là “công việc tri thức” chứ KHÔNG là “công việc vật lí” do đó nó phải được lập kế hoạch khác bởi vì các thành viên tổ không thể nào đoán được cái gì ở trong đầu của người quản lí khi người đó lập kế hoạch dự án.

Một số người tin rằng nếu họ viết mọi thứ vào kế hoạch dự án nó sẽ được thực hiện như cách nó được viết ra. Sự kiện là việc viết ra tốt đến đâu cũng chẳng thành vấn đề, từng thành viên tổ có thể hiểu nó khác đi; và thực hiện của họ có thể không phải là điều người quản lí dự án muốn. Thỉnh thoảng các thành viên tổ có thể bất đồng với bản kế hoạch và thay và đó họ thực hiện theo cách họ nghĩ nó đáng phải thực hiện.

Trong “công việc tri thức”, người quản lí dự án cần nói chuyện, trao đổi các ý tưởng, và thu được sự đồng thuận về mọi thứ với các thành viên tổ. Người quản lí không thể cho chỉ thị, đưa ra chỉ dẫn, và mong đợi người phát triển tuân theo mà không có câu hỏi và thực hiện như chúng được viết ra. Trong phần mềm, các thành viên tổ cần được tham gia vào lập kế hoạch cho các nhiệm vụ mà họ sẽ phải làm. Phần lớn những người phát triển đều là những người có giáo dục cao, họ được đào tạo để làm công việc cả họ và biết cách ra quyết định đúng về điều gì là tốt nhất cho dự án. Đó là lí do tại sao việc tham gia của tổ là quan trọng khi phải đi tới xác định cái gì và làm thế nào họ phải làm mọi thứ. Họ phải có khả năng lên tiếng về ý kiến của họ về mất bao lâu để hoàn thành các nhiệm vụ của họ thay vì được bảo về họ phải làm trong bao lâu.

Trong các dự án phi phần mềm khác, các kế hoạch dự án không thay đổi nhiều cho nên dễ dàng thực hiện tương ứng. Tuy nhiên, dự án phần mềm thường thay đổi và dù bạn lập kế hoạch tốt thế nào cũng không thành vấn đề, không ai có thể dự đoán được tương lai. Bản kế hoạch dự án sẽ không bao giờ phản ánh thực tại bởi vì mọi sự sẽ thay đổi do đó bản kế hoạch dự án phải thay đổi nữa. Nếu bạn bám lấy bản kế hoạch gốc, bạn sẽ thất bại. Đó là lí do tại sao mọi người cứ hỏi tại sao nhiều dự án phần mềm thất bại cho dù họ đã lập kế hoạch cho chúng một cách cẩn thận.

English version

Full article: Planning a software project part 2

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Quản lý dự án
  • Biên tập: Kipkis.com
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.