20
Release planning & Estimation the Agile Way

[Agile Thailand 2012] Release planning & estimation the agile way

  • Upload
    sinapam

  • View
    1.654

  • Download
    4

Embed Size (px)

DESCRIPTION

Planning ในแบบ Agile แตกต่างจาก planning ในแบบเก่าอย่างไร? ทำไมมันถึง work? แล้วมันช่วยบอกว่า release จะเสร็จเมื่อไรได้ดีขึ้นจริงรึ? แล้ว Story Point คืออะไร? ใช้ยังไง? เกี่ยวอะไรกับการ plan และการ estimate? คุณจะได้เรียนรู้และลองใช้กันใน session นี้ เหมาะกับคนที่เพิ่งได้ค้นพบ Agile และอยากจะนำไปใช้จริง

Citation preview

Page 1: [Agile Thailand 2012] Release planning & estimation the agile way

Release planning & Estimation the Agile Way

Page 2: [Agile Thailand 2012] Release planning & estimation the agile way

The Bible

บทท 1, 2, 3, 4, 6, และ 23 (Case Study)

Page 3: [Agile Thailand 2012] Release planning & estimation the agile way

ท ำไม Plan แบบเกำถง Fail

• Plan ดวย activities

o activities ไมไดเกยวโดยตรงกบ Feature

o activities ไมเคยเสรจกอนเวลำ o activities หลงตองรอ activities ขำงหนำเสรจกอน

o ถำ activities ดำนหนำชำ ทเหลอกจะชำตำมกนไปหมด

• ไมไดเนนกำรท ำ Feature ทส ำคญทสดกอน

• หลอกตวเองวำ Plan นเจงทสดแลว และท ำตำมมนอยำงเครงครด

o เสรจวนท xx/xx/xx แนนอน!

• ไมไดรวมควำมไมแนนอนเขำไปใน Plan

o บำงคนกอำจจะรวมดวยกำรใส buffer เอำ <-- แตนมนกนงเทยนเอำชดๆ

Page 4: [Agile Thailand 2012] Release planning & estimation the agile way

ท ำไม Plan แบบ Agile ถง Work

• สรำง Plan ทรวำใชไดตอนน แลวก update มนอยเรอยๆ

• จบ Effort ทใชในกำรท ำงำน กบเวลำในกำรท ำงำนแยกออกจำกกน

o มนไมเกยวกนจรงๆนะ

• ม Plan หลำยๆ level

o level สงๆ กไมตองละเอยดมำก เสยเวลำ • บอกอยำงชดเจนวำมนมควำมไมแนนอนอยนะ

• Plan ดวย Features ไมใช Activities

• ใหควำมส ำคญกบควำมส ำคญ

• มนโปรงใส!

Page 5: [Agile Thailand 2012] Release planning & estimation the agile way

User Stories

• เขยน requirement จำกมมมองของผไดประโยชนจำก requirement นนๆ โดยใชภำษำทใครๆกไดเขำใจ

• As a <stakeholder>, I want <goal> so that <reason>.

• Exit Criteria

• Estimate

• Discussion

Page 6: [Agile Thailand 2012] Release planning & estimation the agile way

A User Story

Page 7: [Agile Thailand 2012] Release planning & estimation the agile way

I.N.V.E.S.T.

Independent

จบไดดวยตวเอง Negotiable

จะเอาจกรยาน รถเบนซ หรอยานอวกาศ

Valuable

มคณคา Estimable

estimate ได

Small

เลกทสดเทาทจะท าได ในเวลานนๆ

Testable

test ได

Page 8: [Agile Thailand 2012] Release planning & estimation the agile way

ใหทำยวำผพดสงเทำไหร

จะเลนตวเองท ำไมมทรำบ

Page 9: [Agile Thailand 2012] Release planning & estimation the agile way

ทำยวำผพดสงเปนกเทำของโตะ

Page 10: [Agile Thailand 2012] Release planning & estimation the agile way

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

• มนไมไดเกยวอะไรกบจ ำนวนวน ณ ตอนท estimate

Page 11: [Agile Thailand 2012] Release planning & estimation the agile way

Planning Poker

Page 12: [Agile Thailand 2012] Release planning & estimation the agile way

วธเลน Planning Poker

1. ทกคนมกำรด Planning Poker 1 ส ำรบ

2. Facilitator อำนรำยละเอยดของ User Story ทตองกำรจะ vote

