CMMI与DevOps如何辨识
1、产生的背景不同,理念基础不同,价值导向不同
CMMI与DevOps是在不同的历史条件和技术背景下产生的,代表两种不同的开发文化,当然CMMI经历几十年的发展,被IT企业广泛接收并广泛应用。
CMMI的关注的重点是:软件过程改进,提升软件质量。
DevOps的关注的重点是:开发运维一体化、高效协同,尽快交付价值。
2、管理域和生产域的不同
CMMI更多的是软件工程管理框架,核心过程域包括:组织管理、项目管理、工程管理和支持管理过程,研发过程管理只是工程管理中的一部分。
DevOps聚焦于研发过程改善,是研发人员的自服务体系,以提升效率为首要目标,以软件研发生产支撑为主。
3、应用场景主体不同
CMMI是在传统研发模式下的管理体系,更多的应用于传统的稳态的开发模式(如:瀑布开发)。
DevOps成长在敏捷文化之下,其应用场景以敏态为主。面对来自市场的快速变化需求,DevOps 直接有助于实现“业务敏捷性”和“IT融合”,因此在互联网类业务、注重用户体验、快速变化、快速响应用户需求的业务多以敏捷模式为主,DevOps模式应用比较广。
4、管理文化不同、组织与团队不同
CMMI体系下每个成员按能力进行角色分配,能力非常聚焦,我们称之为专科医生;而DevOps模式下,更需要的是全能型团队,需求的是能力互补的T型人才,有助于生产协作。
5、服务支撑体系不同
CMMI体系下的支撑体系更多的是项目管理、质量管理、需求管理、组织管理、工程管理的相关专业领域的管理体系;DEVOPS除了配置管理外,主要依赖于各类技术手段(工艺、工具),依赖较强大技术基础,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化开发、测试、系统运维等环节。强大的自动化手段是确保持续集成和部署任务快速地、可重复性、减少出错的可能性。容器的兴起对 DevOps 有不小的促进作用,这也是未来的趋势。
DevOps 最直观的一个价值就是自动化,自动化构建、自动化测试、自动化部署等等。自动化的价值自然是很清晰的,DevOps希望做到的是软件产品交付过程中IT工具链的打通形成自动化交付的流水线,使得各个团队减少时间损耗,更加高效地协同工作。