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

แต่กลับพบว่า เมื่อมีการนำ DevOps มาประยุกต์ใช้งาน

จะเน้นไปที่
การรับตำแหน่ง DevOps มาทำงาน
คำถามคือ แล้วคนเดินที่ทำอยู่ ไม่ปรับปรุงหรือไง
เป็นการปรับปรุง หรือ หนีปัญหาเพื่อไปสร้างปัญหาใหม่กันแน่

มีเครื่องมือใหม่ ๆ มาติดตั้งและใช้งาน
คำถามคือ เหมาะสมกับงานและ product ต่าง ๆ หรือไม่
หรือเหมาะสมกับคนทำงานหรือไม่

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

ดังนั้นมาลองปรับปรุงวิธีการนำ DevOps มาใช้งาน
ในเชิง practical กันหน่อยไหม
น่าจะช่วยให้ผลที่ออกมาดีขึ้น มาเริ่มกัน

เริ่มด้วยระบบที่ทำต้องไม่ใหญ่เกินไป แต่ก็ไม่เล็กจนไร้ค่าหรือง่ายไป

แต่สิ่งที่ทำนั้น ต้องสามารถนำไปแสดงหรือมีคุณค่า
เพื่อให้เห็นคุณค่าทั้งในเชิง IT และ Business

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

ดังนั้นแทนที่จะมีเป้าหมายที่กว้าง
ก็ให้เน้นไปที่เป็นเรื่อง ๆ ไป
ว่าจะปรับปรุงอะไรให้ดีขึ้น
ทั้งเรื่องของคน
ทั้งเรื่องของ process
ทั้งเรื่องของ technology

มันเป็นไปไม่ได้เลย
ที่เราจะเปลี่ยนแปลงทุกสิ่งอย่างพร้อม ๆ กัน
ดังนั้นต้องค่อย ๆ สร้าง ค่อย ๆ แก้ไข เพื่อไปให้ถึงเป้าหมายที่ตั้งไว้

จากนั้นต้องสร้างสภาวะแวดล้อมที่เอื้อต่อการทดลองและเรียนรู้

ซึ่งมักจะเกิดในองค์กรที่ไม่ใหญ่มาก
แต่เมื่อใหญ่มาก ๆ แล้วมักจะไม่สามารถทำได้ง่ายนัก
ดังนั้นการวางนั้นสำคัญมาก ๆ
เริ่มด้วยว่า เป้าหมายของเราอยู่ที่ไหน
จากนั้นเริ่มลงมือทำ ในเส้นทางหรือวิธีการที่ไปให้ถึง
จากนั้นก็ทดลองและเรียนรู้

แน่นอนว่า ต้องมีทั้งผิดและถูก
ดังนั้นสภาวะแวดล้อมต้องไม่ซ้ำเติม
จำเป็นต้องได้รับการสนับสนุนที่ดีจากฝ่ายบริหาร

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

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

สิ่งที่สำคัญมาก ๆ คือ ทีมงานทั้งหมดต้องเข้าใจและยอมรับ

ว่าเป้าหมายของการนำ DevOps มาใช้เพราะอะไร
ต้องยอมรับว่าเรามีปัญหาอะไร
สิ่งที่กำลังจะทำเข้ามาช่วยแก้ไขและปรับปรุงปัญหาอะไร
ทำไมต้องทำงานร่วมกันแบบจริงจัง 
ทำไมถึงต้องเริ่มเข้าใจและทำ CI/CD

สุดท้ายแล้ว เริ่มที่ปัญหาว่ามีอะไรบ้าง

ค่อย ๆ แก้ไขทีละปัญหา 
ที่สำคัญต้องสร้างสภาวะแวดล้อมให้เอื้อต่อการทดลองและเรียนรู้
แน่นอนว่า สิ่งที่ทำต้องมีคุณค่าในเชิง business ด้วยเสมอ