Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Release planning & estimation the agile way

629 Aufrufe

Veröffentlicht am

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Release planning & estimation the agile way

  1. 1. Release planning & Estimation the Agile Way
  2. 2. The Bible บทที่ 1, 2, 3, 4, 6, และ 23 (Case Study)
  3. 3. ทำไม Plan แบบเก่ำถึง Fail ● Plan ด้วย activities o activities ไม่ได้เกี่ยวโดยตรงกับ Feature o activities ไม่เคยเสร็จก่อนเวลำ o activities หลังต้องรอ activities ข้ำงหน้ำเสร็จก่อน o ถ้ำ activities ด้ำนหน้ำช้ำ ที่เหลือก็จะช้ำตำมกันไปหมด ● ไม่ได้เน้นกำรทำ Feature ที่สำคัญที่สุดก่อน ● หลอกตัวเองว่ำ Plan นี่เจ๋งที่สุดแล้ว และทำตำมมันอย่ำง เคร่งครัด o เสร็จวันที่ xx/xx/xx แน่นอน! ● ไม่ได้รวมควำมไม่แน่นอนเข้ำไปใน Plan
  4. 4. ทำไม Plan แบบ Agile ถึง Work ● สร้ำง Plan ที่รู้ว่ำใช้ได้ตอนนี้ แล้วก็ update มันอยู่ เรื่อยๆ ● จับ Effort ที่ใช้ในกำรทำงำน กับเวลำในกำรทำงำน แยกออกจำกกัน o มันไม่เกี่ยวกันจริงๆนะ ● มี Plan หลำยๆ level o level สูงๆ ก็ไม่ต้องละเอียดมำก เสียเวลำ ● บอกอย่ำงชัดเจนว่ำมันมีควำมไม่แน่นอนอยู่นะ
  5. 5. Requirements
  6. 6. User Stories ● เขียน requirement จำกมุมมองของผู้ได้รับ ประโยชน์จำก feature นั้นๆ โดยใช้ภำษำที่ใครๆก็ เข้ำใจ ● As a <stakeholder>, I want <goal> so that <reason>. ● Acceptance/Exit Criteria
  7. 7. ฉบับกระดำษ http://blogs.kent.ac.uk/agile/files/2009/09/Slide1-264x300.jpg
  8. 8. ฉบับ electronic
  9. 9. I.N.V.E.S.T. Independent จบได้ด้วยตัวเอง Negotiable จะเอำจักรยำน รถเบนซ์ หรือยำนอวกำศ Valuable มีคุณค่ำที่ลูกค้ำคู่ควร Estimable estimate ได้ Small เล็กที่สุดเท่ำที่จะทำได้ ในเวลำนั้นๆ Testable test ได้
  10. 10. Estimation
  11. 11. ให้ทำยว่ำผู้พูดสูงเท่ำไหร่ จะเล่นตัวเองทำไมมิทรำบ
  12. 12. ทำยว่ำผู้พูดสูงเป็นกี่เท่ำของโต๊ะ
  13. 13. Story Points ● Relative estimate o อันนี้เป็นกี่เท่ำของอันนั้นน้ำำ? ● คิดรวมทั้ง Dev และ Test o จงพึงคิดอยู่เสมอว่ำ งำนจะไม่เสร็จถ้ำไม่ผ่ำน test ● เลือกใช้เซ็ตของตัวเลขที่จะไม่ทำให้ต้องมำนั่งเถียงกัน ด้วยควำมต่ำงเล็กๆน้อยๆ o ญำติ Fibonacci : 1, 2, 3, 5, 8, 13, 21, etc… o Cohn's : 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, ? o Simple : 0, 1, 2, 3, 5, 8, BIG
  14. 14. Planning Poker
  15. 15. ลอง Planning Poker
  16. 16. Planning
  17. 17. Velocity & Release Planning ● Iteration คือ ช่วงเวลำจำกัด (time-boxed) ที่มี ค่ำเท่ำกันทั้ง release เช่น 2 อำทิตย์ ● Velocity คือ ค่ำเฉลี่ยของจำนวน story points ที่ ทำได้ต่อ iteration ● Release คือ เซ็ตของ User Stories ที่ควรค่ำต่อ กำรนำออกไปสู่สำยตำสำธำรณะชน
  18. 18. Velocity & Release Planning ● Velocity จะเป็นตัวที่นำไปสู่กำรบอกว่ำ Release นี้ จะเสร็จเมื่อไหร่ o เวลำอยู่ตรงนี้ o กำรเดำ vs กำรค้นพบ
  19. 19. ถัง Release
  20. 20. Prioritization ● หัวใจของกำรทำ Agile อย่ำงหนึ่งคือกำรจัดลำดับ ควำมสำคัญของ Feature o เรำมักจะมีของที่ให้ทำ มำกกว่ำเวลำที่มีเสมอ
  21. 21. Prioritization ● จัดลำดับควำมสำคัญโดย o ทำสิ่งที่ให้ Value กับลูกค้ำมำกที่สุดก่อน o ทำสิ่งที่มีควำมเสี่ยงสูงก่อน เช่น ของที่ไม่รู้ว่ำจะทำได้จริงรึเปล่ำ o ทำสิ่งที่จะเพิ่มควำมรู้ให้นำไปใช้ในภำยภำคหลังได้
  22. 22. สิ่งสำคัญในกำร Plan Release ● เลือกว่ำจะเอำ stories ไหนเข้ำ release บ้ำง o อะไรที่จะเป็นเป้ำหมำยของ release นี้ ● จัดลำดับควำมสำคัญ ● เลือกระยะเวลำของ iteration ● อย่ำใช้เวลำในกำรลง details กับสิ่งที่ไม่จำเป็นสำหรับกำร plan release ● อย่ำจับ story ยัดใส่ iteration หรือ ใส่มือใคร
  23. 23. Burndown Chart ● สิ่งสำคัญมำกๆๆๆ ที่จะตอบโจทย์เรื่อง o กำร update plan อย่ำงสม่ำเสมอ o ควำมโปร่งใส o ทุกคนเห็นภำพเดียวกันของ release
  24. 24. Burndown Chart (simple)
  25. 25. Demo
  26. 26. สรุป ● Plan ด้วย Features ● ใช้ relative estimate เช่น story points ● จัดลำดับควำมสำคัญใน release และคอยจัดใหม่ เสมอ เพื่อสะท้อนควำมเป็นจริงในปัจจุบัน ● Update Burndown Chart ทุกๆ iteration และ ใช้เป็นเครื่องมือสื่อสำรเพื่อให้ทุกคนเห็นภำพของ release ตรงกัน

×