Agile Sixty-Six Rotating Header Image

Agile Intro

Introduction to Agile values and principles

ScrumMaster ทำอะไร

ขอหยิบเนื้อหาบางส่วนจาก Certified ScrumMaster course ของ Bas Vodde ที่โชคดีได้ไปเข้ามาขยายความเป็น blog ด้วยความอยากจะแชร์หน่อยนะครับ เริ่มจากหัวข้อง่ายๆที่ตอบยาก ScrumMaster ทำอะไร! เนื้อหาหลักๆใน blog นี้ก็แปลมาจากเอกสารการสอนบวกกับใส่ใข่จากประสพการณ์

ต้องเท้าความกลับไปนิดหนึ่งว่า Scrum มีผู้เล่นอยู่ 3 บทบาทด้วยกันคือ

Product Owner SrumMaster Team
  • นิยาม feature ของ product
  • กำหนด release date
  • รับผิดชอบ ROI ของ product
  • จัดลำดับความสำคัญของ feature
  • เปลี่ยนลำดับหรือ scope ได้ทุก sprint
  • รับมอบหรือปฏิเสธงานที่ส่งมอบ
  • ทำให้ทีมทำงานได้เต็มประสิทธิภาพ
  • ทำให้สมาชิกในทีมร่วมมือทำงานกันอย่างใกล้ชิด
  • ขจัดอุปสรรคให้ทีม
  • ปกป้องทีมจากสิ่งรบกวนภายนอก
  • ทำให้ทีมทำตาม process ที่ตกลงกันไว้
  • ครบทุกหน้าที่ (cross-functional)
  • 5-9 คน
  • มีสิทธิทำอะไรก็ใด้เพื่อให้บรรลุเป้าหมายของ iteration
  • อยู่ภายในขอบเขตที่ตกลงไว้กับ product group
  • บริหารจัดการกันเองภายในทีม
  • review ผลงานกับ Product Owner

สิ่งสำคัญอย่างหนึ่งที่ Agile ต่างกับวิธีการทำงานเดิมอย่างสิ้นเชิงคือการมุ่งเน้นให้ทีมเป็นทีมที่บริหารจัดการกันได้เอง (Self-Manage) หลายๆคน รวมทั้งตัวผมเอง เมื่อเริ่มทำ Agile ใหม่ จะมุ่งเน้นไปที่ practices ต่างๆที่จับต้องได้อย่าง CI, TDD, User Story หรือ Burn-down Chart โดยที่จะไม่ได้ให้ความสำคัญกับการสร้างทีมให้เป็น self-manage มากนัก อาจจะเป็นเพราะไม่เข้าใจความสำคัญ หรือว่าความเร่ิงรีบและความเคยชินมันพาไป มุ่งเน้นไปที่การทำของ มากกว่าสร้างทีมให้ทำของได้ หรือมองอีกมุมหนึ่งก็คือการหวังผลระยะสั้นมากกว่าระยะยาวที่ยั่งยืน

(more…)

Agile 101

ถึงแม้ว่าผมจะไม่เคยได้ทำงานบริษัท Agile จริงๆ จังๆ เลยก็ตาม แต่วันนี้จากประสบการณ์ที่ผมได้ทำงานในบริษัทพัฒนาซอฟต์แวร์มา การที่ผมได้ศึกษาด้วยตนเอง และพบปะ community ผมว่าผมสำเร็จหลักสูตร Agile 101 แล้ว ด้วยการตัดสินโดยตนเอง :)

ผมค้นพบว่า ทุก agile practices สามารถเชื่อมโยงย้อนกลับถึง 3 สิ่งต่อไปนี้ได้เสมอ

  • Feedback เราต้องเปิดโสตประสาทของเราและทีมให้รับ feedback จัดการมันอย่างเป็นระบบ และสร้าง feedback ในด้านที่ขาดไปขึ้นมา
  • Change ระบบที่เราพัฒนาจะต้องอยู่ในจุดที่สามารถรับมือกับ change ได้
  • Bring value value จะเกิดขึ้นได้ก็ต่อเมื่อ เรา release ในสิ่งที่ผู้ใช้งานพึงพอใจ ในระยะเวลาที่เหมาะสม

