Vấn đề đầu tiên tôi thấy là quá trình ước tính sẽ hơi rộng. Có, các nhà phát triển nên có tiếng nói về số lượng công việc họ dự kiến sẽ đảm nhận. Không, điều đó không có nghĩa là việc thêm một nút vào biểu mẫu web hiện là câu chuyện hai tuần của nhà phát triển (tuy nhiên nhiều điểm tương đương với quy trình ước tính của doanh nghiệp của bạn). Nếu đó là tình trạng hiện tại, thì bạn với tư cách là người quản lý dự án sẽ thực hiện một số phỏng đoán thứ hai.
Thứ hai, tôi nghe "từ bắt đầu (thiết kế) đến kết thúc (thực hiện và kiểm tra đơn vị)" và ý nghĩ đầu tiên xuất hiện trong đầu là "bạn đang làm sai". Các bài kiểm tra đơn vị của bạn là một phần trong công việc thiết kế của bạn với tư cách là nhóm phát triển / nhóm phát triển và nên xảy ra trước tiên; bạn thực hiện các yêu cầu cơ bản, chắt lọc chúng thành một "danh sách kiểm tra" đơn giản của "Nếu ... Khi ... Sau đó ..." - gõ các câu, sau đó chuyển đổi các câu đó thành một loạt các bài kiểm tra cơ bản khẳng định chương trình đáp ứng các câu đó khẳng định và do đó các yêu cầu. Điều đó xảy ra trước khi bạn viết một dòng mã sản xuất sẽ đáp ứng các xác nhận của các thử nghiệm. Nếu kiểm tra đơn vị của bạn đến lần cuối, sau khi bạn đã triển khai phần mềm, bạn sẽ mất một số khía cạnh chính của kiểm tra đơn vị; nói chung, các nhà phát triển của bạn không thể "lập trình thành màu xanh",
Theo như các nhà phát triển "sở hữu" các tính năng của họ, thì có và không có. Trước hết, một sự lột xác khá phổ biến từ "các đội tự tổ chức" là xu hướng các nhà phát triển đi theo cặp hoặc ba và làm việc trên những điều họ biết rõ nhất. Giả sử bạn có một bộ chuyên môn tốt về nhà phát triển để nhóm có thể bao quát tất cả các công việc phải hoàn thành trong mỗi lần lặp theo cách này, bạn chỉ cần để điều này xảy ra; đó là một điều tốt cho vận tốc, vì các nhà phát triển tập trung vào và làm quen với các lĩnh vực của cơ sở mã mà họ đã làm việc từ lần lặp đến lần lặp.
Tuy nhiên, một nhà phát triển sở hữu một tính năng cho cuộc sống là một suy nghĩ nguy hiểm, bởi vì nó làm giảm "số xe tải" của nhóm của bạn (được định nghĩa rất thẳng thắn là "có bao nhiêu người có thể bị xe tải đâm trước khi nhóm không thể hoạt động, vì Trường hợp xấu nhất của những người cụ thể bị ảnh hưởng và mất kiến thức). Nếu một người mà bạn đã gán tính năng "Nhập tệp" cho phần mềm của bạn và đã sở hữu nó trong 2 năm, sẽ nghỉ phép trong ba tuần, nghỉ phép FMLA kéo dài, thay đổi công việc, hoặc cực kỳ, thực sự bị xe tải đâm chết, bây giờ bạn không có ai biết tính năng đó bởi vì khu vực đó của codebase đã là mục đích độc quyền của một chàng trai trong nhiều năm. với đoạn mã đặc biệt này,bạn sẽ mất đi vận tốc đáng kể, và bạn cũng sẽ mở ra cho mình thêm những vấn đề với khiếm khuyết, vì anh chàng mới chỉ quen với cách thức hoạt động của codebase bây giờ có thể vẫn không biết gì về những thứ anh ta có thể và không thể thay đổi trong đó .
Thay vào đó, bạn nên tìm cách nuôi dưỡng một bộ phận lao động giữ số lượng xe tải của bạn ít nhất là 2 hoặc cao hơn, và trong một đội lớn hơn (một tá hoặc nhiều hơn) gần hơn với 3 hoặc 4. Cách đó nếu một anh chàng không thể làm được việc , vì bất kỳ lý do gì, có một số người khác có thể nhảy vào. Đôi khi, các đội chỉ tự nhiên bắt đầu theo cách này, đặc biệt nếu bạn mang theo một vài kỹ thuật XP như lập trình theo cặp hoặc dojo (một anh chàng viết theo khẳng định mới theo các yêu cầu mà mã không đáp ứng, anh chàng tiếp theo mã sẽ vượt qua bài kiểm tra đó, sau đó thêm một xác nhận yêu cầu khác không thành công và vượt qua nó). Theo định nghĩa trong những tình huống này, bạn có nhiều con mắt nhìn vào mã, phát triển nó, làm quen với nó.
Nhìn chung, ý tưởng của Agile là thúc đẩy sự phát triển "nhẹ". Nhóm của bạn dường như bị sa lầy vào các quy trình và tài liệu nhỏ, khi trọng tâm chính, theo Tuyên ngôn Agile, nên tập trung vào các thành viên trong nhóm và các tương tác của họ, và tất nhiên là làm việc, mã chức năng. Các quy trình vốn có trong Agile là một phương tiện để kết thúc và không có cách nào để theo Agile; ngay cả các khung Agile chính như SCRUM cũng có thể linh hoạt dựa trên nhu cầu của bạn như một công ty, một nhóm và thậm chí từ ngày này sang ngày khác (chỉ cần đảm bảo giữ các ý tưởng cơ bản về các giá trị được cung cấp bởi các quy trình này khi thực hiện các thay đổi đó).