3. Facilitator เปดโอกำสใหทกคนถำมค ำถำม เพอใหเขำใจ story มำกขน

4. เมอทกคนพรอมทจะ vote ใหแตละคนเลอกกำรดของตวเองไว ไมบอกใคร

5. Facilitator ใหสญญำณ เพอใหทกคน show กำรดของตวเองออกมำพรอมๆกน

6. ถำมคนไมตรง ใหคนทใหมำกทสดกบนอยทสด พดวำท ำไมตวเองถงใหเทำนน

7. เมอเขำใจกนมำกขน กให vote ใหม

8. ท ำจนกวำทกคนจะ vote เหมอนกนหรอสำมำรถยอมรบคำใดคำหนงได

Page 13: [Agile Thailand 2012] Release planning & estimation the agile way

Velocity & Release Planning

• Velocity คอ คำเฉลยของจ ำนวน story points ทท ำไดตอ iteration

o ในวนแรกของกำรท ำ project เรำอำจจะใช estimated velocity แตพอท ำไปซกพก ตองใชคำเฉลยจรง

• Release คอ เซตของ User Stories ทควรคำตอกำรน ำออกไปสสำยตำสำธำรณะชน

• Velocity จะเปนตวทน ำไปสกำรบอกวำ Release นจะเสรจเมอไหร

o กำรเดำ vs กำรคนพบ

Page 14: [Agile Thailand 2012] Release planning & estimation the agile way

สงส ำคญในกำร Plan Release

• เลอกวำจะเอำ stories ไหนเขำ release บำง

o อะไรทจะเปนเปำหมำยของ release น

• ไดท ำกำร estimate user stories ไวเรยบรอย

• เลอกระยะเวลำของ iteration

o iteration ควรจะมควำมยำวคงททง release

• เลอก estimate velocity

o ยงไมรวำของจรงจะเปนเทำไหร

o ใชจำกในอดตของ project ทใกลเคยงกนกได

o ค ำนวณจำก stories ทคดวำนำจะท ำไดใน 1 iteration

• ตองมกำรจดล ำดบควำมส ำคญของ stories ไวดวย

• อยำใชเวลำในกำรลง details กบสงทไมจ ำเปนส ำหรบกำร plan

release

o อยำจบ story ยดใส iteration หรอ ใสมอใคร

Page 15: [Agile Thailand 2012] Release planning & estimation the agile way

ถง Release

Page 16: [Agile Thailand 2012] Release planning & estimation the agile way

Prioritization

• หวใจของกำรท ำ Agile อยำงหนงคอกำรจดล ำดบควำมส ำคญของ Feature

o เรำมกจะมของทใหท ำ มำกกวำเวลำทมเสมอ

o ใหนกไวเสมอวำ ตงคจะหมดไดทกเมอ

• จดล ำดบควำมส ำคญโดย

o ท ำสงทให Value กบลกคำมำกทสดกอน

o ท ำสงทมควำมเสยงสงกอน เชน ของทไมรวำจะท ำไดจรงรเปลำ o ท ำสงทจะเพมควำมรใหน ำไปใชในภำยภำคหลงได

Page 17: [Agile Thailand 2012] Release planning & estimation the agile way

Burndown Chart

• สงส ำคญมำกๆๆๆ ทจะตอบโจทยเรอง

o กำร update plan อยำงสม ำเสมอ

o ควำมโปรงใส

o ทกคนเหนภำพเดยวกนของ release

• กรำฟ

o แกน X: เวลำ o แกน Y: จ ำนวน story points ของ release ทยงท ำไมเสรจ ณ

เวลำใดๆ

Page 18: [Agile Thailand 2012] Release planning & estimation the agile way

Burndown Chart (simple)

Page 19: [Agile Thailand 2012] Release planning & estimation the agile way

Burndown Chart (fancy)

Page 20: [Agile Thailand 2012] Release planning & estimation the agile way

สรป

• เขยน requirement ดวย user stories

• ใช relative estimate e.g. story points

• จดล ำดบควำมส ำคญของ user stories ทจะเอำเขำมำใน

release และคอยจดใหมตำมควำมเปนจรงนะปจจบนอยำงสม ำเสมอ (หนำท Product Owner)

• Update Burndown Chart ทกๆ iteration และใชเปนเครองมอสอสำรเพอใหทกคนเหนภำพของ release

ตรงกน