แน่นอนว่าอ่านแค่นี้แล้ว คนที่ไม่รู้จัก Agile มาก่อนย่อมไม่เห็นภาพอะไรเลย จริงๆ แล้ว target ของ blog นี้ ผมตั้งใจสะกิดให้ท่านที่ใช้ agile อยู่ หรือกำลังเริ่มปรับใช้ ให้ย้อนกลับมาคิดว่าแต่ละสิ่งในกระบวนการพัฒนาซอฟแวร์ที่เราทำและไม่ได้ทำ มันมีเหตุผลอะไรแฝงอยู่ เพราะโดยส่วนตัวผมเคยพบคนที่บอกว่าตัวเองใช้ agile อย่างนี้อย่างนั้น แต่ทั้งทีมไม่เข้าใจ 3 สิ่งข้างต้นนี้เลย ผลลัพธ์ที่ออกมาก็จะค่อนข้างกระจัดกระจาย ไม่ดีเท่าที่ควร หรือ fail ไปเลยก็มี

ปล. ถ้ามีอะไรผิดพลาด รบกวนชี้แนะ และเพิ่มเติมด้วยนะครับ

Use Case VS User Story

วันนึง ณ skype land ในเมือง No Boss Allowed

ถ้าเริ่มอ่านแล้ว อ่านให้จบนะคะ เพราะสรุปอยู่ที่ตอนท้าย
(Warning: มันยาวมว้าาาาก และมีความไร้สาระปนกับสาระเป็นระยะๆ)

[8/24/2011 13:12:26] N: อ่านอะไรกัน
[8/24/2011 13:19:30] J: วิธีหา usecase แบบ Agile
[8/24/2011 13:23:35] N: เมื่อคืนไปอ่านมาแล้วว่า usecase กับ user story ต่างกันยังงัย 8-)
(more…)

A good “What is Agile” presentation.

ไม่ได้ Post บทความมาซักพักแล้วครับ งานยุ่งมากมาย แต่วันก่อนไปเจอ presentation slide นี้ ผมว่าเจ๋งเลย อธิบาย concept สั้นๆได้เข้าใจง่ายเหมาะสำหรับทุกเพศทุกวัย ;-) ลองดูกันครับ

คลิ๊กที่รูปนะ

T = N/v

ก่อนจะอ่าน post นี้ ให้ไปอ่าน comment ของพี่ Korn4D ใน เอกลักษณ์ Agile แป๊บนะคะ บางส่วนจะตอบที่ QA ไม่ตกงาน
ตอบด้วยคำถาม
- อยู่ดึกเข้ามาทำวันเสาร์ ยังถือว่า time boxed iteration ได้หรือไม่?
- ถ้า unit testing เป็นของ developer และดีพอแล้ว จะมี QA ทำไม?
- ถ้า developer ทำ test แล้วยังต้อง มี QA ทำไมไม่ให้ QA เป็นคนทำ test อย่างเดียว, developer จะได้มีเวลาโค้ดเพื่อสร้าง value ได้มากขึ้น
- ถ้า developer อู้ ทำน้อยแต่โหวตมากๆ จะทำอย่างไร?
- ทำทั้งหมดนี้แล้วจะ commit ได้หรือไม่ว่าทั้งหมดเสร็จเืมื่อไหร่?
หลายข้อที่พี่ถามมา ตอบได้ด้วยสมการนี้ค่ะ
N = ปริมาณ Story Points ทั้งหมดใน Release
v = velocity หรือ average ของจำนวน Story Points ในแต่ละ iteration ที่ผ่านมา
T = จำนวณ iteration ที่จะใช้ในการทำ Release นี้
T = N/v
และ แน่นอน ค่าทั้งหมดนี้ เปลี่ยนแปลงทุก iteration ซึ่งเราต้องยอมรับให้ได้ก่อนว่านี่เป็น เรื่องปกติ
Plugin from the creators of Brindes :: More at Plulz Wordpress Plugins