TPSE Conference 2013 ตอนที่ 1 : งานอไจล์ที่ไม่มีคำว่าอไจล์ในชื่องาน + Keynote ไปดาวอังคาร


       เมื่อวันพฤหัสและศุกร์ที่ผ่านมาผมได้มีโอกาสโดดเรียนวิชา DSP ไปร่วมงาน Thailand Practical Software Engineering Conference ที่ Software Park มาครับ ซึ่งงานนี้เรียกได้ว่าเป็นครั้งแรกที่จัด (ในชื่อนี้) โดยกลุ่มผู้จัดงานก็คือ Thailand SPIN ซึ่งถ้าเคยไปร่วมงานสัมมนา Agile หลายๆ งานมาก็จะค้นพบว่า คือวงการเดียวกันนี่แหละ เป้าหมายของงานสัมมนานี้ตามที่ผมเข้าใจจากผู้จัดงานคือมาแลกเปลี่ยนประสบการณ์เกี่ยวกับ Software Process (ซึ่ง Agile ก็เป็นหนึ่งในนั้น) ของจริง เจ็บจริง ไม่ใช่งานสัมมนาเพื่อมาขายของ ซึ่งนอกจากผู้จัดแล้วผมก็เพิ่งค้นพบอีกว่าวงการ Software บ้านเรานั้นมันไม่ได้กว้างใหญ่เลย ปีนี้ไปมาแล้ว 3 งานคือ Agile Thailand 2013, Barcamp Bangkhen และงานนี้ ก็เจอแต่คนหน้าเดิมๆ อาจจะเจอคนหน้าใหม่ๆ บ้างแต่ถือว่าน้อยมาก (แต่ก็ยังไม่กล้าทักใครก่อนอยู่ดี T^T) ข้อเสียอย่างเดียวของงานนี้ที่นึกออกคือ การไปจัดอยู่ Software Park ซึ่งมันไกลมากจากลาดกระบัง แต่นับว่าเดินทางสะดวกอยู่ทีเดียวคือนั่งรถเพียงแค่ 2 ต่อ (แต่ต้องขึ้น 166 ให้ถูกคันทั้งขาไปและกลับเลย) เกริ่นมานานแล้วมาไล่ดู Session ที่ผมไปเข้ามาดีกว่า

