แหล่งข้อมูลต้นฉบับ ↓

บันทึกการเรียนรู้จาก วิดีโอ “SDLC คืออะไร ?” ของ mikelopster เรียบเรียงเป็นภาษาไทยเพื่อทบทวนและนำไปใช้กับทีม โดยสรุปใจความสำคัญไว้ท้ายแต่ละหัวข้อ

สารบัญบทความ
START HERE

ภาพรวมใน 1 นาที

ใจความสำคัญของทั้งคลิป

SDLC ช่วยให้ทีมเห็นว่างานพัฒนาซอฟต์แวร์แต่ละช่วงต้องทำอะไร ส่งต่องานอย่างไร และควรกลับไปแก้ตรงไหนเมื่อเกิดปัญหา

การมีโปรแกรมที่เปิดใช้งานได้เป็นเพียงส่วนหนึ่งของงาน เรายังต้องเข้าใจปัญหาของผู้ใช้ ออกแบบวิธีแก้ ตรวจสอบความถูกต้อง ปล่อยระบบ และติดตามผลหลังใช้งาน กระบวนการเหล่านี้ประกอบกันเป็นวงจรพัฒนาซอฟต์แวร์ หรือ Software Development Life Cycle

รู้ว่าจะทำอะไร

ตกลงโจทย์ ขอบเขต และนิยามคำว่า “เสร็จ” ให้ตรงกันก่อนลงมือ

รู้ว่าผิดตรงไหน

ใช้ข้อมูลและผลตรวจของแต่ละขั้นย้อนหาสาเหตุ แล้วแก้ที่ต้นทาง

เรียนรู้ในรอบถัดไป

นำปัญหาและผลการใช้งานจริงกลับมาปรับแผนให้ดีขึ้น

ช่วง 00:00–03:01 เป็นบทนำและแนะนำคลาส ผู้บรรยายตั้งคำถามว่าทีมสร้างซอฟต์แวร์ได้หรือไม่หากไม่รู้จัก SDLC เอกสารนี้เรียบเรียงเนื้อหาการเรียนรู้จากคำถามนั้นต่อไป

01 • เหตุผลที่ต้องมีวงจรการทำงานดูต้นฉบับ 03:01 ↗

ทำไมเขียนโปรแกรมได้แล้ว ยังต้องมี SDLC?

ทีมอาจสร้างซอฟต์แวร์ได้ด้วยการรับคำสั่งแล้วลงมือเขียนทันที แต่เมื่อโจทย์ซับซ้อนขึ้น หรือมีหลายคนร่วมงาน ความเข้าใจที่อยู่ในหัวของแต่ละคนอาจไม่ตรงกัน คลิปยกอาการที่พบได้บ่อย 5 ข้อ:

  1. ของเสร็จแต่ไม่ตรงความต้องการ — เช่น เว็บไซต์ขายของใช้งานได้ แต่ไม่มีโปรโมชั่นที่ผู้ใช้คิดว่าต้องมี
  2. ไม่มีนิยามว่า “เสร็จ” คืออะไร — ทีมพัฒนาและผู้รับงานใช้เกณฑ์คนละชุด
  3. พบปัญหาใหญ่ช่วงท้าย — บางปัญหาเริ่มจากการตัดสินใจหรือการออกแบบก่อนเขียนโค้ด
  4. ปล่อยระบบแล้วต้องลุ้น — สภาพแวดล้อมในเครื่องพัฒนาอาจต่างจากระบบจริง และขั้นตอนขึ้นระบบไม่แน่นอน
  5. คนออกแล้วความรู้หาย — คนที่เหลือไม่รู้เหตุผลของโครงสร้างเดิมหรือวิธีดูแลต่อ
สรุปหัวข้อนี้

หากปัญหาเดิมเกิดซ้ำ ควรตรวจวิธีส่งต่องานและเกณฑ์ตรวจสอบของทีมด้วย เพราะสาเหตุอาจเกิดขึ้นก่อนถึงขั้นเขียนโค้ด

02 • นิยามที่ใช้ได้จริงดูต้นฉบับ 07:17 ↗

SDLC คือชุดกิจกรรมและข้อตกลงในการส่งต่องาน

SDLC ครอบคลุมชีวิตของซอฟต์แวร์ ตั้งแต่เกิดความต้องการ พัฒนา ใช้งาน ดูแลปรับปรุง ไปจนถึงเลิกใช้ แต่ละกิจกรรมต้องมีข้อมูลพอให้ทำงานต่อได้ และมีหลักฐานว่าผลลัพธ์พร้อมส่งต่อแล้ว

