Scrum is?

Easy Definition and Five Memorable Rules for Scrum

Piyorot
Agile Development in Thai
1 min readOct 6, 2014

--

ภายใต้ร่มเงาของ Agile Development นอกจาก Kanban แล้ว Scrum ก็เป็นอีกหนึ่ง Framework ที่ได้รับความนิยมอย่างสูง … Scrum คืออะไร?

Scrum คือกรอบการปฏิบัติที่ยึดปรัชญาของ Agile Development ในการพัฒนา Product (ซึ่งไม่จำกัดอยู่แค่กับ Software) มันเป็นแนวทางการทำงานร่วมกันของทีมเพื่อ

“Sustainable & Efficient” Early Delivery of Business Value

การจะทำแบบนั้นได้ Scrum บอกว่าต้องทำตามกฎห้าข้อนี้*

1. Split Organization

จากแต่ก่อนทำงานกันเป็นแผนกหรือที่เรียกว่า Silo เช่น ทีม Business หนึ่งทีม ทีม Development หนึ่งทีม … การทำงานร่วมกันก็จะผ่านเอกสารเล่มหนาๆ แบบนี้ไม่เวิร์ค

Split Organization คือการดึงคนจากแต่ละแผนกเข้ามาสร้างเป็นทีมใหม่ที่เรียกว่า Cross-Functional Team หรือ Scrum Team หรือ Product Team แล้วแต่ความชอบ ทีมนี้จะทำงานร่วมกันอย่างใกล้ชิดมากขึ้น

2. Split Work

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

Split Work คือการแบ่งงานใหญ่ให้เล็กลงเพื่อที่จะทำให้งานเสร็จเป็นชิ้นได้เร็วขึ้น มีโอกาสที่จะส่งมอบให้ผู้ใช้ทดลองใช้ได้เร็วขึ้น

3. Split Time

จากแต่ก่อนต้องใช้เวลาทำงานแต่ละอย่างเป็นเวลานาน (เพราะงานมีขนาดใหญ่) เป็นเรื่องยากที่จะรู้ Progress ของงานทั้งหมดเพราะเรายังไม่เห็นผลลัพธ์อะไรเลย แบบนี้ไม่เวิร์ค

Split Time คือการแบ่งเวลาจากที่เคยวางแผนไว้ครึ่งปีหนึ่งปีให้เป็นช่วงเวลาที่เท่ากันแต่สั้นลง เช่น จากหกเดือนก็เหลือหนึ่งเดือนหกครั้ง เป็นต้น

4. Optimize Release Plan

จากแต่ก่อนการทำงานเป็นแบบ Fix Scope คือ Requirement ที่สั่งไปต้องทำให้ครบเท่านั้นถึงจะปิดโปรเจกต์ได้โดยไม่ดูโลกภายนอกเลยว่าเค้าไปถึงไหนกันแล้ว ความต้องการที่แท้จริงของผู้ใช้คืออะไร หลับหูหลับตาทำงานตาม Requirement Specification ไป แบบนี้ไม่เวิร์ค

Optimize Release Plan คือเราเปลี่ยนมุมมองมาเป็นว่า ทุกอย่างเปลี่ยนแปลงได้หมด ไม่ว่าจะ Scope หรือแม้แต่ Schedule … กับข้อมูลที่เรามีในมือ ณ ตอนนั้น เราจะทำยังไงให้การส่งมอบงานครั้งถัดไปสร้างประโยชน์ทางธุรกิจให้ได้มากที่สุด?

5. Optimize Process

จากแต่ก่อนเคยตะบี้ตะบันทำงานด้วยกระบวนการที่ไม่ถูกต้องยังไงก็ทำอยู่ยังงั้น ประมาณว่าคุย Requirement กัน 10 รอบก็สรุปไม่ได้ เขียนโค๊ดกี่ปีๆก็บั๊กกระจาย … ไม่คิดจะเปลี่ยนแปลงอะไรให้มันดีขึ้น แบบนี้ไม่เวิร์ค

Optimize Process คือการให้เวลาในการคิดและทดลองปรับปรุงเปลี่ยนแปลงกระบวนการทำงานปัจุบันให้มีประสิทธิภาพมากขึ้นอยู่อย่างสม่ำเสมอ

ถ้าทำได้ทั้งห้าข้อนี้ Sustainable & Efficient Early Delivery of Business Value ก็ไม่ใช่ความฝันที่เกินความจริง

*บางสำนักมีกฎมากกว่าห้าข้อแต่ผมรู้สึกว่าแค่ห้าข้อนี้พอแล้ว จำง่ายดี

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

The Future Has Arrived — It’s Just Not Evenly Distributed Yet, William Gibson

อนาคตอยู่ตรงนี้แล้ว เรามีหน้าที่ต้องถ่ายทอดมันออกไปให้คนอื่นได้สัมผัสสิ่งดีๆร่วมกันครับ

--

--

Piyorot
Agile Development in Thai

A member of Mutrack and Inthentic. I lead, learn, and build with vision, love and care. https://piyorot.com