คนไม่ใช่สิ่งทดแทนกันได้ (People are not Fungible)

คนไม่ใช่สิ่งทดแทนกันได้ (People are not Fungible)

ในปี 2546 นักศึกษาคณะวิทยาศาสตร์ที่เรียนอยู่ที่ศูนย์รังสิตมาตลอดแบบผม ได้มีโอกาสเข้าเมืองไปเรียนที่ธรรมศาสตร์ ท่าพระจันทร์ เป็นครั้งแรก นอกจากจะตื่นตาตื่นใจกับของอร่อยมากมายรอบมหาวิทยาลัยแล้ว บรรยากาศที่ศูนย์ท่าพระจันทร์มันมีมนต์ขลังแปลก ๆ ตัวผมได้รู้จักคำว่า Human Resource เป็นครั้งแรกในวิชา Human Resource Management นี่แหละครับ

อาจารย์อธิบายถึงความสำคัญของบุคลากรในองค์กร และวิธีการดูแลพวกเขา ทั้งการวาง Career Path การฝึกอบรม การอนุมัติการขาด ลา มาสาย การตักเตือนพฤติกรรมที่ไม่เหมาะสม รวมถึงการปรับขึ้นเงินเดือน หรือเชิญออกสำหรับคนที่ไม่สามารถไปต่อกับองค์กรได้ ภาพจำที่ผมได้จากวิชานั้น ผมเห็นว่าบุคลากรควรได้รับความสำคัญและการดูแลเอาใจใส่ เพราะเป็นทรัพยากรที่ล้ำค่าที่สุดในองค์กร

15 ปีต่อมา ในยุคที่ใคร ๆ ก็พยายาม Adopt Agile ผมก็เริ่มได้ยินว่า หลายคนไม่อยากให้เรียกคนว่า Human Resource เพราะติดที่คำว่า Resource นี่แหละ การเรียกคนว่า Resource มันเหมือนกับ Printer หรือจอทีวี ซึ่งทำให้เราตกหลุมพราง เพราะคนไม่เหมือน Resource เหล่านี้ คนเราเรียนรู้ได้ เราไม่สามารถฝึกเครื่องถ่ายเอกสารให้ไปเป็นจอทีวีได้ แต่เราฝึกเจ้าหน้าที่รักษาความปลอดภัยมาเป็นเด็กเสิร์ฟ หรือเชฟในครัวได้นะ

แล้ววันนี้ที่ผมได้อ่านหนังสือ Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency ของ Tom DeMarco ผมก็ได้เจอมุมมองใหม่สำหรับบุคลากรในองค์กร นั่นคือคำว่า "บุคลากรไม่ Fungible"

Fungible คืออะไร?

Fungible แปลว่า "ทดแทนกันได้" เช่น Printer เสีย ก็ซื้อเครื่องใหม่มาแทนได้ ซึ่งพอเป็นเครื่องใหม่เราก็อาจจะใช้ไม่คล่องเท่าเดิมนะ แต่ความยากในการปรับตัวยังน้อยมากเมื่อเทียบกับคน

เวลาคน ๆ หนึ่งทำงานอยู่ในทีมหรือโปรเจกต์ (Project) หนึ่งขององค์กร แล้วเขามาบอกว่าขอลาออก ปกติเราอยากให้เขาบอกล่วงหน้า 1-2 เดือน เพราะมันใช้เวลากว่าจะหาคนมาแทน พอหาคนมาได้ ต่อให้ตรงสายกับที่คนปัจจุบันทำอยู่เลย แต่วันแรกที่คนใหม่เข้ามาทำงาน ปกติเขาก็ยังทำอะไรไม่ค่อยได้ ต้องค่อย ๆ เรียนรู้งาน ทำความรู้จักกับนิสัยใจคอคนในทีม ใครรู้เรื่องอะไร ชำนาญเรื่องไหน ขอบเขตงานอยู่ตรงไหน และเล่นมุกอะไรได้แค่ไหน เมื่อปรับตัวได้แล้ว งานถึงจะดำเนินต่อไปได้

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

หนังสือเล่มนี้สอนให้ผมมองว่า คนแต่ละคนในองค์กรมีโอกาสลาออก และค่าใช้จ่ายที่ต้องใช้เพื่อจ้างคนใหม่ รวมถึงเงินเดือนที่ต้องจ่ายให้คนใหม่ไปจนกว่าเขาจะกลับมาทำงานได้เท่าคนเก่า ทั้งหมดนี้คือ "ต้นทุน" ที่ต้องลงไปเวลามีใครสักคนออกจากองค์กร

Matrix Management

ก่อนจะไปต่อ เราจะเห็นวิธีการบริหารคนแบบหนึ่งเรียกว่า Matrix Management คือการให้พนักงานหนึ่งคนทำงานกับหัวหน้าคนหนึ่ง อาจจะเป็น Product Owner แต่เวลาจะ Review ขึ้นเงินเดือน ให้ไปคุยกับอีกคนหนึ่ง เช่น Test Manager

