Professional Documents
Culture Documents
Chapter 4 Teams
Chapter 4 Teams
NHÓM 5 :
B20DCCN664 - TRẦN THANH THẾ
B20DCCN197 - HOÀNG MINH ĐỨC
B20DCCN717 - PHẠM NGỌC UYN
Mục tiêu học tập
• Tổ chức đội
• Cách tiếp cận nhóm dân chủ
• Cách tiếp cận nhóm lập trình viên trưởng cổ điển
4.1 Team Organization
Hầu hết các sản phẩm đều quá lớn để được hoàn thành bởi một chuyên
gia phần mềm duy nhất trong ràng buộc thời gian nhất định.
Do đó, sản phẩm phải được giao cho một nhóm chuyên gia
Tương tự, nhiệm vụ thiết kế có thể được chia sẻ giữa các thành viên của
nhóm thiết kế.chuyên gia
4.1 Team Organization
Giả sử : Có một sản phẩm được viết mã trong vòng 3 tháng, mặc dù có liên
quan đến 1 người-năm viết mã
Giải Pháp: Nếu một lập trình viên có thể viết mã sản phẩm trong 1 năm, bốn
lập trình viên có thể làm việc đó trong 3 tháng.
Vô lí:
- Bốn lập trình viên chắc sẽ mất gần một năm
- Chất lượng của sản phẩm thường thấp hơn
Chia sẻ nhiệm vụ
Một số nhiệm vụ có thể được chia sẻ, nhưng những nhiệm vụ khác phải được
thực hiện riêng lẻ
Ví dụ:
-Nếu một người nông dân có thể hái một ruộng dâu trong 10 ngày, thì mười
người nông dân có thể hái cùng một ruộng dâu trong 1 ngày
-Một con voi có thể sinh ra một con voi con trong 22 tháng, nhưng 22 con voi
không thể sinh ra con bê đó trong 1 tháng
Chia sẻ nhiệm vụ
-Không giống như sản xuất voi, có thể chia sẻ các nhiệm vụ thực hiện giữa
các thành viên trong nhóm bằng cách phân phối mã hóa giữa các thành viên
trong nhóm.
- Không giống như hái dâu ở chỗ các thành viên trong nhóm phải tương tác
với nhau một cách có ý nghĩa và hiệu quả
Tổ chức nhóm lập trình
Ví dụ: Ba kênh giao tiếp tồn tại giữa ba chuyên gia phần mềm làm việc trong
dự án. Bây giờ, giả sử rằng công việc đang bị trượt, thời hạn đang đến rất
nhanh và nhiệm vụ gần như chưa hoàn thành.
-Giải pháp :
+thêm chuyên gia thứ tư vào đội.
-Vấn đề xảy ra: khi chuyên gia thứ tư tham gia nhóm là ba người còn lại giải
thích chi tiết những gì đã hoàn thành cho đến nay và những gì vẫn chưa hoàn
thành
( Nguyên tắc này được gọi là Định luật Brooks)
Tổ chức đội
-Trong một tổ chức lớn, các nhóm được sử dụng trong mọi quy trình sản xuất
phần mềm, nhưng đặc biệt là khi quy trình triển khai được thực hiện; trong
quy trình làm việc đó, các lập trình viên làm việc độc lập trên các tạo phẩm
mã riêng biệt.
-Weinberg chỉ ra rằng các lập trình viên có thể rất gắn bó với mã của họ.
-họ thậm chí còn đặt tên cho các mô-đun của mình theo tên của chính họ: Do
đó, họ xem các mô-đun của mình như một phần mở rộng của chính họ.
Phương pháp tiếp cận nhóm dân chủ
-Nếu một lập trình viên xem một mô-đun như một phần mở rộng của
cái tôi của anh ấy/cô ấy, anh ấy/cô ấy sẽ không cố gắng tìm ra
tất cả các lỗi trong mã “của anh ấy”/ “cô ấy”
+Điểm mạnh của phương pháp tiếp cận nhóm dân chủ
-Các nhóm dân chủ có năng suất rất cao
-Họ làm việc tốt nhất khi vấn đề khó
-Họ hoạt động tốt trong môi trường nghiên cứu
+ Vấn đề:
- Các đội dân chủ phải tự phát lên
4.3 Phương pháp tiếp cận nhóm lập trình viên trưởng cổ
+
điển
-Xem xét một nhóm 6 người
-Sáu lập trình viên, nhưng giờ chỉ còn 5 dòng liên lạc
Trưởng nhóm lập trình viên cổ điển (tiếp theo)
+
-Ý tưởng : Chủ thầu xây dựng chỉ đạo hành động của tất cả
các thành viên khác trong nhóm :
+Người giám sát thi công
+Người giám sát vật liệu xây dựng
+ Người giám sát nhiệm thu
+ Và những người giám sát các khía cạnh khác
• Người quản lý thành công và lập trình viên có tay nghề cao
• Có thiết kế kiến trúc không
• Phân bổ mã hóa giữa các thành viên trong nhóm
• Viết các phần quan trọng (hoặc phức tạp) của mã
• Xử lý tất cả các vấn đề về giao diện
• Nhận xét công việc của các thành viên khác trong nhóm
• Chịu trách nhiệm cá nhân cho từng dòng mã
Trưởng nhóm lập trình viên cổ điển (tiếp theo)
Lập trình viên dự phòng
+