ก่อนอื่นไม่มีอะไรในคำตอบของ @ DXM ที่ตรงกับประสบการณ์ของฉันกับ Agile และโดยเฉพาะกับ Scrum
เปรียวกล่าวว่าในขณะที่เอกสารครบวงจรที่มีคุณค่า, ซอฟแวร์การทำงานมีคุณค่ามากขึ้น ดังนั้นการจัดทำเอกสารจึงไม่ใช่เรื่องเลวร้ายอย่างแน่นอน แต่ควรให้บริการอย่างแท้จริงในการสร้างซอฟต์แวร์ที่ใช้งานได้
บุคคลและการมีปฏิสัมพันธ์เหนือกระบวนการและเครื่องมือ
ซอฟต์แวร์ที่ทำงานผ่านเอกสารที่ครอบคลุม
การทำงานร่วมกันของลูกค้าในการเจรจาสัญญา
ตอบสนองต่อการเปลี่ยนแปลงมากกว่าการทำตามแผน
นั่นคือในขณะที่มีค่าในรายการทางด้านขวาเราให้ความสำคัญกับรายการทางด้านซ้ายมากขึ้น
การจดทุกรายละเอียดก่อนเริ่มใช้รหัสได้พิสูจน์แล้วว่าสิ้นเปลืองซ้ำแล้วซ้ำอีกดังนั้นเอกสารโดยทั่วไปจะมีการจัดการในลักษณะ JIT (ทันเวลา) นั่นคือคุณบันทึกสิ่งที่คุณกำลังจะรหัส
หนึ่งในวิธียอดนิยมในการทำ Scrum คือการใช้เรื่องผู้ใช้ซึ่งดูแลโดยเจ้าของผลิตภัณฑ์และเก็บไว้ใน Product Backlog Backlog ผลิตภัณฑ์เป็นรายการระดับสูงของทุกสิ่งที่โซลูชันต้องทำและโดยทั่วไปเรื่องราวของผู้ใช้จะเป็นวิธีที่มีขนาดพอสมควรในการอธิบายแต่ละสิ่งในรายการ เรื่องราวของผู้ใช้ไม่ได้บังคับ แต่ดูเหมือนจะเป็นวิธีที่ดีในการไม่หักโหมรายละเอียดและเป็นแรงบันดาลใจให้เกิดการทำงานร่วมกันแทน
ดังนั้นเมื่อเรื่องราวเสร็จ - ทีมได้สร้างทดสอบและปรับใช้บางอย่างที่ตรงตามเกณฑ์การยอมรับเนื้อเรื่องนั้นไม่ได้เป็น CHUCKED มันถูกทำเครื่องหมายไว้ที่ backlog - ดังนั้น backlog จึงมีข้อบ่งชี้บางอย่าง ของสิ่งที่ทำในการวิ่งแต่ละครั้ง - เรื่องราวและจุดที่เกี่ยวข้องกับพวกเขา นี่คือสิ่งที่ช่วยให้คุณสามารถคำนวณความเร็วและเป็นเอกสารที่มีค่าในตัวของมันเอง
ทั้งหมดที่กล่าวว่าเรื่องราวของผู้ใช้อาจเป็นเอกสารทั้งหมดที่จำเป็นในการทำความเข้าใจข้อกำหนด แต่เป็นไปได้มากขึ้นว่ามันเป็นสิ่งที่สร้างการสนทนาระหว่างลูกค้าและทีมพัฒนา ดังนั้นจึงมีหลายสิ่งที่คุณสามารถทำได้เกี่ยวกับการสนทนานั้น ถ้ามันเป็นแบบเฉพาะกิจต่อหน้านักวิเคราะห์ / นักพัฒนาสามารถ (และอาจขึ้นอยู่กับองค์กรของคุณ) ควรเขียนสิ่งที่ตัดสินใจและบันทึกไว้ที่ใดที่หนึ่งเช่น Wiki หรือ ที่เก็บเอกสาร หากเป็นการสนทนาทางอีเมลคุณสามารถบันทึกอีเมลได้ ถ้าเป็นเซสชันไวท์บอร์ดให้ถ่ายรูปกระดานด้วยมือถือของคุณแล้วบันทึก ประเด็นก็คือสิ่งเหล่านี้คือสิ่งที่ช่วยให้คุณสามารถทำโค้ดได้และอาจช่วยคุณได้ในภายหลังหากคุณต้องการทราบว่าคุณทำอย่างไรในแบบที่คุณทำ
อีกวิธีหนึ่งในการจับข้อกำหนดคือการฝังไว้ในกรณีทดสอบทันที (ซึ่งฉันเชื่อว่าเป็นสิ่งที่ DXM ได้รับ) สิ่งนี้มีประสิทธิภาพจริง ๆ โดยที่คุณต้องทดสอบความต้องการแต่ละข้ออยู่ดี ในกรณีนี้คุณสามารถจัดเก็บข้อกำหนดของคุณในเครื่องมือทดสอบได้อย่างมีประสิทธิภาพ
หากเรื่องราวเสร็จสมบูรณ์ (และยอมรับแล้ว) จากนั้นผู้ใช้จะเปลี่ยนความต้องการของเขาได้เป็นอย่างดีคุณอาจต้องสร้างเรื่องราวใหม่ หากคุณใช้วิกิสำหรับเอกสารของคุณคุณสามารถเชื่อมโยงเรื่องราวใหม่กลับไปที่ต้นฉบับและลิงค์เดียวกันกับที่เรื่องราวดั้งเดิมส่งต่อไปยังสิ่งใหม่เพื่อให้มีคนดูที่รู้ว่าสิ่งต่าง ๆ เปลี่ยนไป นั่นเป็นเรื่องดีเกี่ยวกับวิกิ - มันง่ายและไม่เจ็บปวดพอที่จะเชื่อมโยงสิ่งต่าง ๆ หากคุณกำลังดำเนินการตามแนวทางการทดสอบคุณจะต้องอัปเดตกรณีทดสอบเพื่อจัดการกับการเปลี่ยนแปลงหรือสร้างกรณีทดสอบใหม่สำหรับเรื่องราวใหม่หากทั้งเก่าและใหม่ไม่ได้เกิดร่วมกัน
ในที่สุดมันก็ขึ้นอยู่กับความต้องการของคุณ หากสิ่งสำคัญคือการทำให้ผู้คนเร่งความเร็วได้อย่างรวดเร็วอาจเป็นความคิดที่ดีที่ใครบางคนจะเขียนเอกสาร onboarding เพื่อช่วยเหลือพวกเขา มีคนทำเช่นนั้น ดังที่ฉันได้กล่าวถึง Wiki เป็นเครื่องมือที่ยอดเยี่ยมในการรักษาสิ่งนี้ดังนั้นคุณอาจพิจารณาโซลูชันของ Atlassianซึ่งสามารถรวม Confluence Wiki เข้ากับ Jira และ Greenhopper เพื่อติดตามเรื่องราว / งาน / ข้อบกพร่องของคุณและจัดการโครงการของคุณโดยทั่วไป มีเครื่องมืออื่น ๆ อีกมากมายให้เลือกเช่นกัน