10 นิสัยของเหล่า “นักคิด” เขาทำอะไรกับบ้าง

ฟังคลิปของป๋าเต็ดที่มาเล่าเรื่อง 10 นิสัยของนักคิด ในรายการ เจาะใจ ซึ่งป๋าได้นำมาจากบทความของฝรั่งชื่อ 10 Habits Of Highly Creative People (อันนี้ลองค้นดูเองแล้วตรง แต่ไม่รู้ป๋าเอาจากแหล่งนี้ไหมนะครับ) ซึ่งน่าสนใจมาก เพราะมีคนรวบรวมมาแล้วพบว่า นักคิดมักจะทำอะไรต่างๆ เหมือนกัน โดยมีอยู่ประมาณ 10 ข้อ ซึ่งแต่ละคนอาจจะมีครบหรือไม่ก็ตาม แต่ก็ประมาณๆนี้ ซึ่งเราสามารถนำมาฝึกใช้ในชีวิตประจำวันเราได้  Continue reading “10 นิสัยของเหล่า “นักคิด” เขาทำอะไรกับบ้าง” »

ว่าด้วยเรื่อง “หนี้ทางเทคนิค” (Technical Debt) ทำไมต้องใส่ใจ

“Technical Debt” คืออะไร

“Technical Debt” ถ้าแปลตรงตัวก็คือ “หนี้ทางเทคนิค” โดยถูกใช้ครั้งแรกจากลุง Ward Cunningham ในขณะที่ลุงทำ Software ทางด้านการเงิน ชื่อ WyCash แล้วลุงต้องการสื่อสารให้เจ้านายที่รู้เรื่องทางด้านการเงินเข้าใจว่า ถ้าไม่แก้ปัญหาทางด้านเทคนิคหรือไม่ทำมันให้ดี แล้วปล่อยมันทิ้งไว้ ก็อุปมาเหมือนเป็นหนี้สะสมไปเรื่อยๆ แถมยังต้องชดใช้ดอกเบี้ยในอนาคตด้วยอีกนะ! Continue reading “ว่าด้วยเรื่อง “หนี้ทางเทคนิค” (Technical Debt) ทำไมต้องใส่ใจ” »

เมื่อมีหลายความเห็นในที่ประชุม? จะจัดการอย่างไร

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

ทั้งเล่าปี่และซุนกวน ต่างมีพญาเสือสังกัดอยู่
นั่นคือ ขงเบ้ง ของฝั่งเล่าปี่ และ จิวยี่ของฝั่งซุนกวน
ถ้าใครเคยอ่านสามก๊ก สองคนนี้จะขับเคี่ยวทางปัญญากันตลอด ตั้งแต่นาทีแรกที่เจอ จวบจนวาระสุดท้าย
ไม่ว่าจะประชุมเล็กใหญ่ คุยต่อหน้าหรือส่งตัวแทนลกซุนไปคุย ก็มักชิงไหวชิงพริบกันเสมอ
เพราะเสือสองตัวอยู่ถ้ำเดียวกันมักรำส่ำระส่าย Continue reading “เมื่อมีหลายความเห็นในที่ประชุม? จะจัดการอย่างไร” »

ทำอย่างไร ให้นอนหลับมีประสิทธิภาพ?

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

ไม่รู้คนอื่นๆจะเป็นเหมือนผมไหม ทุกวันนี้ที่นอนเยอะเพราะความกลัว .. กลัวตาย กลัวง่วงตอนทำงาน กลัวได้นอนน้อย หรือแม้แต่จะตื่นเช้าไปซ้อมวิ่ง ยังคุยกับตัวเองบ่อยๆว่า “เหยย เมื่อคืนแม่งนอนน้อยไป(5ชม) ถ้าออกไปวิ่ง เดี๋ยวเป็นลมนะเว้ย!” ก็ว่าไปนั่น..

สรุปคือแม่งขี้เกียจนั่นหละ

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

แล้วมันทำอย่างไรล่ะ?

Continue reading “ทำอย่างไร ให้นอนหลับมีประสิทธิภาพ?” »

ATDD – จะทำอย่างไรให้ชี้นกเป็นนก ชี้ไม้เป็นไม้

