[สรุปหนังสือ XP 2nd Edition by Kent Beck] : บทที่ 2 Learning to Drive
จำความรู้สึกตอนหัดขับรถใหม่ๆ ได้ไหมคะ???
.
.
วิธีการขับรถ = หัวใจของ Extreme Programming
เพราะการขับรถ ไม่ใช่การที่ทำให้รถขับเคลื่อนไปข้างหน้าตรงๆ เท่านั้น เเต่คือประคองพวงมาลัย เเละระมัดระวังไปตลอดเส้นทาง, เเละค่อยๆ ปรับเปลี่ยนทิศทางไปทีละนิดให้สอดคล้อง ตามเส้นทางที่เราเห็นอยู่ข้างหน้า
เช่นกัน
รูปเเบบ (Paradiam) ของ Extreme Programming (XP) คือ เฝ้าระวัง (Stay aware) ปรับตัว (Adapt) เเละ เปลี่ยนเเปลง (Change)
ทุกๆ การเปลี่ยนเเปลงที่เข้ามา ไม่ว่าอะไรก็ตาม (Requirement ลูกค้าเปลี่ยน Design เปลี่ยน เทคโนโลยีเปลี่ยน คนทำงานเปลี่ยน) ปัญหาไม่ได้อยู่มีการเปลี่ยนเเปลง (เพราะยังไงมันก็มา เราทำอะไรไม่ได้) เเต่ประเด็นคือความสามารถในการรับมือกับความเปลี่ยนเเปลงนั้นๆ ต่างหาก
ใน XP การขับเคลื่อนงานจะมี 2 ระดับ คือ
1. ให้ลูกค้าเป็นผู้ขับเคลื่อนเนื้อหาของระบบ
2. ทีมทั้งหมดเป็นผู้ขับเคลื่อนกระบวนการพัฒนา
XP จะเน้นที่ความพยายามให้ปรับบ่อยๆ เเก้ไขทีละนิด เเละ ค่อยๆเคลื่อนเข้าใกล้เป้าหมายข้างหน้าทีละนิด โดยการผลิต เเละทดลองใช้งานซอฟเเวร์เป็นช่วงสั้นๆ ทำให้ไม่ต้องรอนาน ถ้าไปผิดทิศก็จะรู้เลยในช่วงเวลาสั้นๆ นั้น
ในการทำงานจริง จะให้ลูกค้าเป็นผู้ขับเคลื่อนเนื้อหา (ทางธุรกิจ) ของระบบ โดยเริ่มจากปัญหาที่เค้าพบ เเละอยากจะเเก้ไข ซึ่งโดยปกติเเล้วลูกค้าจะไม่ค่อยรู้เเน่นอนว่าซอฟเเวร์ควรออกมาเป็นยังไง เพื่อเเก้ปัญหาเค้า นั่นจึงเหตุผลที่ทำให้ “การพัฒนาซอฟเเวร์จึงจำเป็นต้องเป็นเหมือนกันขับรถ” โดยมีลูกค้าเป็นคนควบคุมพวงมาลัยกำหนดทิศทางทางธุรกิจ เเละคอยตัดสินใจว่า ในช่วงเวลาสั้นๆ ในเเต่ละช่วง (อาจจะเป็นทุกๆสัปดาห์) เค้าอยากจะเห็นผลลัพธ์การเเก้ไขจุดไหนก่อน โดยมีทีมทั้งหมดเป็นคนส่งคุณค่าของงานออกมา
จากจุดเริ่มต้นการทำงานเริ่มจาก กำหนดงานที่สำคัญเเละจำเป็นต้องทำก่อนส่วนหนึ่ง เเล้วจึงค่อยๆ พัฒนาเพิ่มมากขึ้นไปเรื่อยๆ ภายใต้การระมัดระวังว่าสิ่งที่จะพัฒนาเพิ่มต่อไปนั้นจะนำไปสู่การเข้าถึงเป้าหมายมากขึ้นหรือไม่ ในขณะเดียวกันก็ต้องพัฒนาประสิทธิภาพการทำงาน (Effectiveness) การสื่อสาร (Communication) เเละประสิทธิผลของงาน (Productivity) ให้ดีขึ้น