Keynote: Challenges of Managing a Complex Project - The Case Study of Landing a Rover on Mars


       Session นี้ถือว่าเป็น Highlight ของงานเลยครับแค่คนพูดนี่ก็สุดๆ แล้ว Dr.Firouz Naderi ผู้อำนวยการโครงการสำรวจในระบบสุริยะทั้งหมดจาก NASA JPL เรียกได้ว่าตั้งแต่ดวงอาทิตย์ยันดาวพลูโต Dr. คนนี้มีเอี่ยวหมด โดย ดร.ฟิรุส มาเล่าให้ฟังเกี่ยวกับโครงการสำรวจดาวอังคารที่แกกำลังทำอยู่ โดยเริ่มการค่อยๆ เกริ่นจากไอเดียภาพรวมของการทำโครงการซักโครงการนึงว่า 1)เราเริ่มจากการมีความฝันแล้ว 2)เราขายฝัน จากนั้นแล้วในวันถัดมา 3)เราก็เริ่มจะคิดได้ว่า "กูมองโลกในแง่ดีเกินไปแล้วนะ" ซึ่งพอผ่านจุดนี้เราจะ 4)เริ่มทำงานหนักขึ้นที่ 60 ชั่วโมงต่อสัปดาห์ และ 5)เราก็จะเริ่มเครียดขึ้นอีกเรื่อยๆ จากปัญหาต่างๆ ที่รุมเข้ามาไม่ว่าจะเป็นปัญหาทางเทคนิค, งบหรือแม้กระทั่งกำหนดส่ง ปัญหาเหล่านี้จะส่งผลให้ 6)เราทำงานหนักขึ้นอีกเป็น 70 ชั่วโมงต่อสัปดาห์ ซึ่งเมื่อถึงท้ายที่สุดแล้วไม่มีใครบอกได้ว่า 7)โครงการที่เราทำอยู่จะประสบความสำเร็จ..... หรือล้มเหลว

       ดร.ฟิรุซบอกว่าในตอนเริ่มต้นของทุกโครงการทุกอย่างมักจะง่ายเสมอเขาใช้คำว่า "Give me the money I give you a profit" แต่ปัญหาก็คือ บางคนที่เริ่มทำโครงการจากสิ่งที่คนอื่นทำมาก่อนแล้วนั้นมักจะไม่เข้าใจปัญหาพื้นฐานที่แท้จริง ซึ่งเมื่อทำโครงการไปถึงจุดๆ หนึ่งคนเหล่านั้นจะเจอทางตันจนไปต่อไม่ได้ เหมือนกับนักวิ่งมาราธอนที่จะมีขีดจำกัดของตัวเองอยู่ (km ที่ 35) โดย ดร. แนะนำว่าสิ่งแรกที่ควรจะทำในการทำโครงการที่ซับซ้อนมากๆ ไม่ใช่การหา Project Manager แต่เป็นเรื่องของทีมโดย ดร.ฟิรุซ สรุปสิ่งหน้าที่ๆ สำคัญที่สุดของ Team Leader ให้เราไว้ 3 ข้อดังนี้ 
       1) ต้องหาคนที่ "ดีที่สุด" ให้มาร่วมทีมกับเราให้ได้ ซึ่งจะทำให้โอกาสที่ไอเดียที่เรามีประสบความสำเร็จได้สูงกว่าการหาคนที่ "ดีรองลงมา" แต่อย่างไรก็ตามการหาคนที่ดีที่สุดมาก็จำเป็นต้องทำให้แน่ใจให้ได้ว่าเขาเหล่านั้นเข้ากับคนอื่นในทีมได้ เพราะคนที่ "เก่งที่สุด" ส่วนใหญ่มักจะมี EGO เสมอ
       2) ต้องกระตุ้น (Motivate) ทีมให้มีความมุ่งมั่นอยู่ตลอดเวลา โดย ดร. ได้ยก Quote ของ Antoine de Saint-Exupéry ซึ่งผมก็สารภาพตามตรงว่าอ่านมาหลายรอบแล้วก็ยังไม่เข้าใจความหมายของมัน มาว่า "If you want to build a ship, dont drum up the men to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea."
       3) PM ควรจะต้องแชร์วิสัยทัศน์ร่วมกับทีมให้ตรงกันเหมือนนายพลกับกองทหาร แต่ PM ที่ดีต้องยังเป็น Fair Leader ด้วยคือเป็นทั้งคนแรกที่รับคำด่าและคนแรกที่รับคำชม

       หลังจากนั้นแล้ว ดร.ฟิรุซ ก็เริ่มยกตัวอย่างของ Mars Exploration Program โดย ดร. บอกว่าเป้าหมายของการสำรวจดาวอังคารนั้นก็เพื่อตอบคำถาม 3 ข้อคือ 1) ดาวอังคารเคยอาศัยอยู่ได้หรือไม่ ? 2) ถ้าได้ เคยมีสิ่งมีชีวิตอยู่รึเปล่า ? 3) ถ้ามี ตอนนี้มันยังอยู่มั้ย ดร.ฟิรุซ เล่าต่อไปว่ายานสำรวจ Curiosity เป็นวัตถุลำดับที่ 50 ที่ไปดาวอังคารหนึ่งใน 23 โครงการที่ลงจอดสำเร็จ ถ้านั่นยังไม่เห็นภาพพอ ดร.ฟิรุซ เปรียบเทียบว่าการส่งวัตถุไปดาวอังคารก็เหมือนการเตะลูกฟุตบอลจากโตเกียวมาลงที่สนามราชมังฯ กรุงเทพฯ ซึ่งถ้าคิดว่านั้นยากแล้ว ให้คิดภาพไปอีกว่าสนามหมุนด้วยความเร็ว 100,000 กม./ชม. แต่นั้นไม่ใช่สิ่งที่ยากที่สุด สิ่งที่ยากที่สุดไม่ใช่การเดินทาง 9 เดือน ไม่ใช่การหาจุดที่ต้องลงจอด แต่เป็น 7 นาทีสุดท้ายก่อนที่ยานจะลงจอด


       ใน 7 นาทีสุดท้ายของการลงจอดนั้น ยานจะพุ่งไปด้วยความเร็วถึง 20,000 mph ซึ่งยานสำรวจในยุคต่างๆ กันจะใช้เทคนิคต่างกันโดยรุ่นแรกๆ จะใช้ Airbags คือส่งตกลงไปก็เป็นลูกบอลลมกลิ้งไปกลิ้งมาจนหยุด แต่สำหรับ Curiosity นั้นไม่สามารถทำได้เนื่องจากมันใหญ่และหนักมากพอๆ กับรถเก๋งคันหนึ่งเลยทีเดียว เลยต้องใช้เทคนิคพิเศษซึ่งสามารถไปค้นได้ตาม Wikipedia นะครับ
       พอลงจอดได้แล้วทำไรต่อ คำถามที่นักวิทยาศาสตร์ต้องการคำตอบก็คือ มันเกิดอะไรขึ้นที่นี่เมื่อ 1000 ปีที่แล้ว ซึ่ง ดร.ฟิรุซ ก็อธิบายให้ฟังว่าประวัติศาสตร์ของดาวนั้นจริงๆ แล้วเขียนอยู่ในหิน ในแต่ละ Layer เหมือนหนังสือประวัติศาสตร์โดยคนที่อ่านหินพวกนั้นออกก็เดาได้ไม่ยากเลย นักธรณีวิทยา ซึ่งนั่นก็ทำให้เกิดคำถามกับพวกเราว่าทำไมไม่ส่งคนจริงๆ ไปหล่ะ ดร.ฟิรุซได้ให้สาเหตุไว้ 4 ข้อคือ

     1) Technical Problem เพราะเรายังไม่รู้ว่าจะขนของน้ำหนัก 40 ตันไปดาวอังคารยังไง
     2) Psychological Problem เพราะเราไม่รู้ว่าคนเราจะทนอยู่ใน Small Capsule ได้ถึง 9 เดือนหรือไม่
     3) Biological Problem เพราะเราไม่รู้ว่าการอยู่ในอวกาศ นานขนาดนั้นจะส่งผลต่อร่างกายยังไงบ้าง
     4) Financial Problem อันนี้คงไม่ต้องอธิบาย ประมาณการไว้ว่าต้องใช้งบถึง Half Trillion Dollar
       เพราะฉะนั้นแล้วเนี่ยทาง NASA ถึงได้ส่งหุ่นไปทำหน้าที่แทนมนุษย์

       หลังจากเกริ่นเรื่องการสำรวจดาวอังคารมาพอหอมปากหอมคอ ดร.ฟิรุซ ก็ได้พาเราย้อนกลับมาสู่เรื่องของโครงการกันต่อ โดยเล่าให้เราฟังว่า ปัญหาแรกอยู่ที่เรามีงบประมาณจำกัด (จากการเปลี่ยน ผอ. ใหม่) เริ่มต้นเพียงแค่ 100M Dollar แต่ทีมก็ทำสำเร็จทำให้ได้เพิ่มงบจาก 240M เป็น 250M ซึ่งทำให้ ดร.ฟิรุซ สามารถทำโครงการสำรวจได้มากถึง 2 โครงการ แต่ทุกโครงการย่อมมีความเสี่ยง 2 โครงการดังกล่าวล้มเหลวอย่างสิ้นเชิงซึ่ง ดร. ก็ได้ให้ข้อคิดที่ดีกับเราว่า "อย่ากลัวที่จะล้มเหลวและอย่าสิ้นหวังกับความล้มเหลว ถ้าเราได้เรียนรู้จากความผิดพลาดที่ก่อให้เกิดความล้มเหลว ความล้มเหลวนั้นก็ไม่ใช่ความล้มเหลวซะทั้งหมด" นอกจากนี้ ดร.ฟิรุซ ยังแนะอีกว่าให้เราในฐานะ PM ยอมที่จะเสี่ยงกับโครงการที่ High Risk, High Reward โดยตัว ดร.ฟิรุซ เองนั้นมักมองหาโครงการที่ยากที่สุดเสมอ โดยทำตามสูตร 3 ข้อของโครงการข้างบนแล้วโอกาสสำเร็จจะมากขึ้นเอง


     ในการทำงานที่ NASA นั้นทุกครั้งที่มีการนำเสนอโครงการให้จะมี PM ของโครงการเก่าๆ นั่งพิจารณาด้วยอยู่เสมอ และบ่อยครั้งที่เรามักจะคิดผิดไป แต่บางครั้งเราก็ไม่ได้คิดผิดไปมากขนาดนั้น ดร.ฟิรุซ เล่าถึงโครงการ Mars Exploration Rover ว่าขณะ 1 ปีก่อนส่งจรวดทีมเขาก็ยังหาวิธีที่จะสร้าง Air Bag ไม่ได้เลยนอกจากนั้นแล้วยังเจอข้อจำกัดจาก การที่จะสามารถส่งวัตถุไปดาวอังคารได้ ภายในทุกๆ 26 เดือนเท่านั้นและโอกาสที่จะปล่อยจากโลกมีเพียงแค่ 21 วัน ซึ่ง ดร.ฟิรุซ ทำโครงการเสร็จแต่ใช้งบเกินไป 18% จากตอนขอครั้งแรก นอกจากนั้นแล้ว ดร.ฟิรุซ ยังยกตัวอย่างไว้อีกว่าช่วงวิกฤตของโครงการเช่น ตอนกางร่มนั้นต้องการระยะที่เฉพาะมากๆ แต่ก็มีปัญหาเข้ามาอีกคือช่วงนั้นเกิดพายุทรายในดาวอังคาร ซึ่ง ดร.ฟิรุซ ได้ฝากข้อคิดไว้ว่า "ในโครงการที่มีความซับซ้อนมากๆ เราไม่เคยมีข้อมูลที่ครบถ้วนสำหรับการตัดสินใจและบ่อยครั้งที่เราต้องตัดสินใจจากข้อมูลที่ไม่สมบูรณ์แบบ

       ในช่วงของคำถามก็ยังมีคำถามที่น่าสนใจหลายๆ คำถามด้วยกันโดยเฉพาะคำถามแรกที่มีผู้ถาม ดร.ฟิรุซ ว่าเราจะรวมทีมที่เป็น "The Avenger" เข้าด้วยกันได้ไง (คืนก่อนไปงานผมเพิ่งดู) ดร.ฟิรุซ ตอบโดยยกตัวอย่าง เวลาเราอยู่ในสงครามนั้น ถ้าคนเราโดนถล่มอยู่ในป้อมเดียวกัน สุดท้ายแล้วทุกคนก็จะเริ่มสู้ด้วยกันเป็นทีม ในสถานการณ์เดียวกัน แต่อย่างไรก็ตามสำหรับทีมที่เป็น Super Star ต้องทำให้เขารู้สึกสบายใจที่จะทำงานด้วยได้และถ้ามีปัญหาก็ควรจะบอก PM ทันทีโดยที่ NASA การที่เราบอกถึงปัญหาและแก้ปัญหาได้จะทำให้เรานั้นรู้สึกเป็นเกียรติมาก แต่สิ่งสำคัญและเป็นบทสรุปของคำตอบคือ เราต้อง Work on human personality นอกจากนั้นแล้วก็ยังมีคำถามอื่นๆ ที่น่าสนใจเช่น ทำไมเราไม่ส่งคนไปดาวอังคาร, ทำไมเราต้องสำรวจดาวอังคาร (ข้อนี้ทำให้ได้ความรู้ว่าจุดต่อไปที่ NASA สนใจคือ ดวงจันทร์ Europa ของดาวพฤหัส), เราจะจัดการความเปลี่ยนแปลงที่เกิดขึ้นอย่างไร (ได้ศัพท์ใหม่ Requirement Creep ) และข้อสุดท้ายการสำรวจดาวอังคารเราจะออกแบบการจำลองสถานการณ์อย่างไร ดร.ฟิรุซ ปิดท้ายด้วยคำตอบ "Test as you fly, Fly as you test"

ปล.แค่ Keynote วันแรกก็ซัดไป 1 Entry เต็มๆ แล้วจะพยายามมาส่งที่เหลือให้เร็วที่สุดครับ

Comments