องค์ประกอบถามแบบเข้าใจง่ายตัวอย่างในขั้น Requirement
Inputต้องรู้อะไรก่อนเริ่ม?โจทย์ธุรกิจและขอบเขตที่ตกลงแล้ว
Activityต้องทำอะไรกับข้อมูลนั้น?ซักถาม วิเคราะห์ และแยกความต้องการ
Outputต้องส่งอะไรให้ขั้นต่อไป?ข้อกำหนดและเกณฑ์ตรวจรับที่ชัดเจน
Exit criteriaเมื่อไรจึงถือว่าผ่านขั้นนี้?ทีมอธิบายตรงกันและเขียนกรณีทดสอบได้

จำนวนขั้นอาจเป็น 5, 6 หรือ 7 ตามวิธีจัดกลุ่มของแต่ละทีม ส่วน Process model คือวิธีจัดลำดับและวนซ้ำกิจกรรมเหล่านั้น เช่น ทำเป็นลำดับใหญ่ หรือแบ่งทำรอบเล็กแล้วรับข้อเสนอแนะระหว่างทาง

สรุปหัวข้อนี้

หัวใจอยู่ที่ข้อมูลที่ส่งต่อและเกณฑ์ผ่านแต่ละขั้น ทีมสามารถปรับจำนวนกล่องหรือรูปแบบวงจรให้เหมาะกับงานได้

03 • บทเรียนจากอดีตดูต้นฉบับ 12:01–37:10 ↗

SDLC เติบโตมาจากปัญหาที่ทีมแก้ด้วยโค้ดอย่างเดียวไม่ไหว

ผู้บรรยายเล่าพัฒนาการของงานซอฟต์แวร์ เพื่ออธิบายว่าทำไมจึงต้องมีสเปก เอกสาร การออกแบบ และการตรวจสอบระหว่างทาง บทเรียนหลักเรียงได้ดังนี้

ระบบใหญ่ขึ้น → ความรู้ต้องส่งต่อได้

เมื่อโค้ดและจำนวนคนเพิ่มขึ้น การถามผู้รู้เพียงคนเดียวเริ่มเป็นคอขวด ทีมจึงต้องบันทึกวิธีทำงานและข้อกำหนดให้ผู้อื่นเข้าใจร่วมกันได้

มีสเปกแล้ว → ยังต้องมีวิธีควบคุมงาน

การส่งงานช้า งบเกิน และแก้ส่วนหนึ่งแล้วกระทบส่วนอื่น ชี้ว่าการ “เขียนก่อนแล้วค่อยแก้” มีข้อจำกัด งานซอฟต์แวร์จึงต้องอาศัยหลักวิศวกรรมในการวิเคราะห์ ออกแบบ และตรวจสอบ

ทดสอบตอนท้าย → อาจรู้ตัวช้าเกินไป

ถ้าปัญหาอยู่ที่ความต้องการหรือโครงสร้างระบบ การพบเมื่อสร้างเสร็จแล้วอาจต้องย้อนแก้หลายส่วน จึงควรมีจุดตรวจและเปิดให้ผู้ใช้เห็นงานระหว่างทาง

รอบทำงานสั้นลง → รับผลตอบกลับเร็วขึ้น

คลิปเชื่อมไปยังแนวคิด Agile และการทำงานแบบ DevOps ซึ่งช่วยให้ทีมพัฒนา ทดสอบ ปล่อยงาน และรับข้อมูลจากการใช้งานได้ถี่ขึ้น

5 แนวคิดที่คลิปหยิบมาอธิบาย

  1. ออกแบบก่อนลงมือ: เห็นภาพว่าความต้องการจะเข้าไปอยู่ตรงไหนของระบบ
  2. บันทึกแบบและเหตุผล: คนที่มาทีหลังควรรู้ว่าตัดสินใจเช่นนี้เพราะอะไร
  3. ทดลองชิ้นเล็กก่อน: ใช้ต้นแบบทดสอบข้อสมมติที่เสี่ยง ก่อนลงทุนสร้างเต็มรูปแบบ
  4. วางแผนการทดสอบตั้งแต่ต้น: คิดล่วงหน้าว่าจะพิสูจน์ความถูกต้องอย่างไร
  5. ให้ผู้ใช้มีส่วนร่วมระหว่างทาง: ตรวจความเข้าใจร่วมกันก่อนถึงวันส่งมอบ
สรุปหัวข้อนี้

เอกสารและจุดตรวจช่วยให้ทีมย้อนหาที่มาของปัญหาได้ ส่วนรอบทำงานที่สั้นช่วยลดเวลาที่ต้องรอกว่าจะรู้ว่ากำลังเดินผิดทาง