คุณคิดว่าวิธีนี้ปกติไหม? บางคนอาจจะคุ้นชินกับวิธีการนี้ในองค์กรใหญ่ ๆ จนไม่เห็นความแปลกแล้ว แต่บางคนที่ไม่เคยเจอมาก่อนจะสงสัยมาก ๆ ว่าทำไปทำไมนะ? เพราะการที่ Test Manager จะรู้ว่าคนนี้ทำงานได้ดีแค่ไหน สุดท้ายก็ต้องไปถาม Product Owner อยู่ดี

เหตุผลที่เขาทำแบบนี้ เพราะพอเขาเชื่อว่าคนเรา Fungible (ทดแทนกันได้) นอกจากจะแทนกันได้แล้ว ก็ยังสามารถ "แบ่ง" ไปทำงานใน 2 ทีมได้ด้วย เพื่อไม่ให้เขานั่งว่าง ๆ พอเขาทำงานให้ Product Owner 2 คน ก็เลยไม่มี Product Owner คนไหนที่เห็นภาพรวมครบถ้วนว่าคนนี้ทำงานได้ดีแค่ไหน จึงต้องเอา Test Manager มาประสาน เพื่อคอยถาม Product Owner ทุกคน แล้วเอาคำตอบมารวม ๆ กันเพื่อทำการประเมินประจำปี

ดูแลคนทำงานให้เป็น "คน"

ผมเห็นหลายองค์กรที่บริหารจัดการคนแบบไม่ Fungible และก็เห็นอีกหลายองค์กรที่ยังใช้แนวปฏิบัติที่สอดรับกับความเชื่อว่าคน Fungible อยู่ ซึ่งสิ่งที่หนังสือเล่มนี้สอนผมคือ รากของความคิดนี้มาจากมาตรการ "ลดค่าใช้จ่าย" ของพวกบริษัทที่ปรึกษา (Consulting Firm) นี่แหละครับ

ที่ผมเอาเรื่องนี้มาแบ่งปันเพราะผมได้บทเรียนสำคัญในฐานะผู้บริหารมา นั่นคือ "การดูแลคนทำงานให้ดี สอนเขาจนเขาเก่งพอที่จะจากเราไป และดูแลเขาให้ดีพอจนเขาไม่อยากไป"

ส่วนบทเรียนสำคัญสำหรับคนทำงานคือ แยกให้ออกว่าสิ่งแวดล้อมที่เราทำงานอยู่เขาเชื่อแบบไหน เพราะมันมีผลกับความสัมพันธ์และประสบการณ์ทำงานมาก ถ้าเราดูออกเราก็จะได้เลือกสิ่งแวดล้อมการทำงานที่เหมาะกับสไตล์การใช้ชีวิตของเราได้ครับ เพราะการอยู่ผิดที่ผิดทาง มันเปลืองเวลา เปลืองพลังงาน และเปลืองใจเปล่า ๆ

Read more

The Five Ideals

The Five Ideals

จากหนังสือ The Unicorn Project ในนั้นจะมีที่ปรึกษาเก่ง ๆ คนหนึ่งชื่อ Erik เป็นเหมือนเซ็นเซหาตัวยาก เดี๋ยวก็มา เดี๋ยวก็ไป ถ้าโชคดีก็จะเจอเค้าว่าง แล้วเค้าก็จะสอนอะไรที่สำคัญ ๆ แต่ฟังดูล้ำ ๆ และลึกซึ้ง

By Chokchai Phatharamalai
Communication, Reliability and Modern concepts - System Design, Simply Explained

Communication, Reliability and Modern concepts - System Design, Simply Explained

บทความนี้จะอธิบายพื้นฐานของ System Design โดยต่อยอดจากตัวอย่าง Gym Application เพื่อให้เห็นภาพว่า เมื่อระบบเริ่มเติบโตและถูกแยกออกเป็นหลาย Service แต่ละ Service จะสื่อสารและทำงานร่วมกันอย่างไร งานแบบไหนควรสื่อสารแบบ Synchronous งานแบบไหนควรประมวลผลแบบ Asynchronous รวมถึงอธิบาย Concept พื้นฐานต่าง ๆ ที่ควรรู้ เช่น API

By Boonsong Srithong
Race condition

Race condition

ผมกำลังอ่านหนังสือ The Unicorn Project ซึ่งเป็นนิยายเกี่ยวกับ developer สาวคนหนึ่งที่ใช้ชีวิตในองค์กรท่ามกลางกระแส digital disruption อ่านแล้วสนุกมาก เป็นเรื่องที่ตื่นเต้น และหลาย ๆ dynamic ที่เกิดขึ้นก็คล้ายกับที่ผมพบเจอในบริษัทซอฟต์แวร์ เลยทำให้

By Chokchai Phatharamalai
Distributed Systems Concepts - System Design, Simply Explained

Distributed Systems Concepts - System Design, Simply Explained

ในช่วงแรก Product เราสามารถออกแบบระบบให้อยู่ใน Server และ Database เดียวกันได้ แต่เมื่อระบบโตขึ้น มีผู้ใช้งานเพิ่มขึ้น ข้อมูลเยอะขึ้น ระบบเริ่มทำงานช้าลดเรื่อยๆ สิ่งที่หนีไม่ได้คือการ Decomposition Service ไปเป็น Distributed System เช่น Member Service, Booking Service, Payment

By Boonsong Srithong