ปัญหาโลกแตก ชี้นกเป็นไม้

ให้คิดกันเล่นๆ ก่อนจะไปเนื้อหาหลัก ถ้าเราเป็นทีม Business ที่จะทำซอฟต์แวร์ขึ้นมาสักตัวหนึ่ง อย่างแรกที่ทำคืออะไรครับ?

… (2 วินาที)

โอเค ทุกคนน่าจะตอบว่า ก็ต้องเก็บ Requirement สิ ว่าต้องทำอะไรบ้าง (ส่วนใครไม่ได้ตอบตามนี้ ผมจะมโนไปว่าตอบก็แล้วกันนะ)

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

ซึ่งในแต่ละ Feature ที่เราเขียนๆกันมา เราต้องคิดต่อใช่ไหมครับว่าจะมีการทำงานอย่างไร?
ใครตอบว่าไม่คิด ก็ให้ลองนึกดีๆ เพราะบางทีเราก็คิดแบบเร็วๆ หรือเห็นภาพตัวอย่างระบบที่เคยเห็นมาก่อน
แต่ถ้าใครคิดละเอียดๆหน่อย จะเขียนไว้หรือวาดรูปออกมาอย่างชัดเจน บางทีเราก็เรียกมันว่า Business Flow, Business Logic ก็แล้วแต่สะดวก แต่ในที่นี้ผมขอเรียกรวมๆ ว่า Flow ก็แล้วกัน
ซึ่งเราเขียนมันออกมาเพื่อให้เห็นการไหลของข้อมูล (Input) เงื่อนไขต่างๆ (Process) และผลลัพธ์ตอนจบ (Output)

โดยที่กล่าวมาทั้งหมด เป็นกระบวนการทาง Business เพื่อตอบว่า เรา “จะทำอะไร (What)

ตัดฉากมาดูของฝั่งทีม Developer บ้าง, ทุกวันนี้เราสนใจเรื่องของฝั่ง Business หรือไม่?

… (2 วินาที)

ส่วนใหญ่ ถ้ายังทำงานแบบเดิมๆ ซึมๆ ก็มักไม่ค่อยสนใจว่า Business จะทำ Feature พวกนี้ไปเพื่ออะไร ทำไปทำไม หรือมันมีการเชื่อมโยงข้อมูลอย่างไรบ้าง
เพราะเขาเหล่านั้นมักตีขอบเขตตัวเองไว้ว่า ฉันมีหน้าที่แค่หาวิธี “ทำอย่างไร (How)” ที่จะทำ Task งานนั้นให้เสร็จ แล้วก็ก้มหน้าก้มตาเขียนโค้ดให้ได้ตามที่  Business ต้องการ ก็จบ..

การทำงานแบบนี้ มันเลยเกิดปัญหาตามมา คือ ทีม Developer ไม่เห็นหรือไม่สนใจภาพรวมทั้งหมดของซอฟต์แวร์ ไม่มีเป้าหมายร่วมกับทางทีม Business
และพบว่า บ่อยครั้งเมื่อไม่เข้าใจกันของทั้งสองทีม ก็เกิดความไม่ลงรอยกัน เพราะตีความ Requirement ไม่เหมือนกัน

และผลลัพธ์ของมัน คือ ซอฟต์แวร์ (แม้จะทำออกมาดีแค่ไหน) ไม่ตอบโจทย์ทาง Business, ไม่ตรงตาม Requirement และถูกตีกลับมาแก้ไขอยู่ร่ำไป
เสียทั้งเงิน ทั้งเวลา ทั้งอารมณ์ ความสัมพันธ์ของทั้งสองทีม และซอฟต์แวร์ก็อาจทำงานผิดพลาดอีกด้วย

คุยกันสิ ว่าอะไรคือนก อะไรคือไม้

ซึ่งถ้าคุณอ่านมาถึงตรงนี้ แล้วคิดว่า “เออ เจอปัญหาแบบนี้จริงๆ” และอยากหาทางปรับปรุงมันให้ดีขึ้น เราจะทำอย่างไรดี? Continue reading “ATDD – จะทำอย่างไรให้ชี้นกเป็นนก ชี้ไม้เป็นไม้” »