Agile Software Development คืออะไรครับ  สร้างคำถาม

 3,835 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 30/08/2012

Agile Software Development คืออะไรครับ

Agile เป็น Model ในการพัฒนา Software รูปแบบนึงครับ
เป็น Model ที่แบ่งงานออกเ็ป็นส่วนๆ ย่อยๆ แล้วทยอยส่งให้ลูกค้าเป็นส่วนๆ

ถ้าพูดถึง Model เหล่านี้เราคงคุ้นเคยกับ Waterfall Model
เก็บความต้องการ -> ออกแบบระบบ ->
พัฒนา -> ทดสอบ -> ติดตั้ง

โดยมากจะนิยมกันแบบนี้ครับซึ่งก็ใช้ได้ผลหรือไม่ก็แล้วแต่งานแล้วแต่การบริหารจัดการ
ในส่วนนี้ผมจะไม่บอกว่าอะไรดีอะไรไม่ดี แต่จะเอาข้อดีข้อเสียของแต่ละแบบมาเล่าให้ฟัง

Waterfall Model ดีตรง แบ่งงานเป็นลำดับขึ้นตอนที่ชัดเจนว่าทำอะไรก่อนหลัง
แต่มีข้อเสียตรงที่กว่าลูกค้าจะได้ทดลองใช้งานต้องรอจนจบขั้นตอนสุดท้าย
แล้วการ เก็บความต้องการ ถ้าหากเป็นระบบใหญ่ๆ แล้วต้องเำก็บให้ละเอียดๆ เพื่อไม่ให้หลุดเนี่ยต้องใช้เวลานาน เรียกได้ว่าถ้าใช้ Agile อาจจะส่งมอบได้หลาย Phase แล้วก็เป็นได้
และอีกอย่างปัญหาที่เจอคือการเก็บ Requirement จะดีแค่ใหนละเอียดแค่ใหนตราบใดที่ลูกค้ายังไม่ได้ทดลองใช้ก็มักจะยังไม่รู้ความต้องการที่แท้จริง และอย่าว่าแต่ลูกค้าเลยครับตัวเราคนทำเองก็เหอะถ้ายังไม่ได้ลง Develop จริงๆก็ยังไม่รู้ข้อจำกัดหรือปัญหาที่จะเกิดขึ้น
ด้วยเหตุนี้จึงมักจะเกิดปัญหาตามมาบ่อยๆว่าพอถึงขึ้นตอน Test สิ่งที่ได้ไม่ตรงตามความต้องการของลูกค้า หรือมี Bug เกิดขึ้นมากมายซึ่งกว่าจะรู้ตัวก็เป็นช่วงท้ายของ Project แล้ว จะแก้ไขอะไรก็ไม่ทันการถ้าเกิดว่าโชคดีตอนเก็บความต้องการทำเอกสารไว้ดีหน่อยก็เอามายันกับลูกค้าได้ว่าทำตามที่เก็บความต้องการมาแต่แรกแต่มันก็คงเป็นแค่เครื่องมือที่เอาไว้ให้เราเอาตัวรอดไม่ให้ถูกปรับหรือโดนลูกค้าด่า ส่วนความซวยก็ตกที่ลูกค้าคนที่ให้ Requirement เรามานั่นแหละครับต้องทนใช้ Software ที่ไม่ตรงกับความต้องการโดยเลี่ยงไม่ได้
สรุปว่าปัญหาของ Waterfall Model คือ
1. ลูกค้าจะไม่รู้ความต้องการของตัวเองจนกว่าจะได้ทดลองใช้งาน
2. บางครั้งคน Develop ก็ยังไม่รู้ข้อจำกัดหรือปัญหาจนกว่าจะได้ลงมือ Develop
3. กว่าลูกค้าจะได้ทดลองใช้งานก็ตอนท้ายซึ่งแทบจะไม่มีเวลาเปลี่ยนแปลงแก้ไขอะไรอีกแล้ว T_T
Model นี้น่าจะเหมาะกับงานขนาดเล็กที่ไม่ซับซ้อนมาก
หรือเป็นงานที่ คนทำมีความชำนาญในด้านนั้นมากๆ หรืออาจจะเป็นงานที่มี Product อยู่แล้วสามารถให้ลูกค้าลองเล่นเพื่อเห็นภาพแต่แรก

