Topic 4 ซุปหินกับกบต้ม

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

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

“นี่คือซุปหิน” ทหารอธิบาย “ใส่แค่นี้เองเหรอ” ชาวบ้านถาม “ใช่แล้วครับ—แม้ว่าบางคนจะบอกว่ามันจะอร่อยขึ้นไปอีกถ้าใส่แครอทสักหน่อย…” ชาวบ้านคนหนึ่งวิ่งหายไป แล้วกลับมาในพริบตาพร้อมตะกร้าแครอทจากคลังสะสมของตัวเอง

อีกสองสามนาทีต่อมา ชาวบ้านก็ถามอีกครั้งว่า “แค่นี้เองเหรอ”

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

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

ในที่สุดพวกเขาก็ได้ซุปหม้อใหญ่ที่ร้อนควันฉุยขึ้นมา ทหารหยิบก้อนหินออกมา แล้วนั่งลงกินอาหารมื้อใหญ่ร่วมกับชาวบ้านทั้งหมู่บ้าน ซึ่งเป็นมื้ออาหารที่อิ่มท้องจริงๆ มื้อแรกในรอบหลายเดือนของทุกคนที่นั่น

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

บางครั้งบางคราว คุณก็อาจอยากลองทำตัวเป็นทหารในเรื่องนี้ดูบ้างครับ

คุณอาจอยู่ในสถานการณ์ที่รู้ชัดเจนว่าต้องทำอะไรและทำอย่างไร ระบบทั้งหมดปรากฏขึ้นตรงหน้าคุณ—คุณรู้ว่ามันถูกต้อง แต่พอไปขออนุญาตทำทั้งระบบ คุณกลับเจอแต่ความล่าช้าและสายตาว่างเปล่าที่จ้องกลับมา ผู้คนจะตั้งคณะกรรมการ งบประมาณต้องรออนุมัติ และทุกอย่างจะยุ่งยากขึ้นเรื่อยๆ ทุกคนต่างปกป้องทรัพยากรของตัวเอง บางครั้งเราเรียกอาการนี้ว่า “Start-up Fatigue”

ถึงเวลาหยิบก้อนหินออกมาแล้วครับ ลองคิดดูว่ามีอะไรบ้างที่คุณ ขอได้ อย่างสมเหตุสมผล แล้วพัฒนามันออกมาให้ดี พอทำเสร็จแล้ว ก็เอาไปโชว์ให้คนอื่นดู แล้วปล่อยให้พวกเขาทึ่งไปกับมัน จากนั้นก็พูดว่า “แน่นอนว่ามัน คง จะดีขึ้นไปอีกถ้าเราเพิ่ม…” ทำเป็นว่ามันไม่สำคัญอะไร แล้วนั่งรอให้พวกเขาเริ่มมาขอให้คุณเพิ่ม Feature ที่คุณอยากได้มาตั้งแต่แรก ผู้คนมักจะเข้าร่วมกับความสำเร็จที่กำลังดำเนินอยู่ได้ง่ายกว่า ลองให้พวกเขาได้เห็นภาพอนาคตสักนิด แล้วพวกเขาจะพากันมาร่วมด้วยเอง [7]

Tip 6 จงเป็นตัวเร่งปฏิกิริยาแห่งการเปลี่ยนแปลง

The Villagers' Side (มุมมองของชาวบ้าน)

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

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

Tip 7 อย่าลืมมองภาพใหญ่

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

สังเกตว่าปัญหาของกบนั้นแตกต่างจากปัญหาหน้าต่างแตกที่พูดถึงใน Topic 3, ​ Software Entropy ​ ในทฤษฎีหน้าต่างแตก ผู้คนหมดกำลังใจที่จะต่อสู้กับเอนโทรปี เพราะพวกเขารู้สึกว่าไม่มีใครสนใจ ส่วนกบนั้นแค่ไม่ทันสังเกตเห็นความเปลี่ยนแปลงเท่านั้นเอง

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

Related Sections Include (หัวข้อที่เกี่ยวข้อง)

  • Topic 1, ​ It's Your Life ​
  • Topic 38, ​ Programming by Coincidence ​

Challenges (แบบฝึกหัดชวนคิด)

  • ตอนที่ทบทวนต้นฉบับของฉบับพิมพ์ครั้งแรก John Lakos ได้หยิบยกประเด็นนี้ขึ้นมา นั่นคือทหารค่อยๆ หลอกลวงชาวบ้านไปทีละนิด แต่การเปลี่ยนแปลงที่พวกเขาเร่งให้เกิดขึ้นกลับส่งผลดีกับทุกคน ในขณะที่การค่อยๆ หลอกกบกลับสร้างอันตรายให้มัน คุณจะแยกแยะได้อย่างไรว่าตอนที่คุณพยายามเร่งให้เกิดการเปลี่ยนแปลง คุณกำลังทำ “ซุปหิน” หรือ “ซุปกบ” กันแน่ แล้วการตัดสินใจแบบนี้เป็นเรื่องส่วนตัวหรือเป็นเรื่องที่วัดผลได้จริง

  • ลองตอบเร็วๆ โดยไม่ต้องมอง—เพดานเหนือหัวคุณมีไฟกี่ดวง ในห้องมีทางออกกี่ทาง มีคนอยู่กี่คน มีอะไรที่ดูแปลกแยกออกจากบริบท หรือดูเหมือนไม่ควรอยู่ตรงนั้นไหม นี่คือแบบฝึกหัดของ การตระหนักรู้สถานการณ์ (Situational Awareness) ซึ่งเป็นเทคนิคที่คนหลากหลายกลุ่มฝึกฝนกัน ตั้งแต่ลูกเสือเนตรนารีไปจนถึงหน่วย Navy SEAL จงฝึกให้เป็นนิสัยที่จะมองและสังเกตสภาพแวดล้อมรอบตัวคุณอย่างจริงจัง แล้วลองทำแบบเดียวกันนี้กับโปรเจกต์ของคุณดูครับ