เชื่อมวงจรชีวิตซอฟต์แวร์ให้ครบ
เรียนจบแล้วติดตามฟีเจอร์หนึ่งจากความต้องการผู้ใช้ไปสู่การเดินระบบและ feedback ระบุการตัดสินใจที่การสร้างโค้ดเพียงอย่างเดียวตอบไม่ได้
เผยแพร่โดย Taigaวิธีเขียนเนื้อหาของเรา
ตรวจความเข้าใจAgent เปิด PR พร้อม test ที่ผ่าน ข้อสรุปใดมีหลักฐานรองรับทำแบบฝึกหัด
สิ่งที่จะได้เรียนรู้
- อธิบายการตัดสินใจหลักก่อนและหลังพัฒนา
- เชื่อมข้อกำหนดกับการตรวจสอบและหลักฐานการเดินระบบ
- แยกเครื่องมือเขียนโค้ดออกจากระบบส่งมอบซอฟต์แวร์
ติดตามฟีเจอร์หนึ่งผ่านระบบทั้งหมด
ผู้ช่วยเขียนโค้ดช่วยพัฒนาได้ แต่ระบบส่งมอบซอฟต์แวร์ยังต้องกำหนดว่าจะสร้างอะไร ตรวจสอบผลลัพธ์ ออก release และรองรับการใช้งาน AI ช่วยกิจกรรมเหล่านี้ได้ แต่การตัดสินใจยังคงจำเป็น
พิจารณาคำขอสมมติ ผู้จัดการต้องการ export ข้อมูลลูกค้า คำถามแรกที่มีประโยชน์คือทำไมจึงต้อง export รายงานที่จัดทำเป็นประจำอาจตอบความต้องการโดยเปิดเผยข้อมูลน้อยกว่า การยอมรับชื่อฟีเจอร์เร็วเกินไปอาจสร้างงานที่ไม่จำเป็น
คำถามถัดไปเกี่ยวกับขอบเขต ผู้ใช้คนใด export ระเบียนใดได้ ต้องมี field ใดบ้าง ไฟล์ไปที่ไหน การตัดสินใจเหล่านี้กำหนดวิธีพัฒนาและการตรวจสอบที่สำคัญ
รักษาหลักฐานระหว่างแต่ละช่วง
วงจรชีวิตไม่น่าเชื่อถือเมื่อแต่ละช่วงได้รับคำอธิบายจากช่วงก่อนหน้าไม่ครบ Ticket เขียนว่า “เพิ่ม export” PR เพิ่ม endpoint และผู้เดินระบบได้รับบริการที่ไม่มีผู้รับผิดชอบ
เชื่อมแต่ละช่วงให้ชัดเจน
| ช่วงงาน | หลักฐานที่รองรับการตัดสินใจถัดไป |
|---|---|
| เข้าใจความต้องการ | ผู้ใช้ที่ระบุชัด ปัญหา และเงื่อนไขความสำเร็จ |
| กำหนดพฤติกรรม | การดำเนินการที่อนุญาต ขอบเขต และเกณฑ์การยอมรับ |
| พัฒนา | การเปลี่ยนแปลงที่ตรวจทานได้และเชื่อมกับข้อกำหนด |
| ตรวจสอบ | การตรวจสอบที่เกี่ยวข้องและการตรวจทานเวอร์ชันจริงโดยผู้ตรวจอิสระ |
| ออก release | Artifact ที่ยอมรับแล้ว สภาพแวดล้อมเป้าหมาย และวิธีกู้คืน |
| เดินระบบ | สัญญาณจากบริการ ผู้รับผิดชอบ incident และกระบวนการบำรุงรักษา |
| เรียนรู้ | Feedback จากผู้ใช้และผลลัพธ์ที่สังเกตได้ |
ตารางนี้เป็นแบบจำลองสำหรับสอนเชิงปฏิบัติ องค์กรอาจใช้ชื่อช่วงต่างกันหรือรวมกิจกรรมเข้าด้วยกัน รักษาการตัดสินใจไว้แม้ workflow จะเป็นอัตโนมัติมาก
ให้การตรวจสอบตรงกับความต้องการ
สำหรับ export การดาวน์โหลดไฟล์สำเร็จเป็นการตรวจสอบหนึ่งข้อ อีกข้อคือผู้จัดการ export ระเบียนขององค์กรอื่นไม่ได้ ข้อที่สามตรวจชุด field ที่จำเป็น การตรวจสอบเหล่านี้ตอบข้อกำหนดต่างกัน
อย่าสรุปว่าปลอดภัยในวงกว้างจากป้าย test สีเขียว ระบุว่าการตรวจสอบครอบคลุมอะไรและยังไม่ได้ตรวจสอบอะไร SSDF ของ NIST อธิบายการพัฒนาที่ปลอดภัยว่าเป็นแนวปฏิบัติตลอดวงจรชีวิต ไม่ใช่การสแกนครั้งเดียวตอนจบ อ่าน framework
การตัดสินใจออก release ควรใช้หลักฐานของเวอร์ชันที่จะ deploy หากโค้ดเปลี่ยนหลังตรวจทาน ให้กำหนดว่าต้องตรวจสอบและตัดสินใจข้อใดใหม่ รักษาความสัมพันธ์นี้ให้ชัดเจนในกระบวนการส่งมอบ
รวมการเดินระบบไว้ในการออกแบบตั้งแต่ต้น
กำหนดว่าผู้รับผิดชอบบริการจะตรวจพบ export ที่ล้มเหลว รูปแบบคำขอผิดปกติ หรือเวลาตอบสนองที่ยอมรับไม่ได้อย่างไร อย่าบันทึกข้อมูลลูกค้าที่ export ลง log เพียงเพื่อให้ debug สะดวก
การติดตามระบบควรช่วยให้ผู้รับผิดชอบลงมือแก้ไขได้ แนวทาง SRE ของ Google แยกอาการของบริการออกจากสาเหตุภายใน และอธิบายความสำคัญของสัญญาณที่มีประโยชน์ ดู แนวทางการติดตามระบบ
วางแผนกู้คืนก่อนเกิด incident ระบุว่าใครหยุดฟีเจอร์ กู้บริการ และสื่อสารผลกระทบได้ การ deploy เสร็จคือการเข้าสู่ความรับผิดชอบเหล่านี้
ใช้ feedback เปลี่ยนการตัดสินใจถัดไป
หลังออก release ให้ตรวจสอบว่าผู้จัดการใช้ export หรือไม่ และแก้ปัญหาเดิมได้หรือไม่ ทบทวน incident คำถามที่ส่งมาขอความช่วยเหลือ และแรงงานที่ใช้บำรุงรักษา เปลี่ยนข้อค้นพบที่สำคัญเป็นข้อกำหนดที่ปรับแล้วหรืองาน
การเชื่อมต่อนี้ทำให้โรงงานซอฟต์แวร์ที่ครอบคลุมวงจรชีวิตต่างจากชุดเครื่องมือสร้างโค้ด ประเมินว่าระบบรักษาเจตนาและหลักฐานตลอดทุกช่วงได้หรือไม่ สำรวจ วงจรชีวิตแบบโต้ตอบ เพื่อตรวจดูการตัดสินใจแต่ละข้อ
ทำแบบฝึกหัด
ใช้เครื่องมือสำรวจวงจรชีวิตสำหรับการ export ข้อมูลลูกค้า ในแต่ละช่วง ให้ระบุผู้รับผิดชอบ หลักฐาน และการตัดสินใจ หาจุดเปลี่ยนผ่านหนึ่งจุดที่องค์กรของคุณทำบริบทหายอยู่ในปัจจุบัน อธิบายการเปลี่ยนแปลงที่เล็กที่สุดซึ่งจะรักษาบริบทนั้นได้
ดาวน์โหลดใบงาน (Markdown)การยกเลิกตัวเลือกนี้จะลบความคืบหน้าทั้งหมดที่บันทึกใน browser นี้
ความคืบหน้าอยู่ใน browser นี้ ไม่ใช้บัญชีและไม่ติดตามการใช้งาน