Qui trình phần mềm/2

Tôi nhận được một email mà người gửi hỏi: “Khác biệt giữa qui trình phần mềm và qui trình được xác định là gì? Khác biệt giữ qui trình được xác định và qui trình cá nhân là gì?”

Theo định nghĩa, “Qui trình phần mềm” là trình tự các bước mà người kĩ sư phần mềm PHẢI TUÂN THEO để làm công việc của mình (cái gì và cái gì tiếp) nhưng KHÔNG xác định cách làm nó. Chẳng hạn bạn phải thiết kế trước viết mã và viết mã trước kiểm thử. Nó KHÔNG cho bạn biết cách thiết kế hay cách viết mã.

“Qui trình được xác định” là trình tự các bước đã được làm tài liệu ĐƯỢC YÊU CẦU bởi một công ti trong thực hiện một việc làm. Chẳng hạn công ti yêu cầu mọi người phần mềm phải tuân theo vòng đời thác đổ và mọi kĩ sư phải bắt đầu dự án bằng yêu cầu trước khi thiết kế và thiết kế trước viết mã v.v. Nếu bạn bỏ qua trình tự này và bắt đầu với viết mã thì bạn vi phạm qui trình được xác định của công ti. Qui trình được xác định cung cấp cho kĩ sư phần mềm trình tự các bước cho mọi công việc mà người phần mềm phải tuân theo như lập kế hoạch, theo dõi, và quản lí mọi công việc phần mềm một cách đúng đắn và đầy đủ. Bằng việc tuân theo qui trình được xác định, người kĩ sư phần mềm biết cái gì cần làm và cái gì cần làm tiếp đó. Người kĩ sư phần mềm cũng có thể đo công việc của mình, theo dõi tiến độ của mình theo mục đích dự án để chắc chắn rằng người đó đang làm nó tương ứng với người khác trong dự án nên họ có thể phối hợp công việc của mình để tạo ra sản phẩm phần mềm tương ứng.

“Qui trình cá nhân” là trình tự được CHI TIẾT HOÁ các bước hướng dẫn cho người kĩ sư phần mềm làm công việc RIÊNG của người đó. Nó thường dựa trên qui trình đã được thiết lập như Qui trình được xác định nhưng được SỬA ĐỔI tương ứng với kinh nghiệm cá nhân riêng của người đó. Qui trình cá nhân cung cấp cho các cá nhân khuôn khổ để cải tiến công việc của họ và để nhất quán làm công việc chất lượng cao. Người kĩ sư phần mềm TẠO RA qui trình chi tiết RIÊNG CỦA MÌNH dựa trên dữ liệu người đó thu thập (đo) và làm điều chỉnh tương ứng. Đây là cách RIÊNG của người đó tuân theo “Qui trình được xác định”. Chẳng hạn nếu người đó đi theo qui trình phần mềm cá nhân riêng của mình và thấy nó tạo ra nhiều lỗi hơn thì người đó phải thay đổi nó cho tới khi nó cho người đó sản phẩm chất lượng tốt hơn.

English version: Software process

I receive an email where the sender asked: “What is the difference between a software process and a defined process? What is the difference between a defined process and a personal process?”

Full article: Software process 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.