วันอังคารที่ ๓๐ ตุลาคม พ.ศ. ๒๕๕๐

XP คืออะไร อะไรคือ XP


ตั้งคำถามขึ้นมาแบบนี้หลายคนตอบได้ ง่ายมาก มันคือ Windows XP ใช่เปล่า?

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

XP เป็นกระบวนการที่มีลำดับขั้นตอนเช่นเดียวกัน ดังนี้

1. Collecting user stories เป็นการเก็บรวบรวมเรื่องราวความต้องการของลูกค้า จริง ๆ แล้วการทำแบบอื่นๆ ก็เน้นแบบนี้เช่นกัน แต่กระบวนการรวดเร็วกว่า ใช้กระดาษโน้ตแผ่นเล็ก ๆ ให้ผู้ใช้ระบบเขียนความต้องการ โดยไม่มีการพูดคุยด้านเทคโนโลยี หรือฐานข้อมูล หรืออัลกอริทึ่ม เป็นการพูดคุยกันระหว่างโปรแกรมเมอร์กับผู้ใช้โดยตรง โดยไม่ผ่านนักวิเคราะห์ระบบ เมื่อโปรแกรมเมอร์ ทราบความต้องการแล้วรวบรวมจำนวน stories นำมากำหนดวันแล้วเสร็จในงานนั้น ๆ เพื่อกำหนดวันส่งมอบต่อไป
2. Create Spike Solution เป็นการนำเอา user stories มาหากระบวนการแก้ปัญหาด้วยวิธีการทางการเขียนโปรแกรม โดยเน้นการเขียนโปรแกรมแบบง่าย ๆ ไม่ต้องซับซ้อน ถ้าแก้ปัญหาคนเดียวไม่ได้ แนะนำให้ใช้วิธีการ Pair Programming เพื่อลดความเสี่ยงที่เกิดขึ้น
3. Release Planning เป็นการวางแผนการดำเนินงานทั้งหมดจนแล้วเสร็จ กระทั่งส่งมอบงานให้ผู้ใช้ วิธีการคือให้นำ user stories ทั้งหมดนำมาให้ทีมโปรแกรมเมอร์พิจารณางานแล้วเสร็จ โดยพิจารณาตาม story แต่ละ story แล้วบวก ลบ 20 % จะได้วันแล้วเสร็จ
4. Iteration Planning ขั้นตอนนี้เป็นการทำซ้ำแล้วซ้ำอีก เพราะ XP ใช้วิธีการส่งมอบงานไปเรื่อย ๆ เมื่องานก้าวหน้าแต่ละ story แล้วทดสอบระบบเมื่อผ่านเรียบร้อย จึงส่งมอบงานและนำ story ใหม่มาทำอีก แต่งานเดิมทดสอบไม่ผ่านต้องทำซ้ำ ให้ดูภาพประกอบ



ที่มา : www.extremeprogramming.org


5. Development หมายถึงขั้นตอนการพัฒนาระบบเป็นการเขียนชุดคำสั่ง แต่ XP Model จะมีกระบวนการย่อยเพิ่มขึ้น เช่น มีการ Stand up meeting เป็นการพูดคุยกันก่อนการทำงานในแต่ละวันเพื่อหาปัญหาและวิธีแก้ปัญหา และนอกจากนี้ยังนำเอาวิธีการที่เรียกว่า Pair Programming มาใช้ในการพัฒนาด้วย
6. Acceptance Tests เป็นกระบวนการทดสอบจากผู้ใช้ ที่ผู้ใช้ได้กำหนดความต้องการเอาไว้ ว่าถูกต้องตรงกันหรือไม่ มีคุณภาพหรือไม่ กระบวนการตรวจสอบคุณภาพก็อยู่ในกระบวนการนี้ด้วย โดยจะต้องมีทีมตรวจสอบคุณภาพมาจากภายนอกด้วย แต่ต้องทำงานอย่างใกล้ชิดกับทีมพัฒนาโปรเจ็คนี้ด้วย
7. Small Releases การส่งมอบงานไปทีละขั้น ทีละฟังก์ชันเป็นเรื่องภาพลักษณ์ทางธุรกิจที่ดี ทำให้ผู้ใช้มองเห็นความก้าวหน้าของโปรเจ็ค เห็นความน่าเชื่อถือทีมพัฒนา และเมื่อเจอปัญหาอีกจะได้เร่งแก้ไขแต่เนิ่น ๆ

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