ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Measuring Agility in Agile Software Development
2
1. Agile software 2. Measuring Agility
3
Agile
4
Agile Agile เป็นหลักการในการพัฒนา software แบบใหม่
ตอบสนองได้อย่างรวดเร็วและมีความยืดหยุ่นต่อการเปลี่ยนแปลง มีการพัฒนาที่ว่องไว มีการดำเนินงานได้ต่อเนื่อง แม้จะมีสิ่งที่มากระทบก็ยังคงสามารถดำเนินงานต่อได้ เมื่อมีการเปลี่ยนแปลงจะสามารถรองรับความเปลี่ยนแปลงนั้นได้อย่างรวดเร็ว
5
วัตถุประสงค์ของ Agile
ให้ความสำคัญกับความสามารถแต่ละบุคคล และการพูดคุยสื่อสารกันมากกว่า การยึดติดที่เครื่องมือและกระบวนการ ทำงานโดยยึดที่ผลผลิตหรือซอฟท์แวร์เป็นหลัก ให้ความสำคัญเรื่องของการติดต่อสื่อสาร ยอมรับความเปลี่ยนแปลงต่างๆ
6
หลักการ Agile
7
หลักการ Agile (1) • เน้นไปที่ความพึงพอใจของลูกค้า ทำตามที่ลูกค้าต้องการ และมีการส่งมอบซอฟท์แวร์อย่างต่อเนื่อง • ยอมรับ requirementที่เปลี่ยนแปลง • มีการส่งมอบงานบ่อยๆ (ทุกๆ 2 สัปดาห์) • ลูกค้าและผู้พัฒนาต้องทำงานร่วมกัน เพื่อให้งานที่ออกมาสามารถตอบสนองความต้องการของลูกค้า
8
หลักการ Agile (2) • วัดความก้าวหน้าของงาน(KPI) ที่ซอฟท์แวร์
• กระบวนการทำงาน ให้ดำเนินงานไปเรื่อยๆ ไม่เร็วจนเกินไปหรือช้าจนเกินไป • การออกแบบเน้นความเรียบง่าย ไม่ซับซ้อน ทำให้ดูแลแก้ไขง่ายเมื่อพบความเปลี่ยนแปลง หรือความผิดพลาด • ทีมงานต้องมีความรับผิดชอบในกระบวนการของตัวเอง • มีการนัดพบแลกเปลี่ยนความคิด และแสดงความคืบหน้ากันสม่ำเสมอ
9
Agile Modeling
10
Agile Modeling เป็นวิธีหนึ่งที่จะเอาหลักการของ Agile มาจัดการกับเอกสารและระบบเดิมที่มีอยู่ ประกอบด้วย value (ผลลัพธ์) principle (หลักการ) practices (วิธีปฏิบัติ)
11
Agile Modeling : value • เน้นติดต่อสื่อสาร
• เน้นติดต่อสื่อสาร • เน้นความเรียบง่าย ไม่ซับซ้อน • เน้น feedback จากลูกค้า • เน้นความกล้าตัดสินใจ • เน้นความเคารพกันและกัน
12
Agile Modeling : principle
• รับ requirement ของลูกค้าพร้อมเปลี่ยนแปลงได้ตลอดเวลา • ทำ model ตามความจำเป็นเท่านั้น • พยายามใช้ multiple model มองหลายๆมุมมองจะได้งานที่สมบูรณ์มากขึ้น • มีการตอบกลับเร็วที่รวดเร็ว • ซอฟท์แวร์ถือเป็นจุดมุ่งหมายหลัก • Supplement Principle • เน้น content มากกว่า representation(ที่ใช้UMLเขียน) ไม่เน้นเครื่องมือ เน้นที่เน้อหาที่มีข้างใน
13
Agile Modeling : practices
• จัดประชุม รวบรวม Active stakeholder เท่านั้น บางทีอาจจะมี None stakeholder เข้ามาฟังได้ • นำ Artifact มาใช้ให้ถูกต้อง • พยายามใช้โมเดลแบบคู่ขนาน เพื่อเก็บรายละเอียดของระบบให้ครบถ้วน • ทำให้เนื้อหาง่าย พยายามวาดรูปไม่ให้ซับซ้อน และโมเดลเข้าถึงได้ทุกคน • ใช้โมเดลแบบเล็กก่อนแล้วค่อยขยาย • พิสูจน์ด้วยการลองเขียน code ดู (จาก code เริ่มต้นตั้งแต่แรก)
14
Agile Model • ทั้งสามอย่างที่กล่าวมาเป็นส่วนหนึ่งใน Agile Model ที่สามารถนำมาพัฒนา Software ให้มีประสิทธิภาพมากขึ้น • มอง Agile เป็นส่วนขยายของกระบวนการพัฒนาซอฟท์แวร์แบบเดิมได้ • ให้ Agile เข้าไปกำกับดูแลว่าของเดิมที่มีอยู่สิ่งใดสำคัญก็ทำ สิ่งที่ไม่สำคัญก็ละไว้เพื่อทำที่หลัง • นำ Agile มาจัดลำดับความสำคัญเพื่อดูว่ากิจกรรมใดควรทำก่อน
15
ความแตกต่างระหว่าง speed กับ agile
16
1. Agile software 2. Measuring Agility
17
Measuring Agility • การตั้งคำถามของProjectที่ถูกพัฒนาด้วยAgile
ตอบสนองความต้องการของลูกค้าอย่างไร งานที่ลูกค้าต้องการความเร็วแค่ไหน • คำตอบที่ได้รับจะเน้นไปที่ความเร็วในการตอบสนอง ความเร็วเป็นสิ่งที่ทำให้ลูกค้าพึงพอใจในลักษณะของงานที่ทำ • ความเร็วอาจจะไม่ใช่คำตอบที่ลูกค้าต้องการ หากลูกค้ามีส่วนร่วมตั้งแต่เริ่มทำProjectและต้องการได้รับแก้ไขปัญหา การพัฒนาแบบ waterfall life cycle จะเร็วมากกว่า agile life cycle ซึ่ง waterfall life cycleจะวางแผนและเขียนโค้ดได้ง่ายกว่า นอกจากจะวัดความเร็วแล้วยังมีปัจจัยอื่นที่ต้องวัดหากมีการ เปลี่ยนแปลง
18
Measuring Agility (1)
19
Agility measurement methodology
Change is easier in Reengineered Process BPR Workflow Management System AS-IS Process Reengineered Process AS-IS Process with change Reengineered Process with change CHANGE OR DISRUPTION
20
Agility measurement methodology (1)
การที่จะทำให้โปรแกรมมีความซับซ้อนและมีความไวต้องอาศัย สองสิ่ง สิ่งแรกเราต้องสนใจความซับซ้อนในเชิงธุรกิจ ความคล่องตัวในการเปลี่ยนแปลงของระบบจากสถานะ หนึ่งของระบบไปยังอีกสถานะที่ต้องการ ซึ่งการที่เราจะทำเช่นนี้ได้เราต้องใช้การวางแผนและออกแบบ ระบบดังที่แสดงในรูปด้านบนซึ่ง ระบบที่เราศึกษาอยู่ตอนนี้คือ As-ls system ในส่วนของ reengineered system เป็นระบบ ที่สนับสนุนการเปลี่ยนแปลงของโปรเจคโดยจุดประสงค์ของการ ปรับเปลี่ยนระบบในเชิงธุรกิจนั้นเพื่อลดความซับซ้อนของ กระบวนการการทำงานและนำการปรับเปลี่ยนนี้ไปใช้ในระบบที่ เหลือทั้งหมด
21
สูตรการวัด Agility • ตัวชี้วัดระบุเวลา:
• ตัวชี้วัดระบุเวลา: - Tstart = เวลาที่ลูกค้าระบุความต้องการ - Tdone = เวลา ที่ลูกค้ายอมรับข้อตกลงฟังก์ชันที่ต้องการ • ระยะเวลา: - Tdeliver = เวลาทั้งหมดที่ผู้รับงานตกลงรับงานจากลูกค้า - Taccept =เวลาที่ผู้รับงานเสนอฟังก์ชั่นที่สอดคล้องกับความ ต้องการของลูกค้า - Tlife cycle = ระยะเวลามาตรฐานของแต่ละagile delivery cycle
22
ReCycle Time Standard delivery time = Tdone – Tstart ReCycle Time =
23
เทคนิคการพัฒนาแบบ Agile
Agile model driven development (AMDD) Code Refactor : เป็นการ redesign code คือให้แก้ code เดี๋ยวนั้นแล้ว design เปลี่ยนเอง Pair Programming : จับทีมทำงานเป็นคู่ 2 คนทำงานร่วมกัน ทำที่เดียวกัน แต่ทำเพียงเครื่องเดียว แชร์กันใช้ โดยคนหนึ่งทำ-อีกคนหนึ่งดู ( มีการตรวจสอบกัน ไปด้วย) Test Driven Development(TDD) : เป็นเทคนิคใน การเขียน test case เขียน test case ก่อนและค่อย ทำการ implement code
24
รูปแบบวิธีการที่ทำเอา Agile มา ใช้
• Agile UP • XP (eXtream Programming) • FDD (Feature Driven Development) • Scrum
25
เอกสารอ้างอิง http://wiki.nectec.or.th/setec/Knowledge/Agile
Bob Moore Business Transformation Institute, Inc.
26
สมาชิกกลุ่ม นางสาวณภัทรา พลนารักษ์ รหัส 55010324
นางสาวณภัทรา พลนารักษ์ รหัส นางสาวณัฏฐา เชื้อบุญชัย รหัส นายปุณณวรรธน์ วัฒนะภาณุพัฒน์ รหัส นายณัฐวุฒิ วัฒนาโยธิน รหัส นางสาวนุชรี เสมสว่าง รหัส
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.