สำนวนควรรู้ในการพัฒนาซอฟท์แวร์

Krist Wongsuphasawat
2 min readFeb 1, 2017

--

ตั้งแต่มาเรียนป.โทจนทำงานกับฝรั่งก็เจอคำเหล่านี้กรอกหูกันบ่อยๆครับ รู้ไว้ซะหน่อยเวลาพูดมาจะได้ไม่งง

Credit: South Park

Barking up the wrong tree / เห่าผิดต้น

คิดหรือทำอะไรโดยได้รับแนวทางที่ผิด [reference]

เปรียบเทียบว่าเหมือนหมาที่ยืนเห่าต้นไม้เพราะถูกหลอกว่าเหยื่อปีนขึ้นไป

บางครั้งสำนวนนี้ใช้ร่วมกับ “red herring” ได้เวลาพูดถึงการแก้บั๊ก. “He followed the red herring and spent time barking up the wrong tree.”

The ball is in your court / บอลอยู่ฝั่งคุณแล้ว

ฉันทำส่วนของฉันแล้ว คราวนี้ตาคุณจัดการต่อ [reference]

มาจากกีฬาเทนนิส ถ้าบอลข้ามมาฝั่งเราแล้ว เราต้องตีกลับไป

Ballpark / สนามเบสบอล

ตัวเลขโดยประมาณ [reference]

เช่น ผู้บริหารถามว่าเรามีพนักงานเป็นผู้หญิงกี่คน เอาแค่ ballpark estimation ก็พอ ไม่จำเป็นต้องเป๊ะ

ทฤษฎีนึงบอกว่าคำพูดนี้มาจากสมัยอเมริกากับรัสเซียแข่งไปอวกาศ ซึ่งตอนนั้นยังคำนวณจุดลงจอดได้ไม่แม่นยำ ถ้ายานอวกาศกลับมายังโลกในบริเวณที่เตรียมไว้ ถือว่ายังอยู่ในสนามเบสบอล (ballpark) เพราะ เหมือนกีฬาเบสบอลถ้าตีลูกแล้วยังอยู่ในสนามก็ยังเล่นต่อได้

อีกทฤษฎีหนึ่งบอกว่ามันหมายถึงการที่ผู้บรรยายในสนามเบสบอลประกาศตัวเลขผู้ชมโดยประมาณในแต่ละนัด

Bikeshedding / เพิงเก็บจักรยาน

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

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

Build a better mousetrap / สร้างกับดักหนูที่ดีกว่า

คิดค้นสิ่งที่ดีกว่าสิ่งที่มีอยู่แล้วและใช้กันอย่างแพร่หลาย [reference]

มาจากคำกล่าวเต็มๆที่ว่า “ถ้าคุณสร้างกับดักหนูที่ดีกว่าใคร ทั้งโลกจะแห่กันมาหน้าระตูบ้านคุณ”

Call it a day / พอละวันนี้

เลิกงานเร็ว หยุดทำงานในวันนั้น [reference]

มาจาก “call it half a day” (นับครึ่งวันละกัน) ที่เคยบันทึกว่าถูกใช้ตั้งแต่ปี 1838

Drink the Kool-Aid / ดื่มคูลเอต

ก. เชื่อความคิดหรือแนวทางที่ถูกบอกอย่างสุดใจ ไม่ว่าจะถูกหรือผิด ข. ยอมทำตามที่คนส่วนใหญ่ทำ มักใช้เมื่อตอนแรกไม่เห็นด้วยแล้วยอมย้ายข้างในที่สุด [reference]

สำนวนนี้มาจากการฆ่าตัวตายหมู่ตามความเชื่อในปี 1978 ที่กียานา Jim Jones ผู้นำกลุ่มชักชวนสาวกกว่า 900 คนให้ดื่มเครื่องดื่มรสองุ่นยี่ห้อ Kool-Aid ซึ่งผสมยาพิษ

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

Drop the ball / ทำบอลหล่น

ก่อความผิดพลาด [reference]

มีที่มาจากเกมอเมริกันฟุตบอล ซึ่งห้ามทำบอลหล่นในขณะเล่น

Eat your own dogfood / Dogfooding / กินอาหารสุนัขของตัวเอง

หมายถึงการที่บริษัทใช้ผลิตภัณฑ์ของตัวเองเหมือนกับลูกค้าเพื่อทดสอบการใช้งาน [reference]