ส่วนนี้สรุปบทเรียนตามการเล่าในวิดีโอ จึงไม่จัดทำเป็นลำดับปีหรือยืนยันรายละเอียดเชิงประวัติศาสตร์ของมาตรฐานที่ผู้บรรยายกล่าวถึง

04 • แผนที่ของงานดูต้นฉบับ 37:10 ↗

ภาพรวม SDLC ทั้ง 7 ขั้นตอน

คลิปใช้การแบ่ง 7 ขั้นเพื่อให้อธิบายได้ง่าย ลำดับด้านล่างแสดงเส้นทางหลัก แต่ในงานจริงทีมอาจทำบางกิจกรรมควบคู่กัน และย้อนกลับไปแก้ขั้นที่เกี่ยวข้องเมื่อพบข้อมูลใหม่

1 วางแผน2 ระบุความต้องการ3 ออกแบบ4 พัฒนา5 ทดสอบ6 ปล่อยระบบ7 ดูแลระบบ
↶ ผลใช้งานจริงและบทเรียนย้อนกลับไปช่วยวางแผนรอบถัดไป
สรุปหัวข้อนี้

ทุกขั้นมีผลลัพธ์ที่ใช้ต่อได้ ถ้าผลลัพธ์ไม่ผ่านเกณฑ์ ให้หาว่าต้องปรับขั้นใดก่อนเดินหน้าต่อ

ตัวอย่างร้านค้าออนไลน์ใน 7 ขั้นต่อไปนี้เป็นตัวอย่างเรียบเรียงต่อยอดจากโจทย์ในคลิป เพื่อแสดงความเชื่อมโยง ตัวเลขและเงื่อนไขเป็นตัวอย่างประกอบการเรียนรู้

Planning — เลือกปัญหาที่คุ้มค่าจะแก้

การวางแผนครอบคลุมเหตุผลที่ทำ เป้าหมาย ขอบเขต และความเป็นไปได้ ทั้งด้านเทคนิค งบประมาณ เวลา และกำลังคน ทีมควรตกลงด้วยว่าสิ่งใดจะยังไม่ทำในรอบนี้

รับอะไรมา
ปัญหาธุรกิจ ข้อจำกัด และเป้าหมายของผู้เกี่ยวข้อง
ทำอะไร
ประเมินความคุ้มค่าและความเป็นไปได้ จัดลำดับงานและกำหนดขอบเขต
ส่งอะไรต่อ
เป้าหมายที่วัดได้ ขอบเขตงาน และแนวทางใช้ทรัพยากร
ถือว่าผ่านเมื่อ
ทีมตอบตรงกันว่าทำไปเพื่ออะไร จะวัดความสำเร็จอย่างไร และมีข้อจำกัดอะไร
ตัวอย่าง • ร้านค้าออนไลน์พบว่าลูกค้าทิ้งตะกร้าก่อนชำระเงิน 70% จึงตั้งเป้าลดเหลือ 60% โดยรอบนี้ปรับเฉพาะขั้นตอนชำระเงิน ตัวเลขนี้เป็นเป้าหมายสมมติ และการลดลงเท่ากับ 10 จุดเปอร์เซ็นต์

สัญญาณว่าขั้นนี้ยังอ่อน: มีคนเพิ่มฟีเจอร์โดยไม่ปรับเวลา/ขอบเขต ไม่มีใครตอบได้ว่าสำเร็จเมื่อไร หรือคนละคนให้เหตุผลของโครงการต่างกัน

ใจความสำคัญ

ก่อนถามว่าจะสร้างอย่างไร ให้ตกลงก่อนว่าปัญหาไหนสำคัญ และผลลัพธ์ใดคุ้มค่ากับสิ่งที่ลงทุน

Requirement — แปลงความอยากได้ให้ตรวจสอบได้

คำว่า “เร็วขึ้น” หรือ “ใช้ง่าย” ยังเปิดให้ตีความได้หลายแบบ ขั้นนี้ต้องระบุว่าใครใช้ ทำอะไร ภายใต้เงื่อนไขใด และใช้เกณฑ์อะไรตรวจรับ ทีมทดสอบจึงเริ่มออกแบบกรณีทดสอบได้ตั้งแต่ก่อนโปรแกรมเสร็จ

