Tôi có hai vấn đề với Scrum trong các hệ thống nhúng. Đầu tiên, có nhiều nhiệm vụ phải làm, đặc biệt là trong giai đoạn đầu, không thể chứng minh được. Chúng tôi bắt đầu với một bảng phát triển, không có hệ điều hành, không hiển thị, không giao tiếp nối tiếp, v.v. Chúng tôi không có màn hình cho sáu lần chạy nước rút.
Bốn lần chạy nước rút đầu tiên là:
- Bắt RTOS và chạy
- Tạo tác vụ viết trình điều khiển mạng và nối tiếp
- Viết các thói quen ngắt cho các nút, giao tiếp, vv
- Viết các lớp và phương thức cơ sở dữ liệu chính
- Viết một menu gỡ lỗi nối tiếp
Hầu hết các tác vụ này không phù hợp với câu chuyện của người dùng. Trên thực tế, giao diện duy nhất trong toàn bộ hệ thống là menu gỡ lỗi nối tiếp, được xây dựng trong lần chạy nước rút 3, vì vậy không có gì để chứng minh ở cuối các lần chạy nước rút. Ngay cả menu nối tiếp cũng có nghĩa là để sử dụng nội bộ và không phải là người dùng cuối. Tuy nhiên, tôi vẫn muốn theo dõi và quản lý các hoạt động phát triển này thông qua Scrum.
Cuối cùng chúng tôi đã viết các cụm từ "câu chuyện người dùng" như "Là nhà phát triển ...", điều mà tôi không hài lòng nhưng khi sử dụng Target Process (www.target Process.com), không có khái niệm về một mục tồn đọng một nhiệm vụ hoặc việc vặt.
Thứ hai, làm thế nào để bạn xử lý các bản phát hành và thử nghiệm? Đó là một nỗi đau thực sự đối với chúng tôi bởi vì những người thử nghiệm không có trình gỡ lỗi phần cứng, vì vậy chúng tôi phải xây dựng các phiên bản flash của mã và ghi chúng lên bảng phát triển của họ để kiểm tra. Những người thử nghiệm không có kỹ thuật sắc sảo như các nhà phát triển và thường yêu cầu rất nhiều hỗ trợ trong việc giúp mọi thứ hoạt động ở giai đoạn đầu (đặt lại bảng, kết nối giao tiếp nối tiếp, v.v.) hoặc thậm chí là hiểu đầu ra.
Cuối cùng, liên quan đến định nghĩa hoàn thành, một lần chạy nước rút không thể hoàn thành cho đến khi tất cả các câu chuyện hoàn tất. Tất cả các câu chuyện không hoàn thành cho đến khi được kiểm tra bởi người kiểm tra. Không có cách nào để tránh "cướp" thời gian của nhà phát triển để cung cấp cho người thử nghiệm. Nói cách khác, nếu ba câu chuyện người dùng cuối cùng trong lần chạy nước rút sẽ mất năm ngày để kiểm tra, thì chúng phải được mã hóa và đơn vị được kiểm tra năm ngày trước khi kết thúc cuộc chạy nước rút. Nhà phát triển phải làm gì? Ngừng hoạt động?
Tôi là người lãnh đạm, nhưng đó là một vấn đề thực sự khi cố gắng tuân thủ các quy tắc. Bây giờ, tôi ổn với việc bẻ cong các quy tắc, nhưng vấn đề tôi gặp phải là, nó làm hỏng tất cả các số liệu ban đầu của tôi nếu tôi không thể đánh dấu mọi thứ được thực hiện cho đến khi chúng được kiểm tra.
Tôi muốn nghe cách những người khác đã xử lý các tình huống này.