ที่มาบ้างก็ว่ามาจากโฆษณาอาหารสุนัข Alpo ที่นักแสดงคนหนึ่งกล่าวว่าเขาให้หมาของเขากิน Alpo บ้างก็บอกว่า มาจากประธานบริษัทอาหารสัตว์ Kal Kan ที่พูดกันว่ากินอาหารหมาโชว์ในการประชุมผู้ถือหุ้น

ในปี 1988 ที่ไมโครซอฟท์Paul Maritz ส่งอีเมล์บอก Brian Valentine ที่เป็นผู้จัดการทีมทดสอบ โดยตั้งหัวข้ออีเมล์ว่า “Eating our own Dogfood” เสนอให้เขาเพิ่มการใช้งานของผลิตภัณฑ์ไมโครซอฟท์เองภายในบริษัท นับแต่นั้นคำว่า dogfood ก็แพร่หลายไปทั่วบริษัท

In Layman’s terms / พูดภาษาชาวบ้าน

อธิบายเรื่องยากๆหรือซับซ้อน โดยใช้คำศัพท์ที่คนทั่วไปที่ไม่ได้มีความรู้ในสาขานั้นๆสามารถเข้าใจได้ [reference]

ต้นตอมาจากการเผยแพร่ศาสนา “layman” เป็นสมาชิกทั่วไปของโบสถ์ที่ช่วยงานพระ ในอดีตการเทศน์จะใช้ภาษาละติน ซึ่งน้อยคนที่ไม่ใช่พระจะเข้าใจ ดังนั้น การเทศน์โดยใช้ภาษาพื้นบ้านของ layman จะช่วยให้ศาสนาเข้าถึงพวกเขาได้มากขึ้น

Low hanging fruits / ผลไม้ที่ห้อยต่ำ

เป้าหมายที่ทำให้สำเร็จได้ง่ายโดยไม่ต้องใช้ความพยายามมาก [reference]

เปรียบเปรยผลไม้ที่กิ่งห้อยต่ำ ว่าหยิบง่าย ไม่ต้องเปลืองแรงปีนเก็บ

แต่เอาเข้าจริงๆพวก low hanging fruits นี่ดูง่ายแต่พอลงมือแล้วกุมขมับทุกที

Play it by ear / เล่นตามสถานการณ์

แทนที่จะวางแผนไว้ก่อนล่วงหน้า รอดูว่าอะไรเกิดขึ้นก่อน แล้วปรับแผนตามสถานการณ์ [reference]

มาจากการเล่นดนตรีโดยไม่อ้างอิงโน้ต

Problem Exists Between Keyboard And Chair / ปัญหาน่ะอยู่ระหว่างคีย์บอร์ดกับเก้าอี้

ปัญหาเป็นความผิด (โง่) ของผู้ใช้ [reference]

มีหลายคำที่หมายความแบบเดียวกัน

  • PEBKAC (ตัวย่อ “Problem Exists Between Keyboard And Chair”),
  • POBCAK (ตัวย่อของรัฐบาลสหรัฐ “Problem Occurs Between Chair And Keyboard”),
  • PICNIC (ตัวย่อ “Problem in Chair; Not in Computer”)
  • ID-10-T error — พอสะกดจะได้คำว่า “IDIOT” (ไอ้งั่ง) เรียกสั้นๆว่า “Ten-T error” หรือบางทีก็เขียน “ID:10T error”.

Ring a bell / สั่นกระดิ่ง

รู้สึกคุ้นๆถึงสิ่งที่กล่าวถึง [reference]

ทฤษฎีแรกบอกว่ามาจากการทดลองของ Pavlov กับสุนัข เมื่อป้อนอาหารแล้วสั่นกระดิ่ง เมื่อเวลาผ่านไป สุนัขก็จำเสียงสั่นกระดิ่งว่าเกี่ยวกับอาหาร พอได้ยินเสียงกระดิ่ง น้ำลายก็ไหลแม้ว่าจะไม่มีอาหารก็ตาม

อีกทฤษฎีบอกว่า กระดิ่งเป็นอุปกรณ์ที่มีไว้เตือนความจำอยู่แล้ว ไม่ว่าจะเป็นกระดิ่งเลิกเรียน นาฬิกาปลุก ฯลฯ

Rocket science / สร้างยานอวกาศ

ใช้เปรียบถึงอะไรก็ตามที่ซับซ้อน [reference]

เพราะสร้างยานอวกาศนี่ฟังดูปวดหัวใช้ได้เลยทีเดียว

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

