Agile คือ

Agile คืออะไร
- เป็นหลักการในการพัฒนา software
แบบใหม่ที่เน้น...
- Rapid and flexible response to change
-ทำให้การพัฒนาว่องไว
- มีการทำเรื่อยๆไม่ต้องหยุด
แม้มีอะไรมากระทบก็ไม่เป็นไร
- เมื่อมีการเปลี่ยนแปลง
เราสามารถรองรับความเปลี่ยนแปลงนั้นได้อย่างรวดเร็ว ไม่ตายตัว
วัตถุประสงค์ของ Agile
- เน้นว่าใครถนัดอะไร
และการพูดคุยสื่อสารกัน มากกว่า การยึดติดที่เครื่องมือและกระบวนการ
เช่นเปลี่ยนให้โปรแกรมเมอร์ไปคุยกับลูกค้าแทน ลูกค้าบอกอะไรมาก็ทำตามนั้นได้เลย
-ให้ทำงานโดยยึดที่ผลผลิตหรือ
software เป็นหลัก เช่น เดิมเน้นเอกสารแต่ Agile ไม่สนมากนัก แต่สนทีี่ว่าเรามี sw หรือของส่งให้ลูกค้าหรือยัง
- ให้ความสำคัญเรื่องของการติดต่อสื่อสาร
เช่น เดิมมีสัญญาหรือ contact กันแต่ Agile ไม่สนใจ ให้มองที่ความสัมพันธ์ระหว่างผู้พัฒนาและลูกค้า
-ยอมรับความเปลี่ยนแปลง เช่น
เดิมต้องวางแผนให้ครบเป็นอย่างดี และทำตามแผน(gantt chart) ให้ได้
แต่ Agile ไม่ต้องทำตามแผนแต่เน้นการสนองความเปลี่ยนแปลงที่เกิดขึ้นได้
หลักการ Agile
- เน้นความพอใจให้ลูกค้า
ลูกค้าชอบ มีการส่งมอบ software อย่างต่อเนื่อง
ยอมรับ requirement
ที่เปลี่ยนแปลง
- มีการส่งมอบงานบ่อยๆ (ทุกๆ
2 สัปดาห์)
- ลูกค้าและผู้พัฒนา้ต้องทำงานร่วมกัน
(โปรแกรมเมอร์ไปทำงานที่ site ลูกค้า)
ต้องเจอกันทุกวันจนโปรเจคเสร็จ
- การทำงานต้องปล่อยให้ทีมงานมีอำนวจการตัดสินใจเองได้
ปล่อยให้เค้าทำงาน ไว้ใจกันและทีมงานก็ต้องมีความรับผิดชอบระดับนึง
- การติดต่อกัน
ต้องคุยซึ่งๆหน้า ห้ามอีเมลล์หรือโทร
- วัดความก้าวหน้าของงาน(KPI)
ที่ software
- กระบวนการทำงาน
ให้ทำไปเรื่อยๆ อย่าหวือหวา ค่อยๆทำ ส่งงานทีละนิด
ช่วยทำให้คุณภาพชีวิตของผู้พัฒนาดีขึ้น
- ผู้พัฒนา สปอนเซอร์ ลูกค้า
ต้องมีการทำไปเรื่อยๆ คงที่ ไม่เร็วเกินหรือช้าเกิน
- ทีมงานต้องให้ความสนใจกับเทคนิคต่างๆ
มีการแชร์กัน
- เน้นความง่าย ออกแบบง่ายๆ
พื้นๆ ไม่ซับซ้อน ทำให้ดูแลแก้ไขง่ายเมื่อพบความเปลี่ยนแปลง
- ทีมมีความรับผิดชอบในกระบวนการของตัวเอง
- มีการนัดพบแลกเปลี่ยนกันสม่ำเสมอ
โมเดลของ Agile (AM : Agile
Modeling)
- เลือกบางหลักการมาทำ
- เป็นวิธีนึงที่จะเอาหลักการของ
Agile มาจัดการกับเอกสารและระบบเดิมที่มีอยู่ได้
ใน Agile ประกอบด้วย
- value ผลลัพธ์
- principle หลักการ
- practices วิธีปฏิบัติ
ทั้งสามอย่างนี้เป็นส่วนหนึ่งในโมเดล Agile
ที่สามารถนำมาพัฒนา Software ให้มีประสิทธิภาพ
และเกิด overhead น้อย
ให้มอง Agile เป็นส่วนขยายของกระบวนการพัฒนา
Software แบบเดิมได้
- ให้ Agile เข้าไปกำกับ ดูว่าของเดิมที่มีอยู่อันไหนสำคัญก็ทำ ไม่สำคัญก็ละ
- นำ Agile มาจัดลำดับความสำคัญ ดูว่ากิจกรรมไหน ควรทำ ไม่ควรทำ
ความคิดเห็น
แสดงความคิดเห็น