Skip to content

Latest commit

 

History

History
12 lines (10 loc) · 8.4 KB

File metadata and controls

12 lines (10 loc) · 8.4 KB

แปล The Continuous Delivery Maturity Model

Initial Managed Defined Quantitatively Managed Optimizing
วัฒนธรรมการทำงานและองค์กร
  • ทีมจัดตั้งตามแพลตฟอร์ม/เทคโนโลยี
  • มีการกำหนดกระบวนการทำงานชัดเจนและเป็นลายลักษณ์อักษร
  • ทีมมีหนึ่ง product backlog
  • มีการนำกระบวนการทำงานแบบ agile ไปใช้
  • ไม่มีการแบ่งความรับผิดชอบระหว่างทีม
  • มีการประสานงานกันระหว่างทีม
  • ไม่มีการแบ่งความรับผิดชอบระหว่าง dev และ ops
  • ใช้กระบวนการจัดการเหมือนกันสำหรับทุกความเปลี่ยนแปลง
  • มีกระบวนการปรับปรุงอย่างต่อเนื่องกันทั่วทุกทีม
  • ทีมรับผิดชอบทุกอย่างในการนำของขึ้นสู่ production
  • ทีมสามารถทำงานข้ามฟังก์ชั่นกันได้
การ build และ deploy
  • ใช้ version control แบบ centralized
  • ใช้สคริปท์ในการ build แบบอัตโนมัติ
  • ไม่มีการจัดการของที่ถูก build
  • deploy แบบ manual
  • เตรียม environment ต่าง ๆ แบบ manual
  • ใช้วิธีการ poll ในการเริ่ม build บน CI
  • Build ต่าง ๆ สามารถสร้างขึ้นใหม่ได้จาก source control
  • มีการจัดการของที่ถูก build
  • ใช้สคริปท์ในการ deploy แบบอัตโนมัติ
  • สร้าง environment ต่าง ๆ แบบอัตโนมัติ
  • ใช้ commit hook ในการเริ่ม build บน CI
  • Build จะล้มเหลวถ้าตรวจสอบคุณภาพไม่ผ่าน เช่น การวิเคราะห์โค้ด การตรวจสอบประสิทธิภาพ เป็นต้น
  • มีปุ่มให้กดเพื่อทำการ deploy และ release ของที่ build แล้วไปยัง environment ใด ๆ
  • มีวิธีการ deploy เป็นมาตรฐานเดียวกันกับทุก ๆ environment
  • ทีมให้ความสำคัญกับการทำให้โค้ดสามารถ deploy ได้มากกว่าไปเริ่มงานอื่น
  • Build จะต้องไม่ถูกปล่อยให้พัง
  • มีการ deploy แบบหลายเครื่อง หลาย environment พร้อม ๆ กัน
  • มีการ deploy โดยการใช้ Blue/Green deployment
  • ทุก commit ถูก build และ deploy ไปยัง production โดยอัตโนมัติ
การ release
  • Release ไม่บ่อย และบางครั้งไม่สำเร็จ
  • Release แบบ manual
  • Release ไม่บ่อย แต่สำเร็จอย่างยากลำบาก
  • Release ไม่บ่อย แต่ทำได้อย่างอัตโนมัติ และสำเร็จทุกครั้งในทุก ๆ environment
  • Release บ่อย ด้วยวิธีอัตโนมัติ
  • การ deploy กับ release แยกออกจากกัน
  • Release ด้วยวิธี canary release
  • ไม่มีการ rollback ใช้ roll forward เสมอ
การจัดการข้อมูล
  • การย้ายข้อมูลใช้วิธี manual ไม่มีการใช้ script
  • การย้ายข้อมูลใช้ script ที่มีการควบคุม version แต่รันแบบ manual
  • มีการควบคุมเวอร์ชั่นของการเปลี่ยนแปลงข้อมูลใด ๆ แบบอัตโนมัติ
  • การเปลี่ยนแปลงของข้อมูลทำไปอย่างอัตโนมัติพร้อมกับการ deploy
  • การเปลี่ยนแปลงของข้อมูล รวมถึงการ rollback มีการทดสอบอย่างอัตโนมัติด้วยในทุก ๆ การ deploy
การทดสอบและการยืนยัน
  • รัน unit test แบบอัตโนมัติ
  • มีการแยก test environment ออกมา
  • มีการทดสอบแบบ integration แบบอัตโนมัติ
  • มีการทำ static code analysis
  • มีการทำ test coverage analysis
  • มีการทำ functional test แบบอัตโนมัติ
  • มีการทำ performance test และ security test แบบ manual
  • มีการทำ acceptance test แบบอัตโนมัติเต็มรูปแบบ
  • มีการทำ performance test และ security test แบบอัตโนมัติ
  • มีการทำ exploratory test โดยอิงจากการวิเคราะห์จากความเสี่ยง
  • มีการยืนยัน business value ที่คาดหวัง
  • ปัญหาที่พบถูกแก้ไขทันที (roll forward)
ข้อมูลและการรายงานผล
  • มีการกำหนดตัวชี้วัดกระบวนการทำงาน
  • รายงานต่าง ๆ ถูกสร้างแบบ manual
  • คนทำรายงานจะต้องเข้าถึงรายงานได้
  • มีการวัดผลกระบวนการ
  • รายงานต่าง ๆ ถูกสร้างอย่างอัตโนมัติ
  • ทีมจะต้องสามารถเข้าถึงรายงานได้
  • Release note ถูกสร้างอย่างอัตโนมัติ
  • Pipeline จะต้องสามารถถูกตรวจสอบการทำงานได้
  • สามารถดูรายงานย้อนหลังได้
  • ทีมอื่น ๆ สามารถเข้าถึงรายงานได้
  • มีรายงานการวิเคราะห์แนวโน้มต่าง ๆ
  • แสดงกราฟของตัวชี้วัดต่าง ๆ ใน pipeline ของการ deploy
  • มีข้อมูลให้เลือกดูได้เอง
  • สามารถปรับแต่ง dashboard ได้
  • มีการอ้างอิงถึงข้อมูลจากหน่วยงานอื่น ๆ ในองค์กร

อ้างอิงจาก The Continuous Delivery Maturity Model