Tất nhiên Scrum là hữu ích. Đó là một phương pháp thực hiện hai điều cho bạn:
- Nó cho phép dự án của bạn thích ứng với thay đổi và
- Nó cho phép bạn theo dõi tiến trình và biết được khi nào nó sẽ hoàn thành
Vì vậy, có một số giá trị trong việc sử dụng nó.
Tôi nghĩ rằng một số điều kiện tiên quyết của bạn là không chính xác và đó là nơi bạn đang bị lạc.
Tôi không thể thấy làm thế nào mỗi câu chuyện có thể được Thỏa thuận - tất cả chúng đều cần thiết cho một trình biên dịch làm việc
Đây không phải là sự thật. Bạn có thể hỗ trợ một tập hợp con của ngôn ngữ và vẫn có trình biên dịch hoạt động trong các điều kiện nhất định. Chắc chắn ít giá trị hơn một trình biên dịch đầy đủ, nhưng vẫn có giá trị.
Ngoài ra, bạn hiểu sai "Thỏa thuận" nghĩa là gì: nó không nhất thiết có nghĩa là "Tùy chọn" và không có yêu cầu nào là câu chuyện là tùy chọn trong ĐẦU TƯ. Một câu chuyện là một mục tiêu có giá trị và cuộc đàm phán là làm thế nào để đạt được mục tiêu đó. Chắc chắn sẽ có nhiều hơn cách thực hiện phụ trợ của từng tính năng ngôn ngữ. Có nơi bạn cần đàm phán.
Các câu chuyện đều có mức độ ưu tiên như nhau và không có vấn đề gì khi tôi giao chúng.
Điều này là không chính xác, như bạn nói dưới đây rằng một số câu chuyện không phải là "phải có", vì vậy chắc chắn một số câu chuyện ít có giá trị. Nhưng ngay cả trong danh mục "phải có": một số tính năng ngôn ngữ cơ bản hơn nhiều so với các tính năng khác và có thể đo lường được như vậy.
Một cách để đo lường điều này là "chúng ta có thể biên dịch thêm bao nhiêu dòng mã trên một cơ sở mã hiện tại" hoặc "có bao nhiêu bài kiểm tra nữa" nếu bạn có một bộ kiểm tra được xác định trước.
Ngoài ra còn có các lựa chọn khác. Nếu bạn đang biên dịch một ngôn ngữ giống như C, nói đúng ra bạn chỉ cần một if
và goto
lặp để có một ngôn ngữ chức năng (hầu như) và bạn có thể thực hiện while
, for
và repeat
như các macro. Giả sử thật dễ dàng để viết một trình biên dịch sử dụng, bạn có thể có một giải pháp ngăn chặn giá rẻ (hey, chúng ta đang đàm phán? :-)
Về khả năng thích ứng, hỗ trợ một ngôn ngữ là một tập hợp các yêu cầu khá tĩnh, nhưng ngôn ngữ cũng thay đổi và kiến thức về nhu cầu của bạn cũng thay đổi. Bạn có cần phải thực hiện mọi thứ? Có những thứ bạn không cần đặc biệt cho mục tiêu của bạn? Một trong những người thuê cơ bản của nhanh nhẹn là kiến thức về việc có kiến thức không đầy đủ, bạn có thể tận dụng nó không?
Tóm lại, để trả lời câu hỏi của bạn trực tiếp hơn: bạn có cần các quy trình nhanh khi yêu cầu của bạn không thể thay đổi? Chắc chắn không phải! Họ có thể sử dụng? Chắc là đúng! Họ có giá trị thời gian của bạn? Có lẽ là không - nhưng yêu cầu của bạn là không thể thay đổi? Theo kinh nghiệm trước đây của tôi, "yêu cầu không thể thay đổi" => "chủ sở hữu sản phẩm lười biếng" - không phải là một quy tắc, nhưng đáng ghi nhớ.