เรียนรู้ Agile part 2

Phai Panda
2 min readDec 2, 2018

--

ห้องเรียนรู้นี้จัดขึ้น 5 วันต่อเนื่องกันนะครับ part นี้ไม่ใช่วันที่สอง แต่เป็นการย่อยองค์ความรู้ของผมต่อเนื่องจาก part แรกครับ

ต่อด้วยเรื่องของ user story คือได้คำว่า ‘พอ’ สำหรับกรอบเวลาแรกนี้ และขอเน้นว่ามันจะต้องสามารถระบุการทดสอบว่าเป็นไปตามความต้องการของ product owner ได้จริง

ดังนั้นทุกคนที่มีส่วนเกี่ยวข้องจะต้องรู้ขอบเขตของมันอย่างชัดเจน ตัวอย่างเช่น เว็บโรงเรียนใหม่ ทุกคนรู้ว่าจะต้องได้รูปครูใหญ่อยู่กลางหน้าเว็บ สิ่งอื่นใดนอกเหนือจากตรงนี้คือไม่ต้องสนใจและไม่ต้องไปเสียเวลาพัฒนา เป็นต้น

บางทีเราจะต้องช่วยกันออกแบบหน้าตา UI ที่สอดคล้องกับ user story ดังกล่าว เราก็ต้องทราบว่าเป้าหมายที่เราออกแบบมานี้ ใครใช้? แล้วเขาต้องการมันจริงๆหรือเปล่า ไม่ยาก ก็ลองวาดใส่กระดาษทำเป็นเรื่องราวไป เช่น หน้านี้หน้าแรกนะ กดตรงนี้ไปหน้าสองนะ นี่ๆตรงนี้จะเป็นรูปครูใหญ่นะ คือสมมติขึ้นมา แล้วเอามันทั้งหมดไปถามกับเป้าหมายหรือคนที่จะใช้งานมัน หากเป็นสิ่งที่ product owner ต้องการ ก็ให้เขานั่นแหละตอบว่าได้นะ ไม่ได้นะ ปรับปรุงแก้ไขกันไป ซึ่งมันจะเป็นงานในหนึ่งรอบเวลาดังที่กล่าวไป

ต่อไปจะเรียกรอบเวลานี้ว่า Sprint

แน่นอนว่าหนึ่งชิ้นงานประกอบไปด้วยหลาย user story และตอนนี้ product owner ได้เลือก user story แรกเป็นที่เรียบร้อย มีการการันตีผลการทดสอบไว้ล่วงหน้า นี่จึงเป็นเวลาของการทำสิ่งที่เรียกว่า Sprint Backlog ร่วมกันครับ

หยุดอยู่ตรงนี้ก่อน ผมเล่าตามที่ได้ไปเรียนรู้เพราะเวลานั้นจำกัดเพียงไม่กี่วัน, โดยทั่วไปนั้นชิ้นงานมักมีขนาดใหญ่ product owner จะเล่าสิ่งที่เขาต้องการทั้งหมดออกมาเป็นภาพรวม เปรียบเสมือนสมุดวาดภาพเด็กน้อยที่ตอนนี้เต็มไปด้วยลายเส้นมากมายที่ประกอบกันเป็นระบบ (หน้าที่ของทีมคือจะมาลงสีแต่ละส่วน ที่ถูกแยกย่อยออกเป็นแต่ละ user story กระทั่งเต็มทั้งภาพ) เมื่อตกลงกันว่าเข้าใจเหล่านี้แล้ว นี่จึงเป็นเวลาของการทำสิ่งที่เรียกว่า Product Backlog ร่วมกันครับ

Product Backlog vs Sprint Backlog

backlog คือของที่ต้องทำ ต้องสร้างขึ้นมา, product backlog คือของที่ต้องทำทั้งหมด ส่วน sprint backlog คือของที่ถูกเลือกจาก product backlog ให้มาทำในในแต่ละ sprint

หน้าตาของ backlog ที่ผมเห็นคือเป็นการ์ดหรือกระดาษแข็งขนาดเท่าโทรศัพท์หน้าจอประมาณ 6 นิ้ว เขียนสิ่งที่ต้องการลงไป กำหนดให้ หนึ่งความต้องการหนึ่งการ์ด

หนึ่ง user story ที่เลือกแล้วโดย product owner ตอนนี้ถูกนำมาเขียนเป็น backlog ได้อยู่หลายใบ แต่ละใบบ่งบอกสิ่งที่ต้องการลงไปอย่างชัดเจนหนึ่งอย่างเท่านั้น และ product owner เรียงลำดับความสำคัญของพวกมันแต่ละใบจากบนลงล่าง โดยที่บนคือสำคัญสูงสุด

ตัวอย่างเช่น ทำเว็บไซต์อ่าน feed ชื่อ FeedReader, product owner เล่าว่า เขานั้นชอบอ่านข่าว (RSS feed) มาก อยากได้เว็บไซต์ที่รวมเอาข่าวที่เขาต้องการมาไว้แห่งเดียวกัน เขาจะเพิ่ม feed ที่ต้องการเอง ดังนั้นเขาต้องการหน้าเว็บไซต์สองหน้า ประกอบไปด้วย หน้า home แสดงรายการ feed ทั้งหมดที่เขาได้เพิ่มไว้ และหน้า setting เพื่อเอาไว้เพิ่มหรือลบ feed

ถัดมา product owner และทีมร่วมกันสร้าง backlog ที่ถูกเรียงลำดับความสำคัญโดย product owner เอง ได้ดังนี้

1. default home page with no data

2. default setting page with no data

3. save feed success

4. default home page with data

5. go to new page

6. validate require field

7. delete feed

เหตุเพราะ project มีขนาดเล็ก user story ทั้งหมดมีเท่านี้ ฉะนั้นแค่ sprint เดียวก็ทำเสร็จ (รอบของ sprint นั้นให้ตกลงกัน อาจเป็นสองสัปดาห์ต่อรอบ หนึ่งเดือนต่อรอบ ว่ากันไป) ในที่นี้คือ 5 วันครับ

เรื่องราวของ Agile โดย Scrum ยังมีรายละเอียดอีกมาก ไว้มาฝอยให้ฟังใหม่ กุปี้ๆ

--

--

No responses yet