Release planning & Estimation the Agile
Way
The Bible
บทท�� 1, 2, 3, 4, 6, และ 23 (Case Study)
ท�ไม Plan แบบเก่�ถึ�ง Fail
● Plan ด้�วย activitieso activities ไม�ได้�เก่��ยวโด้ยตรงก่�บ Featureo activities ไม�เคยเสร�จก่�อนเวลo activities หล�งต�องรอ activities ข้�งหน�เสร�จก่�อนo ถึ� activities ด้�นหน�ช้� ท��เหล#อก่�จะช้�ตมก่�นไปหมด้
● ไม�ได้�เน�นก่รท� Feature ท��ส�ค�ญท��ส&ด้ก่�อน● หลอก่ต�วเองว� Plan น��เจ'งท��ส&ด้แล�ว และท�ตมม�น
อย�งเคร�งคร�ด้o เสร�จว�นท�� xx/xx/xx แน�นอน!
● ไม�ได้�รวมควมไม�แน�นอนเข้�ไปใน Plano บงคนก่�อจจะรวมด้�วยก่รใส� buffer เอ <-- แต�น��ม�นก่�น��งเท�ยนเอ
ช้�ด้ๆ
ท�ไม Plan แบบ Agile ถึ�งWork● สร�ง Plan ท��ร* �ว�ใช้�ได้�ตอนน�+ แล�วก่� update ม�นอย*�เร#�อยๆ
● จ�บ Effort ท��ใช้�ในก่รท�งน ก่�บเวลในก่รท�งนแยก่ออก่จก่ก่�นo ม�นไม�เก่��ยวก่�นจร,งๆนะ
● ม� Plan หลยๆ levelo level ส*งๆ ก่�ไม�ต�องละเอ�ยด้มก่ เส�ยเวล
● บอก่อย�งช้�ด้เจนว�ม�นม�ควมไม�แน�นอนอย*�นะ● Plan ด้�วย Features ไม�ใช้� Activities● ให�ควมส�ค�ญก่�บควมส�ค�ญ● ม�นโปร�งใส!
Requirements
User Stories
● เ ข้�ยน requirement จก่ม&มมองข้องผู้*�ได้�ร�บ ประโยช้น.จก่ feature น�+นๆ โด้ยใช้�ภษท��ใครๆก่�
เข้�ใจ● As a <stakeholder>, I want <goal> so that
<reason>.● Acceptance/Exit Criteria
ฉบ�บก่ระด้ษ
http://blogs.kent.ac.uk/agile/files/2009/09/Slide1-264x300.jpg
ฉบ�บ electronic
I.N.V.E.S.T.Independent
จบได้�ด้�วยต�วเองNegotiable
จะเอจ�ก่รยน รถึเบนซ์. หร#อยนอวก่ศValuable
ม�ค&ณค�ท��ล*ก่ค�ค*�ควรEstimable
estimate ได้�Small
เล�ก่ท��ส&ด้เท�ท��จะท�ได้� ในเวลน�+นๆTestable
test ได้�
Estimation
ให�ทยว�ผู้*�พู*ด้ส*งเท�ไหร�
จะเล�นต�วเองท�ไมม,ทรบ
ทยว�ผู้*�พู*ด้ส*งเป6นก่��เท�ข้องโต7ะ
Story Points
● Relative estimateo อ�นน�+เป6นก่��เท�ข้องอ�นน�+นน�?
● ค,ด้รวมท�+ง Dev และ Testo จงพู�งค,ด้อย*�เสมอว� งนจะไม�เสร�จถึ�ไม�ผู้�น 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
● ม�นไม�ได้�เก่��ยวอะไรก่�บเวล
Planning Poker
ลอง Planning Poker
Planning
Velocity & Release Planning● Iteration ค#อ ช้�วงเวลจ�ก่�ด้ (time-boxed) ท��
ม�ค�เท�ก่�นท�+ง release เช้�น 2 อท,ตย.● Velocity ค#อ ค�เฉล��ยข้องจ�นวน story points
ท��ท�ได้�ต�อ iteration● Release ค#อ เซ์�ตข้อง User Stories ท��ควรค�ต�อก่รน�ออก่ไปส*�สยตสธรณะช้น
Velocity & Release Planning● Velocity จะเป6นต�วท��น�ไปส*�ก่รบอก่ว� Release น�+จะเสร�จเม#�อไหร�o เวลอย*�ตรงน�+o ก่รเด้ vs ก่รค�นพูบ
ถึ�ง Release
Prioritization
● ห�วใจข้องก่รท� Agile อย�งหน��งค#อก่รจ�ด้ล�ด้�บ ควมส�ค�ญข้อง Feature
o เรม�ก่จะม�ข้องท��ให�ท� มก่ก่ว�เวลท��ม�เสมอ
Prioritization
● จ�ด้ล�ด้�บควมส�ค�ญโด้ยo ท�ส,�งท��ให� Value ก่�บล*ก่ค�มก่ท��ส&ด้ก่�อนo ท�ส,�งท��ม�ควมเส��ยงส*งก่�อน เช้�น ข้องท��ไม�ร* �ว�จะท�ได้�จร,งร�
เปล�o ท�ส,�งท��จะเพู,�มควมร* �ให�น�ไปใช้�ในภยภคหล�งได้�
ส,�งส�ค�ญในก่ร Plan Release
● เล#อก่ว�จะเอ stories ไหนเข้� release บ�งo อะไรท��จะเป6นเป9หมยข้อง release น�+
● จ�ด้ล�ด้�บควมส�ค�ญ● เล#อก่ระยะเวลข้อง iteration● อย�ใช้�เวลในก่รลง details ก่�บส,�งท��ไม�จ�เป6นส�หร�บก่ร plan
release● อย�จ�บ story ย�ด้ใส� iteration หร#อ ใส�ม#อใคร
Burndown Chart
● ส,�งส�ค�ญมก่ๆๆๆ ท��จะตอบโจทย.เร#�องo ก่ร update plan อย�งสม��เสมอo ควมโปร�งใสo ท&ก่คนเห�นภพูเด้�ยวก่�นข้อง release
Burndown Chart (simple)
Demo
สร&ป● Plan ด้�วย Features● ใช้� relative estimate เช้�น story points● จ�ด้ล�ด้�บควมส�ค�ญใน release และคอยจ�ด้ใหม�
เสมอ เพู#�อสะท�อนควมเป6นจร,งในป:จจ&บ�น● Update Burndown Chart ท&ก่ๆ iteration
และใช้�เป6นเคร#�องม#อส#�อสรเพู#�อให�ท&ก่คนเห�นภพูข้องrelease ตรงก่�น