The Rules of Extreme Programming

Extreme Programming แบ่ง task domain หลักๆออกเป็น 5 domain และในแต่ละ domain มีหลักเกณฑ์ต่างๆ ดังนี้

Planning

  • User Stories ได้ถูกเขียนแล้ว
  • Release planning สร้าง release schedule
  • ทำ small releases บ่อยๆ
  • แบ่ง projects ออกเป็น iterations
  • ในแต่ละ iteration เริ่มต้นด้วย Iteration planning

Managing

  • ให้ open work space แก่ team อย่างเต็มที่
  • กำหนด sustainable pace
  • ในแต่ละวัน ให้เริ่มต้นด้วย stand up meeting
  • มี Project Velocity เป็นหน่วยวัด
  • Move people around
  • Fix XP เมื่อกระบวนการถูกขัดจังหวะโดยปัญหาใดๆ

Designing

  • Simplicity
  • เลือก system metaphor
  • ใช้ CRC cards สำหรับช่วงการออกแบบ
  • สร้าง spike solutions เพื่อลดความเสี่ยง
  • ไม่มีฟังก์ชั่นการทำงานใดๆเป็น added early
  • ทำRefactor เมื่อใดและที่ใดก็แล้วแต่ที่เป็นไปได้

Coding

  • ลูกค้าจะต้อง always available
  • Code ถูกเขียนด้วย standards ที่ได้ตกลงกันแล้ว
  • Code เขียนเป็น unit test first เสมอ
  • ทุก code ที่ผลิตออกมามี pair programmed
  • มีเพียง 1 คู่เท่านั้นที่ integrates code at a time
  • Integrate often
  • ตั้งค่าเฉพาะให้ integration computer
  • ใช้ collective ownership

Testing

  • code ทั้งหมดจะต้องมีการ unit tests
  • code ทั้งหมดจะต้องผ่าน unit tests ก่อนที่จะสามารถปล่อยได้
  • เมื่อ bug is found การทดสอบจะถูกสร้างขึ้น
  • Acceptance tests จะถูกทำงานบ่อยครั้ง และ มี score ที่ได้รับการเผยแพร่

คำที่ถูกขีดเส้นใต้ เมื่อผมมีเวลาก็จะเข้ามาเขียนอธิบายเรื่อยๆครับ

ที่มา: The Rules of Extreme Programming

ขอบคุณครับ 🙂

“สังขาร” คือ สิ่งผสมทุกชนิดทุกอย่าง

ทั้งที่มีใจครอง เช่น คน สัตว์ และไม่มีใจครอง เช่น ต้นไม้ ภูเขา

สิ่งเหล่านี้ผสมขึ้นจากองค์ประกอบอย่างน้อยก็คือ ดิน น้ำ ลม ไฟ

— เสฐียรพงษ์ วรรณปก —

Advertisements

#agile-software-development