รับอะไรมา
เป้าหมายและขอบเขตจาก Planning พร้อมข้อมูลจากผู้ใช้
ทำอะไร
ถามให้ชัด แยกความสามารถของระบบกับคุณภาพที่ต้องการ และแตกงานให้เล็กพอตรวจสอบได้
ส่งอะไรต่อ
ข้อกำหนดหรือ User story พร้อม Acceptance criteria — เกณฑ์ที่ใช้ตัดสินว่าผลงานตรงความต้องการ
ถือว่าผ่านเมื่อ
แต่ละข้อเขียนเป็นการทดสอบได้ โดยไม่ต้องเดาความหมายสำคัญเพิ่มเติม
คำที่ยังกำกวมตัวอย่างการทำให้ชัดจากคลิป
ระบบต้องเร็วหน้ารายการสินค้าแสดงครบภายใน 2 วินาที เมื่อมีผู้ใช้พร้อมกัน 500 คน
ระบบต้องใช้ง่ายผู้ใช้ใหม่สร้างใบเสนอราคาใบแรกได้ภายใน 5 นาที โดยไม่เปิดคู่มือ

เวลานี้เป็นตัวอย่างของข้อกำหนด ไม่ใช่เกณฑ์ที่ทุกระบบต้องใช้ ทีมยังต้องตกลงสภาพแวดล้อมและวิธีวัดให้ชัดเจน

ตัวอย่าง • ร้านค้าออนไลน์ผู้ใช้ที่ยังไม่สมัครสมาชิกต้องสั่งซื้อจนจบได้ จากนั้นแตกเกณฑ์ตรวจรับ เช่น ข้อมูลที่ต้องกรอก วิธีชำระเงิน การยืนยันคำสั่งซื้อ และสิ่งที่ต้องเกิดขึ้นเมื่อชำระเงินไม่สำเร็จ

สัญญาณว่าขั้นนี้ยังอ่อน: นักพัฒนาต้องเดาบ่อย ทีมทดสอบไม่รู้จะตรวจอะไร หรือวันส่งมอบผู้ใช้บอกว่าสิ่งที่ได้ต่างจากที่ตั้งใจ

ใจความสำคัญ

Planning บอกว่าจะเลือกแก้ปัญหาอะไร ส่วน Requirement ทำให้รู้ว่าระบบต้องทำอะไรได้ และจะพิสูจน์อย่างไรว่าทำได้จริง

Design — ออกแบบโครงสร้างและข้อตกลงระหว่างส่วนต่าง ๆ

งานออกแบบรวมทั้งหน้าจอ การใช้งาน โครงสร้างข้อมูล โมดูล และการเชื่อมต่อ แต่ละส่วนต้องรู้ว่าจะรับและส่งข้อมูลแบบไหน รวมถึงจัดการข้อผิดพลาดอย่างไร ทีมควรบันทึกเหตุผลของการตัดสินใจเพื่อให้ปรับระบบต่อได้ในอนาคต

รับอะไรมา
Requirement และเกณฑ์ตรวจรับที่ตกลงกันแล้ว
ทำอะไร
เปรียบเทียบทางเลือก วางโครงสร้าง หน้าจอ และข้อตกลงการเชื่อมต่อระหว่างส่วน
ส่งอะไรต่อ
แบบหน้าจอ แบบข้อมูล ข้อตกลง API และบันทึกการตัดสินใจที่จำเป็น
ถือว่าผ่านเมื่อ
อธิบายได้ว่าแบบรองรับข้อกำหนดอย่างไร ทำไมเลือกแนวทางนี้ และต้องแลกกับอะไร
ตัวอย่าง • ร้านค้าออนไลน์ออกแบบหน้า Guest checkout ให้คนไม่มีบัญชีกรอกข้อมูลได้ พร้อมกำหนดว่าคำสั่งซื้อจะเก็บข้อมูลผู้ซื้ออย่างไร และหน้าจอจะรับผลสำเร็จ/ล้มเหลวจากระบบชำระเงินแบบใด

สัญญาณว่าขั้นนี้ยังอ่อน: แก้จุดเดียวแล้วกระทบหลายจุด ทุกคนต้องเข้าใจทั้งระบบก่อนเพิ่มฟีเจอร์ หรือไม่มีใครรู้เหตุผลที่เลือกเทคโนโลยีเดิม

ใจความสำคัญ

แบบที่ดีทำให้แต่ละส่วนทำงานร่วมกันตามข้อตกลง และทำให้คนในอนาคตรู้เหตุผลของโครงสร้างที่ได้รับมา

Implementation — สร้างของจริงที่ทีมทำงานต่อได้

