ทดลองใช้ Agile Methodology ใน Design Agency
เทคนิคใหม่ที่ลองใช้ในกระจัดการกระบวนการออกแบบ ที่ไม่ได้ใหม่ในโลกของนักพัฒนา
ช่วงปีที่ผ่านมา ที่คราฟส์แมนชิพได้มีโอกาสทำงานในลักษณะการพัฒนาซอฟท์แวร์ และเว็บแอปพลิเคชั่นในหลายๆโครงการ ในระหว่างทำงานเราค้นพบว่าการการทำงานค่อนข้างมีความซับซ้อนต่างจากการทำเว็บไซต์ในยุคแรกๆ เป็นอย่างมาก หลายครั้งที่เราจะมีภาพจำว่าต้องทำไซต์แมพ (Site map) เพื่อให้เห็นว่าการเข้าถึงเว็บไซต์จากหน้าใดหน้าหนึ่งจะทำให้เจอหน้าอื่นๆ ตามมาแบบเดียวกับรูปแบบ waterfall แต่ในขณะที่การนำเสนอข้อมูลในปัจจุบันนี้มีการแสดงผลที่ซับซ้อนจนทำให้ไม่สามารถร่างออกมาเป็นไซต์แมพได้ จนค้นพบว่ามีวิธีอื่นที่สามารถเรื่องเหล่านี้ได้ดีกว่าวิธีการแบบเดิมๆ เป็นต้น
กลับมาที่เรื่องของความซับซ้อนนี้ทำให้การทำงานค่อนข้างติดขัด เนื่องจากต้องใช้เวลาในการทำงานในทุกส่วนตั้งแต่ออกแบบและส่งต่อไปยังนักพัฒนาเพื่อโค้ดให้ออกมาตามที่ออกแบบไว้ การทำงานของ agile process นี้จึงได้ถูกพิจารณาในการนำมาทดลองปฏิบัติ
ความเห็นส่วนตัวมองว่า agile process นี้ไม่ใช่เรื่องใหม่อะไรในปี 2021 และมีหลายๆ คนไม่ได้เชื่อในการทำงานในลักษณะนี้ และมีกระบวนการทำงานในรูปแบบอื่นๆ อีกมากมายที่สอดคล้องกับลักษณะการทำงานตามวัฒนธรรมขององค์กรของแต่ละคน ในความเห็นส่วนตัวผมคิดว่า agile ไม่ใช่กระบวนการบริหารงานที่ดีที่สุด แต่มองเห็นว่าการนำกระบวนการจัดการนี้มาทดลองใช้เพื่อให้งานเกิดประสิทธิภาพมากที่สุด
ก่อนจะทำความรู้จักกับ Agile ต้องทำความเข้าใจกันก่อนว่า ลักษณะของงานที่ทำในออฟฟิศกระบวนการออกแบบ ตามความเข้าใจเดิมจะมีลักษณะเป็น Waterfall คือการทำงานเป็นลำดับขั้นไม่สามารถทำงานพร้อมๆ กันได้
ซึ่ง Agile Methodology นี้ถูกใช้อย่างแพร่หลายในบรรดานักพัฒนาซอฟท์แวร์ ในลักษณะการทำงานที่มีการนำส่งงานอย่างต่อเนื่อง ตัวอย่างเช่น Google ที่มีการนำวิธีการแบบ agile เข้ามาช่วยในการจัดการ ในการออกซอฟท์แวร์ในเวอร์ชั่นใหม่ ให้กับ Google Chrome หรือในขณะที่ Spotify ได้มีการประยุกต์ใช้ agile ในรูปแบบที่เรียกว่า scaling agile เพื่อช่วยให้ทีมที่ทำงานอยู่ทั่วทุกมุมโลกสามารถทำงานร่วมกันได้อย่างมีประสิทธิภาพ รวมถึงการเพิ่มประสิทธิภาพเข้าไปอีกขั้นด้วยการแบ่งสัดส่วนในการทำงานในแต่ละรอบให้มีการเทรนนิ่งเพื่อให้ทีมมีทักษะที่เพิ่มขึ้นที่นอกเหนือจากการทำงานแล้ว ยังสามารถใช้หลักการเดียวกันนี้ในการให้ความรู้ที่มากกว่าความถนัดส่วนบุคคลของทีมให้ดีขึ้นไปอีกขั้น
ซึ่งแน่นอนว่าแนวคิดแบบ Agile Methodology ไม่ได้มีรูปแบบตายตัว และจำเป็นที่จะต้องจัดการกับสภาพแวดล้อมการทำงานภายในองค์กร หรือระหว่างทีมด้วย ให้สอดคลองและเหมาะสม ดังนั้นการนำระบบเข้ามาจึงจำเป็นอย่างมากที่ต้องมีการเทรนนิ่ง สร้างความเข้าใจ และปฏิบัติร่วมกันอย่างเป็นระบบ โดยจำเป็นที่จะต้องมีผู้ที่คอยมีส่วนร่วมภายในโครงการในบทบาทต่างๆ ที่จะพูดถึงในส่วนถัดไป
Agile process คืออะไร?
เริ่มต้นในปี ค.ศ. 2000 โดยกลุ่มนักพัฒนาซอฟท์แวร์ 17 คนในรัฐ Oregon รวมตัวกันเพื่อที่จะหาวิธีการ ว่าจะทำอย่างไรเพื่อให้การพัฒนาซอฟท์แวร์ ทำได้เร็วขึ้นสามารถนำซอฟท์แวร์ออกมาสู่ตลาดได้เร็วขึ้น พวกเขาได้ค้นพบว่ามีกุญแจสำคัญเพื่อช่วยให้บรรลุเป้าหมายได้โดย
- ลดเวลาในการพัฒนาและแก้ปัญหาการพัฒนาซอฟท์แวร์เพื่อให้สอดคล้องกับความต้องการในตลาด
- ได้รับความเห็นเพื่อให้แน่ใจว่าซอฟท์แวร์สามารถใช้งานได้และนำไปสู่การพัฒนาให้เกิดประสิทธิภาพมากยิ่งขึ้น
แถลงการณ์ได้เกิดขึ้นระหว่างทีมนักพัฒนาที่ริเริ่มกระบวนกระบวนการแบบ agile โดยมีแนวคิดหลักดังต่อไปนี้
- การสร้างปฏิสัมพันธ์ต่อกันมากกว่ากระบวนการและเครื่องมือ
- เน้นการทำงานให้เกิดขึ้นจริงมากกว่าการจัดเตรียมและบันทึกเป็นเอกสาร
- ลูกค้ามีส่วนร่วมได้ตั้งแต่ขั้นตอนแรกมากกว่าการเจรจาและทำตามแผนงานในใบสัญญาเสนอราคา
- สามารถปรับเปลี่ยนได้มากกว่าการยึดตามแผนการตั้งแต่ต้นจนจบขบวนการ
Agile คือ Mindset
ประโยชน์จาก 1 ใน 12 ข้อในด้านหลักการของ Agile ได้ให้คำแนะนำเกี่ยวกับการตอบสนองต่อความไม่แน่นอนในการดำเนินงานในโครงการต่างๆ เป็นลักษณะของการตกลงร่วมกันระหว่างทีมว่าจะทำงานในลักษณะเดียวกันภายใต้เงื่อนไขเดียวกัน ดังนั้นในความเห็นของผู้เขียนก็อาจตีความได้ว่าหลักการของ Agile ได้ถูกกำหนดรูปแบบไว้เพื่อให้ทีมที่ทำงานร่วมกัน สามารถทำงานได้ภายใต้สภาวะของความซับซ้อน และมีความไม่แน่นอน แต่ด้วยวิธีการจะทำให้ทีมสามารถดำเนินงานเพื่อให้บรรลุเป้าหมายของโครงการใดๆ ได้
ที่กล่าวมาข้างต้นเป็นการอธิบายภาพรวมโดยย่อ ซึ่งยังไม่รวมถึงกิจกรรมต่างๆ ที่เกิดขึ้นต่อจากนั้น เช่นการใช้วิธี Scrum และ Kanban ซึ่งเป็นที่เข้าใจผิดอย่างแพร่หลายว่า Scrum เป็นเรื่องเดียวกันกับ Agile แต่จริงๆ แล้ว Scrum คือวิธีการในการทำงานร่วมกับ Agile
Scrum คืออะไร?
Scrum คือหนึ่งในเฟรมเวิร์คที่ช่วยในการพัฒนาซอฟท์แวร์ที่ช่วยในการจัดตารางงานในรูปแบบของการพัฒนาซอฟท์แวร์
Scrum model ออกแบบมาเพื่อให้ทีมที่มีจำนวน 3-9 คนที่สามารถแบ่งงานให้เป็นส่วนย่อยเพื่อให้งานเสร็จภายใน sprints และติดตามงานที่อยู่ในระหว่างกระบวนการ และสามารถปรับเปลี่ยนการวางแผนได้ในทุกๆ วันผ่านการประชุมในเวลา 15 นาที ผ่านรูปแบบที่เรียกว่า daily scrums
โดยในการทำ Scrum จะมีบทบาทหน้าที่ของแต่ละคนโดยสังเขปตามตำแหน่งดังต่อไปนี้
- Scrum Master รับผิดชอบในการเซ็ตอัพทีม การประชุมในแต่ละ sprint เพื่อลดอุปสรรค์ในกระบวนการทำงาน
- Product owner คอยสร้าง backlog และจัดลำดับความสำคัญของงานที่ต้องรับผิดชอบ
- Scrum Team ทีมงานที่มีส่วนเกี่ยวข้องเพื่อให้งานในแต่ละ sprint สำเร็จลุล่วงไปด้วยดี
โดย Backlog นี้จะหมายถึงจำนวนงานที่เกิดขึ้นทั้งหมด พร้อมรายละเอียดที่เกิดขึ้นจากขอบเขตของโครงการ บางทีเกิดขึ้นในลักษณะของการเล่าเรื่อง เงื่อนไข หรือแนวคิดทางธุรกิจที่ทีมจะต้องส่งมอบ งานเหล่านี้สามารถจัดลำดับความสำคัญได้โดย Product owner และจะต้องถูกนำไปพัฒนาจนสำเร็จโดย Scrum Team ซึ่งทีมสามารถให้ความเห็นอันเป็นประโยชน์ หรือปรับเปลี่ยนแก้ไขลักษณะของงานได้ตามความเหมาะสม
Sprints คืออะไร?
Sprints ช่วยทำให้โครงการใดๆ สามารถจัดการได้อย่างมีประสิทธิภาพ ช่วยให้ทีมผลิตให้งานมีคุณภาพ เร็ว และมีความถี่อย่างสม่ำเสมอ และช่วยให้มีความยืดหยุ่นในการปรับเปลี่ยนเงื่อนไขใดๆ ในโครงการ sprint คือช่วงเวลาในการทำงาน ที่ทำรวมกันในทีม ที่ทำงานร่วมกันเพื่อให้ปริมาณงานที่กำหนดไว้เสร็จลุล่วง ซึ่ง sprint นี้คือหัวใจสำคัญในการ scrum และแนวคิดแบบ agile การทำ sprint ให้ถูกวิธี หรือปรับเปลี่ยนให้เหมาะสมกับลักษณะของงานช่วยให้ทีมสามารถทำงานได้อย่างมีประสิทธิภาพและเป็นระบบ
เบื้องต้นเป็นการสรุปโดยคร่าวถึงลักษณะของการใช้กระบวนการแบบ agile ผ่านการ scrum แล้วสำหรับนักออกแบบเราจะสามารถใช้กระบวนการแบบนี้ได้หรือไม่
จากการทดลองในช่วงเวลาหลายเดือนในการพัฒนารูปแบบการทำงานโดยใช้วิธีการแบบ agile ต้องบอกว่ามีความเป็นไปได้ โดยเป้าหมายของการทำ agile ให้กับทีม คือการจัดสรรงานที่มีทั้งหมดภายในทีม มีการรีวิวและร่วมประเมินงานและเวลาในการทำเพื่อให้เกิดความแม่นยำที่สุด โดยหนึ่งในการจัดสรรสิ่งที่ต้องทำ (task) คือการย่อยงานให้เล็กพอที่จะสามารถทำได้ หรือมีวัตถุประสงค์ในการทำงานได้อย่างชัดเจน ทีมมองเห็นภาพรวมว่าในแต่ละ sprint นั้นๆ เราจะใช้เวลาในการปิดงานทั้งหมดได้ตามเป้าหรือไม่ หลายคนจะเข้าใจว่างานออกแบบนั้นเป็นลักษณะของการใช้ความคิด และไม่เคยคำนวนออกมาเป็นต้นทุน แต่หากพิจารณาดีๆ แล้วเราจะพบว่า ต้นทุนของงานออกแบบคือเวลาที่เสียไป หากแต่ปัญหาของคำว่า “เวลา” คือสิ่งที่ดูจะจับต้องไม่ได้ ระบบของการประเมินเวลาการทำงานเพื่อช่วยในการสร้างสถิติ หรือบริการอื่นๆ ที่มีความเป็นรูปธรรมมากขึ้นในการบริการลูกค้าจึงกลายเป็นหนึ่งในกระบวนการออกแบบเพื่อให้ลูกค้าเห็นความสำคัญของการใช้เวลาในการดำเนินกิจกรรมการออกแบบ
เวลาเป็นสิ่งที่มองไม่เห็น แต่ไม่ใช่ว่าไม่มี ความเข้าใจผิดเกี่ยวกับการมองไม่เห็นนี้เกิดจากความไม่โปร่งใสในการทำงาน (non-transparency) มักจะเกิดขึ้นบ่อยในการทำงานร่วมกัน ระหว่างคนทำงานและลูกค้า ระหว่างนายจ้างและลูกจ้าง เป็นต้น ความโปร่งใสในการทำงานนี้ช่วยให้เราเห็นว่างานที่ทำ มีปริมาณ หรือมีสิ่งที่ต้องทำได้อย่างชัดเจน การจัด sprint จะช่วยให้เห็นว่าปริมาณงานที่ทำนั้นพอดี และการประเมินเวลาในการทำงานที่แม่นยำก็จะช่วยให้มีงานในปริมาณเหมาะสมกับเวลาด้วยเช่นกัน
Kanban board
หนึ่งในเครื่องมือในการจัดการโครงการต่างๆ ออกแบบมาเพื่อช่วยให้เห็นภาพรวมทั้งกระดาน ช่วยจัดการขอบเขตในการทำงานให้มีประสิทธิภาพมากที่สุด สามารถประยุกต์ใช้ได้หลากหลายลักษณะงาน ในแต่ละส่วนงานนับเป็นการ์ด (card) แบ่งเป็นแถว (columns) เพื่อให้เห็นปริมาณงานในแต่ละช่วง “Kanban” เป็นภาษาญี่ปุ่น แปลว่า “Visual Signal” แปลตามพจนานุกรม อาจจะหมายถึงการกระทำหรือสัญญาณที่ทำให้เห็นเป็นภาพเพื่อใช้ในการสื่อสาร ถ้าคุณทำงานเกี่ยวกับเทคโนโลยี หรือด้านการบริการงานลักษณะนี้มักจะมองไม่เห็นไม่สามารถจับต้องได้ kanban board ช่วยให้งานของคุณสามารถมองเห็นได้ เพื่อให้คุณแสดงให้คนอื่นเห็น และให้ทุกๆ คนในทีมอยู่ในหน้ากระดานเดียวกัน
เราอาจจะคุ้นภาพการติดโพสอิทบนกระดาน หรือบนกระจกในออฟฟิศในสมัยใหม่ ภาพขณะที่ทีมนั่งประชุมกันอาจจะเป็นภาพที่คุ้นเคยในช่วงเวลานี้ kanban board ก็เป็นส่วนหนึ่งของเครื่องมือที่มีการใช้งานอย่างหลากหลาย แต่ในขณะที่เรามีโครงการออกแบบมากมาย การติดโพสอิทในปริมาณมากอาจจะทำให้เกิดความสับสนและเปลืองทรัพยากรได้ ในยุคสมัยที่ web application เป็นที่นิยมเนื่องจากผู้ผลิตหรือผู้ให้บริการเครื่องมือเหล่านี้ได้คิดค้น feature ใหม่ๆ อยู่ตลอดเวลาซึ่งเครื่องมือที่นิยมใช้งานนั้นมีหลากหลาย อาทิ Asana, Trello, Jira หรือในเครื่องมือที่ออกแบบมาเพื่อให้คนมีส่วนร่วมกันอย่าง Miro ก็ยังมีเครื่องมือที่ชื่อ kanban board มาให้ใช้งาน ซึ่งจะขอลงรายละเอียดเรื่องเครื่องมือต่อไปในภายหลัง
ผลจากการทดลองในการจัด sprint กับทีมต่างๆ ภายในออฟฟิศ ช่วยให้ทีมเห็นปริมาณงานทั้งหมดได้ตามเป้าหมายที่วางไว้ แต่นี่เป็นเพียงการทดลองในขั้นตอนหนึ่งและยังคงต้องการการปรับปรุงวิธีการต่อไปเพื่อให้สอดคล้องกับธรรมชาติในการทำงานให้มากที่สุด และนี่เป็นส่วนหนึ่งของกระบวนการทั้งหมดที่เกิดขึ้นภายในออฟฟิศออกแบบ ที่พยายามประยุกต์ใช้ทักษะต่างๆ ที่หวังว่าจะเป็นประโยชน์ต่อทีมงานทุกคนและหวังเป็นอย่างยิ่งว่าจะเป็นประโยชน์แก่ผู้อ่านด้วย