เห่อๆ เขียนมาซะเยอะยังไม่มีอะไรที่เกี่ยวข้องกับ Agile ซักเท่าไรเลยแฮะ T_T บ่นเรื่อง Waterfall Model ซะเยอะ 55+ เอาเป็นว่า Agile ก็เอามาแก้ปัญหาข้างต้นแหละครับคือ เก็บความต้องการในภาพรวมมาก่อน แล้วแบ่งงานออกเป็นส่วนๆ ตามลำดับความสำคัญ แล้วก็ลงมือทำทีละส่วนเสร็จแล้วก็ส่งให้ลูกค้าทดลองใช้งาน เอาไว้เดี๋ยวจะมาเล่าต่อนะ ฝนเริ่มมืดมาแระกลับก่อนดีกว่า


ถ้าชอบบทความนี้ กด Like เลย :Agile Software Development คืออะไรครับ

 3,835 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 30/08/2012



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่

#1.    SoCool
@ เก่ง
จะว่ามันเป็น Waterfall ย่อยๆก็ไม่ใช่ซะทีเดียวเพราะ Agile มันจะมี Process ในการทำงานเฉพาะตัวของมัน ดูตามรูปนี้ครับ

http://en.wikipedia.org/wiki/Agile_software_development

...............................................
#2.    แมน
@ แล้ว สกัม คืออะไรครับ

...............................................
#3.    โดนใจครับ เอจายยย
@ - การให้ความสำคัญกับตัวผู้ทำงานและการมีปฎิสัมพันธ์ระหว่างผู้ทำงาน มากกว่าขั้นตอนวิธีการหรือเครื่องมือ
- การสร้างซอฟต์แวร์ที่สามารถนำไปใช้งานได้จริง มากกว่าเอกสาร
- การทำงานร่วมกับลูกค้า มากกว่าการต่อรองสัญญากับลูกค้า
- การยอมรับปรับซอฟต์แวร์ตามความเปลี่ยนแปลงของความต้องการของลูกค้า มากกว่าการทำตามแผนการเพียงอย่างเดียว

...............................................
#4.    เอกเอื้อเบื่อสั่งคม
@ แต่บ้านเรานะถ้ารับงาน Project โดยเฉพาะงานราชการนะการเจรจาต่อรอง การทำเอกสารให้รัดกุมทั้งนั้นเพราะส่วนมากทำแล้วไม่ค่อยได้ใช้เอกสารทำไปก็ใช่ว่าจะอ่านสุดท้ายพอทีปัญหาก็เอามายันกันว่าใครผิดใครถูก Agile ไม่ได้เกิดมาเพื่อสิ่งนี้แต่เกิดมาสำหรับคนที่ต้องการสร้าง Software เพื่อเอาใว้ใช้งานจริงๆ

...............................................
#5.    เริ่มสับสน
@ ทำตามเอกสารแต่ลูกค้าใช้งานไม่ได้ ...ทำไปทำไมมันก็ใช่นะ แต่....
ทำตามใจลูกค้าแล้วงบบานเข้าเนื้อง ...Agile ช่วยได้มั้ยถ้าไม่รู้ Scope จะคิดตังยังไง ?
ทำ Software ต้องประเมินราคาก่อนทำ ไม่ใช่ทำแล้วค่อยประเมิน จริงมั้ย ?
สรุปในบ้านเราคนที่ทำ Agile ได้คือคือคนที่ขายSoftware สำเร็จรูปที่ปรับแก้นิดๆ หน่อยๆ เท่านั้นแหละ จริงมั้ย ?

