Một số thông tin cơ bản
Tôi là thành viên của nhóm phát triển phần mềm nội bộ. Nó bao gồm
- 5 nhà phát triển (có kinh nghiệm từ 2 đến 5 năm, tôi là một trong số họ)
- 3 nhân viên triển khai (họ thực hiện triển khai và đào tạo phần mềm)
- và 1 quản lý dự án.
Chúng tôi phát triển nhiều dự án vừa và nhỏ, và các mốc thời gian của chúng thường chồng chéo lên nhau. Sự phát triển diễn ra như sau:
- "Khách hàng" cung cấp cho chúng tôi một loạt các yêu cầu ban đầu
- Chúng tôi phát triển hệ thống để nói đặc điểm kỹ thuật
- Hiện tại hệ thống cho "khách hàng"
- "Khách hàng" cung cấp cho chúng tôi các yêu cầu bổ sung dựa trên bản trình bày đã nói
- Lặp lại 2-4 cho đến khi "máy khách" hết yêu cầu mới hoặc ngày mục tiêu triển khai đã hết
- Thiết lập và triển khai hệ thống
Điều này, cùng với thực tế là "khách hàng" xử lý thời hạn hầu hết thời gian (là cờ đỏ, từ những gì tôi thấy ở đây trong Lập trình viên và PM.SE) và chúng tôi không tuân theo một phương pháp phát triển nhất định đến mã hóa cao bồi, mã đêm không thể nhầm lẫn và các lỗi xảy ra trong quá trình sản xuất, trong số những thứ khác. Đó là lý do tại sao chúng tôi chọn áp dụng phương pháp dựa trên Agile như Scrum.
Tại sao Scrum?
Đó là sáng kiến của người quản lý của chúng tôi và mọi người dường như đồng ý với nó, với tình hình hiện tại của chúng tôi.
Vấn đề với Scrum
Một số yếu tố của Scrum có xung đột với thiết lập hiện tại của chúng tôi mà chúng tôi không thể dễ dàng giải quyết, đặc biệt là bản chất "jack-of-all-giao dịch" của các nhà phát triển Agile. Nhóm triển khai không biết cách lập trình và các nhà phát triển có các kỹ năng giao tiếp và đào tạo dưới mức trung bình. Và đội hình này sẽ không thực sự thay đổi bất cứ lúc nào sớm.
Câu hỏi
Nó sẽ ảnh hưởng đến hiệu quả của Scrum như một phương pháp? Những thay đổi khác cần phải được thực hiện để bù đắp? Hay sẽ tốt hơn nếu từ bỏ suy nghĩ hoàn toàn và suy nghĩ về một phương pháp khác?