การกำหนดโครงการจำเป็นต้องดีเพียงใดเพียงพอที่จะให้คุณเริ่มต้นและรู้ว่าคุณกำลังจะไปที่ไหนในอีกสองสัปดาห์ข้างหน้า
ในฐานะ Scrum Master ฉันเพียงแค่บอกว่าคุณจำเป็นต้องกำหนดคุณสมบัติขั้นต้นของผลิตภัณฑ์ของคุณในแผ่นงาน Excel หรือที่อื่น ๆ เท่านั้นเพื่อติดตามคุณสมบัติของคุณ ทำให้พวกเขาเป็นเรื่องราวของผู้ใช้ช่วยให้คุณคิดมากเกี่ยวกับคุณสมบัติที่คุณต้องการต่อไป จากนั้นจัดลำดับความสำคัญพวกเขา: คุณลักษณะที่สำคัญที่สุดหรือจำเป็นที่สุดสำหรับด้านบนและด้านล่างอย่างน้อยที่สุด
หลังจากที่คุณได้ระบุคุณสมบัติที่สำคัญที่สุดแล้วให้เลือกคุณสมบัติที่คุณคิดว่าคุณสามารถนำมาสู่สถานะของเสร็จหลังจากช่วงเวลาสองสัปดาห์หรือช่วงเวลาหนึ่งเดือนหากคุณต้องการ จากนั้นกระจายคุณสมบัติที่เลือกเหล่านี้เพื่อให้คุณสามารถเริ่มเขียนโค้ดได้ในไม่กี่
ในขณะที่เขียนโค้ดคุณจะนึกถึงองค์ประกอบอื่น ๆ ที่จำเป็นในการพัฒนาเพื่อนำคุณสมบัติที่คุณเลือกในสถานะเสร็จสิ้น เสร็จสิ้นหมายความว่าคุณไม่มีอะไรทำอีกต่อไปนั่นคือการทดสอบการเข้ารหัสการประกอบเอกสารเสร็จสิ้นแล้ว!
เมื่อใดก็ตามที่รายการคุณสมบัติที่คุณเลือกอาจขยายออกไปตราบใดที่คุณบรรลุเป้าหมายนั่นคือคุณสามารถพัฒนาทุกสิ่งที่คุณบอกว่าคุณทำในช่วงเวลาที่กำหนด
ในระยะสั้นไม่มีอะไรจะต้องสมบูรณ์แบบ แบ่งปันแนวคิดกับเพื่อน ๆ ของคุณและดูว่าสิ่งที่เขียนนั้นเหมาะสมกับความต้องการของผลิตภัณฑ์หรือไม่ ถ้าเป็นเช่นนั้นคุณอยู่ใน! เพื่อให้ชัดเจนฉันจะไปกับผลิตภัณฑ์การจัดการลูกค้าอย่างง่าย ต้องการอะไร
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;
ร่างแรกของคุณอาจง่ายเหมือนที่! จากนั้นเราจะเห็นได้ว่าความปลอดภัยเป็นส่วนสำคัญในระบบของเรามันสำคัญหรือไม่ที่จะสร้างความสำคัญสูงสุด (Y / N)? สิ่งนี้จะขึ้นอยู่กับข้อกำหนดที่คุณต้องปฏิบัติตาม สมมติว่าการจัดการลูกค้าเป็นสิ่งสำคัญที่สุดที่นี่ ดังนั้นใน Sprint ต่อไปเราต้องสามารถจัดการลูกค้าด้วยวิธีพื้นฐาน แต่เป็นที่ยอมรับ การจัดการลูกค้าคืออะไร
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;
-> ...
นี่แสดงให้เห็นถึงฟังก์ชันที่เพียงพอที่จะสามารถเริ่มพัฒนาแอปพลิเคชันได้ หากโปรแกรมเมอร์ของคุณต้องการคำแนะนำเพิ่มเติมบางทีนักพัฒนาที่คุ้นเคยกับไดอะแกรมระดับอาจออกแบบคลาสลูกค้าและคุณสมบัติและวิธีการของมัน! แต่เท่าที่ฉันกังวลด้วยไม่กี่ฉันได้เขียนฉันจะมีเพียงพอที่จะเริ่มต้น คุณสมบัติบางอย่างอาจถูกเพิ่มหรือเปลี่ยนแปลงไปพร้อมกัน สิ่งที่สำคัญคือต้องให้ความสำคัญกับสิ่งที่คุณพูดว่าเป็นไปได้ ในตัวอย่างของเรามันคือสิ่งที่การจัดการลูกค้า เราไม่จำเป็นต้องกังวลเกี่ยวกับการรับรองความถูกต้องของผู้ใช้ในขณะนี้ซึ่งจะมาในภายหลังใน Sprint ถัดไป
ฉันหวังว่านี่จะช่วยได้! =)