1. การตอบรับ
ต่อขนาดที่พอเหมาะ (Fine Scale Feedback)
a.
ทำโปรแกรมแนวคู่ขนาน
(Pair programming)
- การวางแผน แบบเกมการเล่น (Planning
game)
- การพัฒนา ที่ขับเคลื่อนด้วยการทดสอบ (Test-driven development)
- ความร่วมมือจากทุกคนในทีม (Whole team)
2. การทำงานด้วยความต่อเนื่อง (Continuous
Process)
a.
การผสมผสานอย่างต่อเนื่อง (Continuous
integration)
- การรีแฟคเตอร์ (Refactoring) หรือ ปรับปรุงงานออกแบบให้ดีขึ้น (Design Improvement)
c. ย่อยงานให้เล็ก พร้อมกับทยอยส่งมอบ (Small
releases)
3. แบ่งปันความเข้าใจ (Shared
Understanding)
a.
กำหนดมาตรฐาน โค้ดคำสั่งร่วมกัน
(Coding
standards)
- การรวบรวมโค้ดคำสั่งแต่ละคน เข้าด้วยกัน (Collective
code ownership)
- เน้นการออกแบบที่เรียบง่าย (Simple design)
- เทียบเคียงการทำงานของระบบ (System metaphor)
4. ใส่ใจ สวัสดีภาพของนักพัฒนา (Programmer Welfare)
a. ให้การสนับสนุน และช่วยเหลือเป็นระยะ (Sustainable
pace)
5. การเขียนรหัสคำสั่ง (Coding)
a.
เจ้าของระบบ/ลูกค้า
พร้อมตอบข้อสงสัยอยู่เสมอ
- เขียนโค้ดคำสั่ง ในส่วนการทดสอบย่อย ก่อน
- การรวมโค้ดคำสั่งเข้าด้วยกัน ให้ทำทีละชุด(คู่)ต่อครั้ง
- ส่วนของ การปรับปรุงให้ดีขึ้น จะเก็บไว้ทำในขั้นตอนสุดท้าย
- ไม่มีการทำงานล่วงเวลา
6. การทดสอบ (Testing)
a.
ทุกโค้ดคำสั่งต้อง
ทำการทดสอบย่อย (Unit tests)
- ทุกโค้ดคำสั่งต้อง ผ่าน ทุกการทดสอบย่อย (Unit
tests) ก่อนจะเผยแพร่ (released)
- เพื่อหา ข้อผิดพลาด (Bug) ให้พบจากการสร้าง
การทดสอบย่อย ก่อนที่ข้อผิดพลาดจะปรากฏ
(บางครั้ง Bug ไม่เกี่ยวกับ ข้อผิดพลาดทางด้าน ตรรกะ (logic error), แต่มันเป็น
การทดสอบที่เราเผลอลืมเขียนลงไป) - ทดสอบการยอมรับ
(Acceptance
tests) ให้ทำหลายๆ รอบ และผลลัพธ์ต่างๆ
ค่อยนำเผยแพร่ต่อไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น