Gần đây tôi đã tham gia một không gian tin tặc trẻ vẫn đang trong quá trình thiết lập. Chúng tôi may mắn vì không gian có một vài dự án nội bộ cần thực hiện và không thiếu tình nguyện viên để làm việc với chúng.
Đã có một số cuộc thảo luận về cách tổ chức các dự án này. Kinh nghiệm chuyên môn gần đây nhất của tôi là với Scrum vì vậy tôi đang xem xét đưa ra cách tiếp cận Scrum cho các dự án phần mềm của chúng tôi, nhưng tôi không chắc nó sẽ phù hợp.
Mặc dù tôi đã thấy Scrum hoạt động tốt cho các nhóm toàn thời gian nhỏ, nhưng bản chất của tổ chức này là khác nhau:
- Các thành viên là tình nguyện viên . Một số là sinh viên toàn thời gian. Những người khác làm việc toàn thời gian. Chúng tôi không thể mong đợi một mức độ đóng góp liên tục từ bất cứ ai vì cuộc sống thực của họ được ưu tiên.
- Mặc dù khá nhiều người có nhiều năm kinh nghiệm viết phần mềm, nhưng không nhiều thành viên đã làm như vậy một cách chuyên nghiệp hoặc theo nhóm.
- Không có Chủ sở hữu sản phẩm . Các yêu cầu cho các dự án này được xác định bởi một ủy ban. Các thành viên của ủy ban này cũng sẽ làm việc để thực hiện. Điều này có nghĩa là chúng tôi sẽ không có Chủ sở hữu sản phẩm duy nhất, dành riêng.
- Chúng tôi không có thời hạn (mềm hay cứng). Các dự án sẽ được thực hiện khi chúng được thực hiện.
Đây là những khác biệt khá đáng kể, nhưng tôi không tin rằng họ sẽ chặn các ứng dụng Scrum. Tôi nghĩ rằng một số điều chỉnh nhỏ có thể giúp chúng tôi vượt qua rào cản này:
- Nếu chúng tôi thay đổi Sprint để có kích thước điểm câu chuyện cố định, nhưng thời lượng (thời gian) trôi chảy , chúng tôi vẫn có thể hưởng lợi từ các phiên bản lặp mà không gây áp lực giao hàng không thực tế cho các nhà phát triển tình nguyện.
- Chúng ta có thể bỏ các biểu đồ đầu vào và tính toán vận tốc . Nếu tôi hiểu chính xác, đây là những công cụ và số liệu hoạt động như một cầu nối giữa nhóm nhà phát triển và Quản lý. Chúng phục vụ để báo cáo tiến độ trong một hình thức có ý nghĩa đối với cả các nhà phát triển và các bên liên quan. Xem xét chúng tôi không có ai để báo cáo (không có Quản lý dự án, không có Chủ sở hữu sản phẩm và không có các bên liên quan bên ngoài) Tôi tin rằng chúng tôi có thể bỏ hoàn toàn việc này.
Những điều tôi nghĩ rằng chúng ta có thể hưởng lợi từ đó sẽ không yêu cầu điều chỉnh:
- Các cuộc họp Tập hợp các yêu cầu . Nơi mọi người ngồi quanh một cái bàn và thảo luận về Câu chuyện của người dùng, phác thảo các giả lập UI và xây dựng một Product Backlog.
- Hồi tưởng nước rút . Đây sẽ là một cách thú vị để chúng tôi hội tụ về một quá trình phát triển phù hợp với chúng tôi như một nhóm tình nguyện viên.
Những điều tôi không chắc chắn về:
- Nên điều trị Stand-up hàng ngày như thế nào ? Tôi tự hỏi nếu họ sẽ có nhiều giá trị trong thiết lập của chúng tôi. Sự hiểu biết của tôi về nghi thức đứng lên là nó giúp giao tiếp bằng cách phổ biến thông tin một cách tự nhiên trong toàn đội. Xem xét thực tế rằng Sprint của chúng tôi có thể sẽ cung cấp ít phức tạp hơn nhiều so với một Sprint trung bình, có lẽ sẽ không cần phải theo kịp tất cả các tiến trình / phát triển của các thành viên khác trong nhóm.
- Tôi có nên thúc đẩy XP những thứ như Tích hợp liên tục, Đánh giá mã và TDD không? Tôi lo ngại điều này sẽ được yêu cầu rất nhiều. Tôi muốn được đưa các khái niệm này vào các dự án trong tương lai một khi mọi người quen thuộc hơn với Scrum và làm việc theo nhóm.
Những câu hỏi của tôi:
Scrum có thể thích nghi với môi trường dựa trên tình nguyện viên không?
Và, cách tiếp cận theo kế hoạch của tôi cho đến nay đi đúng hướng?