ทำหลายผลิตภัณฑ์พร้อมกันคนเดียวโดยไม่พัง — ระบบที่ผมใช้จริง
ข้อจำกัดจริงของคนทำหลายผลิตภัณฑ์ไม่ใช่จำนวนชั่วโมง แต่คือจำนวนบริบทที่สมองสลับได้ต่อวัน นี่คือกฎ 5 ข้อที่ผมใช้จัดการมันจริง ๆ
เนื้อหาเพื่อการศึกษา ไม่ใช่คำแนะนำการลงทุน
ผมเคยเชื่อว่าปัญหาของการทำผลิตภัณฑ์หลายตัวพร้อมกันคือเวลาไม่พอ พอเริ่มจดจริงจังว่าแต่ละวันทำอะไรได้บ้าง ผมพบว่าตัวเองเข้าใจผิดมาตลอด วันที่ผมมีเวลาว่างแค่สามชั่วโมงแต่ปิดงานได้หลายชิ้น กับวันที่นั่งหน้าจอทั้งวันแล้วได้งานครึ่งเดียว ต่างกันที่ตัวแปรเดียว คือจำนวนครั้งที่ผมสลับบริบท
ทรัพยากรที่หายากที่สุดของคนทำหลายอย่างพร้อมกันไม่ใช่ชั่วโมง แต่คือ จำนวนบริบทที่สมองเปิดได้ต่อวัน และตัวเลขนั้นต่ำกว่าที่เราคิดมาก ของผมอยู่ที่ประมาณสามบริบทต่อวัน เกินกว่านั้นคุณภาพงานตกลงชัดเจน ไม่ใช่ตกลงนิดหน่อย แต่ตกลงจนต้องกลับมาแก้ใหม่ในวันถัดไป ซึ่งแปลว่าติดลบ
เมื่อยอมรับข้อจำกัดนี้ วิธีคิดเรื่องการจัดการงานเปลี่ยนไปทั้งหมด เป้าหมายไม่ใช่ "หาเวลาเพิ่ม" แต่คือ "ทำให้แต่ละบริบทที่เปิดแล้วได้ผลผลิตมากที่สุด และลดจำนวนบริบทที่จำเป็นต้องเปิด"
ทำไมการสลับบริบทถึงแพงกว่าที่รู้สึก
ต้นทุนของการสลับบริบทไม่ได้อยู่ที่นาทีที่เสียไปตอนสลับ แต่อยู่ที่สิ่งที่หายไปจากหัว ตอนคุณอยู่ลึกในผลิตภัณฑ์ตัวหนึ่ง ในหัวคุณมีแผนที่ทั้งชุด — โครงสร้างข้อมูล ปัญหาที่ผู้ใช้บ่นล่าสุด สิ่งที่ตัดสินใจไว้เมื่อสัปดาห์ก่อนและเหตุผลของมัน เดือดร้อนตรงไหน ยังไม่ทำอะไร แผนที่ชุดนี้ใช้เวลาสร้างประมาณยี่สิบถึงสี่สิบนาที และมันหายทันทีที่คุณกระโดดไปตัวอื่น
พอกลับมาอีกที คุณไม่ได้เริ่มจากศูนย์ แต่เริ่มจากติดลบ เพราะจำผิดว่าเคยตัดสินใจอะไรไว้ แล้วทำซ้ำหรือขัดกับของเดิม ผมเคยเขียนฟีเจอร์เดียวกันสองรอบด้วยตรรกะที่ขัดกันเอง เพราะเว้นช่วงไปสามสัปดาห์แล้วจำเหตุผลเดิมไม่ได้
นี่คือเหตุผลที่คนทำผลิตภัณฑ์เดียวเต็มเวลาไม่ได้เก่งกว่าเรา เขาแค่จ่ายค่าสลับบริบทน้อยกว่าเรามาก
กฎข้อ 1 มัดงานประเภทเดียวกันไว้ด้วยกัน ข้ามผลิตภัณฑ์
ระบบเดิมของผมจัดตารางแบบ "วันจันทร์ทำ Align วันอังคารทำ DAVI" ฟังดูเป็นระเบียบ แต่มันบังคับให้ผมเปิดบริบทใหม่ทุกวัน และในหนึ่งวันต้องสวมหมวกทั้งนักออกแบบ คนเขียนโค้ด คนตอบลูกค้า คนเขียนคอนเทนต์ ครบชุด
ผมสลับมาจัดตามประเภทงานแทน วันหนึ่งเป็นวันเขียนโค้ดของทุกผลิตภัณฑ์ วันหนึ่งเป็นวันเขียนคอนเทนต์ของทุกผลิตภัณฑ์ วันหนึ่งเป็นวันคุยกับผู้ใช้ของทุกผลิตภัณฑ์ ผลลัพธ์ต่างกันชัดเจน เพราะ โหมดของสมองสำคัญกว่าชื่อโปรเจกต์ โหมดเขียนโค้ดกับโหมดเขียนคอนเทนต์ใช้คนละส่วนของหัว ส่วนการย้ายจากโค้ดของ Align ไปโค้ดของ AppBuddy นั้นถูกกว่ามาก เพราะโหมดยังเหมือนเดิม
กฎที่ผมใช้ตอนนี้คือ ถ้าย้ายระหว่างสองงานแล้วต้องเปลี่ยนโหมดของสมอง ให้เอาไว้คนละวัน ถ้าโหมดเดียวกันแค่คนละผลิตภัณฑ์ ให้มัดรวมไว้วันเดียวกัน
กฎข้อ 2 ตัดสินใจครั้งเดียว ใช้ได้ทุกที่
ทุกครั้งที่ผมตัดสินใจอะไรที่จะต้องตัดสินใจซ้ำอีกในผลิตภัณฑ์ตัวอื่น ผมถือว่านั่นคือหนี้ ไม่ใช่งานที่เสร็จ
ตัวอย่างที่จับต้องได้ ระบบล็อกอิน วิธีเก็บเงิน โครงสร้างฐานข้อมูลผู้ใช้ วิธีจัดการอีเมล วิธี deploy โครงหน้า landing page โทนภาษาที่ใช้กับลูกค้า ทั้งหมดนี้ถ้าตัดสินใจใหม่ทุกผลิตภัณฑ์ คุณจะจ่ายค่าคิดซ้ำหกรอบ และได้ผลลัพธ์ที่ไม่เหมือนกันหกแบบ ซึ่งแปลว่าเวลาแก้บั๊กก็ต้องเรียนรู้ใหม่หกรอบเหมือนกัน
ผมเปลี่ยนวิธีคิดเป็น เวลาตัดสินใจเรื่องพวกนี้ ผมยอมใช้เวลานานกว่าปกติสองถึงสามเท่า แต่ตัดสินใจในฐานะ "มาตรฐานของทุกผลิตภัณฑ์" ไม่ใช่ "ทางออกของผลิตภัณฑ์นี้" แล้วเขียนเก็บไว้เป็นลายลักษณ์อักษรพร้อมเหตุผล เพื่อให้ตัวผมในอีกหกเดือนไม่ต้องเดาว่าทำไมถึงเลือกทางนี้
ข้อดีที่ไม่ค่อยมีใครพูดถึงคือ พอมาตรฐานเหมือนกันหมด ผลิตภัณฑ์ตัวที่หกใช้เวลาสร้างน้อยกว่าตัวแรกมาก ไม่ใช่เพราะผมเก่งขึ้น แต่เพราะเหลือเรื่องที่ต้องคิดใหม่แค่ส่วนที่เป็นแก่นของมันจริง ๆ
กฎข้อ 3 มีรายการต้องห้ามปรับแต่งรายผลิตภัณฑ์
นี่คือกฎที่ช่วยผมมากที่สุด และเป็นกฎที่ผมละเมิดบ่อยที่สุดในช่วงแรก
ผมมีรายการชัดเจนว่าอะไรที่ ห้ามทำให้ต่างกันระหว่างผลิตภัณฑ์ ต่อให้มีเหตุผลดีแค่ไหนก็ตาม รายการนั้นคือ ระบบยืนยันตัวตน ระบบจ่ายเงิน โครงสร้างการ deploy ระบบเก็บ log และแจ้งเตือน ชุดสีและตัวอักษรพื้นฐาน โครงสร้างของหน้าราคา
เหตุผลไม่ใช่เพราะทางเลือกอื่นแย่กว่า หลายครั้งทางเลือกเฉพาะทางดีกว่าจริง แต่ต้นทุนที่มองไม่เห็นคือ ทุกความแตกต่างที่คุณสร้าง คุณต้องจำมันไปตลอดชีวิตของผลิตภัณฑ์ ห้าความแตกต่างคูณหกผลิตภัณฑ์คือสามสิบข้อยกเว้นที่ต้องอยู่ในหัว และหัวคุณมีที่ว่างไม่พอ
สิ่งที่อนุญาตให้ต่างได้คือส่วนที่เป็นคุณค่าเฉพาะของผลิตภัณฑ์นั้นจริง ๆ เท่านั้น เช่นวิธีคำนวณของ DAVI หรือวิธีจัดการสต๊อกของ AppBuddy ส่วนที่เหลือคือโครงสร้างพื้นฐาน และโครงสร้างพื้นฐานควรน่าเบื่อ
กฎข้อ 4 ไม่ใช่ทุกตัวเดินพร้อมกัน
ความผิดพลาดที่แพงที่สุดของผมคือพยายามผลักทุกผลิตภัณฑ์ไปข้างหน้าพร้อมกันทุกสัปดาห์ ผลคือทุกตัวขยับนิดเดียว ไม่มีตัวไหนถึงจุดที่คนใช้รู้สึกได้
ตอนนี้ผมกำหนดสถานะให้แต่ละผลิตภัณฑ์อย่างชัดเจน มีตัวที่อยู่ในโหมดผลักดัน คือได้เวลาลึกและได้ความคิดใหม่ ตัวที่อยู่ในโหมดประคอง คือแก้เฉพาะเรื่องที่พังและตอบผู้ใช้ ไม่เพิ่มของใหม่ และตัวที่อยู่ในโหมดพัก คือปล่อยให้ทำงานของมันไปโดยไม่แตะเลยเป็นเดือน
กติกาคือ ผลักดันได้ครั้งละไม่เกินหนึ่งถึงสองตัว การจะเลื่อนตัวใหม่ขึ้นมาผลักดัน ต้องมีตัวเก่าลงไปประคองก่อน ไม่มีการเพิ่มโดยไม่ลด ฟังดูโหดแต่มันคือการยอมรับความจริงเรื่องขีดจำกัดของบริบท มากกว่าจะแกล้งว่าไม่มี
กฎข้อ 5 ให้ระบบจำแทนสมอง
ทุกอย่างข้างบนพังทันทีถ้าคุณเก็บมันไว้ในหัว เพราะพอกลับมาที่ผลิตภัณฑ์ที่ไม่ได้แตะมาสามสัปดาห์ คุณจะจำไม่ได้ว่าค้างอะไรไว้ แล้วเสียเวลาครึ่งชั่วโมงแรกไปกับการอ่านโค้ดตัวเองเพื่อกู้ความจำ
สิ่งที่ผมบังคับตัวเองทำคือ ก่อนปิดบริบทของผลิตภัณฑ์ใด ให้เขียนสามบรรทัด — ทำอะไรไปแล้ว ค้างอะไรอยู่ และงานถัดไปที่เจาะจงที่สุดคืออะไร ไม่ใช่ "ปรับหน้าราคา" แต่เป็น "เปลี่ยนข้อความปุ่มบนหน้าราคาเป็นแบบ ก แล้วดูอัตราคลิกหนึ่งสัปดาห์"
สามบรรทัดนี้ใช้เวลาสองนาที และประหยัดเวลาให้ผมประมาณครึ่งชั่วโมงทุกครั้งที่กลับมา นี่คือส่วนที่เชื่อมกับแนวคิดสมองที่สอง ซึ่งผมเขียนละเอียดไว้ที่ การสร้างสมองที่สองในทางปฏิบัติ
สิ่งที่ผมยอมแลก
ระบบนี้ไม่ฟรี ต้นทุนที่ผมจ่ายคือความเร็วในการตอบสนอง ผลิตภัณฑ์ที่อยู่ในโหมดพักจะได้ของใหม่ช้ามาก ถ้ามีคนขอฟีเจอร์ตอนนี้ ผมตอบตรง ๆ ว่ายังไม่ทำ แทนที่จะรับปากแล้วทำไม่ได้
อีกอย่างที่ยอมแลกคือความสมบูรณ์แบบของแต่ละตัว ผลิตภัณฑ์ที่ใช้โครงสร้างมาตรฐานร่วมกันย่อมไม่เหมาะกับบริบทของมันเท่าตัวที่ออกแบบเฉพาะ ผมรับได้ เพราะทางเลือกอีกทางคือมีผลิตภัณฑ์ที่ออกแบบเฉพาะสวยงามหนึ่งตัว แล้วอีกห้าตัวไม่เคยได้เกิด
ถ้าคุณกำลังคิดจะทำหลายอย่างพร้อมกัน คำถามที่ควรถามตัวเองไม่ใช่ "ฉันมีเวลาพอไหม" แต่คือ "ฉันเปิดบริบทได้กี่อันต่อวัน และผลิตภัณฑ์นี้คุ้มกับการกินหนึ่งช่องไหม"
ผมเอาไปใช้จริงยังไง
ช่วงแรกผมใช้สมุดกับไฟล์ข้อความจัดการทั้งหมดนี้ มันพอไหวตอนมีสองผลิตภัณฑ์ แล้วพังตอนมีสี่ ปัญหาไม่ใช่เครื่องมือไม่ดี แต่คือข้อมูลกระจายอยู่คนละที่ — งานอยู่แอปหนึ่ง โน้ตอยู่อีกแอป เป้าหมายอยู่ในหัว ตัวเลขการเงินอยู่ในสเปรดชีต ทุกครั้งที่ต้องตัดสินใจว่าจะผลักตัวไหน ผมต้องเปิดสี่ที่
ผมเลยสร้าง Align ขึ้นมาแก้ปัญหาของตัวเอง มันรวมงาน โน้ต เป้าหมาย นิสัย และการเงิน ไว้ในที่เดียว เพื่อให้การตอบคำถามว่า "สัปดาห์นี้ควรผลักอะไร" ใช้การเปิดแค่หน้าจอเดียว ไม่ใช่สี่ที่ ส่วนสามบรรทัดปิดบริบทที่ผมเล่าไปข้างบน ผมเก็บเป็นโน้ตผูกกับโปรเจกต์นั้นโดยตรง กลับมาเมื่อไรก็อ่านต่อได้ทันที
ถ้าอยากอ่านต่อว่าผมใช้ AI มาช่วยลดจำนวนบริบทที่ต้องเปิดเองยังไง ผมเขียนไว้ที่ ใช้ AI agent เป็นทีมงาน และถ้าสนใจว่าผลิตภัณฑ์พวกนี้หาผู้ใช้กลุ่มแรกได้ยังไง อ่านต่อที่ ผู้ใช้กลุ่มแรก อะไรได้ผล อะไรเสียเวลา