...............................................
#6.    SoCool
@ เริ่มสับสน
เอกสาร สัญญา และแผนการดำเนินงานก็ยังต้องมีครับ
เพียงแต่ว่าจะไม่ใช่เอามาเป็นแบบบังคับให้เดินแบบนั้นเสมอไปหากมีความจำเป็นต้องปรับก็ต้องปนับเพื่อให้งานสำเร็จลุล่วง และใช้งานได้จริง

...............................................
#7.    Som
@ ผมเป็นคนนึงที่ชอบทำไปคิดไปบางครั้งคิดไปไกลมากๆ จะแทบไม่ได้ทำแต่หลักการทำงานตรงนี้ทำให้ผมเปลี่ยนแบบการทำงานใหม่คือ เน้นการทำงานที่อยู่ตรงหน้าให้เสร็จ ไม่ต้องคิดเผื่อไปไกลเสร็จแล้วลองใช้ผ่านแล้วลุยต่อ

...............................................
#8.    เก่ง
@ ปัญหาหลักของ Agile คือการประเมิน Cost ครับ
เพราะภ้าเราไม่รู้ความต้องการแต่ต้นเราก็จะประเมินราคาลำบาก มันจะ Work จริงๆต้องมีวิธีการจ่ายเงินที่เหมาะกับ Agile ด้วยเช่นประเมินทีละน้อยแบ่งงวดจ่ายไปเรื่อยๆจนกว่างานจะจบสุดท้ายแล้ว Cost ที่ออกมาอาจจะมากกว่าหรือน้อยกว่าที่ประเมินไว้แต่แรกก็เป็นได้

...............................................
#9.    ก้อง
@ เก่ง
เห็นด้วยอย่างมากครับปัจจุบันเวลารับงาน Develop Software ต้องมีการประเมินราคา มะเมิน Manday
ตั้งแต่แรกรับงานคือเรียกได้ว่าก่อนเริ่มเก็บ Requirement ด้วยซ้ำ เพราะมันเป็นแบบนี้ไงมันเลยต้องมีเอกสารไว้ยันกันว่า Plan ตามนี้งบเท่านี้
ถ้าออกนอกจากนี้ก็ต้องเก็บเิพิ่ม จริงอยู่ในแง่ของการทำ Software ให้ตรงตามความต้องการของลูกค้าแต่อย่าลืมว่ามันมีเรื่องของต้นทุนเรื่องของเงินมาเกี่ยวด้วย

...............................................
#10.    เอก
@ Agile ที่ผมเอามาใช้มีเรื่องเดียวครับคือส่งงานให้ลูกค้า Test บ่อยๆว่าตรงตามที่ต้องการหรือเปล่าถ้าตรงก็แล้วไปแต่ถ้าไม่ตรงก็ต้องมาดูกันล่ะว่าใครผิดคนให้ Requirement หรือคนทำก็ว่ากันไปตามเนื้อผ้าถ้าเราทำผิดก็แก้ให้หรือซ้ำร้ายอาจยอมให้ปรับแต่ถ้าเราทำถูกแล้วจะให้แก้ก็ต้องคิดตังเพิ่มเป็นเรื่องปรกติหรือถ้าเกิดว่ามันเทาๆอาจเกิดจากการเข้าใจผิดกันอันนี้ก็ต้องคุยกันให้ชัดเจน สรุปผมว่ามันก็ต้องควบคู่กันไป

...............................................
#11.    สรรจธรรม
@ สรุป
PM เก่งประเมินราคากำหนด Plan ได้เป๊ะ
SA เก่งเก็บ Requirement ได้เป๊ะ
PG เก่ง Code ได้เป๊ะ
แค่นี้ไม่ว่าจะ Model ใหนมันก็ เป๊ะ ทั้งนั้นแหละแต่ถ้า

