DataRockie

รีวิวคอร์ส Skooldio – Agile Essentials

อยากเริ่มต้น Agile แต่ไม่รู้จะเริ่มยังไง? มาลองอ่านบทความนี้ได้เลย

แอดสรุปเนื้อหาบางส่วนจากคอร์ส Agile Essentials สอนโดยพี่ต้า Skooldio (ex-Data Scientist Facebook) Google Developers Experts ด้าน Machine Learning

ปัจจุบันพี่ต้าเป็น MD Skooldio และควบตำแหน่งอาจารย์สอนวิชา data หลายวิชา ถ้าใครคิดว่าแอดเรียนเยอะแล้ว พี่ต้าเรียนเยอะกว่ามาก พี่เค้านอนตอนไหน 555+

คอร์สนี้เหมาะกับคนเพิ่งเริ่มศึกษาเรื่อง Agile พี่ต้าสอนให้ครบตั้งแต่ Agile Manifesto ไปจนถึงสอง Frameworks สำคัญคือ Scrum และ Kanban มีแตะ Lean เบาๆ

Table of Contents (คลิกอ่านหัวข้อที่ต้องการ)

Getting Started

คอร์สเรียน Agile essentials ของ Skooldio
User Interface ของ Skooldio

เนื้อหาคอร์ส Agile Essentials แบ่งออกเป็น 5 modules ใช้เวลาเรียนทั้งหมด 2.5-3 ชั่วโมง

  • Introduction (53 นาที)
  • Agile Project Management (32 นาที)
  • Agile Teams (28 นาที)
  • Getting Started with Agile (29 นาที)
  • Beyond MVPs and Agile Teams (17 นาที)

พี่ต้าเปิดตัวคอร์สด้วยตัวอย่างสมัยพี่เค้าทำงานที่ Facebook HQ และเล่าเรื่องการขยายทีม dev ของ Facebook Live จาก 12 คน เป็น 100 คนภายในหนึ่งสัปดาห์ เพราะทุกคนเชื่อว่านี้คือ product ที่จะสามารถสร้างประโยชน์ให้กับ users บน platform ได้ดีมากๆ

📑 ความเร็วในการปรับตัว ส่งมอบสินค้าหรือบริการใหม่ๆให้กับลูกค้าได้สม่ำเสมอคือหัวใจขององค์กรแบบ Agile => responding to change quickly ลูกค้าแฮปปี้ ก็มีเงินมาจ้างเราต่อ ผ่าม! (เอาเรื่องจริงมาล้อเล้นอีกแล้ว 555+)

The Beginning

Agile ไม่ได้แปลว่า “เร็วอย่างเดียว” ยั๊งงงงง 555+ แต่ความเร็วเป็นหนึ่งในผลลัพธ์จากการที่ทีมของเราทำงานแบบ Agile ความเสี่ยงอันดับต้นๆขององค์กรยุคนี้คือการปรับตัวช้าเกินไป

ปรับตัวช้า (หรือไม่ยอมปรับตัว) ก็ไปไม่รอดหรือเสียความสามารถทางการแข่งขันไปเลย ตัวอย่างแบรนด์ที่ NOT Agile ในเวลานั้น

  • Blackberry
  • Nokia
  • Yahoo (Search Engine)
  • Toys R Us

เป้าหมายสูงสุดของ agile คือการสร้าง products/ services ที่ตอบโจทย์ลูกค้าได้ดีที่สุด (deliver values) เพิ่มโอกาสสำเร็จ ลดโอกาสล้มเหลว โดย agile มีจุดเริ่มต้นมาจากงาน software development

Speed and uncertainty are the new normal. Often, the greater risk for a growing business is to move too slowly.

Reid Hoffman, Co-Founder of LinkedIn

ในปี 2001 กลุ่มนักพัฒนาซอฟต์แวร์ 17 คน นำโดย Ken Beck, Martin Fowler, Jeff Sutherland, Jim Highsmith, Robert C. Martin ได้บัญญัติ Agile Manifesto ขึ้นมาทั้งหมด 4 ข้อ (และ Agile Values อีก 12 ข้อ)

  • Individuals and interactions over process and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