Reinvent the wheel / คิดค้นล้อใหม่อีกครั้ง

เสียเวลาสร้างสิ่งที่มีคนสร้างไว้ดีแล้วใหม่ [reference]

เป็นที่รู้กันว่า ล้อ เนี่ยได้ถูกประดิษฐ์ขึ้นตั้งแต่สมัยโบราณ มีใช้กันแพร่หลาย ถ้าอยู่ดีๆมานั่งคิดค้นล้อ (ราวกับไม่เคยเห็นล้อมาก่อน) ก็เอาเวลาไปทำอย่างอื่นดีกว่า

แต่ถึงอย่างงั้นก็เถอะ ชาวโลกเราก็ชอบเขียนอะไรซ้ำๆกันประจำ

Red herring / ปลาแฮร์ริ่งแดง

บางอย่างที่ทำให้เข้าใจผิดหรือหลงประเด็นสำคัญ [reference]

ต้นตอมาจากการฝึกม้าให้ลากซากหมาจิ้งจอกหรือแมว แต่ถ้าหาซากไม่ได้ก็เอาปลารมควันไปใช้แทน

ใช้บ่อยเวลา debug แล้วเจอ error message ที่ไม่เกี่ยวข้องกับปัญหาที่แท้จริง

Murphy’s Law / กฎของเมอร์ฟี่

อะไรก็ตามที่สามารถผิดพลาดได้ มันจะเกิดขึ้น [reference]

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

มีที่มาจากวิศวกรคนหนึ่งชื่อ Murphy สร้างอุปกรณ์แล้วพอใช้พังอนาถ จบงานแกพูดทำนองนี้ออกมา คนในหน่วยงานเลยเอามาตั้งเป็นกฎซะเลย

Shit happens / ความเหี้ยเกิดขึ้นได้

เมื่อบางอย่างเกิดขึ้นนอกเหนือความควบคุมของคุณแล้วทำให้เกิดสถานการณ์เลวร้าย [reference]

เช่น demo งานให้ทั้งบริษัทฟัง แล้ว server เกิดพังกะทันหันทำให้ demo พังไม่เป็นท่า หลังจากนั้นหัวหน้าก็ปลอบใจว่า เออ ไม่เป็นไร shit happens!

Show [someone] the ropes / สอนใช้เชือก

อธิบายหรือสอนวิธีทำ [reference]

มาจากการเดินเรือ เชือกเป็นอุปกรณ์สำคัญในการควบคุมเรือ ชาวเรือที่มีประสบการณ์ก็จะสอนเด็กหัดใหม่ให้ใช้เชือกให้เป็น จะได้เดินเรือได้

Technical debt / หนี้ทางเทคนิค

การสะสมโค้ดที่เขียนไว้ไม่ดีนักเนื่องจากการเลือกทางลัดหรือการตัดสินใจทางเทคนิคแย่ๆในอดีต [reference]

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

The whole enchilada / เอนชิลาด้าทั้งอัน

สถานการณ์โดยรวม, ภาพรวม, แผนโดยรวม, ทั้งหมดที่มี [reference]

“enchilada” เป็นชื่ออาหารเม็กซิกัน แต่ที่มาว่าทำไมถึงกลายเป็นสำนวนนี้ยังเป็นปริศนาอยู่

Yak shaving / โกนขนจามรี

พอจะทำอะไรอย่างนึงแล้วต้องไปทำขั้นตอนอื่นๆอีกหลายๆขั้นตอนจนกว่าจะได้ทำสิ่งที่ตั้งใจไว้ตอนแรก [reference]

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

ส่วนสองอันนี้ไม่ใช่สำนวนแต่คุณจะได้ยินซ้ำแล้วซ้ำอีก ซำ้แล้วซ้ำอีก

Proof of concept

การทดลองหรือทำอะไรง่ายๆขึ้นมาเพื่อพิสูจน์ว่าความคิดที่มีใช้ได้จริง [reference]

Minimum Viable Product (MVP)

ฟีเจอร์อย่างน้อยที่สุดของผลิตภัณฑ์ที่คุณสามารถใช้มันประเมินตลาดได้ [reference]

ถ้ามีสำนวนอื่นๆเสนอมาได้ใน response ข้างล่างเลยครับ

--

--

Krist Wongsuphasawat

Data Experience @airbnb / Prev: Turn data into pixels @twitter • Invent new vis @UofMaryland HCIL PhD • From @Thailand • http://kristw.yellowpigz.com