ฉันเขียนฐานข้อมูลความต้องการเมื่อ 6 หรือ 7 ปีก่อนเพื่อจัดการเรื่องนี้ แต่ละบันทึกความต้องการมีคำอธิบายสั้น ๆ บันทึก "คำจำกัดความ" และ "บันทึก" บันทึก (ทั้งข้อความที่มีความสามารถในการฝังภาพหน้าจอ ฯลฯ ) มีเขตข้อมูลอื่นเช่นกันสำหรับโครงการส่งมอบหมายเลขลำดับ (เพื่อให้สามารถสั่งซื้อได้อย่างมีเหตุผล) กรณีใช้งาน / คุณสมบัติที่เกี่ยวข้องกับการประมาณเวลาฟิลด์สำหรับคนที่จัดการมันถ้ามีคนเลือกไว้สำหรับการใช้งาน เป็นต้น
นอกจากนี้ยังมี "สถานะ" - "เข้ามา" ในขณะที่เรากำลังออกแบบคุณสมบัติ "อนุมัติ" ตั้งขึ้นเมื่อกลุ่มข้อกำหนดได้รับการตรวจสอบและพิจารณาแล้วว่าพร้อมใช้งาน "นำไปใช้งาน" ซึ่งกำหนดโดยโปรแกรมเมอร์เมื่อพวกเขาคิดว่ามีการทำข้อกำหนดและ "ตรวจสอบแล้ว" เมื่อเทคโนโลยี QA เห็นด้วยกับโปรแกรมเมอร์ (หากเทคโนโลยี QA ไม่เห็นด้วยเขาสามารถตั้งค่ากลับเป็น "อนุมัติ" เพื่อให้โปรแกรมเมอร์เรียกคืนได้) ข้อกำหนดอาจเป็น "รอการตัดบัญชี", "ถูกปฏิเสธ" หรือ "ถาม" (หมายถึงคณะกรรมการควบคุมการเปลี่ยนแปลงจำเป็นต้องดู .)
เคล็ดลับในการทำสิ่งนี้ให้ดีนั้นมีความละเอียดพอสมควร บางครั้งมันก็สมเหตุสมผลที่จะมีข้อกำหนดของประโยคเดียว (เช่น "ปัญหาที่อธิบายไว้ในปัญหา 12345 ได้รับการแก้ไขแล้ว") แต่โดยทั่วไปข้อกำหนดนั้นควรอธิบายประเด็นสำคัญทั้งหมดของคุณลักษณะทั้งหมด (หรืออันใหญ่) ตัวอย่างเช่นคุณลักษณะ "รายงานใหม่" โดยทั่วไปจะมีข้อกำหนดสำหรับรูปแบบรายงาน (สิ่งที่ดูเหมือนเป็นผลลัพธ์) และข้อกำหนดสำหรับกล่องโต้ตอบตัวเลือก (อธิบายฟิลด์การตรวจสอบความถูกต้องและอื่น ๆ ) อาจมีหนึ่งในสามถ้า มีตัวสร้างที่ซับซ้อนบีบอัดข้อมูลแทนที่จะค้นหาหรือค้นหาอะไรง่าย ๆ นอกจากนี้เราจะสร้างข้อกำหนด "ความช่วยเหลือ" สำหรับหัวข้อความช่วยเหลือที่เกี่ยวข้อง
มีข้อดีอย่างมากในการเก็บสิ่งนี้ไว้ในบันทึกฐานข้อมูลแทนที่จะเป็นเอกสารขนาดใหญ่ โปรแกรมเมอร์หลายคนสามารถทำงานได้ตามข้อกำหนดในเวลาเดียวกัน บันทึกส่วนบุคคลจะถูกล็อคเพื่อให้มีเพียงคนเดียวเท่านั้นที่สามารถแก้ไขได้ในแต่ละครั้ง แต่สามารถเปิดและอ่านได้ในขณะที่คนอื่นกำลังแก้ไข ข้อได้เปรียบที่ใหญ่ที่สุดคือมันให้ง่ายต่อการค้นหาเอกสารของข้อกำหนดและบันทึกเกี่ยวกับวิธีการใช้งาน ขณะนี้เรามีข้อกำหนดมากกว่า 25,000 รายการและเราสามารถค้นหาข้อกำหนดทั้งหมดได้อย่างง่ายดายด้วยคำเฉพาะในฟิลด์ทั้งหมดหรือคำจำกัดความหรือบันทึกย่อหรืออะไรก็ตามภายใน 10 วินาที (ลองใช้เอกสาร Word ที่มีมูลค่ามากกว่า 6 ปี)
ฉันเห็นได้ว่าทำไมผู้คนถึงบอกว่ามันเป็นความคิดที่ดีที่จะทำตามข้อกำหนดใน "ตัวติดตามบั๊ก" แต่ฉันเดาว่านั่นเป็นเพราะเครื่องมือดูดไม่ใช่เพราะการรักษาข้อกำหนดในฐานข้อมูลที่ค้นหาได้นั้นเป็นแนวคิดที่ไม่ดี