(ต่อจากบทที่ 30)
...พยายามเค้นสมองหาทางว่าจะทำยังไงดีเพื่อไม่ให้การขึ้นระบบ Phoenix แต่ละครั้งมันกลายเป็นเหตุการณ์ฉุกเฉินแบบนี้อีกต่อไปครับ
บทที่ 29
- วันจันทร์ที่ 3 พฤศจิกายน
เวลา 07:10 น. ของวันจันทร์ถัดมา Chris, Wes, Patty และ John นั่งรวมตัวกับผมอีกครั้งในห้องประชุมบอร์ดบริหาร ระหว่างที่รอ Steve พวกเราก็นั่งคุยกันถึงเรื่องราวหลังจากกการขึ้นระบบ Phoenix รอบที่สอง
Erik นั่งอยู่หลังห้อง ตรงหน้าเขามีชามข้าว หนึ่งห่อข้าวโอ๊ตสำเร็จรูปที่กินหมดแล้ว และเครื่องชงกาแฟแบบ French press ที่เต็มไปด้วยน้ำสีออกเขียวๆ และมีเศษใบไม้ลอยอยู่ข้างใน
เมื่อเห็นสีหน้าสงสัยของผม เขาก็บอกว่า "เยอร์บา มาเต (Yerba maté) ครับ เครื่องดื่มโปรดของผมจากอเมริกาใต้ ผมขาดมันไม่ได้เลยเวลาเดินทาง"
Steve เดินเข้ามาในห้องพลางคุยโทรศัพท์มือถือค้างอยู่ "ฟังนะ Ron ผมบอกเป็นครั้งสุดท้ายนะว่าไม่! ห้ามให้ส่วนลดเพิ่มแล้ว—ต่อให้เขาจะเป็นลูกค้าคนสุดท้ายที่เราเหลืออยู่ก็ตาม เราต้องขีดเส้นตายไว้ตรงไหนสักแห่งนะ เข้าใจไหม?"
เขาวางสายด้วยท่าทางหงุดหงิด และเดินไปนั่งที่หัวโต๊ะ พลางพึมพำว่า "ขอโทษที่มาสายครับ" เขาเปิดแฟ้มเอกสารและก้มลงอ่านอะไรบางอย่างข้างในครู่หนึ่ง
"ถึงแม้การขึ้นระบบ Phoenix เมื่อสุดสัปดาห์ที่ผ่านมาจะเป็นยังไงก็ตาม ผมภูมิใจในทุกสิ่งที่พวกคุณทำสำเร็จมาตลอดสองสัปดาห์นี้มากครับ มีหลายคนมาเล่าให้ผมฟังว่าพวกเขาพอใจกับฝ่าย IT มากแค่ไหน แม้แต่ Dick เองก็ด้วย" เขาพูดด้วยน้ำเสียงที่ดูไม่อยากจะเชื่อ "เขาบอกผมว่าพวกคุณช่วยปรับปรุงตัวชี้วัดผลงานหลักๆ ของบริษัทได้ยังไงบ้าง และเขาคิดว่ามันจะเป็นจุดเปลี่ยนสำคัญของบริษัทเราเลยล่ะครับ"
เขายิ้ม "ผมภูมิใจมากที่ได้เป็นส่วนหนึ่งของทีมนี้ ที่เห็นได้ชัดว่าทำงานร่วมกันได้ดีกว่าที่เคย ไว้วางใจกัน และได้ผลลัพธ์ที่น่าทึ่งครับ"
เขาหันไปหา John "อีกอย่างนะ Dick บอกผมว่าด้วยความช่วยเหลือของคุณ พวกเขาได้ข้อสรุปแล้วว่าการแก้ไขงบการเงินย้อนหลังน่ะมันไม่มีสาระสำคัญทางการเงินครับ" เขาพูดพร้อมรอยยิ้มกว้าง "ขอบคุณพระเจ้า ในที่สุดผมก็ไม่ต้องไปขึ้นหน้าปกนิตยสาร Fortune ในสภาพที่โดนใส่กุญแจมือแล้วล่ะครับ"
ทันใดนั้น Sarah ก็เคาะประตูและเดินเข้ามาในห้อง
"อรุณสวัสดิ์ค่ะ Steve" เธอบอกพลางเดินเข้ามาอย่างสง่าผ่าเผย และนั่งลงข้างๆ Erik "ฉันเดาว่าคุณอยากจะคุยกับฉันเรื่องแคมเปญการตลาดใหม่ของฉันใช่ไหมคะ?"
"คุณหมายถึง งานนอกระบบที่คุณแอบรันอยู่ข้างในโรงงาน IT เหมือนพวกผู้จัดการโรงงานในจีนที่ไร้จรรยาบรรณน่ะเหรอครับ?" Erik ถามขึ้น
Sarah มอง Erik ตั้งแต่หัวจรดเท้า เหมือนกำลังประเมินว่าหมอนี่เป็นใครกันแน่
Steve พยักหน้าให้ John นำเสนอสิ่งที่เขาค้นพบ เมื่อ John พูดจบ Steve ก็พูดเสียงเข้มว่า "Sarah ผมออกคำสั่งชัดเจนแล้วนะ ห้ามใครเริ่มโครงการ IT ใหม่ๆ ไม่ว่าจะภายในหรือภายนอกบริษัท โดยไม่ได้รับการอนุมัติอย่างเป็นทางการจากผม ช่วยอธิบายการกระทำของคุณหน่อยครับ"
Sarah หยิบ iPhone ขึ้นมาแล้วรัวนิ้วพิมพ์อย่างโกรธแค้นอยู่ครู่หนึ่ง เมื่อวางโทรศัพท์ลง เธอก็บอกว่า "คู่แข่งกำลังไล่บี้เราอยู่นะคะ เราต้องการทุกความได้เปรียบที่เราจะหาได้ เพื่อให้บรรลุเป้าหมายที่คุณวางไว้ ฉันรอฝ่าย IT ไม่ได้หรอกค่ะ ฉันมั่นใจว่าพวกเขาทำงานหนักมาก ทำดีที่สุดเท่าที่ทรัพยากรและความรู้ที่เขามีจะเอื้ออำนวยแล้ว—แต่มันไม่พอค่ะ พวกเราต้องรวดเร็วฉับไว และบางครั้งเราก็ต้องซื้อบริการจากข้างนอกแทนที่จะมารอนั่งสร้างเองค่ะ"
Wes กลอกตาใส่เธอ
ผมตอบกลับว่า "ผมรู้ครับว่าในอดีต IT อาจจะไม่สามารถส่งมอบในสิ่งที่คุณต้องการได้ตลอดเวลา และผมก็รู้ว่าฝ่ายการตลาดกับฝ่ายขายเคยเจ็บตัวมาเยอะ พวกเราเองก็อยากให้ธุรกิจชนะพอๆ กับคุณนั่นแหละครับ ปัญหาก็คือ โครงการที่ดูสร้างสรรค์บางอย่างของคุณน่ะมันกำลังทำให้พันธสัญญาสำคัญอื่นๆ ของบริษัทตกอยู่ในอันตรายครับ อย่างเช่นเรื่องการทำตามกฎหมายและข้อบังคับเรื่องความเป็นส่วนตัวของข้อมูล และความจำเป็นที่เราต้องจดจ่ออยู่กับ Phoenix ครับ"
"สิ่งที่คุณเสนอมาอาจจะนำไปสู่ปัญหาความถูกต้องของข้อมูลในระบบรับคำสั่งซื้อและจัดการสินค้าคงคลังมากขึ้นไปอีกครับ ทั้ง Dick, Ron และ Maggie ต่างก็ย้ำชัดเจนว่าเราต้องสะสางข้อมูลพวกนี้ให้สะอาดและรักษาความถูกต้องไว้ให้ได้ ไม่มีอะไรสำคัญไปกว่าการเข้าใจความต้องการของลูกค้า การมีกลุ่มผลิตภัณฑ์ที่ถูกต้อง การรักษาฐานลูกค้า และในที่สุดคือการเพิ่มรายได้และส่วนแบ่งการตลาดของเราครับ"
ผมเสริมว่า "การสนับสนุนโปรเจกต์เหล่านั้นยังต้องใช้แรงงานมหาศาลเลยนะครับ เราต้องให้ซัพพลายเออร์ของคุณเข้าถึงฐานข้อมูลระบบจริงของเรา ต้องอธิบายว่าเราตั้งค่าระบบไว้ยังไง ต้องแก้ไขไฟร์วอลล์ตั้งหลายจุด และน่าจะมีขั้นตอนอื่นๆ อีกเป็นร้อยขั้นตอนครับ มันไม่ได้ง่ายแค่การเซ็นชื่อในใบแจ้งหนี้เฉยๆ หรอกครับ"
เธอมองหน้าผมด้วยสายตาที่เชือดเฉือน นี่เป็นครั้งแรกที่ผมเห็นเธอโกรธจัดขนาดนี้ครับ
เห็นชัดเลยว่าเธอไม่ชอบใจที่ผมเอาเป้าหมายบริษัทของ Dick มาอ้างกับเธอ เพื่อที่จะปฏิเสธในสิ่งที่เธอต้องการ
ผมเริ่มรู้สึกตะหงิดๆ แล้วล่ะครับว่าผมเพิ่งจะสร้างศัตรูที่อันตรายขึ้นมาซะแล้ว
เธอหันไปพูดกับคนทั้งห้อง "ในเมื่อคุณ Bill ดูเหมือนจะเข้าใจธุรกิจดีกว่าฉันซะอีก ทำไมไม่ให้เขาบอกพวกเราล่ะคะว่าเขาจะเสนออะไร?"
"Sarah ไม่มีใครเข้าใจความต้องการของแผนกคุณได้ดีไปกว่าคุณหรอกครับ คุณมีสิทธิ์เต็มที่ที่จะไปหาบริการจากภายนอกมาตอบโจทย์เหล่านั้นถ้าเราส่งมอบให้ไม่ได้ ตราบใดที่เราตัดสินใจบนพื้นฐานของความเข้าใจว่ามันจะไปกระทบกับส่วนอื่นๆ ของบริษัทหรือเปล่าน่ะครับ" ผมพูดด้วยเหตุผลที่ดูดีที่สุดเท่าที่จะทำได้ "เอาเป็นว่า คุณ Chris และผม มาเจอกันเป็นประจำเพื่อดูว่าเราจะช่วยโครงการที่คุณกำลังจะเริ่มทำได้ยังไงดีไหมครับ?"
"ฉันยุ่งมากค่ะ" เธอบอก "ฉันไม่มีเวลามานั่งประชุมกับคุณและ Chris ได้ทั้งวันหรอกนะคะ ฉันมีแผนกทั้งแผนกที่ต้องดูแลนะ คุณก็รู้"
นับว่าโชคดีที่ Steve แทรกขึ้นมาว่า "Sarah คุณต้องหาเวลาครับ ผมรอฟังผลสรุปจากการประชุมเหล่านั้น และรอฟังว่าคุณจะจัดการกับโปรเจกต์ IT ที่ไม่ได้รับอนุญาตทั้งสองโครงการนั่นยังไง ชัดเจนไหมครับ?"
เธอกระฟัดกระเฟียดตอบว่า "ค่ะ ฉันก็แค่พยายามทำในสิ่งที่ถูกต้องเพื่อ Parts Unlimited เท่านั้นแหละค่ะ ฉันจะทำดีที่สุดเท่าที่มี แต่ฉันก็ไม่ค่อยมั่นใจกับผลลัพธ์เท่าไหร่หรอกนะคะ คุณกำลังมัดมือมัดเท้าฉันชัดๆ เลยค่ะ"
Sarah ลุกขึ้นยืน "อีกอย่างนะคะ เมื่อวานฉันได้คุยกับ Bob Strauss มาด้วยล่ะค่ะ ฉันไม่คิดว่าเวลาที่คุณเหลืออยู่น่ะมันจะนานอย่างที่คุณคิดหรอกนะคะ Bob บอกว่าเราต้องเริ่มมองหาทางเลือกเชิงกลยุทธ์ อย่างเช่นการแยกบริษัทออกเป็นส่วนๆ และฉันก็คิดว่าเขาพูดถูกค่ะ"
ขณะที่เธอเดินออกจากห้องไปพร้อมกับปิดประตูเสียงดังปัง Erik ก็พึมพำออกมาอย่างมีเล่ห์เหลี่ยมว่า "ก็นะ ผมมั่นใจว่าคราวนี้เราคงไม่ได้เห็นหน้าเธออีกนานเลยล่ะมั้ง..."
Steve มองที่ประตูอยู่ครู่หนึ่งแล้วหันมาหาผม "มาต่อที่วาระสุดท้ายของวันนี้กันครับ Bill คุณกังวลว่าเรากำลังเดินมาผิดทางกับ Phoenix—ซึ่งไม่ใช่แค่สถานการณ์จะแย่ลงเท่านั้น แต่เราอาจจะไม่มีวันบรรลุผลลัพธ์ทางธุรกิจที่ต้องการได้เลย เรื่องนี้มันน่ากังวลมากจริงๆ ครับ"
ผมยักไหล่ "ตอนนี้คุณก็รู้ทุกอย่างที่ผมรู้แล้วล่ะครับ จริงๆ ผมก็หวังว่า Erik จะช่วยให้ข้อมูลเชิงลึกอะไรบางอย่างกับเราได้บ้างนะครับ"
Erik เงยหน้าขึ้นพลางใช้ผ้าเช็ดปากปัดเศษขนมออกจากหนวด "ข้อมูลเชิงลึกเหรอ? สำหรับผม คำตอบของปัญหามันชัดเจนมากครับ หนทางที่หนึ่งคือเรื่องของการควบคุมการไหลของงานจากฝ่าย Development ไปสู่ IT Operations คุณปรับปรุงการไหลของงานได้ด้วยการระงับและควบคุมจังหวะการปล่อยโปรเจกต์ แต่ 'ขนาดของรุ่นงาน' (batch sizes) ของคุณน่ะมันยังใหญ่เกินไปมาก ความล้มเหลวในการขึ้นระบบเมื่อวันศุกร์คือข้อพิสูจน์ครับ คุณยังมี WIP ค้างอยู่ในโรงงานเยอะเกินไป แถมยังเป็นประเภทที่แย่ที่สุดด้วยนะ การขึ้นระบบของคุณน่ะมันกำลังสร้างงานกู้คืนระบบที่ไม่ได้วางแผนไว้ให้แผนกปลายน้ำครับ"
เขาพูดต่อ "ตอนนี้คุณต้องพิสูจน์ให้ได้ว่าคุณสามารถเชี่ยวชาญในหนทางที่สองได้ ด้วยการสร้างวงจรการตอบกลับที่สม่ำเสมอจากฝ่าย IT Operations กลับไปยังฝ่าย Development เพื่อออกแบบคุณภาพเข้าไปในผลิตภัณฑ์ตั้งแต่ขั้นตอนแรกๆ การจะทำแบบนั้นได้ คุณจะมีรอบการปล่อยระบบที่ยาวนานถึงเก้าเดือนไม่ได้หรอกครับ คุณต้องการข้อมูลตอบกลับที่รวดเร็วกว่านั้นเยอะเลย"
"คุณจะไม่มีวันยิงเข้าเป้าหรอกถ้าคุณยิงปืนใหญ่ได้แค่ครั้งเดียวทุกๆ เก้าเดือน เลิกคิดถึงพวกปืนใหญ่สมัยสงครามกลางเมืองได้แล้วครับ ให้คิดถึงพวกปืนต่อสู้อากาศยานแทน"
เขาลุกขึ้นยืนเพื่อโยนชามข้าวโอ๊ตทิ้งลงถังขยะ จากนั้นเขาก็มองลงไปในถังขยะเพื่อหยิบช้อนคืนออกมา
เขาหันกลับมาพูดว่า "ในระบบงานใดๆ ก็ตาม อุดมคติในทางทฤษฎีคือการไหลของงานทีละชิ้น (single-piece flow) ซึ่งจะช่วยเพิ่มผลผลิตได้สูงสุดและลดความแปรปรวนให้น้อยที่สุดครับ คุณจะไปถึงจุดนั้นได้ด้วยการลดขนาดของรุ่นงานลงเรื่อยๆ ครับ"
"แต่พวกคุณกำลังทำตรงกันข้ามเลยล่ะครับ ด้วยการยืดระยะห่างของการปล่อยระบบ Phoenix ออกไป และเพิ่มจำนวนฟีเจอร์ในแต่ละรอบให้มากขึ้น คุณถึงขั้นสูญเสียความสามารถในการควบคุมความแปรปรวนจากรุ่นงานหนึ่งไปสู่อีกรุ่นหนึ่งไปเรียบร้อยแล้วล่ะครับ"
เขาหยุดนิ่งไปครู่หนึ่ง "มันน่าขันมากนะ เมื่อพิจารณาถึงเงินลงทุนมหาศาลที่คุณลงไปกับระบบเสมือนจริงของระบบปฏิบัติงาน แต่คุณกลับยังขึ้นระบบเหมือนกับว่ามันเป็นเซิร์ฟเวอร์จริงๆ อยู่เลย อย่างที่อาจารย์ Goldratt เคยกล่าวไว้ว่า คุณนำเอาเทคโนโลยีที่น่าทึ่งมาใช้ แต่เพราะคุณไม่ได้เปลี่ยนวิธีการทำงาน คุณก็เลยไม่ได้ช่วยลดข้อจำกัดของระบบลงได้เลยสักนิดเดียวครับ"
ผมมองไปรอบๆ ห้องเพื่อยืนยันว่าไม่มีใครเข้าใจสิ่งที่ Erik กำลังพูดถึงเหมือนกัน ผมเลยบอกว่า "การปล่อยระบบ Phoenix ครั้งล่าสุด..."
(ข้ามช่วงเนื้อหาที่หายไป)
"...มันอาจจะเป็นเรื่อง 'เป็นไปไม่ได้' สำหรับคุณนะครับ แต่ลองมองจากมุมมองของผมดูสิ" Chris พูดด้วยน้ำเสียงราบเรียบ "ผมต้องการให้นักพัฒนาของผมสร้างฟีเจอร์ใหม่ๆ พวกเขาจะมาติดแหง็กอยู่กับทีมของ Bill เพื่อคอยแก้ปัญหาเรื่องการขึ้นระบบตลอดเวลาไม่ได้หรอกครับ"
Steve ตอบกลับว่า "ไตรมาสนี้คือการชี้เป็นชี้ตายนะครับ เราสัญญากับชาวโลกไว้แล้วว่าเราจะเข็น Phoenix ออกมาให้ได้เมื่อเดือนที่แล้ว แต่เพราะฟีเจอร์ตั้งมากมายที่เราต้องเลื่อนออกไป เราเลยไม่ได้รับผลประโยชน์จากยอดขายอย่างที่คาดหวังไว้ ตอนนี้เราผ่านไตรมาสมาเดือนกว่าแล้ว และเทศกาลซื้อของช่วงวันหยุดก็เหลือเวลาอีกไม่ถึงสามสิบวัน พวกเราไม่มีเวลาเหลือแล้วนะครับ"
เมื่อลองคิดทบทวนดู ผมบังคับตัวเองให้ยอมรับว่าสิ่งที่ Chris พูดคือความจริงในมุมของเขา และมันก็มีข้อเท็จจริงรองรับ และ Steve เองก็เหมือนกัน
ผมพูดกับ Chris ว่า "ถ้าคุณบอกว่าทีม Phoenix จำเป็นต้องชะลอตัวลง ผมก็ไม่เถียงคุณสักคำเลยครับ ในหน่วยนาวิกโยธิน เวลาที่คุณมีทหารหนึ่งกองร้อยจำนวนร้อยคนและมีคนบาดเจ็บแม้แต่คนเดียว สิ่งแรกที่คุณจะสูญเสียไปคือความสามารถในการเคลื่อนที่ครับ"
"แต่พวกเราก็ยังต้องหาวิธีทำในสิ่งที่ Steve ต้องการให้ได้อยู่ดีครับ" ผมพูดต่อ "ตามที่ Erik แนะนำ ถ้าเราทำเรื่องนั้นในกรอบการทำงานของ Phoenix ไม่ได้ บางทีเราอาจจะทำมันนอกกรอบของ Phoenix ก็ได้ครับ ผมเสนอให้เราตั้งทีม SWAT ขึ้นมา โดยแยกทีมย่อยออกมาจากทีมหลักของ Phoenix แล้วสั่งให้พวกเขาหาคำตอบว่าฟีเจอร์ตัวไหนที่จะช่วยให้เราบรรลุเป้าหมายรายได้ได้เร็วที่สุดเท่าที่เป็นไปได้ครับ เรามีเวลาไม่มาก เพราะฉะนั้นเราต้องเลือกฟีเจอร์อย่างระมัดระวัง เราจะบอกพวกเขาว่าอนุญาตให้แหกกฎทุกข้อที่จำเป็นเพื่อให้งานสำเร็จครับ"
Chris นิ่งคิดครู่หนึ่งแล้วก็พยักหน้าเห็นด้วย "Phoenix คือเรื่องของการช่วยให้ลูกค้าซื้อของจากเราได้เร็วขึ้นและในปริมาณที่มากขึ้นครับ การปล่อยระบบสองครั้งล่าสุดเป็นเพียงการวางรากฐานเพื่อให้เรื่องนั้นเกิดขึ้นได้ แต่ฟีเจอร์ที่จะช่วยเพิ่มยอดขายได้จริงๆ น่ะมันยังติดหล่มอยู่เลยครับ เราต้องโฟกัสที่การสร้างระบบแนะนำสินค้าที่ดีให้ลูกค้า และช่วยให้ฝ่ายการตลาดสามารถจัดโปรโมชันเพื่อขายสินค้าที่ทำกำไรดีซึ่งเรามีอยู่ในสต็อกได้ครับ"
"พวกเรามีข้อมูลการซื้อของลูกค้าย้อนหลังหลายปี และเพราะเรามีบัตรเครดิตแบรนด์ของตัวเอง เราเลยรู้ข้อมูลประชากรและความชอบของลูกค้าเราครับ" Steve แทรกขึ้นมาพลางโน้มตัวไปข้างหน้า "ฝ่ายการตลาดรับรองกับผมว่าเราสามารถสร้างข้อเสนอที่น่าดึงดูดใจมากให้กับลูกค้าได้ ถ้าเราเพียงแค่สามารถส่งมอบฟีเจอร์เหล่านั้นออกมาได้น่ะครับ"
Chris, Wes และ Patty เริ่มระดมสมองคุยกันต่อในรายละเอียด ขณะที่ John ยังคงดูไม่ค่อยแน่ใจเท่าไหร่ ในที่สุด Wes ก็บอกว่า "คุณรู้ไหม เรื่องนี้มันน่าจะเวิร์กนะ" เมื่อทุกคนพยักหน้าเห็นด้วย รวมถึง John ด้วย ผมก็รู้สึกได้ถึงพลังความตื่นเต้นและความหวังที่เคยหายไปเมื่อไม่กี่นาทีก่อนหน้านี้ครับ
บทที่ 30
- วันจันทร์ที่ 3 พฤศจิกายน
หนึ่งชั่วโมงหลังจากการประชุมกับ Steve จบลง ผมยังคงครุ่นคิดถึงคำพูดลึกลับของ Erik ผมรู้สึกเหมือนเรากำลังจวนจะค้นพบอะไรที่ยิ่งใหญ่แล้ว แต่ผมก็ยังมีคำถามอีกเพียบ ในที่สุดผมก็ตัดสินใจโทรหาเขา
"ว่าไง?" เขาตอบรับ
"ผม Bill นะครับ" ผมบอก "ผมต้องการคำใบ้เพิ่มหน่อยครับว่าสรุปแล้วเราควรจะทำบ้าอะไรกันแน่..."
"มาเจอผมที่หน้าตึกครับ" เขาพูดจบแล้วก็วางสายไป
เมื่อผมเดินออกไปข้างนอก ลมพัดแรงและหนาวเหน็บมาก ผมมองไปรอบๆ อยู่ครู่หนึ่งจนได้ยินเสียงบีบแตร Erik นั่งอยู่ในรถ BMW เปิดประทุนสีแดงที่ดูราคาแพงมากและเขาก็เปิดหลังคาไว้ด้วยครับ "ขึ้นมาเร็ว! รีบหน่อย!"
"รถสวยดีนะครับ" ผมบอกพลางก้าวขึ้นไปนั่งเบาะข้างคนขับ
"ขอบคุณครับ" เขาบอก "เพื่อนผมยืนกรานให้ผมยืมใช้ระหว่างที่ผมอยู่ในเมืองน่ะครับ"
ขณะที่เขาเหยียบคันเร่งมิดไมล์ ผมรีบคว้าที่วางแขนแล้วคาดเข็มขัดนิรภัยอย่างไว ผมเห็นกระเป๋าถือผู้หญิงวางอยู่ที่พื้นรถ และก็อดสงสัยไม่ได้ว่า "เพื่อน" คนนี้คือใครกันแน่
"เรากำลังจะกลับไปที่ MRP-8 กันครับ" เขากล่าว
เมื่อผมขอให้เขาปิดหลังคารถ เขาก็หันมามองผมแล้วพูดว่า "ผมก็นึกว่าคนที่เป็นนาวิกโยธินน่ะไม่มีวันเป็น 'อดีตนาวิกโยธิน' ซะอีกนะ สงสัยยุคนี้เขาจะฝึกพวกคุณมาให้อ่อนแอกว่ายุคของผมล่ะมั้ง"
"คุณเคยเป็นทหารด้วยเหรอครับ?" ผมถามพลางพยายามซ่อนอาการฟันกระทบกันเพราะความหนาว
เขาหัวเราะ "ยี่สิบกว่าปีเลยล่ะครับ"
"คุณคงเกษียณออกมาในยศนายทหารสัญญาบัตรใช่ไหมครับ?" ผมถามต่อ
"พันตรี หน่วยรบพิเศษ กองทัพบกสหรัฐครับ" เขาตอบพลางหันมามองหน้าผม ผมก็ได้แต่หวังว่าเขาจะช่วยมองถนนหน่อยนะเมื่อดูจากความเร็วที่เขากำลังขับอยู่เนี่ย จากนั้นเขาก็พูดต่อ "เหล่าเดียวกับ Steve เลยล่ะครับ แต่เขาเข้ามาในฐานะนายทหารสัญญาบัตร ส่วนผมเข้ามาในฐานะพลทหารเหมือนกับคุณเป๊ะเลย"
เขาไม่ได้เล่าอะไรเพิ่มอีก แต่แค่นั้นก็เพียงพอที่จะทำให้ผมเข้าใจเส้นทางชีวิตทหารของเขาแล้วล่ะครับ เห็นชัดเลยว่าเขาเคยเป็นนายทหารชั้นประทวนอาวุโส (NCO) มาก่อน เหมือนกับพวกที่ผมต้องติดต่อด้วยอยู่ทุกวัน ผมจำท่าทางและบุคลิกที่คุ้นเคยแบบนั้นได้ทันที เขาคงจะเป็นหนึ่งในกลุ่มคนที่มีศักยภาพสูงที่หาได้ยากจนผู้บังคับบัญชาตัดสินใจลงทุนกับอนาคตของเขา ส่งเขาไปเรียนมหาวิทยาลัยและเข้าโรงเรียนนายทหาร จนได้กลับมาติดยศร้อยตรีที่แก่ที่สุดในรุ่น น่าจะแก่กว่าคนอื่นสักสิบปีได้ล่ะมั้งครับ
ต้องเป็นคนพิเศษจริงๆ นะครับถึงจะผ่านเรื่องแบบนั้นมาได้
พวกเรามาถึงโรงงานในเวลาที่เร็วเป็นประวัติการณ์ และตอนนี้พวกเราก็มายืนอยู่บนทางเดินลอยฟ้าอีกครั้ง เขาเริ่มร่ายยาวในแบบที่ผมคาดไว้ "โรงงานผลิตคือระบบหนึ่งครับ วัตถุดิบเริ่มจากฝั่งหนึ่ง และต้องมีเรื่องเป็นล้านอย่างที่ต้องทำให้ถูกต้องเพื่อที่จะให้มันออกมาเป็นสินค้าสำเร็จรูปตามกำหนดการที่อีกฝั่งหนึ่ง ทุกอย่างทำงานสอดประสานกันครับ ถ้ามีศูนย์ปฏิบัติงานไหนที่เป็นศัตรูกับศูนย์ปฏิบัติงานอื่น โดยเฉพาะถ้าฝ่ายผลิตทำสงครามกับฝ่ายวิศวกรรม ความก้าวหน้าในแต่ละก้าวก็จะเป็นเรื่องยากลำบากมากครับ"
Erik หันมาหาผมพลางชี้นิ้ว "คุณต้องเลิกคิดแบบหัวหน้างานประจำศูนย์ปฏิบัติงานได้แล้วครับ คุณต้องคิดให้ใหญ่กว่านั้น เหมือนผู้จัดการโรงงาน หรือจะให้ดีกว่านั้นนะ คิดเหมือนคนที่ออกแบบโรงงานแห่งนี้และกระบวนการทั้งหมดที่มันต้องพึ่งพาครับ พวกเขาจะมองดูการไหลของงานทั้งหมด ระบุว่าข้อจำกัดอยู่ที่ไหน และใช้ทุกเทคโนโลยีและความรู้เรื่องกระบวนการที่มีเพื่อให้มั่นใจว่างานน่ะถูกปฏิบัติอย่างมีประสิทธิผลและประสิทธิภาพครับ พวกเขาดึง 'ความเป็น Allspaw' ในตัวออกมาใช้ครับ"
ผมกำลังจะถามว่า "Allspaw" คืออะไร แต่เขาก็โบกมือปัดคำถามผมทิ้งไป "ในงานการผลิต เรามีตัวชี้วัดที่เรียกว่า takt time ซึ่งก็คือรอบเวลาที่จำเป็นในการทำงานให้ทันตามความต้องการของลูกค้าครับ ถ้าขั้นตอนใดในกระแสการทำงานใช้เวลานานกว่า takt time คุณก็จะไม่สามารถทำงานทันตามความต้องการของลูกค้าได้ครับ"
"เพราะฉะนั้น เวลาที่คุณวิ่งโร่ตะโกนโวยวายว่า 'โอ๊ย ไม่นะ! สภาพแวดล้อมสำหรับ Phoenix ยังไม่พร้อมเลย! ช่วยด้วยๆ! โอ๊ย ไม่นะ! เราขึ้นระบบไม่ได้ เพราะมีใครบางคนทำสภาพแวดล้อม Phoenix พังอีกแล้ว!'" เขาพูดด้วยเสียงสูงๆ เลียนแบบผู้หญิง "นั่นหมายความว่ารอบเวลาของขั้นตอนสำคัญบางอย่างในเขตความรับผิดชอบของคุณน่ะมันยาวนานกว่า takt time ครับ นั่นแหละคือเหตุผลที่คุณทำงานไม่ทันตามความต้องการของลูกค้า"
"ในฐานะส่วนหนึ่งของหนทางที่สอง คุณต้องสร้างวงจรการตอบกลับที่ย้อนกลับไปถึงจุดเริ่มต้นของการกำหนดนิยามผลิตภัณฑ์ การออกแบบ และการพัฒนาครับ" เขาบอก "เมื่อดูจากการที่คุณได้คุยกับ Dick แล้วล่ะก็ บางทีคุณอาจจะย้อนกลับไปได้เร็วกว่านั้นในกระบวนการด้วยซ้ำนะ"
เขาชี้ไปที่พื้นโรงงาน "ลองมองลงไปที่ช่องทางเดินอุปกรณ์ยาวๆ ระหว่างเทปสีส้มที่แปะอยู่ที่พื้นนั่นสิครับ ช่องทางนั้นผลิตสินค้าที่ทำกำไรสูงสุดบางตัวที่เรามีอยู่ แต่ก็นะ เหมือนโชคชะตาเล่นตลก กระแสการทำงานนั้นดันต้องผ่านขั้นตอนสองอย่างที่ใช้เวลาในการเซ็ตระบบและเวลาในการรันนานที่สุด: นั่นคือการพ่นสีฝุ่นเคลือบและการนำไปอบในเตาอบความร้อนครับ"
เขามองขึ้นฟ้าพลางอ้าแขนออก "สมัยก่อน รอบเวลาของสองขั้นตอนนี้มันยาวนานกว่า takt time มหาศาลเลยล่ะครับ จนเราไม่มีทางทำงานทันตามความต้องการของลูกค้าได้เลย ทำไมชีวิตมันถึงไม่ยุติธรรมขนาดนี้นะ? สินค้าที่กำไรดีที่สุดดันต้องใช้ข้อจำกัดทั้งสองอย่างของเราเลย: ทั้งเตาอบความร้อนและห้องพ่นสี! เราจะทำยังไงดีล่ะ?"
"ลูกค้าถึงขั้นเสนอเงินให้เราเพิ่ม อ้อนวอนขอให้เราผลิตไอ้เครื่องมือพวกนี้ให้เขาเพิ่ม แต่เราก็ต้องปฏิเสธพวกเขาไปครับ เวลาที่ใช้ในการเซ็ตเครื่องสำหรับแต่ละงานน่ะมันกินเวลาหลายชั่วโมงหรือเป็นวันๆ เลย เราเลยต้องใช้ขนาดรุ่นงานที่ใหญ่มากเพื่อให้ทันตามความต้องการ เรามีถาดพ่นสีขนาดมหึมาและจะอบงานให้ได้จำนวนมากที่สุดเท่าที่จะทำได้ในแต่ละรอบครับ พวกเรารู้ดีว่าเราต้องลดขนาดรุ่นงานลงเพื่อเพิ่มผลผลิต แต่ทุกคนก็บอกว่ามันทำไม่ได้หรอก"
"วิธีที่โตโยต้าแก้ปัญหานี้น่ะมันเป็นตำนานเลยล่ะครับ" เขาเล่า "ในช่วงทศวรรษที่ 1950 พวกเขามีกระบวนการปั๊มฝากระโปรงรถที่ต้องใช้เวลาเปลี่ยนแม่พิมพ์เกือบสามวันเลยทีเดียว มันต้องใช้การเคลื่อนย้ายแม่พิมพ์ที่หนักหลายตัน เหมือนกับพวกเรานั่นแหละครับ เวลาเซ็ตเครื่องมันนานมากจนพวกเขาต้องใช้ขนาดรุ่นงานที่ใหญ่มาก ซึ่งมันขัดขวางไม่ให้เขาใช้เครื่องปั๊มเครื่องเดียวในการผลิตรถยนต์หลายๆ รุ่นพร้อมกันได้ คุณจะปั๊มฝากระโปรงให้รุ่น Prius ตัวนึงแล้วก็มาปั๊มให้รุ่น Camry อีกตัวนึงไม่ได้หรอกถ้ามันต้องเสียเวลาเปลี่ยนแม่พิมพ์ถึงสามวัน จริงไหมครับ?"
"พวกเขาทำยังไงน่ะเหรอ?" เขาถามเองตอบเอง "พวกเขาเฝ้าสังเกตทุกขั้นตอนที่จำเป็นในการเปลี่ยนแม่พิมพ์อย่างละเอียด และจากนั้นก็เตรียมการและปรับปรุงสารพัดอย่างจนลดเวลาการเปลี่ยนแม่พิมพ์ลงเหลือไม่ถึงสิบนาทีครับ และนั่นแหละคือที่มาของคำศัพท์ระดับตำนานที่ว่า 'การเปลี่ยนแม่พิมพ์ในเวลาไม่กี่นาที' (single-minute exchange of die หรือ SMED) ครับ"
"พวกเราศึกษาผลงานทั้งหมดของอาจารย์ Taiichi Ohno, Steven Spear และ Mike Rother พวกเรารู้ว่าเราต้องลดขนาดรุ่นงานลง แต่เราไม่ได้กำลังจัดการกับแม่พิมพ์ปั๊มฝากระโปรงรถนี่นา สิ่งที่เราต้องจัดการคือการพ่นสีและการอบครับ" เขาเล่าต่อ "หลังจากระดมสมอง ตรวจสอบ และทดลองร่วมกับฝ่ายวิศวกรรมอยู่หลายสัปดาห์ พวกเราก็ได้ไอเดียที่บ้าคลั่งมาอย่างหนึ่ง: บางทีเราอาจจะพ่นสีและอบไปพร้อมกันในเครื่องเดียวเลยก็ได้ พวกเราเลยต่อเติมเตาอบที่สามารถพ่นสีฝุ่นลงบนชิ้นส่วนไปด้วยได้ในตัว โดยที่ชิ้นส่วนเหล่านั้นจะถูกดึงผ่านไปด้วยโซ่และเฟืองที่พวกเราถอดมาจากจักรยานครับ"
"พวกเรายุบรวมศูนย์ปฏิบัติงานสี่แห่งให้เหลือเพียงแห่งเดียว กำจัดขั้นตอนที่ทำด้วยมือและเสี่ยงต่อความผิดพลาดไปได้มากกว่าสามสิบขั้นตอน ทำให้รอบการทำงานเป็นระบบอัตโนมัติทั้งหมด บรรลุผลสำเร็จเรื่องการไหลของงานทีละชิ้น และกำจัดเวลาในการเซ็ตเครื่องทั้งหมดทิ้งไปครับ ผลผลิตพุ่งทะลุเพดานไปเลยล่ะครับ"
"ผลประโยชน์ที่ได้รับน่ะมันมหาศาลมากครับ" เขาพูดด้วยความภาคภูมิใจ "อย่างแรก เมื่อเจอข้อบกพร่อง เราก็แก้ไขมันได้ทันทีและไม่ต้องทิ้งชิ้นส่วนอื่นๆ ในรุ่นงานนั้นทั้งหมด อย่างที่สอง ปริมาณ WIP ลดลงเพราะแต่ละศูนย์ปฏิบัติงานจะไม่ผลิตสินค้าเกินความจำเป็นเพื่อให้ไปนั่งรออยู่ในคิวของศูนย์ถัดไป แต่ประโยชน์ที่สำคัญที่สุดคือ ระยะเวลารอคอยคำสั่งซื้อ (lead times) ลดลงจากหนึ่งเดือนเหลือไม่ถึงหนึ่งสัปดาห์ครับ พวกเราสามารถผลิตและส่งมอบอะไรก็ได้และจำนวนเท่าไหร่ก็ได้ตามที่ลูกค้าต้องการ และไม่มีของค้างสต็อกในโกดังที่ต้องมาเลขายในราคาถูกๆ อีกต่อไปแล้วครับ"
"เอาล่ะ ทีนี้ก็ตาคุณแล้วนะ" เขาพูดเสียงเข้มพลางชี้นิ้วมาที่หน้าอกผม "คุณต้องหาคำตอบให้ได้ว่าจะลดเวลาในการเปลี่ยนถ่ายงาน (changeover time) และทำให้รอบเวลาการขึ้นระบบรวดเร็วขึ้นได้ยังไง"
"ผมว่าเป้าหมายของคุณควรจะเป็น..." เขาหยุดนิ่งไปครู่หนึ่ง "ขึ้นระบบสิบครั้งต่อวันครับ ทำไมจะทำไม่ได้ล่ะ?"
ผมอ้าปากค้าง "นั่นมันเป็นไปไม่ได้หรอกครับ"
"โอ้ จริงเหรอ?" เขาบอกด้วยสีหน้าเรียบเฉย "งั้นผมเล่าเรื่องอะไรให้ฟังหน่อย ย้อนกลับไปปี 2009 ผมเป็นกรรมการบอร์ดที่บริษัทเทคโนโลยีแห่งหนึ่ง ที่ซึ่งวิศวกรคนหนึ่งของเราไปงานสัมมนา Velocity Conference แล้วกลับมาพล่ามเหมือนคนบ้า เต็มไปด้วยไอเดียอันตรายที่เป็นไปไม่ได้ เขาไปเห็นการนำเสนอของ John Allspaw และเพื่อนร่วมงานของเขา Paul Hammond ที่ทำให้โลกถึงกับตะลึง Allspaw กับ Hammond น่ะบริหารจัดการกลุ่ม IT Operations และวิศวกรรมอยู่ที่ Flickr แทนที่จะสู้กันเหมือนหมากับแมว พวกเขาเล่าถึงวิธีการที่พวกเขาร่วมมือกันเพื่อขึ้นระบบสิบครั้งต่อวันเป็นเรื่องปกติ! นี่คือในโลกที่องค์กร IT ส่วนใหญ่ยังขึ้นระบบกันแค่รายไตรมาสหรือรายปีอยู่นะครับ ลองนึกภาพดูสิ เขาขึ้นระบบได้เร็วกว่ามาตรฐานเดิมถึงหนึ่งพันเท่าเลยล่ะครับ"
"จะบอกให้ว่า" เขาเล่าต่อ "พวกเราทุกคนนึกว่าวิศวกรคนนั้นน่ะสติหลุดไปแล้ว แต่ผมก็ได้เรียนรู้ว่าแนวปฏิบัติที่ Allspaw กับ Hammond สนับสนุนน่ะมันคือผลลัพธ์ที่เลี่ยงไม่ได้ของการนำ 'หนทางทั้งสาม' มาใช้กับห่วงโซ่แห่งคุณค่าของ IT ครับ มันเปลี่ยนวิธีการบริหารจัดการ IT ของเราไปอย่างสิ้นเชิง และมันก็ช่วยรักษาบริษัทของเราไว้ได้ครับ"
"พวกเขาทำได้ยังไงครับ?" ผมถามด้วยความงงงวย
"เป็นคำถามที่ดีครับ" เขาตอบ "Allspaw สอนให้พวกเรารู้ว่าฝ่าย Dev กับ Ops ที่ทำงานร่วมกัน พร้อมกับฝ่าย QA และฝ่ายธุรกิจ คือกลุ่มชนเผ่าที่ทรงพลังที่สามารถทำสิ่งที่น่าทึ่งได้ครับ พวกเขารู้ดีว่าจนกว่าโค้ดจะขึ้นไปรันในระบบจริง มันก็ยังไม่มีมูลค่าเกิดขึ้นจริงๆ หรอก เพราะมันเป็นเพียงแค่ WIP ที่ติดค้างอยู่ในระบบเท่านั้นเอง เขาเลยลดขนาดรุ่นงานลงเรื่อยๆ เพื่อให้ฟีเจอร์ไหลลื่นอย่างรวดเร็ว ส่วนหนึ่งที่เขาทำได้ก็เพราะเขามั่นใจว่าสภาพแวดล้อมพร้อมใช้งานอยู่เสมอเมื่อต้องการ เขาทำกระบวนการสร้างระบบและขึ้นระบบให้เป็นอัตโนมัติ โดยมองว่าโครงสร้างพื้นฐานนั้นสามารถจัดการเหมือนเป็นโค้ดได้ (infrastructure as code) เหมือนกับแอปพลิเคชันที่ฝ่ายพัฒนาส่งมานั่นแหละครับ นั่นทำให้เขาสามารถสร้างสภาพแวดล้อมและขึ้นระบบได้ในขั้นตอนเดียว เหมือนที่พวกเราหาวิธีพ่นสีและอบได้ในขั้นตอนเดียวนั่นแหละครับ"
"เพราะงั้น ตอนนี้เราเลยรู้แล้วว่า Allspaw กับ Hammond น่ะไม่ได้บ้าหรอกครับ Jez Humble กับ Dave Farley ก็ได้ข้อสรุปแบบเดียวกันนี้โดยอิสระ และก็ได้กำหนดแนวปฏิบัติและหลักการที่ช่วยให้สามารถขึ้นระบบได้หลายครั้งต่อวันไว้ในหนังสือระดับตำนานของพวกเขาที่ชื่อ Continuous Delivery ครับ จากนั้น Eric Ries ก็แสดงให้เราเห็นว่าความสามารถนี้ช่วยให้ธุรกิจเรียนรู้และชนะได้ยังไงในผลงานเรื่อง Lean Startup ของเขาครับ"
ขณะที่ Erik พูด เขาดูฮึกเหิมและมีพลังมาก เขาจ้องหน้าผมอย่างจริงจังพลางส่ายหัว
"ขั้นตอนต่อไปของคุณมันควรจะชัดเจนได้แล้วนะเจ้าตั๊กแตนน้อย เพื่อที่คุณจะทำงานให้ทันตามความต้องการของลูกค้า ซึ่งรวมถึงสหายในฝ่ายพัฒนาด้วย" เขากล่าว "คุณต้องสร้างสิ่งที่ Humble กับ Farley เรียกว่า 'สายพานการขึ้นระบบ' (deployment pipeline) ครับ นั่นคือห่วงโซ่แห่งคุณค่าทั้งหมดของคุณ ตั้งแต่การส่งโค้ดเข้าไปจนถึงระบบจริง เรื่องนี้ไม่ใช่ศิลปะนะครับ แต่มันคือการผลิต คุณต้องเอาทุกอย่างเข้าไปอยู่ในการควบคุมเวอร์ชัน (version control) ทุกอย่างเลยนะ ไม่ใช่แค่โค้ด แต่รวมถึงทุกอย่างที่จำเป็นในการสร้างสภาพแวดล้อมขึ้นมาครับ จากนั้นคุณก็ต้องทำให้กระบวนการสร้างสภาพแวดล้อมทั้งหมดเป็นระบบอัตโนมัติ คุณต้องการสายพานการขึ้นระบบที่คุณสามารถสร้างสภาพแวดล้อมสำหรับทดสอบและระบบจริง และจากนั้นก็ขึ้นโค้ดเข้าไปได้ทั้งหมดตามความต้องการครับ นั่นแหละคือวิธีที่คุณจะลดเวลาการเซ็ตระบบและกำจัดข้อผิดพลาด เพื่อให้คุณสามารถทำงานได้ทันตามจังหวะที่ฝ่ายพัฒนาเขากำหนดมาให้ครับ"
"เดี๋ยวนะครับ" ผมท้วง "แล้วสรุปว่าผมต้องทำอะไรให้เป็นอัตโนมัติกันแน่ครับ?"
Erik จ้องหน้าผมเสียงเข้ม "ไปถาม Brent สิครับ ดึงตัวเขามาอยู่ในทีมใหม่นั่น และทำให้มั่นใจว่าเขาจะไม่โดนดึงความสนใจไปเรื่องอื่น ตอนนี้ยิ่งกว่าครั้งไหนๆ จนกว่าคุณจะทำกระบวนการสร้างระบบให้เป็นอัตโนมัติได้ เขานั่นแหละคือคอขวดของคุณ เอาสิ่งที่อยู่ในหัวของเขาออกมาเขียนเป็นขั้นตอนการสร้างระบบซะ เอาคนออกไปจากกระบวนการขึ้นระบบให้ได้ หาทางไปให้ถึงจุดที่ขึ้นระบบได้สิบครั้งต่อวันให้ได้ครับ"
ผมยังคงสลัดความสงสัยทิ้งไปไม่ได้ "สิบครั้งต่อวันเหรอครับ? ผมค่อนข้างมั่นใจนะว่าไม่มีใครต้องการขนาดนั้นหรอก คุณกำลังตั้งเป้าหมายที่สูงเกินความต้องการของธุรกิจหรือเปล่าครับ?"
Erik ถอนหายใจพลางกลอกตา "เลิกโฟกัสที่ตัวเลขรอบการขึ้นระบบได้แล้วครับ ความรวดเร็วฉับไวของธุรกิจน่ะไม่ใช่แค่เรื่องของความเร็วล้วนๆ หรอกครับ แต่มันคือเรื่องของความเก่งในการตรวจจับและตอบสนองต่อการเปลี่ยนแปลงของตลาด และความสามารถในการรับความเสี่ยงที่ใหญ่ขึ้นและมีการคำนวณมาอย่างดีครับ มันคือเรื่องของการทดลองอย่างต่อเนื่อง เหมือนที่ Scott Cook ทำที่บริษัท Intuit น่ะครับ ที่พวกเขาทำการทดลองมากกว่าสี่สิบครั้งในช่วงฤดูกาลยื่นภาษีที่ยุ่งที่สุด เพื่อหาทางเพิ่มอัตราการเปลี่ยนลูกค้าให้มาซื้อของให้ได้มากที่สุด ในช่วงที่ยุ่งที่สุดเลยนะนั่น!"
"ถ้าคุณทดลองและเอาชนะคู่แข่งไม่ได้ในเรื่องระยะเวลาการนำสินค้าเข้าตลาดและความรวดเร็วฉับไวล่ะก็ คุณก็จบเห่ครับ ฟีเจอร์ต่างๆ น่ะมันเป็นการเสี่ยงดวงเสมอแหละ ถ้าคุณโชคดีนะ แค่สิบเปอร์เซ็นต์ของฟีเจอร์เท่านั้นแหละที่จะให้ผลประโยชน์ตามที่ต้องการ เพราะฉะนั้น ยิ่งคุณนำฟีเจอร์เข้าสู่ตลาดและทดสอบมันได้เร็วเท่าไหร่ คุณก็จะยิ่งดีขึ้นเท่านั้น และที่สำคัญนะคะ คุณจะคืนทุนให้ธุรกิจได้เร็วขึ้นด้วย ซึ่งนั่นหมายความว่าธุรกิจก็จะเริ่มทำเงินได้เร็วขึ้นเหมือนกันครับ"
"Steve กำลังวางเดิมพันความอยู่รอดทั้งหมดของเขาไว้กับความสามารถของคุณในการดำเนินการและส่งมอบความสามารถใหม่ๆ ให้เร็วขึ้นครับ เพราะฉะนั้น ไปทำงานร่วมกับ Chris เพื่อหาทางให้ได้ว่าในทุกขั้นตอนของกระบวนการพัฒนาแบบ Agile น่ะ คุณจะไม่ได้มีแค่โค้ดที่พร้อมส่งมอบเท่านั้น แต่ต้องมีสภาพแวดล้อมที่ใช้งานได้จริงเพื่อรองรับการขึ้นระบบนั้นด้วย!"
"โอเคๆ ครับ" ผมยอมรับ "แต่ทำไมคุณต้องลากผมมาไกลขนาดนี้ท่ามกลางอากาศหนาวเหน็บเนี่ย? แค่อธิบายบนไวท์บอร์ดก็น่าจะพอแล้วไม่ใช่เหรอครับ?"
"คุณคิดว่างาน IT Operations น่ะมันยากระดับการสร้างจรวดไปดวงจันทร์เมื่อเทียบกับงานการผลิตเหรอครับ ไร้สาระสิ้นดี" เขาพูดอย่างไม่แยแส "จากจุดที่ผมมองอยู่นะ คนในอาคารหลังนี้มีความสร้างสรรค์และมีความกล้าหาญมากกว่าทุกอย่างที่ผมเคยเห็นมาจากพวกคุณคน IT จนถึงตอนนี้เยอะเลยล่ะครับ"
บทที่ 31
- วันจันทร์ที่ 3 พฤศจิกายน
เวลา 12:13 น. ตอนที่ผมเดินเข้าไปในห้องประชุมเริ่มโครงการทีม SWAT ผมที่เปียกโชกและเสื้อเชิ้ตที่ชุ่มไปด้วยน้ำจากการนั่งรถเปิดประทุนกลับมากับ Erik Chris กำลังพูดอยู่ว่า "...และ Steve ก็ได้อนุมัติให้ทีมเล็กๆ ทีมนี้ทำหน้าที่ส่งมอบฟีเจอร์ส่งเสริมการขาย และทำทุกวิถีทางเพื่อสร้างผลกระทบเชิงบวกให้กับฤดูกาลซื้อของช่วงวันหยุดนี้ครับ"
Chris หันมามองผมแล้วชี้ไปที่หลังห้อง "ผมสั่งมื้อเที่ยงมาเผื่อทุกคนเพื่อเริ่มงานกันเลย เชิญหยิบได้เลยครับ—แล้วนั่นคุณไปโดนอะไรมาน่ะ?"
ผมโบกมือปัดคำถามของเขาพลางมองตามที่เขาชี้ และรู้สึกดีใจที่เห็นกล่องแซนด์วิชไก่งวงเหลืออยู่หลังห้องหนึ่งกล่อง ผมคว้ามันมาแล้วหาที่นั่ง พยายามสังเกตบรรยากาศของทุกคนในห้อง โดยเฉพาะ Brent ครับ
Brent ถามขึ้นมาว่า "ช่วยอธิบายอีกทีได้ไหมครับว่าทำไมผมถึงมาอยู่ที่นี่?"
"นั่นแหละคือสิ่งที่เราต้องมาหาคำตอบกันครับ" Wes บอกอย่างจริงใจ "พวกเรารู้เท่ากับที่คุณรู้นั่นแหละครับ หนึ่งในผู้ที่อาจจะได้เป็นกรรมการบอร์ดน่ะเขายืนกรานว่าคุณต้องเป็นส่วนหนึ่งของทีมนี้ บอกตามตรงนะ เขาพูดถูกมาหลายครั้งจนผมเชื่อใจเขาแล้วล่ะครับ ถึงผมจะยังไม่รู้เหตุผลบ้าๆ นั่นก็ตามเถอะ"
Patty เสริมขึ้นมาว่า "ก็นะ เขาให้คำใบ้เรามานิดหน่อยค่ะ เขาบอกว่าปัญหาที่เราต้องโฟกัสคือกระบวนการขึ้นระบบและวิธีที่เราสร้างสภาพแวดล้อมขึ้นมาค่ะ ดูเหมือนเขาจะคิดว่าพวกเราต้องกำลังทำอะไรบางอย่างผิดพลาดอย่างรุนแรงแน่ๆ เมื่อดูจากความวุ่นวายที่เกิดขึ้นในทุกการขึ้นระบบ Phoenix น่ะค่ะ"
ขณะที่ผมกำลังแกะห่อแซนด์วิช ผมก็พูดว่า "ผมเพิ่งกลับมาจากไปพบเขามาครับ เขาโชว์อะไรให้ผมดูตั้งเยอะแยะและอธิบายวิธีที่โตโยต้าเขาเปลี่ยนแม่พิมพ์ในเวลาไม่กี่นาที เขาคิดว่าเราต้องสร้างความสามารถในการขึ้นระบบให้ได้สิบครั้งต่อวันครับ เขาไม่ได้แค่ยืนยันว่ามันเป็นไปได้นะ แต่เขาบอกว่ามันจะช่วยรองรับรอบการปล่อยฟีเจอร์ที่ธุรกิจต้องการ ไม่ใช่แค่เพื่อให้อยู่รอด แต่เพื่อให้ชนะในตลาดด้วยครับ"
สิ่งที่น่าแปลกใจคือ Chris เป็นคนที่คัดค้านรุนแรงที่สุด "อะไรนะ? ทำไมเราถึงต้องขึ้นระบบวันละสิบครั้งด้วยล่ะครับ? รอบเวลาทำงานของเราคือสามสัปดาห์ เราไม่มีอะไรจะให้ขึ้นระบบตั้งสิบครั้งต่อวันหรอกครับ!"
Patty ส่ายหน้า "คุณแน่ใจเหรอคะ? แล้วพวกงานแก้ไขบั๊กล่ะ? แล้วพวกงานปรับปรุงประสิทธิภาพตอนที่เว็บไซต์มันอืดจนทำงานไม่ได้ เหมือนที่เกิดขึ้นในการเปิดตัวใหญ่ๆ สองครั้งล่าสุดล่ะคะ? คุณไม่อยากจะนำการเปลี่ยนแปลงประเภทนี้ขึ้นระบบจริงเป็นเรื่องปกติ โดยไม่ต้องแหกกฎทุกข้อเพื่อทำงานด่วนเหรอคะ?"
Chris นิ่งคิดอยู่ครู่หนึ่งก่อนจะตอบว่า "น่าสนใจครับ ปกติผมจะเรียกงานพวกนั้นว่าการลงแพตช์หรือการปล่อยรุ่นย่อยน่ะครับ แต่คุณก็พูดถูกนะ—พวกนั้นมันก็คือการขึ้นระบบเหมือนกัน มันคงจะดีถ้าเราสามารถปล่อยงานแก้ไขได้เร็วขึ้น แต่ก็นะ สิบครั้งต่อวันเลยเหรอครับ?"
พอนึกถึงสิ่งที่ Erik พูด ผมจึงเสริมว่า "แล้วถ้าเป็นการเปิดทางให้ฝ่ายการตลาดเขาสามารถแก้ไขเนื้อหาหรือกฎทางธุรกิจได้เองล่ะครับ หรือการช่วยให้เขาทดลองได้เร็วขึ้นและทำ A/B split testing เพื่อดูว่าข้อเสนอไหนได้ผลดีที่สุดล่ะ?"
Wes วางมือทั้งสองข้างลงบนโต๊ะ "จำคำพูดผมไว้นะครับทุกคน มันทำไม่ได้หรอกครับ พวกเรากำลังเผชิญกับกฎของฟิสิกส์อยู่นะ เลิกคิดเรื่องเวลาที่มันใช้อยู่ตอนนี้ไปได้เลย ที่ต้องเตรียมตัวเป็นสัปดาห์และใช้เวลาขึ้นระบบจริงมากกว่าแปดชั่วโมงน่ะ! คุณจะเขียนข้อมูลลงแผ่นดิสก์ได้เร็วแค่ไหนกันเชียว"
นั่นคือสิ่งที่ผมก็คงจะพูดเหมือนกันก่อนที่จะได้ไปเดินทัวร์โรงงานกับ Erik ผมเลยพูดอย่างจริงใจว่า "ฟังนะ คุณอาจจะพูดถูกก็ได้ แต่ขอให้ผมลองสมมติหน่อยเถอะ: สรุปแล้วมันมีขั้นตอนทั้งหมดกี่ขั้นตอนกันแน่ในกระบวนการขึ้นระบบแบบตั้งแต่ต้นจนจบเนี่ย? เรากำลังพูดถึงยี่สิบขั้นตอน สองร้อยขั้นตอน หรือสองพันขั้นตอนกันครับ?"
Wes เกาหัวอยู่ครู่หนึ่งก่อนจะบอกว่า "คุณว่าไงล่ะ Brent? ผมว่าน่าจะสักร้อยขั้นตอนได้มั้ง..."
"จริงเหรอครับ?" Brent ตอบกลับ "ผมว่ามันน่าจะแค่ยี่สิบขั้นตอนเองนะ"
William แทรกขึ้นมาว่า "ผมไม่แน่ใจว่าคุณเริ่มนับจากจุดไหนนะครับ แต่ถ้าเริ่มตั้งแต่จุดที่ฝ่าย Development ส่งโค้ดและเรากำหนดให้มันเป็น 'ตัวเลือกที่จะปล่อย' (release candidate) ผมน่าจะนับได้ถึงร้อยขั้นตอนเลยล่ะครับ ตั้งแต่ก่อนที่จะส่งมาถึงมือฝ่าย IT Operations ซะอีก"
เอาแล้วไง
Wes ขัดขึ้นมาว่า "ไม่ๆๆ Bill พูดถึง 'ขั้นตอนการขึ้นระบบ' นะ อย่าไปเปิดประเด็นเรื่อง—"
ขณะที่ Wes กำลังพูด ผมก็นึกถึงตอนที่ Erik ท้าทายให้ผมคิดแบบผู้จัดการโรงงาน ไม่ใช่แค่หัวหน้าศูนย์ปฏิบัติงาน ทันใดนั้นผมก็ตระหนักได้ว่าเขาน่าจะหมายถึงว่าผมต้องมองข้ามขอบเขตของแผนก Development และ IT Operations ไปให้ได้ครับ
"พวกคุณพูดถูกทั้งคู่แหละครับ" ผมพูดขัดจังหวะ Wes กับ William "William รบกวนช่วยเขียนขั้นตอนทั้งหมดลงบนไวท์บอร์ดหน่อยได้ไหมครับ? ผมแนะนำว่าให้เริ่มตั้งแต่ 'ส่งโค้ด' ไปเรื่อยๆ จนถึงตอนส่งต่องานมาให้กลุ่มของเราครับ"
เขาพยักหน้าและเดินไปที่ไวท์บอร์ดแล้วเริ่มวาดรูปกล่องต่างๆ พลางอธิบายขั้นตอนไปด้วย ในช่วงสิบนาทีถัดมา เขาพิสูจน์ให้เห็นว่ามันน่าจะมีมากกว่าหนึ่งร้อยขั้นตอนจริงๆ รวมถึงการทดสอบอัตโนมัติในสภาพแวดล้อม Dev, การสร้างสภาพแวดล้อม QA ให้ตรงกับ Dev, การขึ้นโค้ดเข้าไป, การรันการทดสอบทั้งหมด, การขึ้นระบบและย้ายข้อมูลเข้าสู่สภาพแวดล้อมจำลองสถานะจริง (staging) ที่ตรงกับ QA, การทดสอบการรับโหลดงาน และสุดท้ายคือการส่งไม้ต่อให้ IT Operations ครับ
เมื่อ William เขียนเสร็จ ก็มีรูปกล่องอยู่สามสิบกล่องบนไวท์บอร์ดครับ
พอมองไปที่ Wes ผมเห็นว่าแทนที่จะดูหงุดหงิด เขากลับดูเหมือนกำลังใช้ความคิดอย่างหนัก พลางลูบคางตัวเองขณะมองดูผังงานนั้น
ผมพยักหน้าให้ Brent กับ Wes บอกว่าใครสักคนควรจะเขียนต่อจากจุดที่ William ทำค้างไว้
Brent ลุกขึ้นไปวาดกล่องต่อเพื่อแสดงขั้นตอนการทำแพ็คเกจโค้ดเพื่อขึ้นระบบ, การเตรียมเซิร์ฟเวอร์ตัวใหม่, การโหลดและตั้งค่าระบบปฏิบัติการ ฐานข้อมูล และแอปพลิเคชัน, การแก้ไขค่าทั้งหมดในระบบเครือข่าย ไฟร์วอลล์ และระบบกระจายโหลด และสุดท้ายคือการทดสอบเพื่อให้มั่นใจว่าการขึ้นระบบเสร็จสมบูรณ์ครับ
ผมพินิจพิจารณาผังงานทั้งหมด ซึ่งสิ่งที่น่าแปลกใจคือมันทำให้ผมนึกถึงพื้นโรงงานขึ้นมาเลยครับ แต่ละขั้นตอนเหล่านี้ก็เหมือนกับศูนย์ปฏิบัติงาน ที่แต่ละแห่งมีเครื่องจักร คน วิธีการ และการวัดผลที่แตกต่างกัน งาน IT น่าจะซับซ้อนกว่างานในโรงงานเยอะเลยครับ ไม่ใช่แค่เพราะงานมันมองไม่เห็นด้วยตาเปล่าซึ่งทำให้ติดตามได้ยากกว่าเท่านั้น แต่มันยังมีเรื่องที่อาจจะผิดพลาดได้มากกว่าเยอะเลยครับ
ต้องมีการตั้งค่าต่างๆ ให้ถูกต้องแม่นยำเป็นจำนวนมหาศาล ระบบต้องมีหน่วยความจำเพียงพอ ไฟล์ทุกไฟล์ต้องไปอยู่ในที่ที่ถูกต้อง โค้ดทั้งหมดและสภาพแวดล้อมทั้งระบบต้องทำงานได้อย่างถูกต้องสอดประสานกัน
แค่ความผิดพลาดเล็กๆ เพียงจุดเดียวก็สามารถทำให้ระบบพังพินาศได้ทั้งหมด แน่นอนว่านี่หมายความว่าเราต้องการความเข้มงวด ระเบียบวินัย และการวางแผนที่มากกว่างานในโรงงานเสียอีกครับ
ผมล่ะแทบรอไม่ไหวที่จะไปเล่าเรื่องนี้ให้ Erik ฟังจริงๆ
เมื่อตระหนักถึงความสำคัญและความยิ่งใหญ่ของความท้าทายที่อยู่ตรงหน้า ผมจึงเดินไปที่ไวท์บอร์ดและหยิบปากกาเคมีสีแดงขึ้นมา ผมบอกว่า "ผมจะใส่เครื่องหมายดาวสีแดงดวงใหญ่ๆ ไว้ในแต่ละขั้นตอนที่เราเคยเจอปัญหาในการเปิดตัวครั้งก่อนๆ นะครับ"
ขณะที่เริ่มทำเครื่องหมายบนบอร์ด ผมก็อธิบายไปด้วย "เพราะสภาพแวดล้อม QA อันใหม่มันไม่มีให้ใช้ เราเลยต้องไปใช้อันเก่าแทน, เพราะมีการทดสอบล้มเหลวตั้งเยอะแยะ เราเลยต้องไปแก้ไขโค้ดและสภาพแวดล้อมใน QA ซึ่งไอ้การแก้ไขพวกนั้นน่ะมันไม่เคยถูกส่งกลับไปหาฝั่ง Dev หรือระบบจริงเลย และเพราะสภาพแวดล้อมมันไม่เคยตรงกันเลย เราก็เลยต้องมาเจอปัญหาเดิมซ้ำอีกในครั้งถัดไปครับ"
ผมไล่ทำเครื่องหมายดาวสีแดงไปเรื่อยๆ จนถึงกล่องของ Brent "เพราะเราไม่มีคู่มือการขึ้นระบบที่ถูกต้อง เราเลยต้องลองผิดลองถูกถึงห้าครั้งกว่าจะทำแพ็คเกจและสคริปต์ขึ้นระบบได้ถูกต้อง และมันก็ไประเบิดตัวเองทิ้งในระบบจริงเพราะสภาพแวดล้อมมันถูกสร้างมาผิด ซึ่งเรื่องนี้ผมเคยยกมาพูดแล้วครับ"
ถึงแม้ผมจะไม่ได้ตั้งใจ แต่เมื่อผมทำเสร็จ กล่องเกือบทุกกล่องของ William และ Brent ก็มีดาวสีแดงกำกับไว้เกือบทั้งหมดเลยล่ะครับ
เมื่อหันกลับมา ผมเห็นสีหน้าที่ดูท้อแท้ของทุกคนขณะที่พวกเขามองดูสิ่งที่ผมเพิ่งจะทำลงไป เมื่อรู้ตัวว่าอาจจะทำพลาดไปนิดนึง ผมจึงรีบบอกว่า "ฟังนะ เป้าหมายของผมไม่ใช่การมานั่งโทษใครหรือจะบอกว่าพวกเราทำงานห่วยแตกหรอกนะครับ ผมแค่พยายามจะบันทึกลงบนกระดาษว่าจริงๆ แล้วเรากำลังทำอะไรกันอยู่ และหาตัวชี้วัดที่เป็นธรรมในแต่ละขั้นตอนเท่านั้นเองครับ มาช่วยกันสู้กับปัญหาที่อยู่บนไวท์บอร์ดนี้ในฐานะทีมเดียวกันเถอะครับ อย่ามัวแต่มาโทษกันเองเลยนะ โอเคไหม?"
Patty พูดขึ้นว่า "คุณรู้ไหมคะ นี่มันทำให้ฉันนึกถึงสิ่งที่พวกคนในโรงงานเขาใช้กันตลอดเวลาเลยล่ะค่ะ ถ้ามีใครสักคนเดินเข้ามา เขาคงนึกว่าพวกเรากำลังสร้าง 'แผนผังกระแสคุณค่า' (value stream map) กันอยู่แน่ๆ เลยค่ะ ขอฉันเพิ่มข้อมูลลงไปอีกหน่อยได้ไหมคะ?"
ผมส่งปากกาไวท์บอร์ดให้เธอแล้วกลับไปนั่งที่เดิม
สำหรับกล่องแต่ละใบ เธอถามว่าขั้นตอนเหล่านั้นปกติแล้วใช้เวลานานแค่ไหน แล้วเธอก็จดตัวเลขไว้บนหัวกล่อง จากนั้นเธอก็ถามว่าขั้นตอนนี้ปกติแล้วคืองานที่ต้องไปนั่งรอหรือเปล่า แล้วเธอก็วาดรูปสามเหลี่ยมไว้หน้ากล่อง เพื่อบ่งบอกว่าเป็นงานระหว่างทำครับ
โอ้พระเจ้า สำหรับ Patty แล้ว ความเหมือนกันระหว่างการขึ้นระบบของเรากับสายการผลิตในโรงงานไม่ใช่แค่เรื่องในตำราแล้วล่ะครับ เธอกำลังปฏิบัติกับการขึ้นระบบของพวกเราเหมือนมันเป็นสายการผลิตจริงๆ เลย!
เธอกำลังใช้เครื่องมือและเทคนิคแบบ Lean ที่คนในโรงงานเขาใช้เพื่อจดบันทึกและปรับปรุงกระบวนการของพวกเขาครับ
ทันใดนั้น ผมก็เข้าใจสิ่งที่ Erik พูดถึงเรื่อง "สายพานการขึ้นระบบ" ขึ้นมาทันที ถึงแม้คุณจะมองไม่เห็นงานของพวกเราเหมือนในโรงงาน แต่มันก็คือห่วงโซ่แห่งคุณค่าอย่างหนึ่งเหมือนกันครับ
ผมขอแก้ไขคำพูดตัวเองใหม่ มันคือห่วงโซ่แห่งคุณค่าของพวกเราต่างหาก และผมมั่นใจว่าพวกเรากำลังจวนจะค้นพบวิธีที่จะเพิ่มการไหลของงานผ่านระบบนี้ได้อย่างมหาศาลแน่นอนครับ
หลังจากที่ Patty จดบันทึกระยะเวลาของแต่ละขั้นตอนเสร็จแล้ว เธอก็วาดรูปกล่องใหม่ โดยใช้ชื่อสั้นๆ เพื่ออธิบายขั้นตอนของกระบวนการ บนไวท์บอร์ดอีกด้านหนึ่งเธอเขียนหัวข้อไว้สองจุดคือ: "สภาพแวดล้อม" (environments) และ "การขึ้นระบบ" (deployment)
เธอชี้ไปที่สิ่งที่เธอเพิ่งเขียนแล้วบอกว่า "ด้วยกระบวนการปัจจุบัน มีปัญหาเดิมๆ โผล่มาสองเรื่องค่ะ: ในทุกขั้นตอนของการขึ้นระบบ สภาพแวดล้อมไม่เคยพร้อมใช้งานเมื่อเราต้องการเลย และต่อให้พร้อม ก็ยังต้องมีการทำงานแก้ (rework) มหาศาลเพื่อให้ทุกอย่างมันตรงกัน ใช่ไหมคะ?"
Wes พ่นลมหายใจออกมาแล้วบอกว่า "คงไม่มีรางวัลอะไรให้สำหรับคนที่พูดเรื่องที่เห็นชัดขนาดนี้หรอกนะ แต่คุณพูดถูกเป๊ะเลยล่ะ"
เธอกล่าวต่อ "อีกหนึ่งแหล่งที่มาที่ชัดเจนของการทำงานแก้และเวลาการเซ็ตระบบที่ยาวนานคือกระบวนการทำแพ็คเกจโค้ดค่ะ ที่ฝ่าย IT Operations ต้องเอาสิ่งที่ฝ่าย Development ส่งเข้ามาในการควบคุมเวอร์ชันมาสร้างเป็นแพ็คเกจขึ้นระบบ ถึงแม้ Chris และทีมงานจะพยายามอย่างดีที่สุดในการจดบันทึกโค้ดและการตั้งค่าต่างๆ แล้ว แต่ก็มักจะมีบางอย่างหลุดลอดไปเสมอ ซึ่งมันจะไปโผล่มาให้เห็นก็ตอนที่โค้ดรันไม่ได้ในสภาพแวดล้อมหลังจากขึ้นระบบไปแล้วน่ะค่ะ ถูกต้องไหมคะ?"
คราวนี้ Wes ไม่ได้ตอบทันที Brent ชิงตอบก่อนว่า "คุณพูดถูกเผงเลยครับ William น่าจะเข้าใจปัญหาพวกนี้ดี: คู่มือการปล่อยระบบมันไม่เคยอัปเดตเลย พวกเราเลยต้องคอยตะเกียกตะกาย พยายามงมเข็มกันอยู่ตลอด ต้องเขียนสคริปต์ติดตั้งใหม่แล้วก็ติดตั้งมันซ้ำแล้วซ้ำเล่าอยู่นั่นแหละ..."
"ใช่ครับ" William บอกพลางพยักหน้าอย่างหนักแน่น
"งั้นฉันเสนอให้เราโฟกัสที่สองเรื่องนี้ก่อนเลยค่ะ" เธอบอกพลางมองที่บอร์ดแล้วกลับมานั่งที่เดิม "ใครมีความคิดเห็นอะไรไหมคะ?"
Brent บอกว่า "บางทีผมกับ William อาจจะทำงานร่วมกันเพื่อสร้างคู่มือการขึ้นระบบขึ้นมา เพื่อรวบรวมบทเรียนทั้งหมดที่ได้เรียนรู้จากความผิดพลาดที่ผ่านมาดีไหมครับ?"
ผมพยักหน้า ฟังไอเดียของทุกคน แต่ดูเหมือนจะยังไม่มีไอเดียไหนที่เป็นจุดเปลี่ยนที่ยิ่งใหญ่อย่างที่เราต้องการเลย Erik เคยเล่าเรื่องการลดเวลาการเซ็ตเครื่องสำหรับขั้นตอนการปั๊มประตูรถยนต์ เขาเหมือนจะบอกใบ้ว่ามันสำคัญมาก แต่มันสำคัญยังไงกันนะ?
"การให้แต่ละกลุ่มมานั่งคลำทางสร้างสภาพแวดล้อมกันเองน่ะเห็นชัดว่ามันไม่ได้ผลครับ อะไรก็ตามที่เราจะทำน่ะมันต้องช่วยให้เราก้าวไปข้างหน้าสู่เป้าหมาย 'ขึ้นระบบสิบครั้งต่อวัน' ให้ได้แบบก้าวกระโดดครับ" ผมบอก "นั่นหมายความว่าเราต้องมีการทำเป็นระบบอัตโนมัติที่สำคัญมาก Brent ครับ เราต้องทำยังไงถึงจะสามารถสร้างกระบวนการสร้างสภาพแวดล้อมร่วมกันขึ้นมาได้ เพื่อที่เราจะสามารถสร้างสภาพแวดล้อม Dev, QA และระบบจริงขึ้นมาพร้อมกันและให้มันตรงกันได้ตลอดเวลาครับ?"
"เป็นไอเดียที่น่าสนใจครับ" Brent บอกพลางมองไปที่บอร์ด เขาลุกขึ้นไปวาดกล่องสามกล่องที่เขียนว่า "Dev", "QA" และ "Production" จากนั้นข้างล่างนั้นเขาก็วาดอีกกล่องที่เขียนว่า "ขั้นตอนการสร้างระบบ" (Build Procedure) พร้อมกับลากลูกศรชี้ขึ้นไปที่ทั้งสามกล่องข้างบนครับ
"จริงๆ มันเป็นไอเดียที่อัจฉริยะมากเลยนะครับ Bill" เขาบอก "ถ้าเรามีขั้นตอนการสร้างระบบร่วมกัน และทุกคนใช้เครื่องมือเหล่านี้ในการสร้างสภาพแวดล้อมของตัวเอง พวกนักพัฒนาก็จะได้เขียนโค้ดในสภาพแวดล้อมที่อย่างน้อยก็เหมือนกับระบบจริง แค่เรื่องนี้อย่างเดียวก็ถือเป็นการปรับปรุงครั้งใหญ่แล้วครับ"
เขาดึงฝาปากกาออกจากปาก "ในการสร้างสภาพแวดล้อม Phoenix น่ะพวกเราใช้สคริปต์ตั้งหลายตัวที่เขียนขึ้นมาเองครับ แค่เอามาทำเอกสารประกอบและสะสางให้เรียบร้อยนิดหน่อย ผมว่าเราก็น่าจะสร้างอะไรที่พอจะใช้งานได้ออกมาได้ภายในไม่กี่วันครับ"
ผมหันไปหา Chris แล้วบอกว่า "เรื่องนี้น่าจะมีความหวังนะ ถ้าเราทำให้สภาพแวดล้อมเป็นมาตรฐานได้ และให้ฝ่าย Development, QA และ IT Operations ใช้งานกันเป็นประจำทุกวัน เราก็น่าจะกำจัดความแปรปรวนส่วนใหญ่ที่เป็นต้นเหตุของความปวดหัวในกระบวนการขึ้นระบบไปได้ครับ"
Chris ดูจะตื่นเต้นมาก "Brent ถ้าคุณและคนอื่นๆ โอเค ผมอยากจะเชิญคุณเข้าร่วมการประชุมรอบการทำงาน (sprints) ของทีมเรา เพื่อที่เราจะได้นำการสร้างสภาพแวดล้อมเข้าไปรวมอยู่ในกระบวนการพัฒนาให้เร็วที่สุดเท่าที่จะทำได้ครับ ตอนนี้พวกเรามุ่งเน้นแค่การทำให้มีโค้ดที่พร้อมจะขึ้นระบบได้ตอนจบโปรเจกต์เท่านั้น ผมเสนอให้เราเปลี่ยนความต้องการตรงนี้ใหม่ ในทุกๆ รอบเวลาสามสัปดาห์ เราต้องไม่ได้มีแค่โค้ดที่พร้อมจะขึ้นระบบเท่านั้น แต่ต้องมีสภาพแวดล้อมที่เป๊ะๆ ที่โค้ดนั้นจะไปรันอยู่ด้วย และต้องเอาเรื่องพวกนี้เข้าไปอยู่ในระบบควบคุมเวอร์ชันด้วยเหมือนกันครับ"
Brent ยิ้มกว้างกับข้อเสนอนั้น ก่อนที่ Wes จะทันได้ตอบอะไร ผมก็รีบชิงพูดว่า "ผมเห็นด้วยอย่างยิ่งครับ แต่ก่อนที่เราจะไปต่อ เราลองตรวจสอบอีกปัญหาหนึ่งที่ Patty ยกขึ้นมาดีไหมครับ? ต่อให้เราทำตามข้อเสนอของ Chris แล้ว แต่มันก็ยังเหลือปัญหาเรื่องสคริปต์ขึ้นระบบอยู่ดีครับ ถ้าเรามีไม้กายสิทธิ์นะ ทุกครั้งที่เราได้สภาพแวดล้อม QA อันใหม่มาเนี่ย เราควรจะขึ้นโค้ดยังไงดี? ทุกครั้งที่เราขึ้นระบบนะ พวกเรามักจะโยนโค้ด โยนสคริปต์ และโยนอะไรต่อมิอะไรไปมาระหว่างกลุ่มกันตลอดเวลาเลยล่ะครับ"
Patty เสริมขึ้นมา "บนพื้นโรงงานผลิตนะคะ เมื่อไหร่ที่เราเห็นงานถูกตีกลับ นั่นคือการทำงานแก้ค่ะ เมื่อเรื่องนั้นเกิดขึ้นล่ะก็ คุณพนันได้เลยว่าการทำเอกสารประกอบและการไหลของข้อมูลน่ะมันต้องแย่มากแน่ๆ ซึ่งหมายความว่าไม่มีอะไรที่ทำซ้ำได้เลย และมันก็จะยิ่งแย่ลงเรื่อยๆ เมื่อเราพยายามจะทำให้เร็วขึ้นค่ะ เขาเรียกสิ่งนี้ว่า 'กิจกรรมที่ไม่มีมูลค่าเพิ่ม' หรือ 'ความสูญเสีย' (waste) ค่ะ"
เธอมองไปที่ไวท์บอร์ดแผ่นแรกที่มีกล่องเต็มไปหมดแล้วพูดว่า "ถ้าเราจะออกแบบกระบวนการใหม่ เราต้องมีคนที่ใช่เข้ามาเกี่ยวข้องตั้งแต่แรกค่ะ เรื่องนี้เหมือนกับกลุ่มวิศวกรรมการผลิตที่ต้องดูแลให้ชิ้นส่วนทุกชิ้นถูกออกแบบมาให้เหมาะสมกับการผลิต และสายการผลิตก็ต้องถูกออกแบบมาให้เหมาะกับชิ้นส่วนเหล่านั้นด้วย โดยอุดมคติคือการไหลของงานทีละชิ้นค่ะ"
ผมพยักหน้าพลางยิ้มให้กับความคล้ายคลึงกันระหว่างสิ่งที่ Patty แนะนำกับสิ่งที่ Erik เพิ่งจะบอกผมเมื่อเช้านี้ครับ
ผมหันไปหา William กับ Brent แล้วบอกว่า "โอเคครับทุกคน ตอนนี้พวกคุณมีไม้กายสิทธิ์แล้วนะ พวกคุณอยู่หน้าแถวเลย ช่วยบอกผมหน่อยว่าพวกคุณจะออกแบบสายการผลิตยังไง เพื่อไม่ให้งานน่ะมันถูกตีกลับ และให้การไหลของงานเดินหน้าไปได้อย่างรวดเร็วและมีประสิทธิภาพครับ"
พอเห็นทั้งคู่ทำหน้าเหวอ ผมเลยบอกอย่างหงุดหงิดนิดๆ ว่า "คุณมีไม้กายสิทธิ์แล้วนะ! ใช้มันสิ!"
"ไม้กายสิทธิ์มันใหญ่แค่ไหนครับ?" William ถาม
ผมเลยทวนประโยคเดิมที่เคยพูดกับ Maggie "มันเป็นไม้กายสิทธิ์ที่มีพลังมหาศาลครับ มันทำอะไรก็ได้ทั้งนั้นแหละ"
William เดินไปที่ไวท์บอร์ดแล้วชี้ไปที่กล่องที่เขียนว่า "ส่งโค้ด" "ถ้าผมโบกไม้กายสิทธิ์ได้นะ ผมจะเปลี่ยนขั้นตอนนี้ครับ แทนที่จะได้รับซอร์สโค้ดหรือโค้ดที่คอมไพล์แล้วมาจากฝ่าย Dev ผ่านระบบควบคุมเวอร์ชัน ผมต้องการให้ได้โค้ดที่ทำเป็นแพ็คเกจมาแล้วเรียบร้อยและพร้อมจะขึ้นระบบได้ทันทีครับ"
"และคุณรู้ไหม" เขาเล่าต่อ "ผมอยากได้เรื่องนี้มาก จนผมยินดีจะเสนอตัวรับผิดชอบเรื่องการสร้างแพ็คเกจนั้นเองเลยล่ะครับ ผมรู้เป้าหมายเลยว่าควรจะมอบหมายงานนี้ให้ใคร เธอจะเป็นคนรับผิดชอบการส่งต่องานจากฝ่าย Dev เมื่อโค้ดถูกทำเครื่องหมายว่า 'พร้อมทดสอบ' พวกเราก็จะสร้างและส่งโค้ดที่เป็นแพ็คเกจนั้นเข้าไป ซึ่งจะไปกระตุ้นให้เกิดการขึ้นระบบแบบอัตโนมัติเข้าสู่สภาพแวดล้อม QA ทันที และหลังจากนั้นก็น่าจะทำแบบเดียวกันกับสภาพแวดล้อมในระบบจริงด้วยครับ"
"ว้าว คุณจะทำแบบนั้นจริงๆ เหรอ?" Wes ถามด้วยความทึ่ง "นั่นมันจะยอดเยี่ยมมากเลยครับ มาเริ่มทำกันเถอะ—ยกเว้นว่า Brent เขาอยากจะนั่งทำแพ็คเกจต่อเองน่ะนะ?"
"ล้อเล่นหรือเปล่าครับ?" Brent ถามพลางระเบิดหัวเราะออกมาดังลั่น "ผมจะเลี้ยงเหล้าใครก็ตามที่เป็นคนรับงานนี้ไปทั้งปีเลยล่ะครับ! ผมชอบไอเดียนี้มาก และผมก็อยากช่วยสร้างเครื่องมือขึ้นระบบแบบใหม่ด้วย อย่างที่ผมบอกไป ผมมีเครื่องมือตั้งหลายตัวที่เขียนไว้แล้วซึ่งเอามาใช้เป็นจุดเริ่มต้นได้ครับ"
ผมสัมผัสได้ถึงพลังและความตื่นเต้นในห้องประชุม ผมทึ่งมากว่าพวกเราเปลี่ยนจากความคิดที่ว่าเป้าหมาย 'ขึ้นระบบสิบครั้งต่อวัน' น่ะมันเป็นแค่ความฝันเพ้อเจ้อ มาเป็นการมานั่งสงสัยกันแทนว่าเราจะเข้าไปใกล้เป้าหมายนั้นได้แค่ไหนกันในเวลาอันรวดเร็วขนาดนี้ครับ
ทันใดนั้น Patty ก็เงยหน้าขึ้นแล้วพูดว่า "เดี๋ยวนะคะ โมดูล Phoenix ทั้งหมดนี้มันเกี่ยวข้องกับข้อมูลการซื้อของลูกค้า ซึ่งต้องได้รับการปกป้องเป็นพิเศษ ใครสักคนจากทีมของ John ควรจะเป็นส่วนหนึ่งของความพยายามครั้งนี้ด้วยหรือเปล่าคะ?"
พวกเราทุกคนหันมามองหน้ากัน และเห็นพ้องต้องกันว่าเขาต้องเข้ามาร่วมด้วยแน่นอน และเป็นอีกครั้งหนึ่งที่ผมรู้สึกอัศจรรย์ใจกับความเปลี่ยนแปลงที่ยิ่งใหญ่ขององค์กรของพวกเราจริงๆ ครับ