Software Design

เล่น Kanban Board

แนะนำให้อ่าน บทความนี้เป็นส่วนหนึ่งของคอร์ส 👶 Azure DevOps ที่จะมาสอนการใช้งานทุกสิ่งที่ DevOps ควรจะต้องมี เพื่อให้เราสามารถทำ Feedback loop ได้ไวขึ้น ดังนั้นถ้าเพื่อนๆสนใจอยากดูว่ามันทำอะไรได้ก็กดไปอ่านที่บทความหลักได้เลยครัช

ในฝั่งของการวางแผนจัดการต่างๆของโปรเจค เช่น Product Backlog หรืองานที่แต่ละคนในทีมจะได้รับผิดชอบของแต่ละ Iteration/Sprint เราสามารถจัดการได้ง่ายๆในสิ่งที่เรียกว่า Azure Board นั่นเอง โดยเราสามารถเข้าไปเล่นได้จากเมนู Boards เลย ซึ่งตัวแรกที่ผมอยากแนะนำคือเมนูย่อยที่ชื่อว่า Backlogs ตามรูปด้านล่างเลยครัช

🔥 Backlogs

คือสถานที่เอาไว้รวบรวมงานทั้งหมดของทั้งโปรเจคเอาไว้นั่นเอง ซึ่งโปรเจคตัวอย่างของผมยังไม่มีอะไรอยู่เลย ดังนั้นผมจะลองสมมุติว่า เรากำลังจะทำเว็บโชว์โปรไฟล์บริษัทก็แล้วกันนะ ดังนั้นก็ลองสร้างกันเบย

Feature

ของที่ผมจะสร้างในรอบนี้ก็คือ Feature ดังนั้นผมก็เลยตั้งชื่อ feature นี้ว่า Profile แล้วก็กดสร้างตามรูปเลย (อย่าลืมเลือกเป็น Features ตามที่ขีดเส้นสีส้มๆด้วยนะ)

เกร็ดความรู้ ปรกติเวลาที่เราแบ่งงาน เราจะแบ่งออกเป็น 3 กลุ่มคือ Feature, Story, Task ซึ่งรายละเอียดเรื่องนี้ยาวเลยเดี๋ยวผมเอาไปอธิบายเป็นบทเสริมอีกทีนะ

Story

เราก็จะได้ feature ใหม่ขึ้นมาเรียบร้อย ดังนั้นถัดไปเราก็จะมากำหนดว่าภาย feature นี้มันจะต้องทำอะไรได้บ้าง ดังนั้นผมก็จะกดเครื่องหมาย + หน้า Profile ตามรูปเลย

เขาก็จะเปิดหน้าต่างให้เรากำหนดรายละเอียดของ User Story นั่นเอง ซึ่งในตรงนี้เราสามารถกำหนดของลงไปได้เยอะเลยเช่น Description, Acceptance Criteria, Story Points, Priority บลาๆ ลองดูในช่องสีส้มเอาละกัน ซึ่งเมื่อใส่จนพอใจแล้วก็กด Save & Close ให้เรียบร้อย

คำศัพท์ต่างๆยังไม่ต้องไปสนใจมันหรอก เดี๋ยวผมจะอธิบายรายละเอียดทั้งหมดไว้ในบทความ Agile เรื่องการทำ Planning อีกที ถ้าสนใจก็ไปกดอ่านได้จากลิงค์เรื่อง 👦 Agile Methodology****

Task

เรียบร้อยแล้วนะตอนนี้ผมก็จะมี User Story ขึ้นมาใหม่ละ ถัดมาเราก็จะลองมากำหนด Task กันดูบ้างว่ามันควรจะต้องทำอะไรต่อบ้างเพื่อจะปิดงานตัวนี้ได้ โดยการกดปุ่ม + หน้าชื่อ User Story แล้วก็เลือกสร้าง Task เลยตามรูป

สมมุติว่างานที่ผมจะต้องทำเพื่อปิด story นี้คือ สร้างฐานข้อมูล ละกันดังนั้นก็ใส่ลงไปแล้วกดเซฟซะ (เราสามารถกำหนดได้เลยนะว่างานนี้ใครจะเป็นคนรับผิดชอบ ตามกรอบสีเหลือง)

เรียบร้อยละเพียงแค่นี้เราก็สามารถสร้างของเอาไว้ติดตามงานแบบง่ายๆได้แล้ว ตามรูปด้านล่างเลย

เพื่อความสมจริงผมขอเพิ่มงานอื่นๆเข้าไปหน่อยละกัน จะได้เห็นภาพที่ชัดเจนว่าเวลาทำงานจริงๆมันจะออกมายังไงตามรูปนี้เลย