ขั้นพัฒนานำข้อตกลงจากขั้นก่อนหน้ามาสร้างเป็นซอฟต์แวร์ รวมถึงการทดสอบหน่วยย่อย การทบทวนโค้ด และเอกสารที่ช่วยให้คนอื่นเข้าใจหรือเริ่มใช้งานโครงการได้

รับอะไรมา
แบบที่พร้อมพัฒนา งานย่อย และข้อตกลงของระบบ
ทำอะไร
เขียนโค้ด สร้าง Unit test ทบทวนงาน และบันทึกวิธีรันหรือรายละเอียดที่จำเป็น
ส่งอะไรต่อ
โค้ดที่ตรวจทานแล้ว พร้อมการทดสอบและวิธีรันที่ทำซ้ำได้
ถือว่าผ่านเมื่อ
ผ่านเกณฑ์ทบทวนงานของทีม และสมาชิกคนอื่นสามารถนำไปรันหรือตรวจต่อได้
ตัวอย่าง • ร้านค้าออนไลน์สร้างหน้าสั่งซื้อและ API สำหรับผู้ไม่มีบัญชี ปรับการเก็บคำสั่งซื้อ และเขียนการทดสอบตรรกะที่สำคัญ เช่น การคำนวณยอดซื้อ

สัญญาณว่าขั้นนี้ยังอ่อน: รันได้เฉพาะเครื่องเจ้าของโค้ด ไม่มีเกณฑ์ตัดสินใจรับงานเข้าระบบ หรือสมาชิกต้องใช้เวลามากเพื่อเดาเจตนาของโค้ด

ใจความสำคัญ

งานพัฒนาที่พร้อมส่งต่อควรรันซ้ำได้ ตรวจสอบได้ และมีข้อมูลให้คนอื่นเข้าใจสิ่งที่สร้างขึ้น

Testing — สร้างหลักฐานว่าระบบตรงกับสิ่งที่ตกลง

การทดสอบมีหลายระดับ ตั้งแต่ตรรกะเล็ก ๆ การเชื่อมต่อ ไปจนถึงการใช้งานจริงและคุณภาพของระบบ ผลทดสอบต้องเชื่อมกลับไปยังข้อกำหนด เพื่อให้รู้ว่าที่ผ่านนั้นครอบคลุมความต้องการใดบ้าง

ระดับการทดสอบคำถามที่ต้องตอบ
Unit testตรรกะหรือฟังก์ชันย่อยทำงานถูกต้องหรือไม่?
Integration testส่วนต่าง ๆ เชื่อมต่อและส่งข้อมูลกันตามข้อตกลงหรือไม่?
End-to-end testผู้ใช้ทำงานตั้งแต่ต้นจนจบผ่านหน้าระบบได้หรือไม่?
Non-functional testความเร็ว การรองรับโหลด และคุณภาพด้านอื่นตรงเกณฑ์หรือไม่?
Acceptance testพฤติกรรมที่ได้ตรงกับสิ่งที่ผู้ใช้และทีมตกลงกันไว้หรือไม่?
รับอะไรมา
ซอฟต์แวร์ที่พร้อมทดสอบ พร้อม Requirement และเกณฑ์ตรวจรับ
ทำอะไร
ทดสอบตามระดับที่เกี่ยวข้อง บันทึกผล และวิเคราะห์สาเหตุของข้อผิดพลาด
ส่งอะไรต่อ
ผลทดสอบ รายการข้อผิดพลาด และข้อมูลสำหรับตัดสินใจว่าพร้อมปล่อยหรือยัง
ถือว่าผ่านเมื่อ
ผลตรวจรองรับเกณฑ์ที่ตกลงไว้ และข้อผิดพลาดได้รับการจัดการตามเงื่อนไขของทีม
ตัวอย่าง • ร้านค้าออนไลน์ทดสอบซื้อสินค้าแบบไม่สมัครสมาชิกตั้งแต่กรอกข้อมูลจนเห็นคำยืนยัน รวมถึงชำระเงินไม่สำเร็จ และตรวจว่าผลลัพธ์ตรงกับเกณฑ์ที่เขียนไว้

สัญญาณว่าขั้นนี้ยังอ่อน: ต้องกดตรวจซ้ำทั้งระบบทุกครั้ง พบความเข้าใจ Requirement ผิดช่วงท้ายบ่อย หรือไม่กล้าปรับโครงสร้างโค้ดเพราะไม่มั่นใจว่าจะกระทบอะไร

ใจความสำคัญ

เมื่อทดสอบไม่ผ่าน ให้ตามหาว่าผิดที่โค้ด แบบ หรือข้อกำหนด แล้วปรับจุดตรวจต้นทางเพื่อป้องกันการหลุดซ้ำ

