วันอาทิตย์, มีนาคม 10, 2556

Extreme Programming Practices (แนวปฏิบัติหลัก)


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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น