Agile คือ


scrum_process_big


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 มาจัดลำดับความสำคัญ ดูว่ากิจกรรมไหน ควรทำ ไม่ควรทำ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Portal Web คือ

Pentaho คือ

WEKA คือ