🔥 วางแผนส่งงาน

หลังจากที่เรารู้แล้วว่า ตัวโปรเจคมีงานอะไรบ้าง ถัดมาเมื่อถึงเวลาที่เรา Planning เพื่อเลือกว่าภายใน Iteration/Sprint นั้นๆจะทำงานตัวไหนบ้าง เราก็จะมาดูที่เมนมู Boards ตามรูปเบย

Feature

ในหน้านี้เขาก็จะโชว์รายการ Feature ทั้งหมดของเราออกมา ซึ่งทีมก็จะคุยกันว่าจะเอา Feature ไหนมาทำบ้าง โดยการเลื่อนมันไปที่ column ต่างๆ เช่นอาทิตย์นี้ทีมจะเริ่มทำ Feature ละก็ลากมันไปที่ Active ได้เบย

Commit Stories

ถัดมาทีมก็จะเลือกงานตัวที่จะ commit ส่งลูกค้า ซึ่งเราจะปิดงานในระดับของ Story ดังนั้นที่มุมบนขวาก็ปรับไปที่เมนู Stories ได้เบย

เราก็จะเห็นรายการ Story ที่เราสร้างไว้ ดังนั้นเราจะ commit ตัวไหนก็ลากไปได้เบย

🔥 ติดตามงานรายวัน

เมื่อแบ่งงานที่จะทำกันเรียบร้อยแล้ว ถัดไปถ้าเราอยากติดตามงานที่ถูกแบ่งออกไปว่าไปถึงไหนแล้ว ก็สามารถกดไปดูที่ Sprints ได้เลย

ซึ่งเขาก็จะแสดงรายการให้เราดูว่างานในแต่ละ Story เสร็จไปถึงไหนแล้ว ตัวไหนกำลังถูกทำอยู่บ้าง ใครเป็นคนรับผิดชอบงานนั้นๆ ตามรูปเลย

ซึ่งเวลาที่คนในทีมอัพเดทสถานะงานในระดับ Task ปุ๊ป เมื่อเราไปดูที่ระดับ Story มันก็จะมีการอัพเดทด้วยนะ ดังนั้นมันเลยทำให้เราสามารถติดตามได้ว่า งานของ Iteration/Sprint นั้นๆตอนนี้เป็นยังไงบ้าง ปิดได้ตามกำหนดหรือเปล่านั่นเอง

🔥 กำหนด Iteration/Sprint

ในรอบส่งงานแต่ละครั้งบางทีก็มีจำนวนวันไม่เท่ากัน เช่นบางครั้งก็ 1 อาทิตย์ บางทีก็ 2 อาทิตย์ หรือบางบริษัทก็อาจเป็นเดือน ดังนั้นเราสามารถไปตั้งได้จากด้านบนขวาตามรูปเลย

เมื่อเรากำหนดของพวกนี้ไปเสร็จเรียบร้อย เราก็จะสามารถติดตาม หรือดูประสิทธิภาพของทีมได้แล้วว่า ทีมของเราสามารถทำงานได้กี่ Story Points เพื่อหา Velocity นั่นเอง

🔥 วิเคราะห์ประสิทธิภาพของทีม

เมื่อทำงานไปถึงจุดนึง ทีมก็ควรจะมาวิเคราะห์ตัวเองกันได้แล้วว่า ภายใน 1 Iteration/Sprint ทีมสามารถรับโหลดงานได้ขนาดไหน โดยการกดที่ Backlogs > Analytics ตามรูป

ซึ่งเราก็จะสามารถไปดูพวก Burndown Chart หรือ Velocity ของทีมได้

🤔 ทำได้แค่นี้เหรอ

ใจเย็นๆนะโยม ในเรื่อง Board ของ Azure DevOps นี้ขอบอกเลยว่ายาวที่สุดเลย เพราะมันมีอีกหลายเรื่องให้เราเล่นได้ เช่น ทุกอย่างที่ผมโชว์มาให้ดู เราสามารถไป custom ปรับเพิ่มลดทุกอย่างได้หมดเลย ใส่สี ติด tag เพิ่มลดเมนูได้หมด กำหนดทีมย่อย และขอบเขตการมองเห็น สิทธิ์ต่างๆ โอ้ยแค่คิดก็ปวดตับแล้วว่าจะอธิบายมันออกมาให้หมดนั่นผมจะต้องเขียนอีกกี่บทความกันแน่ ดังนั้นเอาไว้เท่านี้ก่อนไว้ว่างๆแล้วเดี๋ยวมาอธิบายต่อ