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

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, don’t 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 เต็มๆ แล้วจะพยายามมาส่งที่เหลือให้เร็วที่สุดครับ


Original post at: https://yothinix.blogspot.com/2013/11/tpse-conference-2013-1-keynote.html