Specification Driven-Developement
ช่วงนี้เห็นมีการพูดถึงปัญหาของการหยิบ AI เข้ามาช่วยในการ Coding และเป็นปัญหาเยอะมากเลยครับ
เลยเกิดคลาสนี้ที่จะแนะนำให้รู้จักกับ Specification-Driven Development (SDD)—แนวคิดที่จะเปลี่ยนการ "สั่งงาน" AI ให้กลายเป็นการ "ออกแบบ" งานร่วมกันอย่างมีประสิทธิภาพ เพื่อให้ได้ผลลัพธ์ที่แม่นยำ, คาดเดาได้, และมีคุณภาพสูง"อย่างสม่ำเสมอ"
เลยเกิดคลาสนี้ที่จะแนะนำให้รู้จักกับ Specification-Driven Development (SDD)—แนวคิดที่จะเปลี่ยนการ "สั่งงาน" AI ให้กลายเป็นการ "ออกแบบ" งานร่วมกันอย่างมีประสิทธิภาพ เพื่อให้ได้ผลลัพธ์ที่แม่นยำ, คาดเดาได้, และมีคุณภาพสูง"อย่างสม่ำเสมอ"
สิ่งที่คุณจะได้รับจากเวิร์กช็อปนี้
- 🚀 ปรับ Mindset ใหม่: มอง AI ไม่ใช่แค่เครื่องมือช่วยเขียนโค้ด แต่เป็นหนึ่งในเครื่องมือที่สามารถควบคุมได้
- 📝 เขียน Spec: เรียนรู้การสร้าง Specification ที่ชัดเจนจน AI สามารถเปลี่ยนเป็นโค้ดคุณภาพสูงได้ และสามารถนำไปใช้ส่งต่อให้ Developer ได้ด้วย
- ↔️ เห็นภาพความแตกต่าง: เข้าใจว่า SDD ต่อยอดและแตกต่างจาก TDD/BDD ขนาดไหน
- 💻 ลงมือทำ: ฝึกฝนการเขียน Prompt และสร้าง Spec ผ่าน Workshop ที่ทำตามได้ทันที
Pre Requisition
- Gemini Cli installed, https://github.com/google-gemini/gemini-cli
- Gemini or ChatGPT or Claude (whatever GenAI account :D)
- นอนมาเย้อเย้อ🛌 อันนี้สำคัญมาก
- Gemini or ChatGPT or Claude (whatever GenAI account :D)
- นอนมาเย้อเย้อ🛌 อันนี้สำคัญมาก
เนื้อหาการเรียนรู้ (Course Outline)
Section 1: Introduction & Mindset
- Perspective & Mindset:
- What’s AI?: AI คืออะไรกันแน่? ในมุมมองของนักพัฒนา
- New Perspective to AI: เราควรมีมุมมองต่อ AI อย่างไร เพื่อให้ทำงานร่วมกันได้ดีที่สุด
- Hidden Cost: เบื้องหลังความสะดวกสบาย มีต้นทุนอะไรที่ซ่อนอยู่ในการใช้ AI บ้าง?
Section 2: The First Step into SDD
- Try First Approach:
- Prompt Format: เรียนรู้โครงสร้างการเขียน Prompt ที่ดี หัวใจของการสื่อสารกับ AI
- WORKSHOP: Prompt Practice: ทดลองเขียน Prompt เพื่อแก้ปัญหา
Section 3: Core & Philosophy
- Evolution of SDD:
- What’s SDD?: นิยามของ Specification-Driven Development คืออะไร
- Why’s SDD?: ทำไม SDD ถึงเป็นแนวทางที่ทรงพลังในยุค AI
- SDD vs TDD (vs BDD): เปรียบเทียบความเหมือนและความต่างระหว่าง SDD, Test-Driven Development และ Behavior-Driven Development
- "SDD (Palm Ver.)": ทำความรู้จัก SDD ฉบับของผมเอง สุดเจ๋ง
- AI Integration:
- Developer need spec(s): ทำไมนักพัฒนาถึงโหยหา Spec ที่ดี และมันช่วยลดงานที่ไม่จำเป็นได้อย่างไร
- AI integrated: SDD คือสะพานเชื่อมระหว่าง Developer และ AI ได้อย่างไร
Section 4: Crafting the Perfect Specification
- Good Specification Consists Of?:
- "CIVIC": หลักการเขียน Spec ที่ดีต้องประกอบด้วย Clear, Isolated, Verifiable, Identical, Complete
- What, How, Task: องค์ประกอบหลัก 3 ส่วนที่ขาดไม่ได้ใน Spec
- Given-When-Then: ทำความรู้จักโครงสร้างการเขียน "How" ที่เป็นมาตรฐานสากล
Section 5: Let's Build!
- WORKSHOP: Let's do SDD:
- นำความรู้ทั้งหมดมาลงมือปฏิบัติจริง! มาลองเปลี่ยน Requirement ธรรมดาให้กลายเป็น Specification ที่สมบูรณ์ แล้วส่งต่อให้ AI สร้างโค้ดไปด้วยกัน
Section 6: Conclusion
- Are we writing the spec, or is the AI?: สุดท้ายแล้วใครกันแน่ที่ต้องเป็นคนเขียน Spec?
- Is it really good and actually useable in production?: ชวนคุยว่ามันดีพอรึยังที่จะเอาไปใช้ใน code productio?
- Overview & Conclusion: สรุปภาพรวมทั้งหมดและแนวทางในการนำ SDD ไปปรับใช้กับโปรเจกต์ของคุณ