มีโอกาสไปคลุกคลีกับคำว่า DevOps เยอะหน่อย
พบว่าในแต่ละองค์กรนั้นจะเชื่อมั่นว่า DevOps เป็นแนวทางที่มีประโยชน์
ทั้งทางด้วย IT และ Business
เนื่องจากช่วยทำให้คนในกลุ่มต่าง ๆ ที่เกี่ยวของทำงานร่วมกันได้ดีขึ้น
มีการส่งมอบที่เร็วและบ่อยขึ้น พร้อมคุณภาพที่ดี
รวมทั้งต้องมีขั้นตอนการทำงานที่เหมาะสม
และชุดเครื่องมือที่เข้ามาช่วยให้ทำงานแบบอัตโนมัติได้ดียิ่งขึ้น
แต่กลับพบว่า เมื่อมีการนำ DevOps มาประยุกต์ใช้งาน
จะเน้นไปที่
การรับตำแหน่ง DevOps มาทำงาน
คำถามคือ แล้วคนเดินที่ทำอยู่ ไม่ปรับปรุงหรือไง
เป็นการปรับปรุง หรือ หนีปัญหาเพื่อไปสร้างปัญหาใหม่กันแน่
มีเครื่องมือใหม่ ๆ มาติดตั้งและใช้งาน
คำถามคือ เหมาะสมกับงานและ product ต่าง ๆ หรือไม่
หรือเหมาะสมกับคนทำงานหรือไม่
หรือนำแนวคิด DevOps ไปเริ่มทำกับระบบงานขนาดใหญ่ หรือมีความคาดหวังสูง
แทนที่จะส่งผลดีกลับส่งผลร้าย เพราะว่า เจอปัญหาเยอะมาก ๆ
การแก้ไขและปรับปรุงก็ไม่ง่ายเลย
ดังนั้นมาลองปรับปรุงวิธีการนำ DevOps มาใช้งาน
ในเชิง practical กันหน่อยไหม
น่าจะช่วยให้ผลที่ออกมาดีขึ้น มาเริ่มกัน
เริ่มด้วยระบบที่ทำต้องไม่ใหญ่เกินไป แต่ก็ไม่เล็กจนไร้ค่าหรือง่ายไป
แต่สิ่งที่ทำนั้น ต้องสามารถนำไปแสดงหรือมีคุณค่า
เพื่อให้เห็นคุณค่าทั้งในเชิง IT และ Business
เนื่องจากหลาย ๆ ครั้งพบว่า
จะไปลงกับระบบงานขนาดใหญ่และมีความซับซ้อนสูง
ยิ่งไปเจอเรื่องการต่อต้านทั้งรับบและคนอีก
แทนที่จะมีประโยชน์ กลับก่อให้การส่งมอบเลื่อนไปอย่างมาก !!
ดังนั้นแทนที่จะมีเป้าหมายที่กว้าง
ก็ให้เน้นไปที่เป็นเรื่อง ๆ ไป
ว่าจะปรับปรุงอะไรให้ดีขึ้น
ทั้งเรื่องของคน
ทั้งเรื่องของ process
ทั้งเรื่องของ technology
มันเป็นไปไม่ได้เลย
ที่เราจะเปลี่ยนแปลงทุกสิ่งอย่างพร้อม ๆ กัน
ดังนั้นต้องค่อย ๆ สร้าง ค่อย ๆ แก้ไข เพื่อไปให้ถึงเป้าหมายที่ตั้งไว้
จากนั้นต้องสร้างสภาวะแวดล้อมที่เอื้อต่อการทดลองและเรียนรู้
ซึ่งมักจะเกิดในองค์กรที่ไม่ใหญ่มาก
แต่เมื่อใหญ่มาก ๆ แล้วมักจะไม่สามารถทำได้ง่ายนัก
ดังนั้นการวางนั้นสำคัญมาก ๆ
เริ่มด้วยว่า เป้าหมายของเราอยู่ที่ไหน
จากนั้นเริ่มลงมือทำ ในเส้นทางหรือวิธีการที่ไปให้ถึง
จากนั้นก็ทดลองและเรียนรู้
แน่นอนว่า ต้องมีทั้งผิดและถูก
ดังนั้นสภาวะแวดล้อมต้องไม่ซ้ำเติม
จำเป็นต้องได้รับการสนับสนุนที่ดีจากฝ่ายบริหาร
ถ้าการทำผิดยังเป็นสิ่งต้องห้าม หรือ ห้ามเกิดขึ้น
หรือข้อผิดพลาดต้องมีคนรับผิดชอบแล้ว ทำไมไม่รับผิดร่วมกัน
หรือยังมี blame culture อยู่ไหม
จะไม่มีใครกล้าทำอะไรใหม่ ๆ ไหม
เพราะว่ากลัวผิด
ถ้าเป็นแบบนี้ใครจะกล้าทดลอง กล้าทำสิ่งใหม่ ๆ
ดังนั้น เราจะปรับปรุงได้อย่างไร
การเรียนรู้จากการลงมือทำ และข้อผิดพลาด
จึงเป็นสิ่งที่สำคัญมาก ๆ
แต่อย่าลืมว่า จำเป็นต้องมีกรอบให้เช่นกัน
มิเช่นนั้น ความผิดพลาดอาจจะส่งผลเสียโดยรวมต่อองค์กรได้
สิ่งที่สำคัญมาก ๆ คือ ทีมงานทั้งหมดต้องเข้าใจและยอมรับ
ว่าเป้าหมายของการนำ DevOps มาใช้เพราะอะไร
ต้องยอมรับว่าเรามีปัญหาอะไร
สิ่งที่กำลังจะทำเข้ามาช่วยแก้ไขและปรับปรุงปัญหาอะไร
ทำไมต้องทำงานร่วมกันแบบจริงจัง
ทำไมถึงต้องเริ่มเข้าใจและทำ CI/CD
สุดท้ายแล้ว เริ่มที่ปัญหาว่ามีอะไรบ้าง
ค่อย ๆ แก้ไขทีละปัญหา
ที่สำคัญต้องสร้างสภาวะแวดล้อมให้เอื้อต่อการทดลองและเรียนรู้
แน่นอนว่า สิ่งที่ทำต้องมีคุณค่าในเชิง business ด้วยเสมอ