เวลาอู้

ผมกำลังอ่านหนังสือ Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency ของ Tom DeMarco ซึ่งได้ให้มุมมองใหม่เกี่ยวกับ Slack time หรือเวลาอู้งานกับผม แต่ก่อนจะเล่าว่าผมเห็นอะไร ผมของแบ่งปันมุมมองเวลาผมดูองค์กรก่อนนะ สายการผลิต คนในองค์กรมารวมตัวกันเพราะเราต้องการบรรลุเป้าหมายที

เวลาอู้

ผมกำลังอ่านหนังสือ Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency ของ Tom DeMarco ซึ่งได้ให้มุมมองใหม่เกี่ยวกับ Slack time หรือเวลาอู้งานกับผม

แต่ก่อนจะเล่าว่าผมเห็นอะไร ผมของแบ่งปันมุมมองเวลาผมดูองค์กรก่อนนะ

สายการผลิต

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

แต่ละองค์กรมักจะมีสายการผลิตที่ต้องส่งต่องานกันอยู่ เพื่อลดความวุ่นวาย ถ้าให้นึกภาพง่าย ๆ ลองจินตนาการสายการผลิตของโรงงานสร้างตุ๊กตาไม้ก็ได้ กระบวนการมี 3 แผนกคือ

  1. ต่อหัวและติดผม
  2. ต่อแขนขา
  3. วาดตาและปาก

ซึ่งงานก็จะไหลจากแผนก 1 ไปถึง 3 เรื่อย ๆ และ flow ที่ดีที่สุดเลยคือการที่ทั้ง 3 แผนกทำงานเร็วพอ ๆ กัน เพราะเงินที่ลงทุนไปในสายการผลิตนี้จะคล่องตัวสุด คือเงินลงทุนที่ซื้อไม้มา ก็เปลี่ยนเป็นสินค้าที่ขายได้เร็วที่สุด

หลักการของการไหล

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

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

แต่ข้อดีคือ มันทำให้แผนกที่ 3 ว่าง มันเกิดเวลาอู้ (slack time) เวลาแบบนี้ทำให้แผนกที่ 3 ได้พัก กลับมาดูว่ากระบวนการทำงานมีตรงไหนต้องปรับปรุงบ้าง เพื่อเพิ่มประสิทธิภาพในการทำงานในระยะยาว

ทำไมองค์กรชอบทำลายเวลาว่าง

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

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

เปรียบเปรยกับการวิ่งผลัด

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

การที่เราหาอะไรมาให้แผนกที่ 3 ทำ ถ้ามันเสร็จก่อนที่งานจากแผนกที่สองจะมาถึงก็ดีไป แต่ถ้าแผนกสองส่งตุ๊กตาที่ต่อแขนขาเสร็จแล้วมา แต่แผนกวาดปาก ไปวาดภาพขายอยู่หล่ะ ลูกค้าก็ต้องรอตุ๊กตานานขึ้นใช่ไหม

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

เปรียบเหมือนกับตอนวิ่งผลัดที่ไม้ 2 กำลังวิ่งมา แล้วไม้ 3 ก็เลยวิดพื้นรอ แทนที่จะเตรียมรับไม้ต่อ

มุมมองใหม่ของเวลาว่างที่ผมเห็น

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

ที่ผมเอาเรื่องนี้มาแบ่งปันเพราะ เวลาว่างก็เหมือนอากาศหายใจ 2 ประการ อย่างแรกคือมันอยู่รอบตัวเรา แต่ไม่ค่อยมีใครเห็นคุณค่ามันเท่าที่ควร อย่างที่สองที่หนังสือเล่มนี้สอนผมคือ มันเป็นองค์ประกอบสำคัญของความสร้างสรรค์และพัฒนาการ

ผมได้ยินคำว่า “ยิ่งรีบยิ่งช้า” มาหลายครั้ง แต่เพิ่งจะเห็นเหตุผลของมันนี่แหละว่าสาเหตุที่ยิ่งรีบยิ่งช้า เพราะในความรีบ เราขยับตัวเร็วขึ้นได้ แต่เรา คิด เร็วขึ้นไม่ได้

ถ้าอยากคิดออกให้เร็วขึ้น คือต้องมีเวลาว่างนี่แหละ

Read more

เริ่มต้นกับ Functional Programming

เริ่มต้นกับ Functional Programming

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

By Chokchai Phatharamalai
Values ของ Framework ต่าง ๆ

Values ของ Framework ต่าง ๆ

ผมหาคุณค่า (Values) ของผมเจอจากการสังเกตความต้องการที่มักจะมาหาผมบ่อย ๆ ทั้งตอนที่มันได้รับการตอบสนองและทำให้ผมรู้สึกดีมาก ๆ รวมถึงตอนที่มันไม่ได้รับการตอบสนองและทำให้ผมปั่นป่วนมาก ๆ พอความต้องการไหนมาเคาะประตูใจผมบ่อย ๆ ผมก็เริ่มพิจารณาว่าความต้องการนี้แหละที่เป็น Value หนึ่งสำหรั

By Chokchai Phatharamalai
Accepted Responsibility

Accepted Responsibility

ช่วงนี้ผมกำลังอ่านหนังสือ Extreme Programming Explained ของ Kent Beck แล้วก็ได้เจอหัวข้อหนึ่งที่กระทบใจ คือ principle ที่เรียกว่า Accepted Responsibility Principle คืออะไร? ในหนังสืออธิบายว่า Principle คือหลักการที่ทำให้ Values ของ XP กลายเป็น Practices ได้

By Chokchai Phatharamalai
The Five Ideals

The Five Ideals

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

By Chokchai Phatharamalai