Deployment — ส่งซอฟต์แวร์ถึงผู้ใช้อย่างควบคุมได้

การปล่อยระบบต้องทำให้ทีมรู้ว่ากำลังปล่อยอะไร ใช้ขั้นตอนใด ตรวจหลังปล่อยอย่างไร และรับมืออย่างไรหากเกิดปัญหา การพึ่งคนเดียวหรือจำขั้นตอนด้วยความเคยชินทำให้การส่งมอบเปราะบาง

รับอะไรมา
เวอร์ชันที่ผ่านการทดสอบและแผนปล่อยระบบ
ทำอะไร
นำขึ้นสภาพแวดล้อมจริง ตรวจผล และเตรียมวิธีรับมือหรือย้อนกลับเมื่อจำเป็น
ส่งอะไรต่อ
ระบบที่ผู้ใช้เข้าถึงได้ พร้อมข้อมูลเวอร์ชันและผลตรวจหลังปล่อย
ถือว่าผ่านเมื่อ
ทีมยืนยันได้ว่าปล่อยเวอร์ชันใด ระบบทำงานตามที่ตรวจไว้ และมีวิธีจัดการเมื่อผิดพลาด
ตัวอย่าง • ร้านค้าออนไลน์ปล่อย Guest checkout เวอร์ชันที่ทดสอบแล้ว ตรวจเส้นทางซื้อสินค้าหลังขึ้นระบบ และเตรียมวิธีคืนบริการหากการชำระเงินมีปัญหา

สัญญาณว่าขั้นนี้ยังอ่อน: มีคนเดียวที่ปล่อยระบบได้ ไม่รู้ว่าระบบจริงใช้โค้ดเวอร์ชันไหน หรือปล่อยแล้วมีปัญหาแต่ไม่มีทางย้อนกลับที่เตรียมไว้

ใจความสำคัญ

การปล่อยระบบที่ดีควรทำซ้ำได้ รู้เวอร์ชัน ตรวจผลได้ และมีทางรับมือเมื่อผลไม่เป็นไปตามคาด

Operations & Maintenance — ดูแลระบบและเรียนรู้จากของจริง

หลังปล่อยใช้งานยังมีกรณีที่ทีมไม่เคยพบระหว่างทดสอบ จึงต้องติดตามสุขภาพระบบ การใช้งาน ปัญหา และผลต่อธุรกิจ รวมถึงบำรุงรักษาเชิงป้องกันและพิจารณาเลิกใช้ส่วนที่ไม่เหมาะสมแล้ว

รับอะไรมา
ระบบจริง ข้อมูลการใช้งาน ข้อผิดพลาด และความคิดเห็นของผู้ใช้
ทำอะไร
เฝ้าดูระบบ รับมือเหตุขัดข้อง วิเคราะห์สาเหตุ และดูแลส่วนประกอบของระบบ
ส่งอะไรต่อ
ข้อมูลผลลัพธ์ บทเรียนจากเหตุการณ์ และงานปรับปรุงสำหรับรอบต่อไป
ถือว่าผ่านเมื่อ
มีวิธีติดตามและรับมืออย่างต่อเนื่อง พร้อมส่งบทเรียนกลับไปสู่การวางแผน
ตัวอย่าง • ร้านค้าออนไลน์ติดตามว่าผู้ใช้ซื้อแบบไม่สมัครสมาชิกสำเร็จเพียงใด การชำระเงินล้มเหลวตรงไหน และอัตราทิ้งตะกร้าเปลี่ยนหรือไม่ แล้วนำข้อมูลไปตัดสินใจปรับรอบถัดไป โดยไม่ถือว่าปล่อยฟีเจอร์แล้วจะบรรลุเป้าหมายโดยอัตโนมัติ

สัญญาณว่าขั้นนี้ยังอ่อน: รู้ว่าระบบล่มจากผู้ใช้โทรแจ้ง ไม่รู้ว่าฟีเจอร์มีคนใช้หรือไม่ หรือแก้ปัญหาเดิมซ้ำโดยไม่ส่งบทเรียนกลับเข้าแผนงาน

ใจความสำคัญ

ข้อมูลหลังใช้งานคือจุดเริ่มต้นของการปรับปรุงรอบใหม่ งานดูแลระบบจึงเป็นกิจกรรมต่อเนื่องตลอดช่วงที่ยังให้บริการ

05 • ปรับวงจรให้เข้ากับงานดูต้นฉบับ 1:03:31 ↗

เลือกวิธีทำงานจากความไม่แน่นอนและความเร็วที่ต้องเรียนรู้

