Người quản lí phần mềm có quan trọng không?

Người quản lí phần mềm có quan trọng không?

Một người tốt nghiệp viết cho tôi: “Em mới bắt đầu việc làm đầu tiên của em trong một công ty phần mềm nhỏ. Người chủ bảo chúng em: “Mọi thứ chúng tôi làm ở đây là viết mã và kiểm thử, chừng nào các anh làm chúng giỏi, các anh sẽ có việc làm ở đây.” Em muốn giải thích cho ông ấy tầm quan trọng của tổ chức công việc như dự án và có người quản lí dự án phần mềm nhưng em không muốn làm ông ấy bực mình. Xin thầy lời khuyên.”

Đáp: Bạn là người mới với việc làm này và chính vị trí của bạn không phải là để nói cho người chủ phải làm gì. Ông ấy có thể có lí do tập trung chỉ vào viết mã và kiểm thử như kinh doanh của ông ấy. Trước khi bạn có quan hệ tốt với ông ấy hay chứng minh giá trị của bạn cho công ti, sẽ là quá sớm mà đi diễn đạt ý kiến của bạn vào lúc này. Bạn cần thời gian để hiểu kinh doanh của công ty trước khi đưa ra bất kì gợi ý nào. Tuy nhiên nếu bạn được hỏi, bạn có thể đưa ra giải thích đơn giản kiểu thế này:

Dự án phần mềm làn nỗ lực để đạt tới một mục đích xác định trong một giới hạn thời gian. Dự án phần mềm cần người để mà việc (thiết kế, viết mã, kiểm thử v.v.) và công ty phải trả tiền cho họ vì công việc của họ. Điều đó có nghĩa là với mọi dự án, công ty phải đặt ra một số tiền để chi cho nỗ lực này. Nếu dự án đem tới nhiều tiền hơn số tiền chi ra, công ty làm ra tiền. Nếu không thế thì công ty mất tiền. Mọi dự án đều có mục đích mà dự án phải đạt tới. Nếu dự án đạt tới nó, dự án là thành công, nếu không thì dự án thất bại. Mọi dự án đều có thời gian nào đó để đạt tới mục đích của nó. Nếu dự án hoàn thành đúng thời gian, dự án là thành công, nếu không công ty phải chi nhiều tiền hơn cho mọi người hoàn thành dự án. Càng mất nhiều thời gian, công ty càng phải chi nhiều tiền và chi phí cao hơn cho dự án. Nếu chi phí dự án cao hơn số tiền công ty có thể kiếm được từ khách hàng, công ty mất tiền.

Để giảm rủi ro của việc mất tiền, công ty cần có ai đó quản lí dự án. Người quản lí dự án lập kế hoạch dự án bằng việc ước lượng bao nhiêu người được cần tới và họ cần bao lâu để hoàn thành dự án. Bằng việc có ước lượng, người quản lí dự án có thể yêu cầu công ty dành ra một số tiền để tiêu vào dự án tương ứng. Người quản lí dự án đảm bảo rằng tổ dự án sẽ đạt tới mục đích trong thời gian và tiền mà bạn được cho phép dùng để cho công ty có thể sinh lời được. Đó là lí do tại sao công việc phần mềm nên được tổ chức như dự án và có người quản lí dự án để đảm bảo thành công thay vì chỉ viết mã và kiểm thử. Không tổ chức công việc như dự án, người chủ công ty không nhìn thấy được tiến bộ và không thể giám sát công việc hiệu quả được.

Là ai đó quản lí nhiều dự án phần mềm và quản lí tổ chức phần mềm lớn, ý kiến của tôi là mọi dự án phần mềm đều phải có người quản lí dự án. Tôi không tin rằng các dự án có thể thành công mà không có ai đó chịu trách nhiệm và đảm nhiệm cho điều được chuyển giao. Tất nhiên, trong cách tiếp cận Agile không có vai trò của người quản lí dự án nhưng có các vai trò của người thầy Scrum, người chủ sản phẩm, người ra quyết định về cái gì cần được làm và đảm bảo tổ vận hành đầy đủ và có hiệu quả. Chính theo nghĩa thường là người quản lí có kinh nghiệm sẽ giảm rủi ro của dự án thất bại. Tại sao đặt kinh doanh của công ty vào rủi ro bằng việc không có vai trò của người quản lí dự án?

Ngày nay phần lớn các dự án phần mềm đang ngày càng lớn hơn và phức tạp hơn. Vì số các hoạt động tăng lên phức tạp hơn, nhu cầu về người quản lí dự án có đủ tư cách trên dự án cũng tăng lên. Người quản lí dự án có kinh nghiệm có thể làm công việc tốt hơn nhiều trong việc quản lí dự án lớn và phức tạp hơn là nhóm những người lập trình chỉ viết mã và kiểm thử. Bên cạnh đó, người quản lí dự án có kinh nghiệm sẽ quản lí hiệu quả hơn mức độ thay đổi tăng lên điều tới cùng các dự án lớn hơn và phức tạp hơn.

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

  • Tác phẩm: Lời khuyên cho sinh viên
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com

Có thể bạn muốn xem