- Nextzy บริษัทรับพัฒนาซอฟต์แวร์ ที่พนักงานไม่เคยเกลียดวันจันทร์ จะมีแต่รู้สึกว่า อ้าว…วันศุกร์แล้วเหรอ
- สำหรับที่นี่ เทคโนโลยีคือหัวใจสำคัญของการทำงานทั้งภายนอกและภายใน เครื่องมือไหนที่ช่วยให้การทำงานและการสื่อสารมีประสิทธิภาพจริง – ต้องใช้
- แต่ถึงอย่างไร การเข้าออฟฟิศเพื่อเจอหน้ากันและสื่อสารกัน สำคัญยิ่งกว่า งานถึงจะเดินหน้าด้วยคนที่ใช้เทคโนโลยีเป็น
ภาพ: ณขวัญ ศรีอรุโณทัย
เมื่อเดินเข้าไป ห้องแรกของออฟฟิศแห่งนี้ คือ ‘ห้องดนตรี’ มีครบหมดทั้งกีตาร์ เบส กลองชุด อูคูเลเล่ และไมโครโฟนพร้อมขาตั้ง ถัดจากนั้นคือพื้นที่โล่งสำหรับทำกิจกรรม ถัดจากนั้นเข้าไปอีกถึงจะเป็น ‘โซนทำงาน’ ที่มีโต๊ะพูลตั้งอยู่ตระหง่าน
ที่นี่คือ ที่ทำการของ Nextzy Technologies Co., Ltd มี 3 ไพโอเนียร์ คือ เอก-สมเกียรติ กิจวงศ์วัฒนะ Android Developer, ออม-วรกานต์ พูลสุข System Analyst และ ออน-สุมณฑา เจริญเผ่า UX/UI Designer มาขยายความถึงงานที่ทำ
แล้วเรามาคุยกับ Nextzy ทำไม? คำเฉลยรออยู่แล้วตั้งแต่บรรทัดถัดไป
Nextzy คืออะไร
Nextzy เป็นบริษัทรับพัฒนาซอฟต์แวร์ต่างๆ ให้ลูกค้า อย่างเช่น AIS TRUE ทิพยประกันภัย ฯลฯ
“โดยรายละเอียด เราพัฒนาแอพพลิเคชั่น เช่นหน้าเว็บ หรือ mobile application จากความต้องการของลูกค้า อยากได้แอพฯ แบบไหน ทำงานอย่างไร เขาอยากได้ทีมพัฒนา เขาเลยมาจ้างเรา” เอกอธิบาย
เช่น ลูกค้าที่ให้บริการเครือข่ายโทรศัพท์มือถือ ต้องการแอพพลิเคชั่นที่ให้ลูกค้าสามารถล็อคอินง่ายๆ ผ่านเบอร์โทรศัทพ์ เพื่อเช็คยอดเงิน เช็คยอดอินเทอร์เน็ต หรือซื้อแพ็คเกจ ฯลฯ Nextzy จะนำความต้องการเหล่านี้มาพัฒนาต่อ
แต่กว่าจะมาเป็นแอพพลิเคชั่น ต้องผ่านการทำงานหลายขั้นตอน ออมบอกว่า “โดยหลักๆ แล้ว Nextzy มีงานอยู่ 3 ตำแหน่ง คือ
System analyst ทำหน้าที่ติดต่อประสานงานและรับ requirement จากลูกค้า เพื่อนำมาวิเคราะห์เพื่อแจกแจงงานให้กับคนในทีม ทำเอกสารอธิบายรายละเอียดของงานให้กับคนในทีม เพื่อใช้เป็นเอกสารกลางให้คนในทีมเข้าใจตรงกันและสามารถทำงานไปในทางเดียวกัน และคอยประสานงานระหว่างคนในทีมด้วยกันหรือคนในทีมกับลูกค้า และรวบรวมข้อมูลจากระบบที่ทุกคนในทีมพัฒนาขึ้นมาไม่ว่าจะเป็น developer, designer หรือ tester ก็ตาม เพื่อจัดทำเป็นเอกสารที่เรียกว่า system requirement specification (SRS) เพื่อส่งมอบให้กับลูกค้า
Programmer/Developer ผู้ที่สร้างซอฟต์แวร์ขึ้นมาด้วยวิธีต่างๆ ไม่ว่าจะเขียนโค้ดและใช้เครื่องมือต่างๆ เพื่อสร้างซอฟต์แวร์ที่ตรงกับความต้องการของลูกค้าตามที่ system analyst มอบหมายให้ จะประกอบไปด้วยตำแหน่งย่อยดังนี้
- Front-end Web Developer พัฒนาในส่วนของหน้า website ซึ่งเป็นส่วนที่ใช้ติดต่อกับผู้ใช้งาน
- Back-end Web Developer พัฒนาระบบทำงานของ server และ database รวมไปถึงการออกแบบระบบบน server ให้มีความปลอดภัย เสถียร และสามารถรองรับผู้ใช้งานจำนวนมากๆ ได้
- iOS Developer พัฒนา application ใช้สำหรับ iOS
- Android Developer พัฒนา application ใช้สำหรับ Android
- UX/UI Designer ออกแบบหน้าตาของ software ได้ตรงตามโจทย์
Tester ทำหน้าที่ทดสอบ software ให้ตรงกับ requirement และครอบคลุมมากขึ้น และทำการเตรียมข้อมูลจำลอง (mock) เพื่อจำลองการทดสอบในกรณีต่างๆ เมื่อ software เสร็จสมบูรณ์ก็จะทำการทดสอบใหม่ทั้งระบบอีกครั้งเพื่อยืนยันว่าทำงานได้ถูกต้องก่อนที่จะนำ software ตัวนั้นไปใช้งานจริง
แบ่งงานชัดเจน ทุกคนต้องช่วยกัน
แม้หน้าที่จะถูกแบ่งอย่างชัดเจน แต่เมื่อทำงานจริง ทุกคนต่างมีส่วนร่วมในทุกขั้นตอน ไม่ได้ทำงานแบบสายพาน 1-2-3-4
เอก ในฐานะที่เเป็น Android developer เล่าให้ฟังว่า “การทำงานแบบสายพานจะมีความเสี่ยง เช่น ออมบอกผมว่า ทำอันนี้ให้หน่อย แล้วถ้าผมหายไปนั่งโค้ดสองสัปดาห์ ก่อนจะโผล่มาบอกว่า มันมีปัญหา หรือทำไม่ทัน ถ้าเป็นอย่างนั้นจะไม่โอเคสำหรับที่นี่ ส่วนมากเราจะทำงานด้วยกันมากกว่า เพื่อจะได้รู้ว่าแต่ละคนกำลังทำอะไรอยู่”
หรือในกรณีที่ไปรับงานจากลูกค้า ดูเหมือนจะเป็นหน้าที่ของ system analyst เพียงฝ่ายเดียว แต่เวลาทำงานจริง ฝ่ายอื่นก็ต้องไปด้วย เพื่อความละเอียดในการรับงานลูกค้า เอกบอกว่า “ตอนที่ไปคุยกับลูกค้า ไม่ได้ส่งน้องออมที่เป็น system analyst ไปคนเดียว แต่จะส่ง dev. (คำย่อของ Developer) หรือบางทีก็เอา tester ไปด้วย เพราะแต่ละคนก็จะมองภาพไม่เหมือนกัน
“อย่างออมไปเก็บ requirement จากลูกค้า ออมจะถามบางอย่างที่ลูกค้าไม่ได้พูด เพื่อให้ละเอียดขึ้น ทำงานได้ง่ายขึ้น แต่บางอย่างที่ออมไม่รู้ แต่คนที่ทำอย่างอื่นอาจจะรู้ ถ้าเขาไปด้วย เขาจะได้ถาม เพื่อให้ requirement มันละเอียดขึ้น เช่นถ้าลูกค้าบอกว่าอยากให้คลิป video online ที่เขามีอยู่แล้วมาต่อกับระบบ ออมก็จะ ‘อ๋อ ลูกค้าจะเอาวิดีโอที่แสดงผลได้’ ก็จบ แต่ถ้า dev. ไปด้วย dev. ก็จะถามต่อว่า ‘ใช้ระบบวิดีโอของเจ้าไหนอยู่ครับ’ นี่เป็นคำถามทางเทคนิค เพราะบางทีเขาแค่ลืมบอก ส่วนเราก็ไม่ได้ถาม การที่เราเอาคนไปช่วยกันคิด มัน brainstorm ได้ง่ายขึ้น requirement ก็จะละเอียดขึ้น”
ฝั่ง tester ที่ตามบทบาทเหมือนจะมีหน้าที่แค่ตอนจบงาน แต่ในความเป็นจริงแล้วแทบจะอยู่ในทุกขั้นตอนด้วยซ้ำ
“หลังจากที่รับ requirement มา เราก็มาประชุมรวมเพื่อให้ developer คนที่ต้องเขียนโค้ดมาช่วยดูว่า ถ้าเขาต้องเขียนโค้ด ต้องออกมาลักษณะอย่างไร ในระหว่างนั้น tester ต้องนึกแล้วว่าถ้า developer ทำงานเสร็จ เขาต้อง test อะไรบ้าง เขาต้องแพลนว่าเขาจะกดอะไรบ้าง แล้วถ้ามีปัญหาเขาก็ต้องวิเคราะห์ไปในตัวด้วยว่าปัญหานี้เกิดจากอะไร”
Technology ส่วนสำคัญของการทำงาน
ด้วยความที่ทำงานกับเทคโนโลยี Nextzy จึงเลือกสรรเครื่องมือเพื่อก่อให้เกิดประสิทธิภาพในการทำงานสูงสุด รวมทั้งแนวคิดในการทำงานเพื่อเน้นความคล่องตัวที่เรียกว่า AGILE
Agile ไม่ทิ้งลูกค้าไว้กลางทาง
“Agile เป็นวิธีการทำงานในด้านซอฟต์แวร์แบบใหม่ที่นิยมใช้กันตอนนี้ เปรียบเทียบกับสมัยก่อน ยกตัวอย่างเช่น ผมเป็นเจ้าของร้านค้าขนาดใหญ่ แล้วผมอยากมีเว็บไซต์ มีแอพพลิเคชั่นเพื่อขายของให้ง่ายขึ้น เราก็ถามว่า แล้วคุณอยากขายแบบไหน
ลูกค้าตอบว่า ผมอยากแสดงสินค้า ลูกค้าสามารถซื้อสินค้าได้ จ่ายเงินได้ คนขายเองก็เรียกเก็บเงินได้ ยิงโปรโมชั่นได้ ทีนี้ก็มีประเด็นว่าลูกค้าต้องการทั้งหมด ถ้ายิ่งเยอะก็ต้องใช้เวลาทำนาน ลูกค้ามีความต้องการเยอะมากๆ โอเค เราขอเวลา 1 ปี เราก็หายไปทำงาน 1 ปี จนได้ซอฟต์แวร์ออกมา
ลองนึกภาพให้เหมือนการสร้างบ้าน ลูกค้าไม่เคยเห็นบ้านเลย 1 ปีผ่านไป พอมาดู เราบอกว่า นี่คือบ้านของคุณ เนี่ยเสร็จแล้วนะ คุณลองไปเดินเล่นในบ้านดู พอเข้าไปเดินดูจริงๆ ก็อาจมีหลายอย่างที่ไม่ตรงใจลูกค้า พอลูกค้าบอกให้ปรับ ทีนี้แทนที่จะ 1 ปีเสร็จก็เลื่อนไปเป็น 1 ปีครึ่งหรือ 2 ปี ทีนี้ลองนึกภาพว่าถ้าเป็นแอพพลิเคชั่นที่กำลังจะเข้าสู่ตลาดล่ะ มันหายไปสองปี เผลอๆ อาจมีเจ้าอื่นทำเสร็จและครองตลาดไปแล้ว” เอกยกตัวอย่างประกอบคำอธิบาย
วิธีการทำงานแบบนี้เรียกว่า waterfall คือ การทำงานเป็นขั้นตอนจากบนลงล่าง ทำเสร็จไปทีละขั้นๆ แล้วค่อยส่งงานสำเร็จทีเดียว แต่จะเกิดปัญหาตามมาว่า อาจไม่ตอบโจทย์และไม่ได้เป็นไปตามที่ลูกค้าต้องการ
แนวคิดหลักๆ ของ Agile มีดังนี้
- ทำงานเป็นทีม และมีการ communicate กันในทีมอย่างต่อเนื่อง
- ผิดพลาดได้ และต้องแก้ให้ได้โดยเร็ว พร้อมเปลี่ยนแปลง และปรับตัวอยู่เสมอ
- ค่อยๆ พัฒนาไปทีละนิดๆ โดยมีการส่งมอบงาน และอัพเดทกันอย่างต่อเนื่อง ไม่รอให้เกิดเป็นโปรเจ็คท์ใหญ่ แล้วส่งทีเดียว
- ลดขั้นตอนที่ไม่จำเป็น ให้ความสำคัญกับ value ให้มากที่สุด (ที่มา: https://www.coraline.co.th)
“Agile จะเอา waterfall มาแบ่งซอยย่อยให้ละเอียดมากขึ้น โดยที่เราคอยส่งงานหรือฟีเจอร์บางส่วนให้ลูกค้าเอาไปทดลองใช้ เอาไปทดสอบเพื่อให้ชัวร์ก่อนว่าเวิร์คหรือไม่ ทำทีละส่วนไปเรื่อยๆ ไม่ใช่โยนทั้งก้อนไปให้เขาใช้งาน”
Slack คุยเพื่องาน สื่อสารให้ตรงจุด
ออม ออน และเอก เล่าว่าในออฟฟิศใช้ Slack ในการสื่อสารภายในองค์กร เพราะ Line กับ Facebook ไม่ตอบโจทย์ในการทำงาน ยกตัวอย่างเช่น ออน จะส่งดีไซน์ให้เอกดู ก็ถูก Line กับ Facebook ย่อภาพให้เล็กเสียจนนำไปใช้งานจริงไม่ได้ การสืบค้นย้อนหลังก็ทำได้ยาก เอกเสริมว่าการส่งโค้ดที่เป็นอักขระหลายบรรทัด ผ่านโปรแกรมแชทอย่าง Line ก็มักทำให้เกิดข้อผิดพลาดได้
Slack คือ ‘แพลตฟอร์ม’ สำหรับการสื่อสารกันภายในทีม (team communication) ซึ่งสามารถแลกเปลี่ยนไอเดียในรูปแบบต่างๆ ไม่ว่าจะเป็นข้อความธรรมดา code snippets ไฟล์ภาพ วิดีโอ ลิงค์ ตารางนัดหมาย ฯลฯ อีกทั้งยังโพสต์โต้ตอบกันเหมือนโซเชียลเน็ตเวิร์คเน้นใช้ “เพื่อทำงาน” ไม่ใช่เพื่อคุยเล่น และในหนึ่งโปรเจ็คท์ สามารถแยกกลุ่มก้อนการทำงานได้เป็น channel (เห็นเป็น #hashtags แยกกันไป) ซึ่งใครมีหน้าที่รับผิดชอบในส่วนไหนก็เข้าไปอัพเดตความคืบหน้าเฉพาะใน channel นั้นๆ ได้
แม้ว่า Nextzy จะแบ่งออกเป็นสามทีม แต่การแลกเปลี่ยนความคิดไม่จำกัดอยู่เฉพาะในตำแหน่งหน้าที่ เช่นเวลาที่ออนดีไซน์ UI ของเว็บ ก็จะเปิดภาพให้เพื่อนๆ ในออฟฟิศช่วยกันดูและช่วยกันเลือก จากนั้นอาจจะเปิดโหวตกันว่าจะเลือกแบบไหนเพื่อนำไปเสนอลูกค้า
ออนเล่าว่า “เวลาที่ออนดีไซน์มา ทุกคนสามารถคอมเมนต์ได้ บอกกันได้ พอหนูออกแบบเสร็จ หนูก็จะเปิดให้ดูเลยว่าทุกคนโอเคหรือเปล่า ถ้าทุกคนโอเคก็จะส่งให้ dev. แต่ถ้ามีคนบอกว่าจะต้องแก้ตรงนี้ๆๆ ก็จะแก้ให้ แม้ว่าหลายคนจะมองไม่เหมือนกัน เราก็จะโหวต แล้วก็ตัดสินใจ”
เอกเสริมว่า “หลายความเห็นไม่สำคัญเท่า เมื่อทุกคนโหวตแล้วผลลัพธ์ออกมาเป็นอย่างไร คุณต้องเคารพเสียงส่วนใหญ่นั้น คุณไม่ควรทำงานที่เป็นแบบ ‘มันน่าจะเป็นอย่างนี้’ เฮ้ย แต่เราตัดสินใจร่วมกันแล้วนี่ คุณก็ต้องยอมรับว่าเราเห็นพ้องต้องกัน ถ้ายากที่สุดคือเรื่องเทคนิค อย่างเมื่อออนออกแบบมาแล้ว dev. บอกว่าหน้าตาแบบนี้ทำยากมาก ก็จะ feedback มาบอกออนว่ามันยากมากสำหรับอันนี้ ออนก็จะปรับให้”
แต่กว่าจะมาลงตัวที่ Slack ชาว Nextzy ต้องร่วมมือร่วมใจกันทดลองว่าแพลตฟอร์มนั้นๆ ตอบโจทย์การทำงานของพวกเขาจริงหรือไม่ เวลามีเครื่องมืออะไรน่าสนใจ ทุกคนก็จะให้ความร่วมมือ เข้าใปลองใช้ แล้วร่วมกันตัดสินใจว่า มันเหมาะสมกับทีมไหม
เทคโนโลยีล้ำแค่ไหน เราก็ต้องเจอหน้าและสื่อสารกัน
แม้ว่าชาว Nextzy จะมีแอพพลิเคชั่นมาช่วยเรื่องการทำงานมากแค่ไหน แต่สำหรับคนที่นี่ การเข้าออฟฟิศ การเจอหน้ากัน การพูดคุยกันยังถือเป็นสิ่งที่สำคัญที่สุด นี่จึงเป็นเหตุผลว่า ทำไมออฟฟิศนี้ถึงเต็มไปด้วยเครื่องสันทนาการ
“พนักงานที่นี่ต้องเข้าออฟฟิศ เหตุผลหลักๆ คือเรื่อง communication จริงๆ มันสามารถทำงานสไตล์รีโมตได้แหละ แต่จะขาดเรื่องการสื่อสารของคนในทีม เช่น ถ้าผมทำงานอยู่บ้านทุกวัน แล้วผมไม่รู้ว่า ออมเป็นคนยังไง นิสัยอย่างไร แค่ข้อความที่ออมส่งมาว่า ทำอันนี้ๆ ให้หน่อย ผมอาจจะเข้าใจผิด หรือคุยกันไม่รู้เรื่องได้
“ฉะนั้นออฟฟิศที่นี่จะมีทุกอย่าง เกมคอนโซล โต๊ะพูล บอร์ดเกม คาราโอเกะ เครื่องดนตรี ฯลฯ เพราะถ้าคุณทำออฟฟิศให้เหมือนบ้าน ทำให้มันเป็นที่ที่สนุก เราก็จะรู้สึกว่าอยากเข้าออฟฟิศ จะไม่ค่อยมีความรู้สึกว่า วันจันทร์อีกแล้ว จะมีแต่ อ้าววันศุกร์แล้วเหรอ ถ้าทำให้เขารู้สึกว่าอยากมาออฟฟิศ เขาก็อยากจะทำงาน
เวลาเครียดๆ เราก็จะมาเล่นเกมกัน บางทีเล่นเกมมากกว่าทำงานเสียอีก แล้วพอดึกๆ เราก็จะเห็นเขาใน Slack คือนั่งทำงานชดใช้กรรมกันอยู่ (หัวเราะ)” เอกทิ้งท้าย