Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปเรื่อง Story Weight Reduction Toolkit

$
0
0

asplitworkswork_logo

asplitworkswork_logo จากบทความเรื่อง Story Weight Reduction Toolkit ทำการอธิบายวิธีการแบ่งแยกงานใหญ่ ๆ ออกเป็นงานย่อย ๆ ซึ่งทำให้เราสามารถทำการประเมินได้ง่ายขึ้น ซึ่งทำให้เราสามารถจัดการได้ง่ายขึ้น ซึ่งทำให้เราสามารถพัฒนาระบบงานได้ดีขึ้น จึงนำมาแปลและสรุปสิ่งที่น่าสนใจไว้นิดหน่อย เริ่มจากสาเหตุหลักของแต่ละงานที่มีขนาดใหญ่ (Bloated Stories) นำพาไปสู่ปัญหามากมาย ประกอบไปด้วย
  • แต่ละงานประกอบด้วยงานต่าง ๆ มากจนเกินไป
  • ทีมพัฒนาไม่มีความรู้ในงานนั้น ๆ เพียงพอ
  • แต่ละงานต้องพัฒนาอยู่บนเทคโนโลยีใหม่ ๆ ซึ่งไร้ความแน่นอน
  • แต่ละงานที่ทำนั้น ลูกค้ายังไม่เข้าใจชัดเจนเลยว่าต้องการอะไรกันแน่
ดังนั้นในบทความจึงแนะนำวิธีการเพื่อช่วยลดปัญหาเรียกว่า SSST ทำให้ขนาดของแต่ละงานมีขนาดเล็กลง นั่นคือทำให้สามารถประเมินและจัดการได้ดีขึ้น โดยที่ SSST ประกอบไปด้วย
  1. Split
  2. Spike
  3. Stub
  4. Time box
มาดูรายละเอียดของแต่ละเรื่องกันว่าเป็นอย่างไร

1. Split

เป็นวิธีการพื้นฐานสำหรับแบ่งแยกงานใหญ่ ๆ ออกเป็นงานย่อย ๆ เนื่องจากในงานใหญ่ ๆ มักจะมี scenario/flow การทำงานต่าง ๆ มากมาย ทั้ง normal case และ special case โดยปกติเรามักจะรวมสิ่งต่าง ๆ เหล่านี้ไว้ในเพียงงานเดียว !! ดังนั้นแนะนำให้แยกซะ งานที่แยกออกมานั้นมันต้องมีคุณค่าทาง business ด้วยนะ ซึ่งเรื่องของการ Split งานนั้นมันคือสิ่งที่ต้องเรียนรู้และปรับปรุงอย่างต่อเนื่อง เพื่อให้ได้งานที่เหมาะสมกับทีมพัฒนา

2. Spike

ในแต่ละงานนั้นจะมีรายละเอียดมากมาย รวมทั้งสิ่งที่เราไม่รู้ ไม่เข้าใจ หรือไม่รู้จักมาก่อน ทั้งเรื่องทาง business domain ต่าง ๆ ทั้งเรื่องของ techical skill ต่าง ๆ ดังนั้นสิ่งที่ต้องทำก่อนคือ Spike สิ่งต่าง ๆ ที่เราไม่รู้ เพื่อช่วยทำให้การประเมิน และ วางแผนงานง่ายและชัดเจนขึ้น เพื่อช่วยทำให้สามารถแยกงานใหญ่ออกมาเป็นงานย่อย ๆ ได้ดีขึ้น Spike คือ การทดลองศึกษาและลงมือทำ สิ่งต่าง ๆ ที่เราไม่รู้จัก ไม่เข้าใจ ไม่เคยลงมือทำ ในกรอบเวลาที่ชัดเจน เพื่อช่วยทำให้เราเข้าใจมากขึ้น
สิ่งที่ต้องรู้ก่อนคือ มีอะไรบ้างที่คุณไม่รู้

3. Stub

ในบางส่วนของงานต่าง ๆ นั้น เราอาจจะไม่สามารถควบคุมการทำงานได้ เช่นระบบการทำงานรอบข้างที่ต้องทำงานด้วย ระบบเกี่ยวกับเวลา ระบบเกี่ยวกับการ random ค่า จากการทำงานมาพบว่าเป็นปัญหาที่ทีมพัฒนา software เจอเยอะมาก ๆ ดังนั้นสิ่งที่ต้องทำคือ การจำลองสิ่งเหล่านั้นขึ้นมา จะเรียกว่า การ Stub และ Fake เพื่อทำให้การพัฒนาทำได้ง่ายขึ้น เพื่อทำให้เราสามารถแบ่งงานได้ง่ายขึ้น แต่ถ้ายังไม่รู้ว่าจะทำอย่างไร ก็ให้ทำการ Spike ก่อนก็ได้ แต่ก็อย่าใช้ Stub เพียงอย่างเดียว ดังนั้นในการวางแผนงานและการแยกงาน ต้องมีส่วนการ integrate เข้ากับระบบงานจริง ๆ ด้วยนะ ห้ามลืม ห้ามพลาดโดยเด็ดขาด

4. Time box

ในบางครั้งคุณต้องการวางแผน ในบางครั้งคุณต้องการแยกงานใหญ่เป็นงานเล็ก ๆ ในบางครั้งคุณต้องการ Spike งานบางอย่าง ซึ่งสิ่งต่าง ๆ เหล่านี้ควรทำอยู่ภายในกรอบเวลาที่กำหนด เพื่อทำให้เรารู้ และ เข้าใจในสิ่งที่กำลังทำ ว่ามันเป็นอย่างไร ว่ามีปัญหาอะไร ว่าต้องการอะไร ว่าต้องปรับปรุงอะไรเพิ่มเติม ทำให้เราเห็น progress ของการพัฒนา ทำให้เราเห็นจริง ๆ ว่าสิ่งที่กำลังพัฒนามันใช่หรือไม่
โดยรวมแล้วเราจำเป็นต้องใช้ทั้ง 4 วิธีด้วยกัน ซึ่งจะช่วยทำให้เราสามารถแบ่งงานใหญ่ ๆ ออกเป็นงานย่อย ๆ ได้ดีขึ้น
Reference Websites http://agilecoach.typepad.com/agile-coaching/2010/09/ideas-for-slicing-user-stories.html http://blog.odd-e.com/yilv/2015/07/split-work-and-people.html

Viewing all articles
Browse latest Browse all 1997

Trending Articles