Làm thế nào xác định rõ dự án cần phải đủ tốt để bạn bắt đầu và biết nơi bạn sẽ đến trong hai tuần tới.
Là một Scrum Master, tôi chỉ đơn giản nói rằng bạn cần xác định các tính năng tổng thể của sản phẩm trong một bảng Excel hoặc bất cứ nơi nào khác, chỉ để theo dõi các tính năng của bạn. Làm cho họ Câu chuyện người dùng giúp suy nghĩ rất nhiều về tính năng bạn cần tiếp theo. Sau đó, ưu tiên chúng: Tính năng quan trọng nhất hoặc bắt buộc lên hàng đầu và ít nhất là thấp nhất.
Sau khi bạn đã liệt kê một số tính năng quan trọng nhất, hãy chọn các tính năng bạn nghĩ bạn có thể phát triển mang đến trạng thái Xong sau một khoảng thời gian hai tuần hoặc một tháng nếu bạn thích. Sau đó, khám phá các tính năng được chọn này để bạn có thể bắt đầu mã hóa trong một vài.
Trong khi mã hóa, chắc chắn bạn sẽ nghĩ đến các yếu tố khác cần được phát triển để đưa các tính năng đã chọn của bạn ở trạng thái Xong. Xong có nghĩa là bạn không còn gì để làm, nghĩa là kiểm tra, mã hóa, lắp ráp, tài liệu đã xong!
Trong bất kỳ lúc nào, danh sách các tính năng được chọn của bạn có thể mở rộng, miễn là bạn đạt được mục tiêu, nghĩa là bạn có thể phát triển mọi thứ bạn nói bạn đã làm trong khoảng thời gian nhất định.
Tóm lại, không có gì phải hoàn hảo. Đưa ra một số ý tưởng, chia sẻ với các đồng chí của bạn và xem liệu những gì được viết có ý nghĩa để đáp ứng với các yêu cầu sản phẩm yêu cầu. Nếu vậy, thì bạn đang ở! Để làm rõ, tôi sẽ sử dụng một sản phẩm Quản lý khách hàng đơn giản. Cần gì?
As a user, I may manage the Customers;
As a system, I persist changes to the underlying data store;
As a user, I need to enter my credentials to be able to manage customers;
As a system, I have to authenticate the user against the Active Directory;
Dự thảo đầu tiên của bạn có thể đơn giản như vậy! Sau đó, chúng ta có thể thấy rằng bảo mật là một phần quan trọng trong hệ thống của chúng ta, nó có đủ quan trọng để thực hiện ưu tiên cuối cùng (Y / N) không? Điều này sẽ phụ thuộc vào các yêu cầu bạn phải đáp ứng. Hãy nói rằng Quản lý khách hàng là điều quan trọng nhất ở đây. Vì vậy, trong Sprint tiếp theo, chúng tôi cần có khả năng quản lý khách hàng theo cách cơ bản nhưng có thể chấp nhận được. Quản lý khách hàng là gì?
As a user, I may manage Customers;
-> As a user, I add a customer to the system;
-> As a user, I change a customer details;
-> As a user, I delete a customer;
-> As a system, I flag a deleted customer as being inactive instead of deleting it;
-> As a user, I need to list the customers;
-> As a user, I search the customers data bank for a given customer;
-> ...
Điều này đã minh họa đủ chức năng để có thể bắt đầu phát triển ứng dụng. Nếu các lập trình viên của bạn cần hướng dẫn thêm, thì có lẽ một nhà phát triển thoải mái với sơ đồ lớp có thể thiết kế lớp Khách hàng và các thuộc tính và phương thức của nó! Nhưng theo như tôi quan tâm, với vài điều tôi đã viết, tôi sẽ có đủ để bắt đầu. Một số tính năng có thể được thêm hoặc thay đổi trên đường đi. Điều quan trọng là tập trung vào những gì bạn nói sẽ được thực hiện. Trong ví dụ của chúng tôi, đó là điều Quản lý khách hàng. Chúng tôi không cần quan tâm đến xác thực người dùng kể từ bây giờ Điều này sẽ đến sau trong Sprint tiếp theo.
Tôi hi vọng cái này giúp được! =)