ใน Manifesto => agile ให้ความสำคัญเรื่องทางด้านซ้ายมากกว่าด้านขวา (ไม่ได้แปลว่าด้านขวาไม่สำคัญ) เรื่องคนและการทำงานเป็นทีม การสร้าง products ที่ใช้งานได้จริง การทำงานร่วมกันกับลูกค้า และการปรับตัวตามความเปลี่ยนแปลงและสถานการณ์

พี่รูฟ agile coach odd-e ประเทศไทย ตัวจริงเรื่อง agile และการสร้าง software ที่ดี
พี่รูฟ Agile Coach Odd-e

📑 Agile เป็นเรื่องของ mindset จริงๆเราสามารถนำ agile มาประยุกต์ใช้ได้กับหลายๆงานเลย ไม่ใช่เฉพาะเรื่อง software เท่านั้น (แต่ถ้าเป็นพี่รูฟ ODDS ก็จะบอกว่า ทุกบริษัทในปัจจุบันคือ software companies หมดแล้ว แปลว่ายังไงก็หนีไม่พ้น Agile)

MVP

MVP ย่อมาจาก Minimum Viable Product หรือสินค้าและบริการที่เรียบง่ายที่สุด + ใช้งานได้จริงที่เราสามารถส่งมอบให้กับลูกค้าได้ (the smallest things we can deliver)

ตัวอย่างของ MVP ที่เราเจอบ่อยๆในหนังสือ agile คือการสร้าง skateboard แทนการสร้างล้อเปล่าๆใน iteration ที่หนึ่ง

Scenario – ความต้องการของ users คือการเดินทางได้เร็วขึ้น (travel faster)

Minimum viable product example - build a skateboard by Henrik Kniberg
Minimum Viable Product (ที่มา Interaction Design Foundation)

ถ้าเราสร้างและส่งมอบ skateboard ให้กับ users เค้าจะได้รับ Value ตั้งแต่ iteration แรกเลย ดีกว่าการได้ล้อเปล่าเฉยๆ ถึงแม้ว่าปลายทาง final product จะเป็นรถยนต์เหมือนกัน

ในทุกๆ iterations ของ product development เราพาลูกค้าเข้าใกล้สิ่งที่เค้าต้องการมากขึ้นเรื่อยๆ i.e. continuous improvement

📑 MVP = Functional + Reliable + Usable + Emotional Design มีครบทุกอย่างได้ยิ่งดี ในการส่งมอบงานให้ลูกค้า

Scrum

Scrum คือ agile framework ที่ได้รับความนิยมอันดับต้นๆ มีที่มาจากกีฬารักบี้ฟุตบอล ทุกคนมาช่วยกันรุมสกรัมงานหรือโปรเจ็ค โดย Scrum จะกำหนดตำแหน่งของผู้เล่นในทีมไว้ชัดเจน แบ่งเป็น 3 ตำแหน่งคือ

  • Product owner – Build the right thing
  • Scrum master – Build it fast
  • Development team – Build the thing right

Scrum ประกอบด้วย 3 artifacts (สิ่งที่ใช้ในการทำงาน) คือ product backlog, sprint backlog, increment และ 5 ceremonies (กิจกรรมที่ทีมทำร่วมกัน) คือ sprint planning, sprint, daily standup, sprint review และการทำ retrospective

📑 Ideal Scrum Team จะมีขนาดค่อนข้างเล็ก งานวิจัยบอกว่าประมาณ 7 คนกำลังดี (+/-2) ยิ่งมีคนเยอะ การสื่อสารให้ทุกคนเข้าใจตรงกันจะเริ่มยากขึ้น Jeff Bezos เคยพูดว่า ถ้าทีมของเรามีขนาดใหญ่กว่าพิซซ่าสองถาด แปลว่าขนาดทีมเริ่มไม่ optimal แล้ว

Kanban

อีก framework ที่เรานิยมใน agile projects คือ Kanban

