วิธีใช้เลข Fibonacci สำหรับ การ estimation แบบอไจล์

มีสมาชิกท่านหนึ่งถามไว้ใน Agile66 ว่า

“ถ้าเราประเมิน story point แบบ fibonacci แล้วคิดว่าขนาดมัน มากกว่า 13 แต่ ไม่ถึง 21 ประมาณ 17 ก็น่าจะพอ แบบนี้เราควรใช้ตัวเลขไหนครับ 17 หรือ 21”

ขออธิบายว่า การใช้ estimate ในแบบอไจล์ นั้น เราจะไม่ทำกันเป็น Abosolute value ครับ เพราะฉะนั้น การ estimate แบบอไจล์ไม่มี การ estimate ในลักษณะที่เหมือนกับ tradition ที่จะเป็น ค่าๆ เดียวเช่น 200 man-hour หรือ 24 man-day เป็นต้น

การ estimate แบบอไจล์ จะกระทำเป็น ช่วง เช่น ใช้ 200-300 man-day หรือแม้แต่การกำหนด release date ในแบบอไจล์ก็ทำเป็นช่วง เช่น iPhone 6 จะ launch ในไตรมาส 3 ก็คือ ระหว่าง เดือน ก.ค. ถึง ก.ย. เป็นต้น ไม่มีแบบที่เป็น ค่าๆ เดียวเลย เพราะเนื่องมาจากความไม่แน่นอนในการพัฒนาซอฟแวร์ การให้ค่า estimation เดี่ยวๆ เป็นการสร้าง expectation ที่ผิดให้กับผู้เกี่ยวข้องกับโครงการทั้งหมด

เพราะฉะนั้น แม้ตัวเลขในอนุกรม Fibonacci จะดูเหมือนเป็น ค่าๆ เดียว แต่ความจริงแล้ว มันเป็นช่วงครับ กล่าวคือ ตัวเลขแต่ละตัวจะเป็นตัวแทนของช่วงๆ หนึ่ง

ตัวอย่างเช่น อาจเป็นได้ว่า

0 = 0-1 (ตั้งแต่ 0 แต่ไม่เกิน 1)
1 = 1-2
2 = 2-3
3 = 3-5
5 = 5-8
8 = 8-13
13 = 13-21

ซึ่งจะเห็นว่า ในกรณ๊นี้มีค่า 0 อยู่ด้วย ซึ่งบางจะไม่ชอบให้มีค่า 0 ก็จะกำหนด ช่วงเป็น

1 = 0-1
2 = 1-2
3 = 2-3
5 = 3-5
8 = 5-8
13 = 8-13
21 = 13-21

จะเห็นว่า ถ้าใช้รูปแบบหลังนี้กับตัวอย่างในคำถาม ก็จะได้ว่า ถ้าเรากะว่าประมาณ 17 ซึ่ง 17 นั้น อยู่ระหว่าง 13 และ 21 เราก็จะได้ว่า ค่า estimation เป็น 21

การกำหนด แบบนี้จะช่วยให้การ vote point ทำได้ง่ายขึ้น และขจัดปัญหา ความสับสน ว่าจะให้ค่า estimation เป็นเท่าใดกันแน่ ของทีมครับ

หวังว่า จะเข้าใจในเรื่องนี้มากขึ้นกันนะครับ

Advertisements

One thought on “วิธีใช้เลข Fibonacci สำหรับ การ estimation แบบอไจล์

  1. จากตัวอย่าง “มากกว่า 13 แต่ ไม่ถึง 21 ประมาณ 17 ก็น่าจะพอ” ถ้าสามารถแบ่งสตอรี่เป็นสองสตอรี่ ให้ยังคง INVEST อยู่ ก็อาจแก้โจทย์นี้ได้ครับ เช่น สตอรี่แรก 13 pt และอีกสตอรี่ 4 pt

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s