มารู้จัก agile


agile

ก่อนอื่นต้องขอบคุณท่านอาจารย์ Roy ที่นำคำพูดนี้มาให้ติดหู แล้วท่านอาจารย์ก์ยังทวงถามความเข้าใจ จากเราอยู่เสอมน่ะครับ (ไม่ได้หาคำตอบไปซะที)

ตอนที่ได้ฟังคำว่า agile นี้ครั้งแรก เล่นเอามึนไปแปดด้าน เลยครับ คำศัพท์อะไรเนี้ย งัย มัน ไม่สื่อไปทางไหนให้เดาได้ต่อเลยเนี้ยครับ ตอนนั้นยิ่งกระแส Ajax มาแรงแซงโค้ง ปาดซ้าย ปาดขวา ขึ้นมาเป็นเทคโนโลยี ที่อยู่ในแถวหน้าที่นำมาใช้พัฒนา เว็บกัน ก็คิดเอาเองว่า เอาละนะมันต้องเกี่ยวข้องกันแน่ ๆ

พอได้รับคำอธิบายเพิ่มเติม ก็ทำให้ที่เรารู้จากความเดิมมันห่างไกลจากความเป็นจริง คลาดเคลื่อนไปมากที่เดียว ว่าแล้วก็ได้ฤกดิ์ค้นๆๆ คุ้ย พอจะได้ข้อมูล เอามาชี้แจงแถลงไข กันซะหน่อยว่า

 

agile คืออะไร

Agile เป็นแนวคิดใหม่สำหรับการพัฒนาซอฟต์แวร์ ที่พยายามที่จะแทรกตัวเข้าไปใน methodology แบบเดิม เพื่อให้งานสั้นลง

เป็นหลักการในการพัฒนา software แบบใหม่ที่เน้น...

  • Rapid and flexible response to change
  • ทำให้การพัฒนาว่องไว
  • มีการทำเรื่อยๆไม่ต้องหยุด แม้มีอะไรมากระทบก็ไม่เป็นไร
  • เมื่อมีการเปลี่ยนแปลง เราสามารถรองรับความเปลี่ยนแปลงนั้นได้อย่างรวดเร็ว ไม่ตายตัว

วัตถุประสงค์ของ Agile

  1. เน้นว่าใครถนัดอะไร และการพูดคุยสื่อสารกัน มากกว่า การยึดติดที่เครื่องมือและกระบวนการ เช่นเปลี่ยนให้โปรแกรมเมอร์ไปคุยกับลูกค้าแทน ลูกค้าบอกอะไรมาก็ทำตามนั้นได้เลย
  2. ให้ทำงานโดยยึดที่ผลผลิตหรือ software เป็นหลัก เช่น เดิมเน้นเอกสารแต่ Agile ไม่สนมากนัก แต่สนทีี่ว่าเรามี sw หรือของส่งให้ลูกค้าหรือยัง
  3. ให้ความสำคัญเรื่องของการติดต่อสื่อสาร เช่น เดิมมีสัญญาหรือ contact กันแต่ Agile ไม่สนใจ ให้มองที่ความสัมพันธ์ระหว่างผู้พัฒนาและลูกค้า
  4. ยอมรับความเปลี่ยนแปลง เช่น เดิมต้องวางแผนให้ครบเป็นอย่างดี และทำตามแผน(gantt chart) ให้ได้ แต่ Agile ไม่ต้องทำตามแผนแต่เน้นการสนองความเปลี่ยนแปลงที่เกิดขึ้นได้

Note: ถ้าเรามีโปรเจคเก่าที่สามารถต่อเนื่องได้ ดังนั้นแสดงว่าเรามี Asset เดิมเพื่อมาตั้งต้นทำโปรเจคใหม่ เพราะฉะนั้นงานใหม่เราก็สามารถนำ Asset มาส่งมอบไปก่อนก็ได้

 นี้ก็เป็นบทความที่ค้นมาจากอินเตอร์เน็ตที่ทำให้ความเข้าใจของตัวเองจากเดิมกระจ่างขึ้นมาอีกเยอะคัรบ หวังว่าจะมีผู้สนใจเรื่องเดียวกัน จะได้ มาช่วยๆ กันสานต่อแนวคิดนี้ให้ลองใช้งานได้จริงในประเทศไทย (ซึ่งคาดว่าจะมีการนำมาใช้แล้ว )

คำสำคัญ (Tags): #agile
หมายเลขบันทึก: 127262เขียนเมื่อ 12 กันยายน 2007 01:52 น. ()แก้ไขเมื่อ 11 มิถุนายน 2012 15:15 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (2)

ผมว่าผมเขาใจวัตถุประสงค์ของมันน่ะว่ามันคืออะไรอย่างไร มีหลักการพัฒนาแบบไหน แต่ว่าถ้าลองนำไปใช้แล้วมันเหมือนเราย้อนกลับไปสู่ยุคต้นของการพัฒนาโปรแกรมเลยครับ โปรแกรมเมอร์ไปคุยกับลูกค้า (แล้วลูกค้าจะรู้เรื่องไม่ครับถ้าโปรแกรมเมอร์คุยศัพท์เทคนิคด้านคอมไป และปกติโปรแกรมเมอร์คุยกับคนอื่นๆ ก็ไม่คอยรู้เรื่องอีกด้วย รวมทั้งส่วนใหญ่พูดไม่ค่อยเก่งอ่ะ โปรแกรมเป็นหมื่น แต่คุยเหมือนราคาเป็นร้อย ทำอย่างไรดี )

แล้วถ้าไม่เขียนเอกสารแล้วโปรแกรมใหญ่ทำแล้วเปลี่ยนมือคนทำหรือว่ามาแก้ไข้เราต้องมานั่งแกะโค้ดใหม่หรอ (อย่าบอกทำใหม่น่ะ) ถึงแม้บ้างคนจะเขียนโค้ดด้วยไม่เขียนเอกสารอะไรเลยก็ตามที

ดีน่ะที่มันยืดหยุ่นและลูกค้าได้เห็นงานเราตลอดแก้ไขได้เลย (แล้วลูกค้าส่วนมากมีเวลาว่างให้เราหรือครับ) ทีมพัฒนาเล็ก ประหยัดงบขึ้น

ความจริงคาใจหลายเรื่องกับการนำAgile มาใช้จริง แต่ตอนนี้ลืมไปแล้ว แล้วก็ขอเน้นศึกษาโค้ดแบบจริงๆจังๆก่อน เติบโตแล้วจะไปลุยเรื่องนั้นต่อ ชอบ

ผู้สนใจเรื่องเดียวกันตอนนี้รวมตัวอยู่ที่ http://www.agile66.com ครับ แวะไปดูนะครับ

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท