เวลา 19:30 น. ของวันศุกร์ สองชั่วโมงหลังจากที่การนำ Phoenix ขึ้นระบบจริง (deployment) ถูกกำหนดให้เริ่มต้นขึ้น และสถานการณ์ตอนนี้ก็ดูไม่ค่อยดีนัก ผมเริ่มรู้สึกว่ากลิ่นพิซซ่ามันชวนให้ให้นึกถึงความเหนื่อยเปล่าของการทำงานแบบ "มุ่งหน้าสู่ความตาย" (death march) เข้าไปทุกที
ทีม IT Operations ทั้งหมดรวมตัวกันเตรียมพร้อมสำหรับการขึ้นระบบตั้งแต่เวลา 16:00 น. แต่กลับไม่มีอะไรให้ทำเลย เพราะเรายังไม่ได้รับอะไรจากทีมของ Chris เลย พวกเขายังคงแก้ไขงานนาทีสุดท้ายกันอยู่
มันไม่ใช่สัญญาณที่ดีเลยเมื่อพวกเขายังต้องมานั่งติดตั้งชิ้นส่วนบนกระสวยอวกาศตอนที่ถึงเวลาปล่อยตัวแล้ว
ตอน 16:30 น. William เดินพรวดพราดเข้ามาในห้อง War room ของ Phoenix ด้วยสีหน้าโกรธจัดและขยะแขยงที่ไม่มีใครสามารถรันโค้ด Phoenix ทั้งหมดในสภาพแวดล้อมสำหรับการทดสอบ (test environment) ได้เลย ที่แย่กว่านั้นคือ ส่วนน้อยของ Phoenix ที่รันได้ดันไม่ผ่านการทดสอบที่สำคัญๆ อีก
William เริ่มส่งรายงานบั๊กที่สำคัญกลับไปให้นักพัฒนา ซึ่งหลายคนก็ได้กลับบ้านไปแล้ว Chris ต้องเรียกตัวพวกเขากลับมา และทีมของ William ก็ต้องนั่งรอให้นักพัฒนาส่งโค้ดเวอร์ชันใหม่มาให้
ทีมของผมไม่ได้แค่นั่งว่างๆ ไปวันๆ แต่เรากำลังทำงานอย่างหนักร่วมกับทีมของ William เพื่อพยายามทำให้ Phoenix ทั้งหมดรันขึ้นมาได้ในสภาพแวดล้อมทดสอบ เพราะถ้าพวกเขาทำให้มันรันในสภาพแวดล้อมทดสอบไม่ได้ เราก็ไม่มีหวังเลยที่จะนำมันไปติดตั้งและรันบนระบบจริง (production)
สายตาของผมละจากนาฬิกาไปที่โต๊ะประชุม Brent และวิศวกรอีกสามคนกำลังรุมล้อมอยู่กับเพื่อนร่วมงานฝั่ง QA พวกเขาทำงานกันอย่างบ้าคลั่งมาตั้งแต่สี่โมงเย็น และตอนนี้พวกเขาดูอิดโรยมาก หลายคนเปิดโน้ตบุ๊กค้างไว้ที่หน้าการค้นหาบน Google และคนอื่นๆ กำลังไล่ปรับค่าการตั้งค่าต่างๆ ของเซิร์ฟเวอร์ ระบบปฏิบัติการ ฐานข้อมูล และแอปพลิเคชัน Phoenix อย่างเป็นระบบ เพื่อพยายามหาวิธีทำให้ทุกอย่างรันขึ้นมาได้ ซึ่งเหล่านักพัฒนาได้ให้คำมั่นสัญญากับพวกเขาว่ามันเป็นไปได้
นักพัฒนาคนหนึ่งเพิ่งเดินเข้ามาเมื่อไม่กี่นาทีที่แล้วแล้วพูดว่า "ดูสิ มันรันได้ปกติบนโน้ตบุ๊กของผมนะ มันจะยากขนาดนั้นเลยเหรอ?"
Wes เริ่มสบถออกมา ขณะที่วิศวกรของเราสองคนและวิศวกรของ William อีกสามคนเริ่มรุมดูที่โน้ตบุ๊กของนักพัฒนาคนนั้น เพื่อพยายามหาว่าอะไรที่ทำให้มันแตกต่างจากสภาพแวดล้อมทดสอบ
ในอีกมุมหนึ่งของห้อง วิศวกรคนหนึ่งกำลังคุยโทรศัพท์อย่างดุเดือด "ใช่ครับ เราก๊อบปี้ไฟล์ที่คุณให้มาแล้ว... ใช่ครับ มันคือเวอร์ชัน 1.0.13... คุณหมายความว่ายังไงที่บอกว่าเป็นเวอร์ชันที่ผิด... อะไรนะ? คุณเปลี่ยนมันตอนไหน?... ก๊อบปี้มาเดี๋ยวนี้แล้วลองใหม่อีกที... โอเค ฟังนะ แต่ผมบอกคุณเลยว่ามันไม่ได้ผลหรอก... ผมคิดว่าเป็นปัญหาที่ระบบเครือข่ายนะ... คุณหมายความว่ายังไงที่บอกว่าเราต้องเปิดพอร์ตไฟร์วอลล์เพิ่ม? ทำไมคุณไม่บอกเราเรื่องนี้ตั้งแต่สองชั่วโมงที่แล้ววะ?"
จากนั้นเขาก็กระแทกหูโทรศัพท์ลงอย่างแรง แล้วทุบโต๊ะด้วยหมัดพลางตะโกนลั่น "ไอ้พวกงี่เง่า!"
Brent เงยหน้าขึ้นมาจากโน้ตบุ๊กของนักพัฒนา พลางขยี้ตาด้วยความเหนื่อยล้า "ให้ผมเดานะ ฝั่ง front-end คุยกับ database server ไม่ได้ เพราะใครบางคนไม่ได้บอกเราว่าต้องเปิดพอร์ตไฟร์วอลล์เพิ่มใช่ไหม?"
วิศวกรคนนั้นพยักหน้าด้วยความโกรธแค้นที่แฝงไปด้วยความเหนื่อยล้า แล้วพูดว่า "ผมไม่อยากจะเชื่อเลยจริงๆ ผมคุยโทรศัพท์กับไอ้งั่งนั่นตั้งยี่สิบนาที และเขาก็ไม่เคยฉุกคิดเลยว่ามันไม่ใช่ปัญหาที่โค้ด นี่มัน FUBAR ชัดๆ"
ผมยังคงฟังอยู่เงียบๆ แต่ก็พยักหน้าเห็นด้วยกับการวิเคราะห์สถานการณ์ของเขา ในหน่วยนาวิกโยธิน เราใช้คำว่า FUBAR (ย่อมาจาก "Fucked Up Beyond All Recognition" หรือ "พังพินาศจนจำแทบไม่ได้")
เมื่อเห็นอารมณ์ที่เริ่มจะขาดผลิ ผมมองนาฬิกา: 19:37 น.
ถึงเวลาที่ต้องมาประเมินสถานการณ์จากฝั่งบริหารของทีมผมแล้ว ผมตามตัว Wes และ Patty แล้วก็มองหา William ผมเห็นเขากำลังยืนชะเง้อมองผ่านไหล่ของวิศวกรคนหนึ่งของเขา ผมจึงชวนเขาให้มาร่วมคุยกับเรา
เขาดูงงๆ ครู่หนึ่ง เพราะปกติเราไม่ได้ติดต่อกันเท่าไหร่ แต่เขาก็พยักหน้าและเดินตามมาที่ออฟฟิศของผม
"โอเคพวกคุณ บอกผมหน่อยว่าพวกคุณคิดยังไงกับสถานการณ์นี้" ผมถาม
Wes พูดขึ้นมาเป็นคนแรก "พวกเขาก็พูดถูกครับ นี่มัน FUBAR จริงๆ เรายังได้รับงานที่ส่งมอบมาแบบไม่ครบถ้วนจากพวกนักพัฒนาอยู่เลย ในช่วงสองชั่วโมงที่ผ่านมา ผมเห็นมาสองครั้งแล้วที่พวกเขาลืมส่งไฟล์สำคัญๆ มาให้หลายไฟล์ ซึ่งมันรับประกันได้เลยว่าโค้ดยังไงก็รันไม่ได้ และอย่างที่คุณเห็น เราก็ยังไม่รู้วิธีตั้งค่าสภาพแวดล้อมทดสอบเพื่อให้ Phoenix รันขึ้นมาได้จริงๆ เลย"
เขาส่ายหัวอีกครั้ง "จากที่ผมเห็นในช่วงครึ่งชั่วโมงที่ผ่านมา ผมคิดว่าเรากำลังถอยหลังลงคลองด้วยซ้ำ"
Patty ได้แต่ส่ายหน้าด้วยความระอาและโบกมือไปมา โดยไม่ได้พูดอะไรเพิ่ม
ผมบอกกับ William ว่า "ผมรู้ว่าเราไม่ค่อยได้ทำงานร่วมกันเท่าไหร่ แต่ผมอยากรู้จริงๆ ว่าคุณคิดยังไง สถานการณ์มันดูเป็นยังไงบ้างในมุมมองของคุณ?"
เขาก้มลงมอง พ่นลมหายใจออกมาช้าๆ แล้วพูดว่า "บอกตรงๆ ผมก็ไม่รู้เหมือนกันครับ โค้ดมันเปลี่ยนไปเร็วมากจนเราตามไม่ทันแล้ว ถ้าผมต้องพนันล่ะก็ ผมว่า Phoenix จะต้องระเบิดตัวเองทิ้งแน่บนระบบจริง ผมคุยกับ Chris ไปสองสามครั้งแล้วเรื่องขอยกเลิกการปล่อยตัวครั้งนี้ แต่เขาและ Sarah ก็เมินผมไปเลย"
ผมถามเขาว่า "คุณหมายความว่ายังไงที่บอกว่า 'ตามไม่ทัน'?"
"เมื่อเราพบปัญหาในการทดสอบ เราจะส่งกลับไปที่ฝั่ง Development เพื่อให้พวกเขาแก้ไข" เขาอธิบาย "จากนั้นพวกเขาจะส่งเวอร์ชันใหม่ออกมา ปัญหาก็คือมันต้องใช้เวลาประมาณครึ่งชั่วโมงในการเซ็ตระบบและรันทุกอย่าง และอีกสามชั่วโมงเพื่อรันการทดสอบเบื้องต้น (smoke test) ในช่วงเวลานั้น เราก็น่าจะได้รับงานเวอร์ชันใหม่อีกสักสามตัวจากฝั่ง Development แล้วล่ะครับ"
ผมยิ้มเยาะเมื่อได้ยินคำว่า smoke tests (การทดสอบแบบปล่อยควัน) ซึ่งเป็นศัพท์ที่นักออกแบบวงจรไฟฟ้าใช้กัน ที่มาของมันคือ "ถ้าคุณเปิดวงจรไฟฟ้าแล้วไม่มีควันพุ่งออกมา มันก็น่าจะทำงานได้"
เขาส่ายหัวแล้วพูดว่า "เรายังไม่เคยรันผ่านการทดสอบเบื้องต้นได้เลยสักครั้ง ผมกังวลว่าเราไม่มีการควบคุมเวอร์ชัน (version control) ที่เพียงพอแล้ว—เราละเลยเรื่องการติดตามเลขเวอร์ชันของงานทั้งหมดไปมาก ทุกครั้งที่พวกเขาแก้ไขอะไรบางอย่าง พวกเขามักจะทำอย่างอื่นพังไปด้วยเสมอ ดังนั้น พวกเขาเลยส่งมาแค่ไฟล์เดียวแทนที่จะส่งมาทั้งแพ็คเกจครับ"
เขากล่าวต่อ "ตอนนี้มันวุ่นวายมากจนต่อให้มีปาฏิหาริย์ทำให้ Phoenix ผ่านการทดสอบเบื้องต้นไปได้ ผมก็ค่อนข้างแน่ใจว่าเราจะไม่สามารถทำซ้ำมันได้อีก เพราะมันมีชิ้นส่วนที่เคลื่อนไหวเปลี่ยนไปเปลี่ยนมามากเกินไปครับ"
เขาถอดแว่นออกแล้วพูดทิ้งท้ายอย่างหนักแน่นว่า "คืนนี้คงเป็นคืนที่ทุกคนต้องไม่ได้นอนแน่ๆ ผมคิดว่ามีความเสี่ยงสูงมากที่เราจะไม่มีอะไรพร้อมรันเลยตอนแปดโมงเช้าพรุ่งนี้เมื่อร้านเปิด และนั่นเป็นปัญหาใหญ่มากครับ"
นั่นถือเป็นการพูดที่เบาไปมากจริงๆ หากการปล่อยตัวไม่เสร็จสิ้นภายใน 8 โมงเช้า ระบบขายหน้าร้าน (POS) ที่ใช้เช็คบิลลูกค้าก็จะไม่ทำงาน และนั่นหมายความว่าเราจะไม่สามารถทำธุรกรรมกับลูกค้าให้เสร็จสิ้นได้เลย
Wes พยักหน้าเห็นด้วย "William พูดถูกครับ เราต้องอยู่ที่นี่กันทั้งคืนแน่ๆ และประสิทธิภาพของระบบมันแย่กว่าที่ผมคิดไว้ซะอีก เราต้องการเซิร์ฟเวอร์เพิ่มอีกอย่างน้อยยี่สิบเครื่องเพื่อช่วยกระจายโหลดงาน และผมก็ไม่รู้ว่าจะไปหามาได้จากที่ไหนมากมายขนาดนี้ในเวลาอันสั้น ผมให้ลูกน้องช่วยกันหาฮาร์ดแวร์สำรองที่พอจะหาได้อยู่ บางทีเราอาจจะต้องไปถอดเอาเซิร์ฟเวอร์ที่รันระบบจริงเครื่องอื่นมาใช้ด้วยซ้ำ"
"ตอนนี้มันสายเกินไปที่จะหยุดการขึ้นระบบหรือยังครับ?" ผมถาม "จุดไหนกันแน่ที่เป็นจุดที่หวนกลับไม่ได้แล้ว?"
"นั่นเป็นคำถามที่ดีมากครับ" Wes ตอบช้าๆ "ผมคงต้องไปเช็กกับ Brent แต่ผมคิดว่าเราสามารถหยุดการขึ้นระบบตอนนี้ได้โดยไม่มีปัญหาอะไรครับ แต่เมื่อเราเริ่มทำการแปลงฐานข้อมูล (converting the database) เพื่อให้มันสามารถรับออเดอร์จากทั้งระบบ POS ในร้านและจาก Phoenix ได้ เมื่อนั้นแหละคือจุดที่เราถอยกลับไม่ได้แล้ว ดูจากความเร็วในตอนนี้ ผมไม่คิดว่าเราจะไปถึงจุดนั้นได้ในอีกสองสามชั่วโมงนี้หรอกครับ"
ผมพยักหน้า ผมได้ยินสิ่งที่จำเป็นต้องได้ยินแล้ว
"ทุกคนครับ ผมกำลังจะส่งอีเมลหา Steve, Chris และ Sarah เพื่อขอดูว่าผมจะเลื่อนการขึ้นระบบออกไปได้ไหม และจากนั้นผมจะไปตามหา Steve บางทีผมอาจจะช่วยขอเวลาเพิ่มให้เราอีกสักหนึ่งสัปดาห์ แต่ให้ตายเถอะ ต่อให้ได้เพิ่มมาแค่หนึ่งวันก็ถือว่าชนะแล้ว ใครมีความคิดเห็นยังไงบ้าง?"
Wes, Patty และ William ต่างก็ได้แต่ส่ายหน้าอย่างเศร้าสร้อยโดยไม่พูดอะไร
ผมหันไปหา Patty "ไปช่วย William คิดดูหน่อยว่าเราจะประสานงานการส่งมอบงานให้ดีขึ้นได้ยังไง ไปอยู่ตรงจุดที่พวกนักพัฒนาทำงานกันเลย แล้วทำหน้าที่เป็นหอบังคับการบิน คอยดูแลให้มั่นใจว่าทุกอย่างมีการติดป้ายกำกับและระบุเลขเวอร์ชันให้ชัดเจนในฝั่งของพวกเขา จากนั้นค่อยแจ้ง Wes และทีมงานว่ามีอะไรกำลังจะส่งมาบ้าง เราต้องการระบบที่มองเห็นการทำงานชัดเจนขึ้น และต้องมีใครสักคนที่คอยกำกับให้คนทำตามกระบวนการที่นั่น ผมต้องการจุดรับโค้ดจุดเดียว ควบคุมการปล่อยเวอร์ชันทุกชั่วโมง มีเอกสารประกอบ... คุณเข้าใจที่ผมสื่อใช่ไหม?"
เธอบอกว่า "ด้วยความยินดีเลยค่ะ เดี๋ยวฉันจะไปที่ห้อง War room ของ Phoenix เป็นอันดับแรก ฉันจะถีบประตูเข้าไปถ้าจำเป็นแล้วบอกว่า 'เรามาเพื่อช่วยแล้วค่ะ...'"
ผมพยักหน้าขอบคุณพวกเขาทุกคน แล้วเดินไปที่โน้ตบุ๊กเพื่อเริ่มเขียนอีเมล
จาก: Bill Palmer
ถึง: Steve Masters
สำเนาถึง: Chris Anderson, Wes Davis, Patty McKee, Sarah Moulton, William Mason
วันที่: 12 กันยายน, 19:45 น.
ความสำคัญ: สูงสุด
หัวข้อ: ด่วน: การขึ้นระบบ Phoenix กำลังมีปัญหาใหญ่—คำแนะนำของผม: เลื่อนออกไป 1 สัปดาห์
Steve,
ก่อนอื่น ผมขอแจ้งให้ทราบว่าผมต้องการให้ Phoenix ขึ้นระบบจริงได้เร็วพอกับทุกคน ผมเข้าใจดีว่ามันสำคัญต่อบริษัทมากแค่ไหน
อย่างไรก็ตาม จากที่ผมเห็น ผมเชื่อว่าเราจะไม่สามารถทำให้ Phoenix รันขึ้นมาได้ทันกำหนดเส้นตาย 8 โมงเช้าพรุ่งนี้ มีความเสี่ยงสูงมากที่เรื่องนี้อาจจะส่งผลกระทบไปถึงระบบ POS ในร้านค้าด้วย
หลังจากได้หารือกับ William ผมขอแนะนำให้เราเลื่อนการเปิดตัว Phoenix ออกไปอีกหนึ่งสัปดาห์ เพื่อเพิ่มโอกาสที่ Phoenix จะบรรลุเป้าหมาย และเพื่อหลีกเลี่ยงสิ่งที่ผมเชื่อว่าจะเป็นหายนะที่เกิดขึ้นอย่างแน่นอน
ผมคิดว่าเรากำลังเผชิญกับปัญหาในระดับเดียวกับเหตุการณ์ "วันขอบคุณพระเจ้า เดือนพฤศจิกายน ปี 1999 ของ Toys R Us" ซึ่งหมายความว่าระบบจะล่มหลายวันและมีปัญหาด้านประสิทธิภาพที่อาจจะทำให้ข้อมูลลูกค้าและคำสั่งซื้อตกอยู่ในความเสี่ยง
Steve เดี๋ยวผมจะโทรหาคุณในอีกไม่กี่นาทีนี้ครับ
ด้วยความเคารพ, Bill
ผมใช้เวลาครู่หนึ่งเพื่อรวบรวมความคิดแล้วโทรหา Steve ซึ่งเขารับสายตั้งแต่กริ่งแรก
"Steve ผม Bill นะครับ ผมเพิ่งจะส่งอีเมลไปหาคุณ Sarah และ Chris ผมไม่อยากจะพูดเกินจริงเลยว่าการเปิดตัวครั้งนี้มันแย่แค่ไหน เรื่องนี้กำลังจะสร้างปัญหาให้เราแน่ๆ แม้แต่ William ก็เห็นด้วย ทีมของผมกังวลมากว่าการขึ้นระบบจะไม่เสร็จทันเวลาร้านเปิดตอน 8 โมงเช้าตามเวลาฝั่งตะวันออกของพรุ่งนี้ นั่นอาจจะขัดขวางความสามารถในการขายสินค้าของร้านค้า และอาจทำให้เว็บไซต์ล่มไปอีกหลายวันด้วย"
"มันยังไม่สายเกินไปที่จะหยุดหายนะครั้งนี้" ผมวิงวอน "ความล้มเหลวหมายความว่าเราจะมีปัญหาในการรับคำสั่งซื้อจากใครก็ตาม ไม่ว่าพวกเขาจะอยู่ที่ร้านค้าหรือบนอินเทอร์เน็ต ความล้มเหลวอาจหมายถึงการทำให้ข้อมูลคำสั่งซื้อและบันทึกของลูกค้าตกอยู่ในอันตรายและพังพินาศ ซึ่งนั่นหมายถึงการสูญเสียลูกค้า การเลื่อนออกไปหนึ่งสัปดาห์อาจจะแค่ทำให้ลูกค้าผิดหวัง แต่อย่างน้อยพวกเขาก็จะกลับมาหาเราครับ!"
Steve ถอนหายใจผ่านโทรศัพท์แล้วตอบว่า "ฟังดูแย่นะ แต่มาถึงจุดนี้เราไม่มีทางเลือกอื่นแล้ว เราต้องไปต่อ ฝ่ายการตลาดซื้อโฆษณาหนังสือพิมพ์ช่วงสุดสัปดาห์เพื่อประกาศการเปิดใช้งาน Phoenix ไปแล้ว โฆษณาพวกนั้นถูกจ่ายเงินไปแล้ว และกำลังถูกส่งไปตามบ้านทั่วประเทศ พาร์ทเนอร์ของเราทุกคนก็เตรียมพร้อมรอไว้หมดแล้ว"
ผมอึ้งไปเลย "Steve มันต้องแย่ขนาดไหนครับคุณถึงจะยอมเลื่อนการเปิดตัวครั้งนี้? ผมกำลังบอกคุณว่าเรากำลังรับความเสี่ยงในระดับที่บ้าบิ่นมากในการเปิดตัวครั้งนี้อยู่นะครับ!"
เขาเงียบไปครู่หนึ่ง "เอาอย่างนี้ ถ้าคุณโน้มน้าว Sarah ให้เลื่อนการเปิดตัวออกไปได้ เราค่อยมาคุยกัน ไม่อย่างนั้นก็ลุยต่อซะ"
"ล้อเล่นหรือเปล่าครับ? เธอเป็นคนสร้างความวุ่นวายแบบกามิกาเซ่นี่ขึ้นมาเองเลยนะ"
ก่อนที่ผมจะทันได้ยั้งตัวเอง ผมก็วางสายใส่ Steve ไปซะแล้ว ครู่หนึ่งผมคิดว่าควรจะโทรกลับไปขอโทษเขาดีไหม
แม้จะเกลียดที่ต้องทำแบบนั้น แต่ผมรู้สึกว่าผมติดค้างบริษัทอยู่ในการพยายามครั้งสุดท้ายเพื่อหยุดความบ้าคลั่งนี้ ซึ่งนั่นหมายถึงการต้องไปคุยกับ Sarah ด้วยตนเอง
ในห้อง War room ของ Phoenix ตอนนี้มันทั้งอบอ้าวและเหม็นอับจากผู้คนจำนวนมากที่เหงื่อแตกจากความตึงเครียดและความหวาดกลัว Sarah กำลังนั่งอยู่คนเดียวและรัวนิ้วพิมพ์โน้ตบุ๊กของเธอ
ผมเรียกเธอ "Sarah เราคุยกันหน่อยได้ไหม?"
เธอผายมือไปที่เก้าอี้ข้างตัวแล้วบอกว่า "แน่นอนค่ะ มีอะไรเหรอ?"
ผมพูดด้วยเสียงเบาลง "ไปคุยกันที่โถงทางเดินข้างนอกดีกว่าครับ"
ขณะที่เราเดินออกไปด้วยกันอย่างเงียบเชียบ ผมถามเธอว่า "มองจากตรงนี้ คุณคิดว่าการขึ้นระบบครั้งนี้เป็นยังไงบ้าง?"
เธอตอบแบบแบ่งรับแบ่งสู้ "คุณก็รู้ว่าเรื่องแบบนี้มันเป็นยังไงเมื่อเราพยายามจะทำตัวให้รวดเร็วฉับไว (nimble) ใช่ไหมคะ? มันมักจะมีเรื่องที่คาดไม่ถึงเสมอเมื่อเป็นเรื่องของเทคโนโลยี ถ้าคุณอยากจะทำไข่เจียว คุณก็ต้องยอมทุบไข่บ้างล่ะค่ะ"
"ผมว่ามันแย่กว่าการเปิดตัวปกติของคุณนิดหน่อยนะ ผมหวังว่าคุณจะเห็นอีเมลของผมแล้วใช่ไหม?"
เธอเพียงแค่พูดว่า "เห็นแล้วค่ะ แน่นอน และคุณเห็นที่ฉันตอบกลับไปหรือยังล่ะ?"
เวรแล้ว
ผมบอกว่า "ยังครับ แต่ก่อนที่คุณจะอธิบาย ผมอยากให้มั่นใจว่าคุณเข้าใจถึงผลกระทบและความเสี่ยงที่เรากำลังสร้างให้กับธุรกิจจริงๆ" แล้วจากนั้นผมก็ทวนสิ่งที่ผมเพิ่งจะบอก Steve ไปเมื่อไม่กี่นาทีก่อนแบบคำต่อคำ
ไม่น่าแปลกใจเลยที่ Sarah ไม่รู้สึกสะทกสะท้าน ทันทีที่ผมพูดจบ เธอก็บอกว่า "พวกเราทุกคนทุ่มเทแรงกายแรงใจเพื่อให้ Phoenix มาถึงจุดนี้ ฝ่ายการตลาดพร้อมแล้ว ฝ่ายพัฒนาก็พร้อมแล้ว ทุกคนพร้อมหมดเว้นแต่คุณนั่นแหละ ฉันเคยบอกคุณไปแล้ว แต่ดูเหมือนคุณจะไม่ฟังนะ: ความสมบูรณ์แบบคือศัตรูของความดี (Perfection is the enemy of good) เราต้องไปต่อค่ะ"
ผมอัศจรรย์ใจกับการเสียเวลาครั้งยิ่งใหญ่นี้ ได้แต่ส่ายหัวแล้วพูดว่า "ไม่หรอกครับ ความไร้ความสามารถต่างหากคือศัตรูของความดี จำคำพูดของผมไว้เลย เราจะต้องตามเก็บกวาดปัญหาพวกนี้ไปอีกหลายวัน หรืออาจจะเป็นสัปดาห์ เพราะการตัดสินใจที่งี่เง่าของคุณนี่แหละ"
ขณะที่ผมเดินปังๆ กลับเข้าไปใน NOC ผมก็ได้อ่านอีเมลของ Sarah ซึ่งมันทำให้ผมยิ่งโกรธขึ้นไปอีก ผมพยายามหักห้ามใจไม่ให้ตอบกลับและราดน้ำมันลงในกองไฟ ผมยังต้องข่มอารมณ์ที่อยากจะลบมันทิ้งไปด้วย—ผมอาจจะต้องใช้มันเพื่อปกป้องตัวเองในภายหลัง
จาก: Sarah Moulton
ถึง: Bill Palmer, Steve Masters
สำเนาถึง: Chris Anderson, Wes Davis, Patty McKee, William Mason
วันที่: 12 กันยายน, 20:15 น.
ความสำคัญ: สูงสุด
หัวข้อ: ตอบกลับ: ด่วน: การขึ้นระบบ Phoenix กำลังมีปัญหาใหญ่—คำแนะนำของผม: เลื่อนออกไป 1 สัปดาห์
ทุกคนพร้อมหมดเว้นแต่คุณค่ะ ทั้งฝ่ายการตลาด, ฝ่ายพัฒนา, ฝ่ายบริหารโครงการ ทุกคนทุ่มเทให้กับโปรเจกต์นี้อย่างเต็มที่ ตอนนี้ถึงตาของคุณแล้วค่ะ
เราต้องไปต่อ! Sarah
จู่ๆ ผมก็รู้สึกตกใจขึ้นมาครู่หนึ่งที่ไม่ได้บอกอะไร Paige เลยมาหลายชั่วโมงแล้ว ผมเลยรีบส่งข้อความสั้นๆ ไปหาเธอ:
คืนนี้สถานการณ์ยิ่งแย่ลงเรื่อยๆ ผมต้องอยู่ที่นี่ต่ออีกอย่างน้อยสองสามชั่วโมง ไว้เจอกันตอนเช้านะ รักคุณ เป็นกำลังใจให้ผมด้วยนะที่รัก
ผมรู้สึกถึงมือที่แตะลงบนไหล่ และหันไปเห็น Wes "หัวหน้าครับ เรามีปัญหาที่ซีเรียสมากแล้วล่ะ"
สีหน้าของเขาทำให้ผมรู้สึกกลัวขึ้นมาจริงๆ ผมรีบลุกขึ้นและเดินตามเขาไปที่อีกฝั่งของห้อง
"จำได้ไหมครับตอนที่เราถึงจุดที่หวนกลับไม่ได้ตอนช่วงสามทุ่ม? ผมคอยติดตามความคืบหน้าของการแปลงฐานข้อมูล Phoenix อยู่ และมันช้ากว่าที่เราคิดไว้เป็นพันๆ เท่าเลยครับ จริงๆ มันควรจะเสร็จไปตั้งหลายชั่วโมงแล้ว แต่นี่มันเพิ่งจะเสร็จไปแค่สิบเปอร์เซ็นต์เอง นั่นหมายความว่าข้อมูลทั้งหมดจะไม่ถูกแปลงเสร็จจนกว่าจะถึงวันอังคารหน้า เราซวยของจริงแล้วครับ"
บางทีผมอาจจะเหนื่อยเกินกว่าที่คิดไว้เลยตามเขาไม่ทัน ผมถามว่า "ทำไมมันถึงเป็นปัญหาล่ะ?"
Wes พยายามอธิบายอีกครั้ง "สคริปต์ (script) นั้นต้องทำงานให้เสร็จก่อนที่ระบบ POS จะรันขึ้นมาได้ครับ เราหยุดสคริปต์ไม่ได้และเราก็เริ่มใหม่ไม่ได้ด้วย เห็นชัดเลยว่าไม่มีอะไรที่เราจะทำได้เพื่อให้มันทำงานเร็วขึ้นได้เลย ผมคิดว่าเราพอจะแก้ขัดให้ Phoenix รันไปได้ แต่ผมไม่รู้เลยว่าระบบ POS ในร้านจะเป็นยังไง—เราไม่มีเครื่องให้ทดสอบในห้องแล็บด้วยสิ"
โอ้พระเจ้า
ผมหยุดคิดสองครั้งก่อนจะถามว่า "Brent ล่ะ?"
เขาได้แต่ส่ายหน้า "ผมให้เขาลองมาดูอยู่สองสามนาที เขาคิดว่ามีใครบางคนไปเปิดใช้งานระบบดัชนีฐานข้อมูล (database indexing) เร็วเกินไป ซึ่งมันทำให้การนำเข้าข้อมูลช้าลง แต่เราก็ทำอะไรกับมันไม่ได้แล้วตอนนี้ ถ้าไปยุ่งข้อมูลจะพังแน่ ผมเลยให้เขากลับไปช่วยเรื่องการขึ้นระบบ Phoenix ต่อครับ"
"แล้วอย่างอื่นเป็นยังไงบ้าง?" ผมถาม เพราะต้องการประเมินสถานการณ์ทั้งหมด "ประสิทธิภาพดีขึ้นบ้างไหม? มีอัปเดตเรื่องเครื่องมือจัดการฐานข้อมูลบ้างหรือเปล่า?"
"ประสิทธิภาพยังแย่เหมือนเดิมครับ" เขาบอก "ผมคิดว่ามีปัญหาหน่วยความจำรั่วไหล (memory leak) ครั้งใหญ่เลยล่ะ ขนาดว่ายังไม่มีคนใช้งานเลยนะเนี่ย ลูกน้องของผมสงสัยว่าเราคงต้องรีบูตเซิร์ฟเวอร์หลายเครื่องทุกๆ สองสามชั่วโมงเพื่อให้มันไม่ระเบิดตัวเองไปซะก่อน ไอ้พวกนักพัฒนาเฮงซวย..."
เขาเล่าต่อ "เราหาเซิร์ฟเวอร์มาเพิ่มได้อีกสิบห้าเครื่องครับ มีทั้งเครื่องใหม่และเครื่องที่ไปดึงมาจากส่วนต่างๆ ของบริษัท และตอนนี้ เชื่อไหมล่ะ เราไม่มีพื้นที่ในตู้แร็ค (racks) ของศูนย์ข้อมูลเหลือให้ติดตั้งพวกมันแล้ว เราต้องมานั่งจัดสายเคเบิลและวางแร็คกันใหม่หมด ต้องย้ายของพะรุงพะรังไปมา Patty เพิ่งจะโทรตามลูกน้องของเธอจำนวนมากมาช่วยจัดการเรื่องนี้ครับ"
ผมรู้สึกเหมือนคิ้วตัวเองจะหลุดขึ้นไปถึงไรผมด้วยความประหลาดใจจริงๆ และจากนั้นผมก็โน้มตัวไปข้างหน้าแล้วหัวเราะออกมา "โอ้พระเจ้า ในที่สุดเราก็หาเซิร์ฟเวอร์มาติดตั้งได้ แต่ตอนนี้เรากลับไม่มีที่ให้วางพวกมันซะงั้น น่าเหลือเชื่อจริงๆ เราไม่มีดวงเลยแฮะ!"
Wes ส่ายหัว "คุณรู้ไหม ผมเคยได้ยินเรื่องแบบนี้มาจากเพื่อนๆ เหมือนกัน แต่นี่น่าจะเป็น 'แม่ของความล้มเหลวในการขึ้นระบบ' (mother of all deployment failures) เลยล่ะครับ"
เขาพูดต่อ "นี่คือส่วนที่น่าทึ่งที่สุดครับ: เราลงทุนไปตั้งมหาศาลกับระบบเสมือนจริง (virtualization) ซึ่งจริงๆ มันควรจะช่วยเราจากเรื่องแบบนี้ได้ แต่พอกลุ่มพัฒนาซ่อมปัญหาด้านประสิทธิภาพไม่ได้ พวกเขาก็ป้ายความผิดมาที่ระบบเสมือนจริง เราก็เลยต้องย้ายทุกอย่างกลับมาไว้บนเซิร์ฟเวอร์จริงๆ (physical servers) แทน!"
และลองนึกดูสิว่า Chris เสนอวันเปิดตัวที่บีบคั้นขนาดนี้ก็เพราะคิดว่าระบบเสมือนจริงจะช่วยเราได้เนี่ยนะ
ผมเช็ดตาและบังคับตัวเองให้หยุดหัวเราะ "แล้วเครื่องมือสนับสนุนฐานข้อมูลที่เหล่านักพัฒนาสัญญากับเราไว้ล่ะ?"
Wes หยุดยิ้มทันที "ขยะชัดๆ ครับ ลูกน้องของเราต้องมานั่งแก้ไขฐานข้อมูลด้วยตัวเองเพื่อแก้ปัญหาข้อผิดพลาดทั้งหมดที่ Phoenix สร้างขึ้นมา และเราต้องมานั่งสั่งการเติมสต็อกสินค้าด้วยตนเองด้วย เรากำลังเริ่มเรียนรู้ว่างานที่ต้องทำเอง (manual work) แบบนี้ใน Phoenix มันมีเยอะแค่ไหน มันจะเกิดความผิดพลาดได้ง่ายมากและต้องใช้คนจำนวนมหาศาลในการทำครับ"
ผมทำหน้าบึ้งเมื่อนึกถึงว่าเรื่องนี้จะทำให้ลูกน้องของเราต้องทำงานงมเข็มในมหาสมุทรแบบนี้มากขึ้นไปอีก งานต่ำต้อยที่แอปพลิเคชันที่พังๆ ควรจะเป็นคนทำ ไม่มีอะไรที่ทำให้ผู้ตรวจสอบบัญชีเป็นกังวลได้มากไปกว่าการแก้ไขข้อมูลโดยตรงโดยไม่มีระบบบันทึกร่องรอยการตรวจสอบ (audit trails) และการควบคุมที่เหมาะสมหรอก
"คุณทำหน้าที่ได้ยอดเยี่ยมมากครับ สิ่งที่สำคัญที่สุดของเราตอนนี้คือการหาคำตอบว่าผลกระทบของการแปลงฐานข้อมูลที่ไม่เสร็จสิ้นนี้จะเป็นอย่างไรต่อระบบ POS ในร้านค้า ไปตามหาคนที่รู้เรื่องพวกนี้แบบทะลุปรุโปร่งมา แล้วขอความเห็นจากพวกเขา ถ้าจำเป็น ก็ให้โทรหาใครสักคนในทีมของ Sarah ที่ดูแลการปฏิบัติงานค้าปลีกรายวัน ดีมากเลยถ้าคุณสามารถหาเครื่อง POS และเซิร์ฟเวอร์มาให้เราลองล็อกอินเข้าไปดูผลกระทบด้วยตัวเองได้"
"รับทราบครับ" Wes บอกพลางพยักหน้า "ผมรู้เลยว่าควรจะให้ใครมาทำเรื่องนี้"
ผมมองดูเขาเดินจากไปแล้วก็มองไปรอบๆ พยายามหาว่าผมควรจะไปทำประโยชน์ตรงไหนได้มากที่สุด
แสงยามเช้าเริ่มส่องผ่านหน้าต่างเข้ามา เผยให้เห็นกองขยะสะสมทั้งแก้วกาแฟ กระดาษ และเศษซากอื่นๆ สารพัด ในมุมหนึ่ง มีนักพัฒนาคนหนึ่งกำลังหลับอยู่ใต้เก้าอี้
ผมเพิ่งจะวิ่งไปเข้าห้องน้ำเพื่อล้างหน้าและเช็ดคราบสกปรกออกจากฟัน ผมรู้สึกสดชื่นขึ้นมานิดหน่อย แต่มันก็นานมาแล้วที่ผมไม่ได้อดนอนทั้งคืนแบบนี้
Maggie Lee คือผู้อำนวยการอาวุโสฝ่ายบริหารโครงการค้าปลีก (Senior Director of Retail Program Management) และเป็นลูกน้องของ Sarah เธอกำลังเริ่มการประชุมฉุกเฉินตอน 7 โมงเช้า และมีคนเบียดเสียดกันอยู่ในห้องเกือบสามสิบคน เธอพูดด้วยน้ำเสียงเหนื่อยล้าว่า "นี่เป็นคืนแห่งวีรกรรม และฉันขอขอบคุณทุกคนที่ทำทุกวิถีทางเพื่อทำตามคำมั่นสัญญาของ Phoenix
"อย่างที่พวกคุณทราบ เหตุผลของการประชุมฉุกเฉินครั้งนี้คือมีบางอย่างผิดปกติในการแปลงฐานข้อมูลค่ะ" เธอเล่าต่อ "นั่นหมายความว่าระบบ POS ในร้านค้าทั้งหมดจะใช้งานไม่ได้ ซึ่งหมายความว่าร้านค้าจะไม่มีเครื่องคิดเงินที่ใช้งานได้ นั่นหมายความว่าต้องใช้ลิ้นชักเก็บเงินแบบแมนนวลและเครื่องรูดบัตรแบบแมนนวลค่ะ"
เธอเสริมว่า "ข่าวดีก็คือเว็บไซต์ Phoenix รันขึ้นมาและใช้งานได้แล้วค่ะ" เธอมองมาที่ผมแล้วบอกว่า "ขอขอบคุณ Bill และทีมงาน IT Operations ทั้งหมดที่ทำให้เรื่องนี้เกิดขึ้นได้ค่ะ"
ผมตอบกลับด้วยความหงุดหงิดว่า "ผมอยากให้ระบบ POS ใช้งานได้มากกว่า Phoenix ซะอีกครับ ตอนนี้ใน NOC วุ่นวายกันไปหมดแล้ว โทรศัพท์ทุกเครื่องของเราดังมาตลอดหนึ่งชั่วโมงที่ผ่านมา เพราะคนในร้านค้าพากันตะโกนด่าว่าระบบของพวกเขาไม่ตอบสนอง มันเหมือนงานระดมทุนทางโทรทัศน์ของ Jerry Lewis เลยล่ะครับ ข้อความเสียงของผมเต็มไปเรียบร้อยแล้วจากพนักงานในร้านทั้ง 120 สาขา เราคงต้องดึงคนมาเพิ่มเพื่อมาช่วยรับโทรศัพท์อย่างเดียวเลยล่ะ"
โทรศัพท์เครื่องหนึ่งสั่นอยู่ที่ไหนสักแห่งบนโต๊ะ ราวกับจะมาเน้นย้ำประโยคที่ผมเพิ่งพูดไป
"เราต้องเริ่มแก้ปัญหาเชิงรุก (proactive) กันได้แล้วครับ" ผมบอกกับ Sarah "เราต้องส่งสรุปรายงานไปให้ทุกคนในร้านค้าให้เร็วที่สุดเท่าที่จะทำได้ โดยระบุว่าเกิดอะไรขึ้นและมีคำแนะนำที่ชัดเจนว่าจะบริหารจัดการร้านค้ายังไงโดยไม่มีระบบ POS"
Sarah นิ่งไปครู่หนึ่ง แล้วก็บอกว่า "นั่นเป็นไอเดียที่ดีค่ะ เอาเป็นว่าคุณช่วยเขียนร่างอีเมลฉบับแรกมาหน่อย แล้วเราค่อยมาดูกันต่อดีไหมคะ?"
ผมอึ้งไปเลย "อะไรนะ? ผมไม่ใช่ผู้จัดการร้านนะครับ! ให้คนในกลุ่มของคุณเป็นคนร่างฉบับแรกมาสิครับ แล้วเดี๋ยวผมกับ Chris จะคอยดูว่าข้อมูลมันถูกต้องไหม"
Chris พยักหน้าเห็นด้วย
Sarah มองไปรอบๆ ห้อง "โอเคค่ะ เดี๋ยวเราจะสรุปอะไรบางอย่างออกมาในอีกสองสามชั่วโมงข้างหน้านี้"
"ล้อเล่นหรือเปล่าครับ?" ผมตะโกนลั่น "ร้านค้าทางฝั่งตะวันออกเริ่มเปิดให้บริการในอีกไม่ถึงชั่วโมงแล้ว—เราต้องส่งอะไรออกไปเดี๋ยวนี้เลย!"
"เดี๋ยวฉันจัดการเองค่ะ" Maggie พูดพร้อมกับยกมือขึ้น เธอรีบเปิดโน้ตบุ๊กแล้วเริ่มรัวนิ้วพิมพ์ทันที
ขณะที่ผมบีบขมับตัวเองเพื่อดูว่าจะช่วยให้หายปวดหัวได้บ้างไหม ผมก็สงสัยเหลือเกินว่าการเปิดตัวครั้งนี้มันจะแย่ลงได้มากกว่านี้อีกแค่ไหนกัน
เมื่อถึงเวลาบ่ายสองโมงของวันเสาร์ มันก็ชัดเจนแล้วว่าจุดต่ำสุดมันยังอยู่อีกไกลกว่าที่ผมคิดว่าจะเป็นไปได้เยอะเลย
ร้านค้าทุกแห่งตอนนี้กำลังทำงานในโหมดสำรองแบบแมนนวลอย่างเต็มตัว ยอดขายทั้งหมดถูกประมวลผลด้วยเครื่องพิมพ์สำเนาบัตรเครดิตแบบแมนนวล โดยมีสำเนากระดาษคาร์บอนเก็บไว้ในกล่องรองเท้า
ผู้จัดการร้านต้องให้พนักงานรีบวิ่งไปที่ร้านเครื่องเขียนใกล้บ้านเพื่อหาซื้อใบสำเนากระดาษคาร์บอนมาเพิ่มสำหรับเครื่องรูดบัตร รวมถึงต้องไปธนาคารเพื่อหาเงินทอนมาเตรียมไว้ให้เพียงพอ
ลูกค้าที่เข้าใช้งานเว็บไซต์ Phoenix ต่างพากันบ่นว่าระบบล่มหรือไม่ก็ช้าจนใช้งานไม่ได้ เราถึงกับกลายเป็นหัวข้อที่ถูกพูดถึงมากที่สุด (trending topic) ใน Twitter ไปแล้ว ลูกค้าของเราทุกคนที่เคยตื่นเต้นที่จะลองใช้บริการของเรา ต่างพากันบ่นถึงความล้มเหลวครั้งยิ่งใหญ่ของระบบ IT หลังจากที่เห็นโฆษณาทางทีวีและหนังสือพิมพ์ของเรา
ลูกค้ากลุ่มที่สั่งของออนไลน์ได้สำเร็จต้องมาเจอเรื่องที่น่าตกใจเมื่อพวกเขาไปที่ร้านเพื่อรับสินค้า นั่นคือตอนที่เราค้นพบว่า Phoenix ดูเหมือนจะทำรายการธุรกรรมหายไปแบบสุ่มๆ และในบางกรณี มันก็เก็บเงินผ่านบัตรเครดิตของลูกค้าเบิ้ลไปสองหรือสามรอบด้วย
Ann จากฝ่ายการเงินโกรธจัดที่ความถูกต้องของข้อมูลใบสั่งซื้อสูญเสียไป เธอจึงขับรถมาที่บริษัทและให้ทีมงานของเธอตั้งห้อง War room อีกห้องขึ้นมาที่ฝั่งตรงข้ามทางเดิน เพื่อคอยรับสายจากร้านค้าในการจัดการคำสั่งซื้อที่มีปัญหา เมื่อถึงเวลาเที่ยงวัน ก็มีกองเอกสารจากลูกค้าที่โกรธแค้นหลายร้อยรายถูกแฟกซ์ส่งมาจากทางร้านค้า
เพื่อสนับสนุน Ann นั้น Wes ได้ดึงวิศวกรมาเพิ่มอีกเพื่อสร้างเครื่องมือให้ทีมงานของ Ann ได้ใช้ เพื่อประมวลผลรายการธุรกรรมที่ผิดพลาดซึ่งค้างสะสมเพิ่มขึ้นเรื่อยๆ
ขณะที่ผมเดินผ่านโต๊ะใน NOC เป็นครั้งที่สาม ผมก็ตัดสินใจว่าผมเหนื่อยเกินกว่าจะทำประโยชน์ให้ใครได้อีกแล้ว ตอนนี้เกือบจะบ่ายสองโมงครึ่งแล้ว
Wes กำลังโต้เถียงกับใครบางอยู่ที่อีกฝั่งของห้อง ผมเลยรอจนเขาคุยเสร็จ ผมบอกเขาว่า "มายอมรับความจริงกันเถอะว่านี่จะเป็นมหากาพย์ที่ลากยาวไปหลายวันแน่ คุณไหวไหม?"
เขาหาวหวอดแล้วตอบว่า "ผมได้นอนไปชั่วโมงนึงครับ ว้าว คุณดูแย่มากเลยนะเนี่ย กลับบ้านไปงีบสักสองสามชั่วโมงเถอะครับ เดี๋ยวผมดูแลทุกอย่างที่นี่เอง มีอะไรเดี๋ยวผมโทรหา"
ผมเหนื่อยเกินกว่าจะเถียงด้วย เลยขอบคุณเขาแล้วเดินออกมา
ผมสะดุ้งตื่นเมื่อได้ยินเสียงโทรศัพท์มือถือดังขึ้น ผมรีบลุกขึ้นคว้าโทรศัพท์ ตอนนี้เวลา 16:30 น. Wes โทรมาครับ
ผมสะบัดหัวเพื่อให้ตื่นเต็มตาแล้วกดรับสาย "ว่าไงครับ?"
ผมได้ยินเขาพูดว่า "ข่าวร้ายครับ สรุปสั้นๆ คือใน Twitter ตอนนี้ว่อนไปหมดแล้วว่าแอป Phoenix ทำข้อมูลบัตรเครดิตลูกค้าหลุดออกมา มีคนโพสต์ภาพหน้าจอด้วย เห็นชัดเลยว่าเมื่อคุณลบสินค้าออกจากตะกร้า ระบบจะค้างและแสดงเลขบัตรเครดิตของรายการสั่งซื้อล่าสุดที่สำเร็จออกมาครับ"
ผมกระโดดลงจากเตียงแล้วรีบเดินเข้าห้องน้ำเพื่อไปอาบน้ำทันที "โทรหา John เลย เขาต้องหัวเสียแน่ๆ มันน่าจะมีขั้นตอนปฏิบัติสำหรับเรื่องนี้นะ ต้องมีเอกสารกองพะเนิน และอาจจะต้องถึงขั้นแจ้งความด้วย และน่าจะต้องใช้ทนายความด้วยล่ะ"
Wes ตอบว่า "ผมโทรหาเขาแล้วครับ เขาและทีมงานกำลังเดินทางมาที่นี่ และเขาโกรธมากด้วย เขาดูเหมือนตัวละครในเรื่อง Pulp Fiction เลยล่ะ เขาถึงขั้นอ้างบทพูดเกี่ยวกับวันที่ต้องชดใช้และทำลายล้างผู้คนด้วยความแค้นและโทสะอันรุนแรงเลยล่ะครับ"
ผมหัวเราะ ผมชอบฉากนั้นที่ John Travolta กับ Samuel L. Jackson เล่นจัง มันไม่ใช่ภาพพจน์ที่ผมคิดว่าจะเข้ากับ CISO ผู้แสนสุภาพของเราเลย แต่ก็นะ อย่างที่เขาพูดกันแหละว่าต้องระวังพวกเงียบๆ เอาไว้ให้ดี
ผมอาบน้ำอย่างรวดเร็ว วิ่งเข้าไปในครัวแล้วคว้าชีสแท่งที่ลูกชายชอบกินติดมือมาด้วยสองสามแท่ง ผมพกพวกมันมาในรถแล้วเริ่มขับกลับไปที่ออฟฟิศทันที
เมื่อขึ้นทางด่วน ผมก็โทรหา Paige เธอรับสายทันที "ที่รัก คุณไปอยู่ที่ไหนมาคะ? ฉันอยู่ที่ทำงานแล้วลูกๆ ก็อยู่กับแม่ของฉันน่ะค่ะ"
ผมบอกว่า "จริงๆ ผมเพิ่งอยู่ที่บ้านได้ชั่วโมงนึงน่ะครับ ผมหลับทันทีที่หัวถึงหมอนเลย แต่ Wes เพิ่งโทรมา ดูเหมือนแอป Phoenix จะเริ่มแสดงเลขบัตรเครดิตของคนอื่นให้โลกเห็นซะแล้ว มันเป็นการรั่วไหลของข้อมูลด้านความปลอดภัยครั้งใหญ่ ผมเลยกำลังขับรถกลับไปที่ออฟฟิศเดี๋ยวนี้แหละครับ"
ผมได้ยินเธอถอนหายใจอย่างไม่พอใจ "คุณอยู่ที่นั่นมาสิบกว่าปีแล้วและไม่เคยต้องทำงานหนักขนาดนี้มาก่อนเลยนะ ฉันเริ่มจะไม่ค่อยชอบตำแหน่งใหม่ของคุณซะแล้วล่ะสิ"
"ผมก็เหมือนกันครับที่รัก..." ผมพูดออกไป