Please enable JavaScript.
Coggle requires JavaScript to display documents.
การพัฒนาซอฟต์แวร์แบบ Agile - Coggle Diagram
การพัฒนาซอฟต์แวร์แบบ Agile
แบบจำลองเอจายล์
แบบจำลองผลึก (Crystal Model)
คือ แบบจำลองที่คิดค้นโดย Alistair Cockburn และ Jim Highsmith ในปี ค.ศ. 1990 แบบจำลองผลึกเป็นวิธีแบบเบา มีลักษณะการทำงานแบบวนซ้ำ มีการใช้ทรัพยากรอย่างจำกัด
ข้อดี
ทีมนักพัฒนาซอฟต์แวร์เข้าถึงผู้เชี่ยวชาญได้ง่าย
ทีมงานมีความเชื่อใจกัน และอิสระในการพูด
มีการทำงานแบบสะท้อนกลับ
มุ่งเพัฒนาซอฟต์แวร์อย่างมีประสิทธิภาพ
ทีมนักพัฒนาซอฟต์แวร์สามารถสื่อสารกับลูกค้าหรือผู้ใช้อย่างใกล้ชิด
ส่งมอซอฟต์แวร์ให้ลูกค้าบ่อยและรวดเร็ว
ข้อเสีย
การสื่อสารเป็นไปได้ยาก เนื่องจากเวลาว่างไม่ตรงกัน
มีกฏระข้อบังคับมาก ทำให้นักพัฒนาซอฟต์แวร์มีความเข้าใจไม่ตรงกัน
ใช้ทีมงานจำนวนมาก มีค่าใช้จ่ายสูง
แบบจำลองการพัฒนาแบบปรับตัว
คือ แบบจำลองที่คิดค้นโดย Jim Highsmith และ Sam Bayer ในปี ค.ศ. 2000แบบจำลองนี้เหมาะสมกับโครงการซอฟต์แวร์ที่มีความซับซ้อน มุ่งเน้นการทำงานร่วมกัน และมีการจัดระเบียบ มีลักษณะการทำงานแบ่งเป็น 3 ขั้นตอน ได้แก่
การคาดคะเน (Speculation)
การเรียนรู้ (Learning)
การทบทวนเชิงเทคนิคอย่างเป็นทางการ (Formal Technical Review)
การตรวจสอยภายหลัง (Postmortem)
กลุ่มเฉพาะทาง (Focus Group)
การร่วมมือ (Collaboration)
ข้อดี
เหมาะสำหรับโครงการซอฟต์แวร์ที่มีความซับซ้อน
องค์กรควบคุมความเสี่ยงในการปฏิบัติงานของนักพัฒนาซอฟต์แวร์ได้
องค์กรควบคุมคุณภาพซอฟต์แวร์ได้ทุกขั้นตอนการผลิต และประเมินผลงานของนักพัฒนาซอฟต์แวร์เสมอ
ข้อเสีย
นักพัฒนาซอฟต์แวร์ที่มีความเห็นไม่ตรงกัน ทำให้การทำงานเป็นทีมยาก
นักพัฒนาซอฟต์แวร์มีทักษะและความชำนาญต่างกัน ทำให้ใช้เวลาในการเรียนรู้นานและมีค่าใช้จ่ายสูง
ใช้ทีมงานจำนวนมาก ค่าใช้จ่ายสูง
แบบจำลอง Microsoft Solutions Framework
แบบจำลองกระบวนการ MSF
เป็นแบบจำลองที่มีลักษณะการทำงานเหมือนกับแบบจำลองเวียนก้นหอย แบ่งเป็น 5 ขั้นตอน
การใช้งาน (Deploying)
การพัฒนา (Developing)
การวางแผน (Planning)
การนึกคิด (Envisioning)
การสนับสนุน (Stabilizing)
นโยบายของการจัดการความเสี่ยง
คือ การจัดทำแผนล่วงหน้าในกรณีที่มีความเสี่ยงที่เกิดขึ้น เช่น กำหนดการล่าช้า ขอบเขตเพิ่มมากขึ้น อัตราการลาออกของพนักงานสูง ข้อกำหนดซอฟต์แวร์ไม่ชัดเจน ความสามารถการผลิตงานน้อย เป็นต้น
แบบจำลองทีมงาน MSF
คือแบบจำลองที่สนับสนุนการพัฒนาซอฟต์แวร์และใช้ทีมงานขนาดเล็กจากหลากหลายสาขามาทำงานร่วมกันประกอบด้วย 6 บทบาท ดังนี้
การพัฒนา
การทดสอบ
การจัดการโปรแกรม
การจัดการการปล่อยซอฟต์แวร์
การจัดการผลิตภัณฑ์
ประสบการณ์ผู้ใช้
ข้อดี
ลูกค้าหรือผู้ใช้เปลี่ยนแปลงความต้องการและสื่อสารกับทีมงานได้อย่างรวดเร็ว
มอบอำนาจการตัดสินใจให้กับทีมงานพัฒนาซอฟต์แวร์
มีคำแนะนำและเทคนิคการบริหารโครงการ
เหมาะสำหรับโครงการซอฟต์แวร์ขนาดเล็ก ใช้ทีมงานขนาดเล็ก
ทีมงเรียนรู้จากประสบการณ์โดยตรง
ข้อเสีย
ไม่เหมาะกับโครงการขนาดใหญ่
ลูกค้าเปลี่ยนแปลงความต้องการบ่อย
แบบจำลอง Extreme Programming (XP)
คือแบบจำลองกระบวนการพัฒนาซอฟต์แวร์ ถูกคิดค้นโดย Kent Beck ในปี ค.ศ. 1999 เป็นแบบจำลองที่ใช้แนวคิดของการออกแบบเชิงวัตถุ ประกอบด้วยการทำงาน 4 ขั้นตอน
การออกแบบ
การเขียนโปรแกรม
การวางแผน
การทดสอบระบบ
ข้อดี
เหมาะกับโครงการขนาดเล็ก,กลาง
ออกแบบระบบอย่างเรียบง่าย
เปลี่ยนแปลงโปรแกรมตามความต้องการของลูกค้าได้ตลอดเวลา
นักเขียนโปรแกรมไม่เสียเวลาในการปรับโปรแกรมตั้งแต่ต้น
นักเขียนโปรแกรมและผู้ใช้มีความสัมพันธ์ที่ดีต่อกัน
สามารถออกแบบ SW ใหม่ได้บ่อยครั้ง
ข้อเสีย
ขาดการวางแผนและการจัดการคุณภาพ
ความขัดแย้งเรื่องเงินทุน เมื่อความต้องการเปลี่ยนแปลงบ่อย
มุ่งเน้นการเขียนโปรแกรมไม่เน้นที่การออกแบบ
นักพัฒนาซอฟต์แวร์ต้องทำงานเป็นคู่
การสร้างกรณีทดสอบต้องอาศัยผู้เชี่ยวชาญและทำได้ยาก
แบบจำลองสครัม (Scrum Model)
เป็นแจำลองที่พัฒนาโดย Jeff Sutherland ในปี ค.ศ. 1990 และถูกพัฒนาต่อโดย Ken Schwaber และ Mike Beedle ในปี ค.ศ. 2001 มีกระบวนการทำงานคือ ทีมพัฒนาซอฟต์แวร์ต้องทำงานกับลูกค้าหรือผู้ใช้อย่างใกล้ชิด เพื่อเก็บรวบรวมความต้องการ และจัดลำดับความสำคัญก่อนหลัง
องค์ประกอบแบบจำลองสครัม (Scrum Model)
ทีมงาน
เจ้าของงาน (Product Owner)
ทีมสครัม (Scrum Team)
หัวหน้าสครัม (Scrum Master)
กระบวนการทำงาน
ขั้นตอนการวนซ้ำ (Sprint Phase)
สครัมประจำวัน (Daily Scrum)
ความต้องการ (Backlog)
การสาธิตและการประเมินผลงาน
ข้อดี
สามารถปรับกระบวนการ ให้เข้ากับการเปลี่ยนแปลงได้
มีการแบ่งงานเป็นกลุ่มหรือส่วนงานให้ขึ้นต่อกันน้อยที่สุด เพื่อลดความผิดพลาด
ซอฟต์แมีหลายเวอร์ชั่น ทำให้ตรวจสอบ ทดสอบ บันทึกและพัฒนาต่อได้
จัดทเฉพาะเอกสารที่สำคัญ
ทีมงานเล็ก ใช้เทคนิคพัฒนาแบบไม่เป็นทางการ ประหยัดค่าใช้จ่าย
สามารถทำงานเสร็จเร็วขณะที่มีความไม่แน่นอนเกิดขึ้น
ส่งมอซอฟต์แวร์ให้ลูกค้าในเวลาที่รวดเร็ว
ข้อเสีย
มีการทำงานแบบ ทีมงานข้ามสาย(Cross-Function Team) อาจเกิดปัญหาได้
มีบทบาทที่แน่นอน ไม่ยืดหยุ่นในการทำงานบางองค์กรที่มีผู้จัดการโครงการ
ความต้องการขนาดใหญ่ถูกแบ่งเป็นงานย่อยมากๆทำให้เห็นภาพรวมไม่ชัดเจน
การเปลี่ยนแปลงขอบเขตทำให้เกิดค่าใช้จ่ายที่สูงขึ้น
แบบจำลอง Agile Unified Process
คือแบบจำลองที่ถูกคิดค้นโดย Scott Amber เป็นการประยุกต์แบบจำลอง RUP ให้มีแนวความคิดพัฒนาแบบเอจายล์ ประกอบด้วย 7 ขั้นตอน ได้แก่
กานำไปใช้
การจัดการโครงแบบ
การทดสอบ
การบริหารโครงการ
การเขียนโปรแกรม
สภาพแวดล้อม
การสร้างแบบจำลอง
RUP (Rational Unified Process ) คือกระบวนการพัฒนาระบบซอฟต์แวร์อีกรูปแบบหนึ่งซึ่งแบ่งขั้นตอนการพัฒนาระบบซอฟต์แวร์ออกเป็นรอบๆ
RUP ประกอบด้วยมุมมอง 2 มิติ
มุมมองในแนวตั้ง
จะแสดงให้เห็นถึงกลุ่มกิจกรรมที่เกิดขึ้น ซึ่งจะถูกแบ่งกลุ่มออกตามวิธีการหรือลักษณะของการทำงานของกิจกรรมนั้นๆ
มุมมองในแนวนอน
จะแสดงให้เห็นถึงเวลาและวงจรการพัฒนาในแต่ละช่วงของโครงการ
แบบจำลองกระบวนการพัฒนาซอฟต์แวร์แบบเอจายล์
คือ ระเบียบของการพัฒนาซอฟต์แวร์ที่มีลักษณะทำงานแบบวนซ้ำ ไม่ออกแบบซอฟต์แวร์ทั้งหมดในคราวเดียว และมีการส่งมอบงานให้กับลูกค้าบ่อยครั้ง
วัตถุประสงค์ของ AGILE
ไม่สามารถเปลี่ยนแปลงความต้องการได้
ต้องเข้าใจความต้องการของลูกค้าตั้งแต่เริ่มต้น ซึ่งอาจจะไม่ชัดเจน
ใช้นักพัฒนาซอฟต์แวร์จำนวนมากและทำงานหนัก
มีระเบียบวิธีชัดเจน
ใช้เวลาในการพัฒนาซอฟต์แวร์นาน
ต้องทำเอกสารจำนวนมากและใช้เวลานาน
บทบัญญัติของ AGILE
การพัฒนาซอฟต์แวร์เพื่อนำไปใช้งานจริงมากกว่าการทำเอกสาร
การทำงานร่วมกับลูกค้าหรือผู้ใช้มากกว่า การเจรจาต่อรองตามสัญญา (Contract)
การให้ความสำคัญกับผู้ปฏิบัติงาน เน้นความถนัดแต่ละบุคคล เน้นปฏิสัมพันธ์
การแก้ไขซอฟต์แวร์ตามการเปลี่ยนแปลงความต้องการของผู้ใช้ มากกว่าการปฏิบัติตามแผน
ค่าใช้จ่าย AGILE
สรุปข้อดีข้อเสียของ AGILE
ข้อดี
เปลี่ยนแปลงความต้องการได้บ่อยครั้ง
ส่งมองานบ่อยและรวดเร็ว
ค่าใช้จ่ายต่ำ
ง่ายต่การใช้งาน
กระบวนการเรียบง่าย
ข้อเสีย
ขึ้นกับทีมงานมากเกินไป
ลูกค้าบอกความต้องการไม่ชัดเจน
ไม่สามควบคุมขอบเขตความต้องการได้
มีควขัดแย้งเรื่องวัฒนธรรมองค์กร
การประเมินและการปรับปรุงกระบวนการ
แบบจำลองวุฒิภาวะความสามารถ(CMM)
ถูกคิดค้นโดยสถาบันวิศวกรรมซอฟต์แวร์ของมหาวิทยาลัย Carnegie Mellon ประเทศสหรัฐอเมริกาซึ่งเป็นมหาวิทยาลัยที่ได้รับการยกย่องระดับโลก
เป้าหมายของแบบจำลองวุฒิภาวะความสามารถ คือ เพื่อประเมินและวัดคุณภาพของกระบวนการพัฒนาซอฟต์แวร์ ทำให้องค์กรทราบระดับภาวะวุฒิความสามารถและใช้เป็นแนวทางในการปรับปรุงกระบวนการ
แบบจำลองวุฒิภาวะความสามารถแบ่งเป็น 5 ระดับ ได้แก่
ระดับ 4 จัดการ
การจัดการกระบวนการเชิงปริมาณ
การจัดการคุณภาพของซอฟต์แวร์
ระดับ 3 นิยาม
การทบทวนชิ้นงานโดยเพื่อนร่วมงาน
การนิยามกระบวนการขององค์กร
การจัดซอฟต์แวร์รวมกัน
การประสานงานระหว่างกลุ่ม
จุดรวมกระบวนการเชิงองค์กร
โปรแกรมการฝึกอบรม
วิศวกรรมผลิตภัณฑ์ซอฟต์แวร์
ระดับ 5 เหมาะที่สุด
การจัดการการเปลี่ยนแปลงด้านเทคโนโลยี
การจัดการการเปลี่ยนแปลงกระบวนการ
การป้องกันข้อบกพร่อง
ระดับ 2 ทำซ้ำ
การจัดการความต้องการ
การวางแผนโครงการซอฟต์แวร์
การจัดการผู้รับช่วงหรือว่าจ้าง
การรับประกันคุณภาพซอฟต์แวร์
การจัดการโครงการแบบซอฟต์แวร์
การติดตามโครงการซอฟต์แวร์และความผิดพลาด
ระดับ 1 เริ่มต้น
อาศัยความสามารถของทีมงานเป็นหลัก
ไม่มีกวางแผน
ไม่สามารถประเมินคุณภาพซอฟต์แวร์ได้
กระบวนการพัฒนาซอฟต์แวร์ไม่เป็นระบบ
ทำงานขึ้นกับหัวหน้า
ไม่มีการจัดทำเอกสาร
ผู้บริหารไม่สนใจการเปลี่ยนกระบวนการ
ประโยชน์ของแบบจำลองวุฒิภาวะความสามารถ
การทำงานขององค์กรมีวัฒนธรรมการทำงานที่เป็นมาตรฐานเดียวกัน
องค์กรมีความยืดหยุ่น ปรับตัวให้เข้ากับการเปลี่ยนแปลงตลอดเวลาได้
มีโอในการสร้างชื่อเสียงให้กับองค์กรและโอกาสการรับงานจากลูกค้ามากขึ้น
องค์กรมีวุฒิภาวะความสามารถเพิ่มขึ้น รับงานจากต่างประเทศรายได้เข้าประเทศมากขึ้น
องค์กรมีการทำงานเป็นระบบมากขึ้น
กรอบงานของการปรับปรุงกระบวนการพัฒนาซอฟต์แวร์
กระบวนการซอฟต์แวร์
การประเมิน
การปรับปรุงกลยุทธ์
กำหนดความสามารถ
คุณลักษณะและกระบวนการของ CMM
นิยาม
กำหนดมาตรฐานในการดำเนินงาน
ปรับปรุงประสิทธิภาพด้านต้นทุน กำหนดการ คุณภาพและความเสี่ยง
จัดการ
สั่งสมประสบการณ์
วิเคราะห์และทำนายผล
ทำซ้ำ
กำหนดนโยบายชัดเจน
กระบวนการเป็นระบบ มีแบบแผนและทำซ้ำได้
จัดทำเอกสารอย่างเป็นขั้นตอน
เหมาะที่สุด
ปรับปรุงกระบวนการอย่างต่อเนื่อง
มีองค์ความรู้ และปรับปรุงการเรียนรู้
มีประสิทธิภาพทุกด้าน
มีคุณภาพสูง และความเสี่ยงต่ำ
เริ่มต้น
ไม่มีระเบียบวิธีที่แน่นอน ไม่เป็นระเบียบ
มีความเสี่ยงสูง