จากหนังสือ The Phoenix Project มีเนื้อหาที่สนใจเกี่ยวกับ DevOps มากมาย
หนึ่งในนั้นคือ Three ways
ซึ่งเป็น principle สำคัญสำหรับ
การทำความเข้าใจเกี่ยวกับ DevOps
การวางแผนเกี่ยวกับ DevOps
การนำเอาแนวคิด DevOps มาประยุกต์ใช้งาน
ประกอบไปด้วย

  1. Flow principle
  2. Feedback principle
  3. Continual learning principle

มีรายละเอียดดังนี้

1. Flow principle

ให้ความสนใจไปที่ flow การทำงานในส่วนของ IT
ว่าตั้งแต่เริ่มพัฒนาจนไปถึงส่งมอบและดูแลจัดการ
เพื่อส่งมอบงานจาก business ไปยัง customer
มีเป้าหมายเพื่อ optimize flow การทำงานให้สะดวก และ รวดเร็ว
นั่นคือตั้งแต่ Development team ไปยัง Operation team
แสดงดังรูป

โดยในส่วนนี้จะนำแนวคิดของ
Continuous Delivery และ Deployment pipeline มาใช้
ถ้านำไปเทียบกับ Lean ก็คือการทำความเข้าใจกับ Value Stream
เพื่อดูว่ามี processการทำงานอะไร อย่างไร
อะไรที่เป็นปัญหาหรืออุปสรรค
รวมทั้งสิ่งใดสามารถให้ทำการแบบอัตโนมัติได้
เพื่อเพิ่มความเร็วของการทำงาน
และลดงานต่าง ๆ ลงไป เพื่อไปทำอย่างอื่นที่สำคัญ
มันคือการเพิ่ม productivity นั่นเอง

2. Feedback principle

เป็นสิ่งที่ต่อเนื่องมาจากข้อที่ 1 คือ Flow principle
เพิ่มเติมเข้ามาคือเรื่องของ Feedback
เป็น feedback ที่ได้รับกลับมาจากผู้ใช้งานจริง ๆ
เป็น feedback ที่ได้รับกลับมาจากลูกค้าจริง ๆ
เป็น feedback ที่ได้รับกลับมาจากทุกคนที่เกี่ยวข้อง

เป้าหมายเพื่อทำให้ทุกคนเห็นว่า
แต่ละคนทำอะไร
สิ่งที่แต่ละคนทำไปนั้นส่งผลกระทบอะไรบ้าง
สิ่งที่ทำไปนั้นมีคุณภาพอย่างไร

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

3. Continual Learning Principle

เมื่อข้อที่ 1 และ 2 เกิดขึ้นมาอย่างดีแล้ว
ก็จะเริ่มนำเอาแนวคิดเรื่องของ
Continuous Learning และ Continuous Improvement เข้ามาประยุกต์ใช้
โดยมักจะมีคำถามต่าง ๆ เกิดขึ้นมาเช่น
เราเรียนรู้อะไรจากสิ่งมอบ ?
เราเรียนรู้อะไรจาก feedback ต่าง ๆ ?
เราจะใช้ความรู้ที่ได้รับมาปรับปรุงการทำงานของ IT กันอย่างไร ?

การเรียนรู้นั้นมันคือรากฐานของทุกสิ่งทุกอย่าง
รวมถึงการลองทำในสิ่งต่าง ๆ ในแนวทางใหม่ ๆ
เพื่อหาทางที่ดีกว่า เพื่อส่งมอบคุณค่าให้กับลูกค้าต่อไป
เพื่อหาทางที่ดีกว่า สำหรับองค์กร
ดังนั้นสิ่งที่จำเป็นมาก ๆ คือ feedback loop ที่รวดเร็ว

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

การเรียนรู้จากข้อผิดพลาดเป็นสิ่งที่ดีมาก ๆ
ถ้าเราสามารถรู้ข้อผิดพลาดนั้นได้อย่างรวดเร็ว

Feedback loop จะเร็วได้ก็ต้องมี flow ที่ดี
Flow ที่ดีและ Feedback loop ที่เร็ว
ก็มาจากการปรับปรุงอย่างต่อเนื่อง
แสดงดังรูป

โดยที่ DevOps คือผลลัพธ์ที่ออกมาจากสิ่งต่าง ๆ จากข้างต้นนั่นเอง

Tags: