Agile is not a process, it’s people
ปีนี้ก็ปาเข้าไป 2019 แล้ว คิดว่าทุกคนคงเคยอ่าน เคยได้ยิน หรืออาจจะเห็นผ่าน ๆ มากันบ้างแล้วกับคำว่า “Agile”
Agile เป็นศัพท์ที่ popular มาก เรียกได้ว่าไปที่ไหนก็ได้ยิน … อ่านใบรับสมัครงานของบริษัทไหน เขาก็บอกว่าบริษัทตนเองนั้น “ใช้ Agile” หรือ “ทำงานกันแบบ Agile”
คำถามคือ … แล้วทำงานแบบ Agile ที่ว่าคือยังไง ? ศัพท์ที่โด่งดังในวงการธุรกิจและการพัฒนาคำนี้ถูกนำไปใช้อย่างเข้าใจอย่างตรงกันหรือเปล่า ? เชื่อว่าถ้าทุกคนลองถาม Senior หรือพี่ ๆ ในองค์กรดูเกี่ยวกับคำว่า “Agile” ก็คงได้คำตอบที่ต่างกันออกไป
- มี Stand up meetings กันทุกวันตอนเช้าก่อนเริ่มงาน ทำให้เราเป็น Agile
- เราเป็น Agile เพราะว่าเราเป็น Flat Organisation และเราทำงานกันเป็น Sprint
- องค์กรเราประกอบด้วยทีมเล็ก ๆ หลาย ๆ ทีมเพื่อทำให้การทำงานรวดเร็วมากยิ่งขึ้น !
เอาเข้าจริงแล้ว ทุกคำตอบที่กล่าวมาข้างต้นไม่ได้ทำให้คุณเป็น Agile เลยแม้แต่น้อย … ทั้งหมดนั้นไม่สำคัญเลย
Agile at it’s core
เพื่อท่ีจะเข้าใจ Agile ได้ดียิ่งขึ้น เราควรจะเข้าใจถึงที่มาของคำ ๆ นี้ก่อน
“Agile เกิดขึ้นมาได้อย่างไร”
ในยุคที่อุตสาหกรรมคอมพิวเตอร์เพิ่งเกิดขึ้นมาท่ามกลางอุตสาหกรรมอื่น ๆ มากมาย
องค์กรและบริษัททั้งหลายยังใช้กระบวนการดั้งเดิมในการพัฒนา Product ออกสู่ตลาดที่เรียกว่า Waterfall อยู่
Waterfall model เป็นรูปแบบกระบวนการพัฒนา Product แบบทางเดียว คล้าย ๆ กับน้ำตกท่ีตกลงมาจากข้างบนลงสู่ข้างล่าง โดยขั้นตอนของ Waterfall model คร่าว ๆ เป็นดังนี้
- ฝ่าย Business เก็บข้อมูลและวิเคราะห์ความต้องการของลูกค้า
- ออกแบบ Product และระบบ
- สร้าง Product จนเสร็จ
- ทดสอบ Product และนำออกสู่ตลาด
- แก้ไขข้อบกพร่องเล็ก ๆ น้อย ๆ
Model การทำงานแบบ Waterfall นี้ได้รับการยอมรับและถูกใช้กันมาเรื่อย ๆ …
จนกระทั่งในปี 1990 คอมพิวเตอร์ได้เข้ามามีบทบาทในองค์กรและบริษัทอย่างมาก และเป็นเครื่องจุดชนวนที่ทำให้หลายบริษัทเติบโตอย่างรวดเร็วแบบที่ไม่เคยเป็นมาก่อนในประวัติศาสตร์ … และจุดนี้เองที่ทำให้การพัฒนา Product เกิดวิกฤติขึ้น
เนื่องจากวงการ Business โตและเคลื่อนที่เร็วอย่างไม่เคยเป็นมาก่อน ด้วยเวลาเพียงไม่กี่ปี ความต้องการของลูกค้า, ระบบโครงสร้าง, และ Technology ได้เปลี่ยนแปลงไปจากหน้ามือเป็นหลังเท้า ผลลัพธ์ที่เกิดขึ้นคือ Project ที่เกิดขึ้นนับไม่ถ้วนถูกปิดทิ้ง และอีกหลาย Project ที่ถูกทำจนเสร็จสมบูรณ์ก็ไม่สามารถสนองความต้องการของตลาดได้อีกต่อไป (ถึงแม้ว่าในตอนต้นกระบวนการวิเคราะห์ความต้องการของลูกค้า จะคิดมาดีแล้วก็ตาม)
And that’s when agile was born
จากความเบื่อหน่ายในการลงทุนลงแรงทั้งกายและใจในการสร้าง Product ที่สุดท้ายไม่มีคนใช้ออกสู่ตลาด กลุ่มวิศวกรกลุ่มหนึ่งได้ตัดสินใจมาร่วมค้นหาวิธีการทำงานรูปแบบใหม่ท่ีจะสามารถตอบสนองต่อการเปลี่ยนแปลงที่รวดเร็วของโลกได้
กลุ่มวิศวกรต้องการรูปแบบการทำงานที่ทำให้สามารถพัฒนา working software ที่สามารถออกสู่ตลาดได้เร็ว, โฟกัสที่ Feedbacks ของลูกค้า, และตอบโต้กับความเปลี่ยนแปลงที่เกิดขึ้นจากปัจจัยภายในและนอกได้อย่างรวดเร็ว
Another Framework ?
เหล่าวิศวกรเล็งเห็นสิ่งที่จะสามารถแก้ปัญหาอันใหญ่นี้ได้ พวกเขารู้ว่ามันไม่ใช่ “framework อีกอัน” ที่จะมาควบคุมการทำงานของคน แต่มันควรจะเป็นสิ่งใหม่ที่ “คนในองค์กร” เห็นคุณค่าและมีความเชื่อร่วมกัน … และนั่นคือ Agile
So, what actually is AGILE ?
Agile คือ คุณค่าและหลักยึดมั่นในการทำงาน (หรือภาษาอังกฤษเรียกว่า a set of values & principles) โดยที่ value หรือ manifesto ของ Agile นั้นมีทั้งหมด 4 ข้อ และยังมี principles อีกเป็นจำนวน 12 ข้อ
Manifesto หรือหัวใจหลัก ของ Agile นั้นจะเล่าถึงสิ่งที่พึงระลึกในการทำงาน ซึ่งมีด้วยกัน 4 ข้อ ดังนี้
- Individuals and interactions over processes and tools หรือ ให้ความสำคัญกับคนและการสื่อสาร มากกว่ากระบวนการและเครื่องมือ
- Working software over comprehensive documentation หรือ ให้ความสำคัญกับซอฟแวร์ที่ใช้งานได้จริง มากกว่าเอกสารทั้งหลาย
- Customer collaboration over contract negotiation หรือ ให้ความสำคัญกับความร่วมมือและความสัมพันธ์กับลูกค้า มากกว่าการทำสัญญา
- Responding to change over following a plan หรือ ให้ความสำคัญกับการรับมือกับความเปลี่ยนแปลง มากกว่าการทำตามแผน
ส่วน Principles 12 ข้อที่เหลือนั้น ผู้อ่านที่สนใจอ่านเพิ่มเติมสามารถเข้าไปอ่านได้ ที่นี่
ซึ่งทั้ง 12 ข้อไม่ได้บอกวิธีในการทำงานให้เป็น Agile แต่อย่างใด แต่มันได้บอกหลักยึดมั่นที่จะช่วยทำให้การตัดสินใจของทีมนั้นไปในทางที่ดีขึ้น
แค่นี้ … แค่นี้เลย
จะเห็นว่า Agile ไม่มีกล่าวถึงขั้นตอนการทำงาน หรือกล่าวถึงวิธีการแบบตายตัวที่คุณต้องทำตาม แต่ Agile จะทำให้การตัดสินใจในทุกส่วนขององค์กรไปในทางที่ดีและสามารถอยู่รอดได้ในโลกที่หมุนเร็ว
อ้าว … แล้วสิ่งทั้งหลายเหล่านี้ เช่น Stand up meeting, การแบ่งโครงสร้างองค์กรเป็นทีมเล็ก ๆ, หรือพวก Scrum methodologies, Kanban board … กระบวนการหรือ tools เหล่านั้นคืออะไร และมันมาจากไหน ?
จริง ๆ แล้ว กระบวนการ, framework และเครื่องมือทั้งหมดที่เราได้ยินหรือเคยสัมผัสมานั้น เกิดขึ้นมาเพื่อสนอง Values และ Principles ของ Agile ทั้งสิ้น
ทุกสิ่งที่กล่าวขึ้นมาข้างต้น ล้วนเป็นไอเดียหรือ solution หนึ่งที่เกิดมาบนพื้นฐานของคุณค่าและหลักยึดมั่นในการทำงานแบบ Agile
ยกตัวอย่างเช่น Stand up meeting
Stand up meeting เกิดขึ้นเพราะว่าทีมต้องการให้ความสำคัญกับคนและการสื่อสาร มากกว่ากระบวนการและเครื่องมือ (ข้อ 1 ของ Agile Manifesto)
ทีมจึงมีการเสนอให้มีการคุยกันในทีมก่อนเริ่มทำงานทุกวัน โดยแต่ละคนจะเล่าว่าเมื่อวานทำอะไรมาบ้าง และวันนี้วางแผนว่าจะทำอะไรบ้าง รวมถึงอาจจะขอความช่วยเหลือจากคนในทีมในกรณีท่ีติดปัญหา เพื่อทำให้ทุกคนในทีมได้สื่อสารและเข้าใจงานและปัญหาที่แต่ละคนในทีมพบเจอ จนกลายมาเป็นกระบวนการที่ชื่อว่า stand up meeting
ฉะนั้น Stand up meeting หรือกระบวนการอื่นใด ๆ จะมีคุณค่าแบบ Agile ก็ต่อเมื่อทีมที่นำกระบวนการเหล่านั้นไปใช้มีความเข้าใจในคุณค่าและหลักยึดมั่นแบบ Agile อยู่ก่อนแล้ว
ถ้าในระหว่างการทำ Stand up meeting ของทีมคุณ มีคนนึงกำลังพูดอัพเดท หรือขอความคิดเห็น แล้วคนอื่นในทีมไม่ได้ตั้งใจฟัง ไม่ได้ช่วยกันเสนอ เอาแต่เล่นมือถือ … Stand up meeting ก็เป็นกระบวนการที่เสียเวลาเปล่า
หรือถ้าพูดอีกอย่างนึงก็คือ ไม่ว่าคุณจะนำกระบวนการหรือเครื่องมือเหล่านั้นไปใช้ให้ตายยังไงก็ไม่ Agile ถ้าไม่เริ่มต้นที่ความเข้าใจของคนในทีม
ตอนนี้เราเข้าใจ Agile แล้ว … แล้วจะนำมาปรับเข้ากับทีมยังไงดี หรือใช้ Framework อะไรจะเหมาะสมที่สุด
แต่ละกระบวนการหรือ Framework ที่เกิดขึ้นจาก Agile นั้นมีข้อดีข้อเสียที่แตกต่างกันออกไป ทั้งนี้ก็ขึ้นอยู่กับแต่ละทีมว่ามีกระบวนการการทำงานยังไง และแต่คนในทีมมีความเห็นว่าเครื่องมือไหนจะตอบโจทย์กับทีมมากที่สุด
แต่เพราะว่า Agile นั้นเป็นแค่คุณค่าและหลักยึดมั่น ทำให้ทีมของคุณไม่จำเป็นต้องนำกระบวนการท่ีคนอื่นเขาใช้กันมาใช้ก็ได้ คุณสามารถออกแบบกระบวนการทำงานใหม่สำหรับใช้ในทีมของคุณเป็นทีมแรก ก็เป็นไปได้ ขอแค่ให้ยึดมั่นใน Agile เท่านั้นเป็นพอ
สรุปสุดท้ายสั้น ๆ
Agile คือ คุณค่าและหลักยึดมั่นในการทำงาน (a set of values & principles) ที่สามารถช่วยทำให้ทีมหรือบริษัทของคุณ สามารถตัดสินใจในทุก ๆ เรื่องที่เกี่ยวข้อง เพื่อที่ทีมหรือบริษัทของคุณจะสามารถตอบสนองต่อโลกที่เปลี่ยนแปลงเร็วได้ดีที่สุด
สิ่งอื่น ๆ ทั้งหมดที่ได้ยินกันมาเกี่ยวกับ agile
เป็นแค่เปลือก …
ปล. ผิดถูกยังไงติชมกันได้นะครับ :)