Kanban แบ่งงานที่เราต้องทำเป็น 3 ช่องคือ To do, Doing, Done หรือจะมีช่องมากกว่านี้ก็ได้ขึ้นอยู่กับทีมของเรา โดยเป้าหมายของทีมคือการย้าย backlogs ไปอยู่ช่อง Done ให้มากที่สุด ส่งมอบ value ให้ลูกค้าได้มากที่สุดภายในเวลาที่กำหนด

ตัวอย่าง kanban board โดย Atlassian
Kanban Board – ที่มา Atlassian Kanban

Kanban ให้ความสำคัญกับเรื่อง transparency ทีมจะเข้าใจและเห็นถึงสถานะงานทั้งหมดของโปรเจ็ค ใน Kanban จะไม่มีคอนเซ็ปต์เรื่อง roles เหมือนกับ Scrum

จุดเด่นของ Kanban

  • Visualize workflow
  • Limit work in progress

Work in Progress (WIP) คือจำนวนงานที่แต่ละ sprint เรารับมาทำ ทีมจะโฟกัสที่การส่งงานไปช่อง Done ให้ได้มากที่สุด (ย้าย Doing >> Done) ก่อนจะรับงานใหม่ๆเข้ามา

ตัวอย่างเช่น การกำหนดจำนวนการ์ดในช่อง Doing max = 5 เป็นต้น

ในทางปฏิบัติ เราสามารถใช้เครื่องมือเหล่านี้ร่วมกันได้ => Scrum + Kanban + XP (Extreme Programming) สมัยแอดไปทำงานที่ ODDS พี่รูฟ พี่เต๋าจัดให้แบบเต็มๆ เรียกว่าเป็น hybrid agile สนุกมาก 555+ (แต่ตอนขึ้น production ลุ้นมากเช่นกัน)

Final Thoughts

Change is the only constant.

Heraclitus, a Greek philosophy

แอดคิดว่าคอร์สนี้ OK เลยสำหรับผู้เริ่มต้น แต่ถ้าเคยอ่านหนังสือพวก Agile/ Scrum มาบ้างแล้ว อาจจะข้ามคอร์สนี้ไปก่อน (อันนี้แบบ beginner level จริงๆ) แหะๆ

  • Agile คือการส่งมอบคุณค่าให้ลูกค้า ส่งบ่อยๆ ส่งถี่ๆ เก็บ feedbacks ทำให้ดีขึ้นเรื่อยๆ i.e. deliver works in small, but consumable, increments
  • Scrum มีการแบ่ง Roles ชัดเจน PO, Scrum Master, Development Team
  • Kanban ใช้ visualize workflow + limit work in progress (WIP)
  • การสร้าง Squad ใช้ Jira หรือมี Kanban board ติดอยู่ที่ออฟฟิศ ไม่ได้แปลว่าองค์กรเราเป็น Agile
  • Agile เริ่มต้นมาจากงานสาย software แต่สามารถประยุกต์ใช้ได้ทุกธุรกิจ

มีหนังสือเล่มหนึ่งชื่อ The Epic Guide to Agile ของ Dave Torado (2019) รีวิวโหดมาก 83% ⭐⭐⭐⭐⭐ แอดซื้อมาอ่าน (แต่ยังไม่จบ) เปิดโลก Agile เลย 555+

ถ้าใครเรียนจบคอร์สนี้ก็จะได้ใบ certificate สวยๆ ใส่ใน resume ใช้สมัครงานได้การันตีด้วยชื่อ Skooldio และพี่ต้า ตัวจริงเรื่อง data/ agile development

digital certificate ของ skooldio
Digital Certificate ของโรงเรียน Skooldio

ปิดท้ายด้วย quote ของโรงเรียน Skooldio [Studio ของคนอยากอัปสกิล] แต่ถ้าใครอยากอัปสกิล Data Science สนุกๆอย่าลืมแวะมาเรียนบน DataRockie นะครับ 😝

One response to “รีวิวคอร์ส Skooldio – Agile Essentials”

  1. […] Agile Manifesto แอดเคยเขียนไว้สรุปไว้แล้วใน Essential Agile […]

Leave a Reply