Shu-Ha-Ri-Kokoro

สวัสดีเช้าวันพุธที่ 30 มีนาคม พ.ศ. 2559 เวลาผ่านไปเร็วมากๆ จะหมดไตรมาสที่หนึ่งของปี 2559 ในไม่อีกที่ชั่วโมงแล้ว เช้าวันนี้เลยใช้เวลาประมาณเสพกาแฟดำหมดหนึ่งแก้วมาพล่ามถึงคำ 4 ค่ำ จากเอกสารการสอนของ Dr. Alistair Cockburn นามสกุลอ่านออกเสียงว่า Co-burn, the Scottish way หนึ่งใน 17 คนที่ร่วมประกาศ Agile Manifesto for Software Development เมื่อปี ค.ศ. 2001 ซึ่งถ้าอยากรู้จัก ดร. เพิ่มก็ไปเยี่ยมชมเว็บไซต์ส่วนตัวของ ดร. ได้ที่นี่เลย

http://alistair.cockburn.us

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

ทุกๆ การเปลี่ยนแปลง มีการสูญเสีย

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

ทำไมผมถึงเปิดหัวด้วยเรื่องของ การเปลี่ยนแปลง

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

เมื่อใดที่มี การเปลี่ยนแปลง เมื่อนั้นต้องมีการ สูญเสีย เกิดขึ้น โดยเฉพาะอย่างยิ่ง Comfort Zone

5b3c2de6f0c2c300be978ab59a5784ab

ถามว่าทุกคนอยากเปลี่ยนไหม คำตอบคืออยาก แต่อยากจะเปลี่ยนไหม คำตอบคือไม่ ซึ่งเป็นเรื่องปกติ

อันนี้เราทุกๆ คนเป็นกันทุกคน ต้องเข้าใจเรื่องนี้ก่อน

จังหวะ จะ เดิน

จากรูปที่ ดร. ใช้สอนนั้น ผมชอบเพราะใกล้เคียงกับสิ่งที่ผม และสมาชิกในครอบครัวของสยามชำนษยกิจเราทำกันมาตั้งแต่ฝนตกขี้หมูไหล ….

ในบริบทของการพัฒนาซอฟต์แวร์แบบแอจไจล์นั้น สำหรับผม เน้นอยู่ 2 อย่าง คือ

  • การได้มาซึ่ง Feedback Loop ที่เร็ว
  • การพัฒนาและปรับปรุงอย่างต่อเนื่อง (Continuous Improvement)

ดร. เปรียบเทียบการระดับของความชำนาญการออกเป็น 4 ระดับ และผมขอนำประสบการณ์ของผมใส่ลงไปใน 4 ระดับของ ดร. ดังนี้

Shu 

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

ระยะที่ 1 ควรจะต้องปรับสภาพร่างการ ความคิด จิตสำนึก กรอบความคิด และทัศนะคติ ให้คุ้นชินกับ

ทำงานเป็นรอบสั้นๆ และส่งมอบบางอย่างให้ได้เมื่อจบรอบการทำงานนั้นๆ

ผู้คนเคยคิดอะไรใหญ่ๆ ละเอียดๆ (มั้ง) แล้วอยู่ดีๆ วันหนึ่งจะเปลี่ยนมาให้คิอทั้งภาพใหญ่ และภาพเล็กๆ แบบลงรายละเอียด แล้วลงมือทำ พร้อมส่งมอบเมื่อหมดกรอบเวลาการทำงานที่กำหนดไว้

Ha

พอร่างกาย ความคิด และทัศนคติเริ่มเข้าที่เข้าทางกับการทำงานเป็นรอบการทำงานสั้นๆ แล้วนั้น ก็ปรับจังหวะให้ดีขึ้นโดยนำ Framework และ/หรือ Methodology และ/หรือ Practices ต่างๆ ที่ส่วนใหญ่ลุงใน 17 คนนั้นได้ออกแบบ ลงมือใช้งาน และปรับปรุงมาตลอด เช่น SCRUM โดย Dr.Jeff Shutherland และ Ken Schwaber ที่อายุอานามของ SCRUM ก็ 20 ปี และผ่านการปรับปรุงมาเรื่อยๆ หรือ Extreme Programming โดย Kent Beck และทีมงาน โดยต้องทำตามที่ลุงๆ นั้นออกแบบไว้นะครับ อย่าเพิ่งบิด ดังนั้น ตั้งสติก่อนสตาร์ท ทุกๆ ครั้ง ทำความรู้จักมักคุ้นกับ Framework และ/หรือ Methodology และ/หรือ Practices ต่างๆ ที่จะนำมาใช้งานก่อน ลองทำเรียนรู้ และปรับปรุงตน อย่าไปปรับปรุง Framework และ/หรือ Methodology และ/หรือ Practices เขา ของเขาดีอยู่แล้ว มีแต่เรานี่แหละที่จริตยังไม่ได้

ใช้อย่างต่อเนื่อง อย่างมีสติ อย่าใช้แบบไปฟังเขามาว่าดีนะจ๊ะ

Rhi

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

แต่ถ้า SCRUM ไม่เหมาะ เราก็ขยับมาเพื่อสร้างยานพาหนะของเราเองโดยนำข้อดีของสิ่งที่เราชอบจาก Framework และ/หรือ Methodology และ/หรือ Practices ต่างๆ นั้นมาออกแบบ ซึ่งก่อนจะเลือกได้นั้นหมายความว่า เราก็ผ่านการใช้งาน Framework และ/หรือ Methodology และ/หรือ Practices ต่างๆ นั้นมาจนเชี่ยวชาญและชำนาญการแล้ว จนสร้างกระบวนท่าของตนเองขึ้นมาได้ แล้วก็อย่าลืมปรับปรุงอย่างต่อเนื่องและสม่ำเสมอ

Kokoro

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

ดังนั้น

หากจะเร็ว ก็ต้องรู้จักที่จะช้าลงก่อน เพื่อปรับจังหวะการเดินใหม่ให้มั่นคง

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

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

วันพุธที่ 30 มีนาคม พ.ศ. 2559 เวลา 14:45 น.
สาทร กรุงเทพมหานคร