จากหนังสือ The Phoenix Project มีเนื้อหาที่สนใจเกี่ยวกับ DevOps มากมาย
หนึ่งในนั้นคือ Three ways
ซึ่งเป็น principle สำคัญสำหรับ
การทำความเข้าใจเกี่ยวกับ DevOps
การวางแผนเกี่ยวกับ DevOps
การนำเอาแนวคิด DevOps มาประยุกต์ใช้งาน
ประกอบไปด้วย
- Flow principle
- Feedback principle
- 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 คือผลลัพธ์ที่ออกมาจากสิ่งต่าง ๆ จากข้างต้นนั่นเอง