เมื่อรู้กิจกรรมหลักแล้ว ทีมจึงเลือกรูปแบบการจัดงาน คลิปพูดถึงการทำเป็นลำดับ การทำซ้ำ และการทยอยส่งมอบ พร้อมชวนให้พิจารณาบริบทของทีม

แนวคิดมองแบบง่ายสิ่งที่ควรถามก่อนใช้
ทำเป็นลำดับ
Waterfall
วางกิจกรรมเป็นขั้นที่ชัด และกำหนดจุดตรวจ/การย้อนแก้ข้อกำหนดนิ่งเพียงใด และหากพบปัญหาจะย้อนแก้อย่างไร?
ทำซ้ำ
Iterative
ปรับสิ่งที่ทำจากผลตอบกลับในแต่ละรอบต้องทดสอบข้อสมมติและรับความเห็นผู้ใช้บ่อยแค่ไหน?
ทยอยส่งมอบ
Incremental
แบ่งความสามารถเป็นส่วนย่อย แล้วเพิ่มทีละส่วนส่วนใดส่งมอบแล้วเกิดประโยชน์ได้ก่อน?

แนวทางเหล่านี้อาจใช้ร่วมกันได้ ส่วน Agile เป็นแนวคิดที่ให้ความสำคัญกับการปรับตัวและผลตอบกลับ และ DevOps เชื่อมงานพัฒนากับงานดูแลระบบ ในคลิปผู้บรรยายเน้นบทบาทของการตรวจและปล่อยงานอัตโนมัติที่ช่วยให้รอบทำงานสั้นลง

สรุปหัวข้อนี้

ให้ดูความนิ่งของโจทย์ ความถี่ที่ต้องถามผู้ใช้ และความสามารถในการรับมือหลังปล่อยงาน แล้วจึงเลือกจังหวะและรูปแบบของวงจร

06 • จากกรอบคิดสู่การสั่งงาน AIดูต้นฉบับ 1:05:05 ↗

ใช้ AI ช่วยตรวจความชัดเจนของแต่ละขั้น

เมื่อแบ่งงานตาม SDLC เราจะสั่ง AI ได้เจาะจงขึ้น ทั้งการหาข้อกำหนดที่ยังคลุมเครือ เปรียบเทียบแบบ หาเส้นทางที่ยังไม่มีการทดสอบ และวิเคราะห์ว่าควรป้องกันเหตุขัดข้องตั้งแต่ขั้นไหน

Prompt ด้านล่างเป็นฉบับเรียบเรียงจากแนวคิดช่วงท้ายคลิป สามารถแทนข้อความในวงเล็บด้วยข้อมูลโครงการของคุณได้

Requirement: หาคำถามที่ยังไม่มีคำตอบ

นี่คือโจทย์จากลูกค้า: [วางโจทย์] ช่วยแยกความต้องการเป็นความสามารถของระบบ และคุณภาพที่คาดหวัง ระบุข้อที่ยังกำกวมหรือยังเขียนเป็นการทดสอบไม่ได้ พร้อมคำถามที่ต้องถามเพิ่ม ยังไม่เสนอวิธีพัฒนา และอย่าเติมข้อสมมติแทนลูกค้า

Design: เปรียบเทียบผลของการตัดสินใจ

จากข้อกำหนดและข้อจำกัดนี้: [วางข้อมูล] เสนอแนวทางออกแบบที่เป็นไปได้ พร้อมข้อดี ข้อเสีย และสิ่งที่ต้องแลก อธิบายว่าแต่ละแนวทางจะมีอะไรแก้ยากขึ้นในอีก 6 เดือน ระบุข้อมูลที่ยังขาดก่อนตัดสินใจเลือก

Testing: หาเส้นทางเสี่ยงที่ยังตรวจไม่ถึง

นี่คือข้อกำหนด โค้ด และการทดสอบที่มี: [วางข้อมูล] ตรวจว่าเส้นทางการทำงานใดยังไม่มีการทดสอบ และเรียงตามผลกระทบหากผิดพลาด ชี้การทดสอบที่อาจผ่านเสมอ แม้พฤติกรรมของโค้ดจะผิด แยกสิ่งที่ตรวจพบจากข้อมูลจริง ออกจากสิ่งที่ยังต้องทดลองยืนยัน

Operations: ส่งบทเรียนกลับเข้าวงจร