PM ห่วยประเมินราคากำหนด Plan ได้ห่วย
SA ห่วยเก็บ Requirement ไม่ครอบคลุม
PG ห่วย Code ได้มั่วซั่ว
จะใช้ Model อะไรมันก็เน่าต่อให้ Agile ก็เหอะ

...............................................
#12.    SoCool
@ สรรจธรรม
แต่ถ้าใช้ Agile คุณจะรู้ตัวว่าเน่าเร็วกว่าอย่างน้อยก็ไม่เจ็บตัวเท่าการที่รู้ตัวเมื่อตอนสาย

...............................................
#13.    เก๋ง
@ Simplicity is essential. หมายถึง ไม่จำเป็นต้องคิดอะไรให้ไกลหรือซับซ้อนมากจนเกินไป ทำงานที่อยู่ข้างตรงหน้าด้วยวิธีการที่ง่ายที่สุดก่อน แล้วถ้ามันยังทำงานได้ไม่ดีพอ งานนั้นจะถูกนำมาแก้ไขในภายหลังเอง ผมไปอ่านเจอในบทความของ SIPA ชอบมาก

...............................................
#14.    ใช้ดีจึงแนะนำ
@ สรรจธรรม
ถ้าคุณเจอปัญหานี้
PM ห่วยประเมินราคากำหนด Plan ได้ห่วย
SA ห่วยเก็บ Requirement ไม่ครอบคลุม
PG ห่วย Code ได้มั่วซั่ว

เริ่มศึกษา Agile เลยครับแล้วจะพบทางสว่าง

...............................................



× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  jquery ui set ความกว้าง ความยาว TAB ยังไง ถามเมื่อ (2013-03-29)   2,899 views  (ดูล่าสุดเมื่อ 15 นาที)

  Oracle Union VS Union All กับ Performance ที่ต่างกันลิบลับ ถามเมื่อ (2015-07-14)   1,977 views  (ดูล่าสุดเมื่อ 21 นาที)

  ทำความรู้จักกับ YEOMAN BOWER และ GRUNT สามตัวนี้คืออะไร เอาไว้ใช้ทำอะไรได้บ้าง ถามเมื่อ (2015-09-30)   2,631 views  (ดูล่าสุดเมื่อ 36 นาที)

  ตัวอย่าง jquery การ click link พร้อม ส่ง Parameter ถามเมื่อ (2013-03-27)   3,325 views  (ดูล่าสุดเมื่อ 36 นาที)

  PHP Codeigniter วิธี get Pimarykey แบบ auto increment หลังจากการ Save ล่าสุด ถามเมื่อ (2017-06-12)   1,791 views  (ดูล่าสุดเมื่อ 50 นาที)

  PHP CodeIgniter Disallowed Key Characters ปัญหาและแนวทางแก้ ถามเมื่อ (2016-05-22)   2,567 views  (ดูล่าสุดเมื่อ 51 นาที)

  Oracle PLSQL แก้ปัญหา Query ใน function ช้ากว่า Query ปรกติด้วย DETERMINISTIC Hint ถามเมื่อ (2017-06-01)   2,086 views  (ดูล่าสุดเมื่อ 53 นาที)

  PHP แทรก รูป ลงใน Words ด้วย Template XML ถามเมื่อ (2013-07-12)   3,242 views  (ดูล่าสุดเมื่อ 54 นาที)

  ลบ ไฟล์ SThumbDB tdb ที่อยู่ใน MEMORY CARD ของโทรศัพท์ samsung ไม่ได้ครับ ช่วยบอกวิธี ลบ ที ครับ ถามเมื่อ (2011-08-04)   4,818 views  (ดูล่าสุดเมื่อ 57 นาที)

  Oracle sql วิธี like with multiple value ถามเมื่อ (2019-02-13)   2,150 views  (ดูล่าสุดเมื่อ 58 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com