วันพุธที่ 1 ธันวาคม พ.ศ. 2553

ความเป็นมา Agile Method

ความเป็นมาของ Agile Method.


 

การพัฒนาซอฟต์แวร์โดยวิธี Agile ถูกคิดค้นขึ้นมาเมื่อประมาณกลางปี ค.ศ. 1990 เพื่อแก้ปัญหาการพัฒนาระบบที่ความต้องการมีการเปลี่ยนแปลงค่อนข้างบ่อย มีความยุ่งยากในการจัดการ การพัฒนาซอฟต์แวร์โดยวิธี Agile สามารถย้อนกลับไปแก้ไขงานในส่วนที่ยังไม่สมบูรณ์ได้ วิธี Agile ได้รับการปรับปรุงอย่างต่อเนื่อง จนกระทั่งปี ค.ศ. 2001 ทีมงานที่พัฒนาได้ตั้งชื่อเต็มเป็น “Agile Method” หลังจากนั้นได้มีองค์กรที่ไม่หวังผลกำไรช่วยกันสนับสนุนวิธีการนี้ ซึ่งองค์กรดังกล่าวมีข้อมูลที่เว็บไซต์ http://www.agilealliance.com เพื่อสนับสนุนการพัฒนาซอฟท์แวร์โดยใช้วิธี Agile method

Agile model เป็นโมเดลที่ออกแบบให้มีความรวดเร็ว ยืดหยุ่น พร้อมที่จะรับกับความเปลี่ยนแปลง เพื่อลดความเสียงในการพัฒนาซอฟต์แวร์ โดยการแบ่งการพัฒนาออกเป็น iteration โดยแบ่งเวลาออกเป็นช่วง ๆ แต่ละช่วงยาวนานไม่มากนัก ไม่เกิน 1 เดือน หรือ 4 สัปดาห์ การพัฒนาจะดำเนินการอย่างต่อเนื่อง ถึงแม้ว่ามีอะไรมากระทบก็ไม่สนใจ เมื่อเกิดความเปลี่ยนแปลงก็จะพัฒนาให้สามารถรองรับกับความเปลี่ยนแปลงนั้น ได้ อย่างไม่มีข้อจำกัดตายตัว
ในการพัฒนาจะเน้นการพูดคุยกันในทีมงานและผู้ใช้มากกว่าเน้น process หรือ tools การทำงานจะยึดที่ผลผลิตหรือตัวซอฟต์แวร์เป็นหลัก ไม่ค่อยเน้นการจัดทำเอกสาร เน้นที่ความสัมพันธ์ของทีมงานและการสื่อสารเป็นหลัก เพื่อให้ได้ความต้องการมาครบถ้วนและพร้อมที่จะยอมรับความเปลี่ยนแปลงเพิ่ม เติมของความต้องการ

         หัวใจของ Agile model ได้แก่ เน้นความพึงพอใจของลูกค้า โดยการส่งมอบซอฟต์แวร์ให้ลูกค้าอย่างต่อเนื่องทุก 2 สัปดาห์ ยินดียอมรับความต้องการที่เปลี่ยนแปลงเสมอ ทีมพัฒนาระบบจะดำเนินโครงการที่เว็บไซต์ของลูกค้ามีการพบหน้ากันทุกวันจนกว่า โครงการจะเสร็จ มีการประชุมพบหน้ากันสม่ำเสมอ ทีมงานมีอำนาจในการตัดสินใจเต็มที่ วัดความก้าวหน้าของงานกันที่ตัวซอฟต์แวร์ การทำงานใช้กระบวนการที่ไม่หวือหวา เน้นความคุณภาพชีวิตของทีมงาน มีเทคนิคต่าง ๆ ก็นำมาแลกเปลี่ยนกัน เน้นเทคนิคการออกแบบที่ง่าย ไม่ซับซ้อน ทำให้บำรุงรักษาปรับเปลี่ยนระบบได้ง่าย
       
                 Agile โดยมากจะเป็นการพยายามลดความเสี่ยง โดยพัฒนาซอฟแวร์ในรูปแบบของ timebox สั้นๆ เรียกว่า iteration ตั้งแต่ 1 ถึง 4 สัปดาห์ แต่ละ iteration เปรียบเสมือน software project ของมันเองซึ่งประกอบไปด้วย task ต่างๆที่จำเป็นให้เสร็จงาน ซึ่งอาจจะประกอบไปด้วยการ planning, requirements analysis, design, coding, testing, และการทำเอกสารagile software project พยายามที่จะ release ซอฟแวร์ออกมาทุกๆ iteration และเมื่อจบแต่ละ iteration จะมีการประเมินผลด้วยการทำงานแบบ agile จะนิยมการติดต่อสื่อสารแบบ Realtime คือการคุยกันน่าต่อน่า แทนที่จะเป็นการเขียนเอกสาร โดยทีมงานจะทำงานร่วมกันภายใต้ bullpen ซึ่งประกอบไปด้วยคนที่เกี่ยวข้องกับการทำซอฟแวร์ให้เสร็จ อย่างน้อยได้แก่ programmer และ customer (product manager, business analysts, actual customer) หรืออาจจะรวมถึง tester, interaction designers, technical writers, manager ด้วยมีการเขียนเอกสารเฉพาะเท่าที่จำเป็นเพื่อให้สามารถติดต่อประสานงานได้ สรุปเป็นการแบ่ง pharse software โดยทำให้เสร็จทีละ pharse ไป และแต่ละ pharse ก็เปรียบเสมือน project ย่อยๆ ที่มี task ภายในให้ project สำเร็จอันได้แก่ การวางแผนงาน การวิเคราะห์ความต้องการ การออกแบบระบบ การพัฒนาระบบ การตรวจสอบ และการทำเอกสาร แต่ละ pharse จะมี function งานใหม่ๆออกมา

Agile methodology+Agile Method+Agile+ความเป็นมา+Agileหลักการทำงานเป็นอย่างไร

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

แสดงความคิดเห็น

แสดงความคิดเห็นด้วยถ้อยคำสุภาพครับ เพื่อสังคมไทยของเรา แบ่งปันสิ่งดีดี