นี่คือข้อมูลเหตุขัดข้อง: [ลำดับเหตุการณ์ ผลกระทบ และหลักฐาน] วิเคราะห์ว่าปัญหานี้ควรถูกตรวจพบในขั้นใดของ SDLC เสนอสิ่งที่ควรเพิ่มอย่างถาวรในขั้นนั้นเพื่อป้องกันการเกิดซ้ำ อธิบายต้นทุนของแต่ละข้อเสนอ และระบุส่วนที่หลักฐานยังไม่พอจะสรุป
สรุปหัวข้อนี้

SDLC ทำให้การสั่ง AI มีโจทย์และผลลัพธ์ที่ชัดขึ้น เราจึงตรวจคำตอบได้ว่าตอบคำถามของขั้นนั้นครบหรือยัง

PUT IT INTO PRACTICE

เริ่มใช้กับทีมด้วยการหาจุดที่เจ็บบ่อยที่สุด

เลือกปัญหาจริงหนึ่งเรื่องที่เกิดซ้ำ เช่น ส่งของไม่ตรงโจทย์ ปล่อยระบบยาก หรือคนใหม่ทำงานต่อไม่ได้ แล้วไล่ดูว่าข้อมูลหรือจุดตรวจขาดไปตรงไหนของวงจร

  1. ระบุปัญหาและผลกระทบที่เห็นจริง
  2. ย้อนดูว่าขั้นใดควรจับปัญหานี้ได้ก่อน
  3. กำหนดข้อมูลเข้า ผลลัพธ์ และเกณฑ์ผ่านของขั้นนั้นให้ชัด
  4. ทดลองใช้กับงานชิ้นเล็กหนึ่งรอบ
  5. นำผลที่เกิดขึ้นมาปรับข้อตกลงของทีม

สิ่งสำคัญที่ได้จากคลิปคือ การใช้ SDLC เป็นแผนที่ช่วยมองปัญหาของทีม แล้วค่อยปรับวงจรให้ตรวจพบปัญหาได้เร็วและส่งต่องานได้ดีขึ้น

ขั้นตอนเริ่มใช้นี้เป็นข้อเสนอเรียบเรียงต่อยอดจากใจความของผู้บรรยาย

REFERENCE & GLOSSARY

แหล่งข้อมูลและคำศัพท์ประกอบ

ต้นฉบับ: SDLC คืออะไร ? — mikelopster
ใช้ Transcript ภาษาไทยที่ดึงจาก YouTube เมื่อ 7 กันยายน 2026 และเวลาแบ่งหัวข้อจากคำอธิบายวิดีโอ

เอกสารนี้สรุปและเรียบเรียงใหม่ โดยลดคำพูดซ้ำและปรับศัพท์เทคนิคที่ระบุได้จากบริบท ส่วนตัวอย่างต่อเนื่องและ Prompt ระบุไว้ว่าเป็นการเรียบเรียงต่อยอด คำบรรยายต้นทางสร้างอัตโนมัติ จึงอาจมีความคลาดเคลื่อนบางคำ

Acceptance criteria / Exit criteria

Acceptance criteria คือเงื่อนไขตรวจรับความสามารถหรือผลงาน ส่วน Exit criteria คือเกณฑ์ที่ใช้ตัดสินว่ากิจกรรมหนึ่งพร้อมส่งต่อไปขั้นถัดไป เกณฑ์ตรวจรับอาจเป็นส่วนหนึ่งของเกณฑ์ผ่านขั้นได้

Epic / User story / Task

Epic ใช้จัดกลุ่มงานหรือความต้องการขนาดใหญ่ User story อธิบายความต้องการในมุมผู้ใช้ และ Task เป็นงานย่อยที่ต้องทำ คลิปใช้ภาพนี้อธิบายการแตกโจทย์ให้ลงมือและตรวจสอบได้ง่ายขึ้น

API contract / ADR

API contract คือข้อตกลงการรับส่งข้อมูลระหว่างส่วนของระบบ เช่น รูปแบบข้อมูลและข้อผิดพลาด ADR — Architecture Decision Record คือบันทึกบริบท การตัดสินใจด้านสถาปัตยกรรม และเหตุผลที่เลือก

Prototype / Technical debt / Incident

Prototype คือต้นแบบเพื่อทดลองหรือพิสูจน์แนวทาง Technical debt คือภาระการปรับแก้ที่สะสมจากทางเลือกในการพัฒนา และ Incident คือเหตุขัดข้องที่ส่งผลต่อบริการหรือผู้ใช้

ช่วงแนะนำคลาสและคำเชิญท้ายวิดีโอถูกรวมเป็นบริบทของแหล่งข้อมูล เนื้อหาเอกสารเน้นหลักการ SDLC และการประยุกต์ใช้

← All notes