Screen Shot 2558-04-27 at 1.12.54 PM
ทำการแปลบทความเรื่อง Flaccid Scrum จาก bliki ของคุณ Martin Fowler
เป็นบทความตั้งแต่ปี 2009 แล้ว
แต่มันก็คือปัญหาที่ยังคงอยู่ เป็นอยู่เสมอ
ในการพัฒนา software ไม่ว่าคุณจะใช้ process อะไรก็ตาม

โดยผมนำมาแปลตามความเข้าใจของตัวเอง ดังนี้

สิ่งที่พบเจอมากๆ ในการพัฒนา software

ต้องการใช้แนวทางการพัฒนาแบบ Agile
จึงทำการเลือก Scrum มาใช้เลย
และได้นำ principle, principle ต่างๆ ของ Scrum มาใช้งาน
หลังจากนำมาใช้งานพบว่า ยิ่งพัฒนายิ่งช้า เพราะว่า code ที่ได้ออกมามันยุ่งเหยิงมากๆ !!

ทำไมนะ ?
แปลกใจกันไหม ?

Screen Shot 2558-04-27 at 1.12.05 PM

สาเหตุอะไรที่ทำให้เกิดปัญหาเหล่านี้ขึ้นมาล่ะ ?

ทั้งๆ ที่เราก็นำ process ใหม่ๆ และ ดีๆ มาใช้งานแล้วนะ
หรือว่า เราลงทุนไม่เพียงพอ ?
หรือว่า เราไม่ได้สนใจเรื่องคุณภาพภายในของ software มากเพียงพอ ?
หรือว่า สนใจแต่เรื่องของ process มาไปนะ ?

ลองกลับมาถามตัวเองหน่อยสิว่า
มันยากในการเพิ่ม feature ใหม่ๆ เข้าไปไหม ?
ในการเพิ่ม feature ใหม่ๆ มันใช้เวลามากกว่าที่เราต้องการหรือไม่ ?
หรือว่าในระบบของเรามีจำนวน Technical Debt เยอะมากไหม ?
ถ้ามีจำนวนมาก แสดงว่าคุณไม่ได้สนใจเลยใช่ไหม ?

ดังนั้น สรุปได้ว่า Agile และ Scrum มันแย่นะสิ !!

แต่ลองมานั่งดู หรือ คิดวิเคราะห์กันหน่อยไหม ?

ทำไมคุณถึงบอกไปว่า Agile และ Scrum มันแย่ล่ะ !!
นั่นแสดงว่า เราเจอปัญหาแล้วใช่ไหม
เพราะสนใจไปที่ process หรือพวก project management มากกว่าใช่ไหม
เนื่องจาก Scrum มันเน้นไปที่เรื่องนั้นเป็นหลัก
โดยไม่ได้เน้นเรื่อง technical practice มากเท่าไรนัก

ดังนั้นเราเห็นวิธีการแก้ไขปัญหาแล้วนะสิ
นั่นคือ การเพิ่ม technical practice จาก Extreme Programming
เข้ามาในการพัฒนา software โดยใช้กรอบการทำงานจาก Scrum
จะช่วยปรับปรุงเรื่องปัญหาคุณภาพภายในของระบบ

ดังนั้น Better way = Scrum + Extreme Programming

ในความเป็นจริง

มันไม่ใช่เรื่องความล้มเหลว หรือ ความสำเร็จของวิธีการทำงานหรอกนะ
แต่มันคือเรื่องของ ทีม ล้วนๆ
นั่นคือ ทีมคุยกันว่า มี process อะไรบ้างที่ช่วยเหลือทีมบ้าง
นั่นคือ ทีมคุยกันว่า มี technical practice อะไรที่ช่วยเหลือทีมบ้าง

แต่หลายๆ คนก็บอกว่า

ลองไปพวก Lean หรือ วิธีการอื่นๆ ที่ตามแนวคิด Agile สิ
แต่เชื่อเถอะว่า มันก็จะยังคงมีปัญหาเดิมๆ เกิดขึ้นมา
นั่นคือเรื่องคุณภาพภายในของระบบงาน
ดังที่ Scrum เจอเช่นกัน

สิ่งที่ขอเน้นย้ำก็คือ

Individuals and Interactions are more valuable than Processes and Tools

แล้วคุณล่ะ เน้นอะไรกันแน่ๆ หรือทำอะไรกันอยู่ !!

แล้วไม่แนะนำวิธีการปรัปปรุงหน่อยหรือ ?

ปัญหามันไม่ใช่มาจากการนำคนในส่วนต่างๆ มารวมกันเท่านั้น
แต่ยังรวมไปถึง

  • ขั้นตอนหาคน รับสมัครคน เข้าร่วมทีม ย่อมปรับปรุงและเปลี่ยนแปลงให้เหมาะสมมากขึ้น
  • เพิ่มความสามารถของสมาชิกในทีม ให้สูงขึ้น
  • ให้สร้างคนขึ้นมาภายในทีม และ องค์กร ให้มีมากกว่าหนึ่งคนในเรื่องหนึ่งๆ เสมอ
  • ทำการแบ่งปันความรู้ทั้งในและนอกทีม องค์กร
  • ร่วมพูด และ สร้าง community, meetup ต่างๆ ขึ้นมา