ความกลัว

ถ้าหากเราพิมพ์คำว่า “ความกลัว” ค้นหาในกูเกิ้ล จะได้ผลลัพธ์ออกมา ประมาณ 2,130,000 รายการ แสดงว่า ความกลัวเป็นสิ่งที่เรารู้จักและสนใจมันอยู่มากทีเดียว แล้วความกลัวมาเกี่ยวอะไรกับอไจล์ล่ะ จากที่ได้คิดค้นคว้ามานาน ผมพบว่าปัญหาทั้งหลายแหล่ในกระบวนการทำซอฟแวร์นั้นมันมาจากความกลัวทั้งหมดทั้งสิ้น ถ้าหากเราแก้ปัญหาความกลัวเสียได้ ปัญหาทั้งมวลก็น่าจะมลายหายไป

ความกลัวคืออะไร?

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

http://th.wikipedia.org

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

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

เพื่อให้เห็นเป็นรูปธรรมขึ้นเราลองมาดูตัวอย่างของกิจกรรม sign-off ว่าทำไมเราจึงต้องมีการ sign-off ตัวเอกสาร requirements กับลูกค้า มันเกิดมาจากคนทำซอฟแวร์คนแรกไม่น่าจะได้ทำมันแล้วไม่สามารถปิดงานได้ในกำหนด เกิดปัญหาขาดทุน จาก scope creep (ขอบเขตของการทำงานขยายไม่หยุด) และ ดีเฟ็กซ์ ทุกครั้งที่ลูกค้าขอเปลี่ยนแปลงหรือแก้ไข ความเจ็บปวดในครั้งนั้นจะกลับมากระหน่ำในหัวใจให้เจ็บปวดซ้ำสองซ้ำสาม จนทนไม่ได้ สุดท้าย เขาก็ไม่ยอมและบอกกับตัวเองว่า ไม่ยอมแก้ ต้องให้ลูกค้าเซ็นต์รับรองก่อนที่จะเริ่มทำงานจริง จะได้ไม่เจ็บอีก อันนี้เป็นเรื่องการจัดการโปรเจ็ค

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

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

แล้วเราจะแก้ความกลัวได้อย่างไร? แค่บอกว่าต้องกล้ามันคงบ้าไปแล้ว จะกล้าได้อย่างไร เพราะเคยเจ็บมามาก ไม่ทำล่ะก็มันก็ต้องเจ็บเหมือนเดิมแน่ๆ จะประสบการณ์กว่าสิบปีในวงการผมพบว่า การทำตามสัญชาตญาณต่อความกลัวนั้นจะทำให้เราเจ็บมากกว่า แต่ก็ไม่สามารถหลีกเลี่ยงความกลัวได้ เพียงแต่เราต้องตอบสนองต่อมันในอีกวิธีที่แตกต่าง

ความกลัวนั้น ความจริงแล้ว มาจากความไม่รู้ ไม่รู้อะไร? ไม่รู้อนาคต เพราะฉะนั้นถ้าเราขจัดความไม่รู้ได้ความกลัวจะลดลง แล้วจะป้องกันขจัดปัดเป่าความไม่รู้ได้อย่างไร?

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

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

#3. ทำ สิ่งจำเป็น ในเวลาจำเป็น เท่าที่จำเป็น – เวลาที่เรากลัว อยากจะหาทางป้องกัน ให้ระลึกถึงกฏข้อนี้ มันจะเป็นยันต์กันผี ให้เรารู้สึกกล้าขึ้น ถ้าเราเชื่อมั่นในมัน เราจะไม่ทำเกิน เราจะไม่ป้องกัน แล้วเมื่อในที่สุดเราประสบความสำเร็จ เราจะเชื่่อมั่น ในมันมากขึ้น เราจะกลัวน้อยลง มันไม่มีทางลัด มันต้อง ฝึกฝนอย่างเดียว

#14. อย่าทำเผื่อ – วิธีตรวจง่ายๆ ว่าเรากำลังกลัวหรือไม่ คือ ให้ถามว่าสิ่งที่เราทำนั้นเราเผื่อหรือว่ามันมีความจำเป็นที่จะต้องทำจริงๆ เช่นเราใช้แพทเทิร์นนี้เพราะมันมีปัญหานั้นหรือว่าเราเผื่อว่าจะมีปัญหา อันนี้ไม่เหมือนกันนะ มีปัญหาแล้วเราแก้ถือว่าดี ไม่มีปัญหาแต่เราทำเผื่อถือว่าแย่

#8. ถ้ารับสถาณการณ์ที่แย่ที่สุดได้ ที่เหลือก็เป็นบวก – ที่บอกว่าอย่าทำเผื่อนั้น ไม่ใช่ว่าห้ามไม่ให้วางแผนรับสถานการณ์แย่ๆ นะ ให้วางแผนไว้ได้ ถ้าเกิดมีปัญหาเกิดขึ้นทีหลังเราก็จะได้มีทางแก้ไข แต่ไม่ใช่ยังไม่มีปัญหาก็ลงมือแก้เสียแล้วอันนี้มันเกินไป มันสูญเปล่า แถมเป็นภาระในระยะยาวอีกต่างหาก ถ้าหากว่าเราทำสิ่งที่น้อยที่สุดเท่าที่จำเป็นแล้ว วางแผนไว้ว่าถ้าเกิดปัญหานี้จะแก้อย่างไรไว้พร้อม เราก็ไม่ต้องกลัวว่าจะเกิดปัญหาขึ้นเพราะมีทางแก้อยู่แล้ว ลองคิดภาพสิระหว่างคนที่ทำแล้วไม่เคยผิดเลย กับคนที่พอมีปัญหาปุ๊บก็แก้ได้ปั๊บ ใครเก่งกว่ากัน หัวหน้าหรือลูกค้าส่วนใหญ่ต้องคิดว่า คนแรกแค่โชคดี ส่วนเรานี่ฝีมือของจริง ใช่มั้ย?

#21. กฏของซอฟแวร์ 3 ข้อ คือ 1.สวย 2.ใช้ง่าย 3.แก้ง่าย
อันนี้พูดไปแล้วในโพสก่อนหน้า ไปอ่านย้อนหลังเอานะ มันเป็นสูตรสำเร็จให้ใช้ได้ง่ายๆ เพื่อขจัดความกลัว พอไม่กลัวแล้ว เราก็จะทำสิ่งที่ถูกเสมอ แต่ไมไ่ด้บอกว่า ไม่ผิดนะ แต่พอผิดปุ๊บเราจะแก้ได้ง่าย แก้ได้เร็ว ได้เครดิต ทั้งตอนทำและตอนแก้ เห็นไหม ได้ทั้งขึ้นทั้งล่อง เขาเรียก มีแต่ได้กับได้

เริ่มยาวแล้วพอแค่นี้ดีกว่า ใครมีคำถามก็ถามมาได้นะ

Advertisements

2 thoughts on “ความกลัว

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

w

Connecting to %s