Scrum Training at Witsawa Corp. — part I
วันศุกร์นี้เป็นวันที่ พี่อั๋น (Aun Pipat ) ได้เรียนเชิญพี่เนตร ซึ่งเป็น scrum master มา train เรื่อง Agile & Scrum ให้กับทีม dev ของ witsawa แล้วก็ให้ AE ของทาง mcfiva มาร่วมด้วย
ในช่วงเช้า ก็เริ่มจากให้ทำ workshop อันหนึ่ง โดยให้ AE (Account Executive) มารับ requirement แล้วให้ AE คุยกับสองทีมที่ทำ product
โดยทีมแรกจะประกอบด้วย BA (Bussiness Analysis), Technical Lead, Developer
AE จะต้องคุยกับ BA ของทีมแรก
จากนั้น BA จะส่ง requirement ที่ได้รับมาให้ Technical Lead
Technical Lead ก็ออกแบบระบบให้ Developer ทำตาม
แล้วนำเสนอ product ครั้งเดียว
ส่วนทีมที่สองจะไม่มีการแบ่งตำแหน่งงาน
AE จะเข้าไปคุยกับทีมทั้งหมดพร้อมกัน หลายครั้ง และแต่ละครั้งสามารถคุยรายละเอียด และความคืบหน้าของ product ได้
ถ้าเราสังเกตดีๆ จะเห็นว่า ทีมแรกจะมีการส่งงานจากคนหนึ่งไปยังอีกคนหนึ่งเป็นทอดๆ แล้วส่งมอบ product ทีเดียว
ส่วนทีมที่สองจะมีการคุยงานหลายรอบ ทำให้มีโอกาสปรับปรุง product ให้ตรงใจกับลูกค้าได้มากกว่า
คำถาม คือ
คุณชอบทำงานแบบทีมไหนมากกว่ากัน ?
ต่อมา พี่เนตรก็เล่าถึงประวัติความเป็นของ Agile ว่า
การทำงานในสมัยก่อนมีการแบ่งชนชั้นออกเป็นสองส่วน คือ ฝ่ายผู้จัดการ กับ ฝ่ายแรงงาน กล่าวคือ ฝ่ายผู้จัดการมีหน้าที่คิดให้ฝ่ายแรงงานทำตาม
ซึ่งระบบนี้ได้ถูกใช้ในการจัดการฟาร์มมาก่อน
ส่วนในด้านการพัฒนาซอฟต์แวร์ ก็มีการแบ่งการทำงานเป็นหลายๆ ฝ่ายเหมือนกันเป็นลำดับชั้น โดยงานจะมาจากระดับหัวหน้าแล้วส่งงานทอดลงมา เราเรียกกระบวนการแบบนี้ว่า waterfall
แล้วภายหลังก็พบว่า การทำงานแบบ waterfall ทำให้การพัฒนาซอฟต์แวร์ได้ผลลัพธ์ไม่ค่อยดีนัก
จึงเกิดกระบวนการทำงานแบบอื่นอีกมากมายรวมถึง scrum ด้วย
ต่อมาก็กลุ่มคนกลุ่มหนึ่งได้บัญญัติ Agile Manifesto 4 ข้อ พร้อมกับ principle อีก 12 ข้อ ขึ้นมาเพื่อเป็นแนวทางในการพัฒนาซอฟต์แวร์ที่ดี
เหนือสิ่งอื่นใด แต่ละงานก็มีตัวชี้วัดในการวัดผลสำเร็จที่ต่างกัน
ฉะนั้น Agile จึงอาจจะไม่ตอบโจทย์กับทุกงาน มันขึ้นกับว่างานนั้นเหมาะจะใช้วิธีใดในการทำงานมากกว่า
อย่างบอกที่ไปว่ามันขึ้นกับงาน เรามาดูกันว่ามีงานแบบไหนบ้าง
- งานแบบง่าย คือ งานที่เรารู้ requirement ที่ชัดเจน และรู้ว่าต้องใช้เทคโนโลยีอะไรในการทำ งานแบบนี้สามารถใช้ waterfall ได้
- งานแบบยาก คือ งานที่มี requirement ที่ยังไม่ชัดเจน หรือ งานที่ไม่รู้ว่าจะใช้เทคนิคไหนในการทำ งานแบบนี้สามารถใช้ Agile ได้
- งานแบบซับซ้อน คือ งานที่มี requirement ที่ยังไม่ชัดเจน และไม่รู้ว่าจะใช้เทคนิคไหนในการทำ งานแบบนี้สามารถใช้ Agile ได้เช่นกัน
- งานแบบมีแต่ไอเดียที่ยังจับต้องไม่ได้ มีความไม่แน่นอนสูง งานแบบนี้ต้องใช้ LEAN เพื่อทดสอบความเป็นไปได้ของ product ไปเรื่อยๆ
ส่วนสิ่งที่ใช้วัดความสำเร็จของงานก็มีอยู่ 3 ปัจจัย คือ การตรงต่อเวลา ตรง requirement และอยู่ในงบประมาณ ซึ่งแต่ละงานให้ความสำคัญของแต่ละปัจจัยที่ต่างกัน ซึ่ง Agile จะเน้นให้ตรงกับ requirement มากกว่าปัจจัยอื่น
Reference
จบครึ่งเช้าแล้วครับ
ต่อครึ่งบ่ายได้ที่นี่