Devops与敏捷二者能否结合?
DevOps与敏捷的结合
DevOps的实施主要集中在软件的各个方面,例如注重软件的可操作性、软件过程的自动化、可扩展性,以及每个版本的更好的部署方式以及它的监视和长期维护。DevOps的缺点是它不能支持敏捷开发中支持的代码的持续测试。与DevOps不同,敏捷主要关注产品是否满足客户的需求,因此专注于严格的测试。
与其单独使用DevOps和敏捷来进行开发,不如将它们结合在一起作为一股力量来汲取二者的长处,从而使软件行业受益。这可以通过将敏捷的冲刺与DevOps提供的集成团队合作来实现。因此,在软件开发中混合DevOps和敏捷方法是提高生产力和交付高质量软件产品的关键要求。这种方法可以优化软件的增量开发及其维护。
DevOps和敏捷结合的优势
●为发布过程创建了一个模式,并提高产品价值。●允许更好的协作。
●降低发布版本的风险。
●解决错误和修复Bug的速度更快。
●增加透明度。
●产品质量提高,满足用户期望。
二者结合需考虑的问题
为了避免遇到障碍,让我们来看看对DevOps和敏捷开发的顺利结合和实现更高的生产率构成威胁的挑战。
1、在团队内部建立良好融洽的关系,确保工作流程顺畅进行。
团队成员应该理解如何协同使用DevOps和敏捷开发方法,并且应该拓宽自身视野,找出在不引起冲突的情况下充分利用二者的方法,并为增加软件的业务价值做出贡献。团队成员不应该只关注开发周期,还应该关注软件的维护、可操作性和交付等方面。团队应该是富有经验的,并且应该拥有每个版本、服务、适应变更、如何管理变更、工具自动化的知识。2、概述生命周期
随着DevOps和敏捷的集成,团队现在关心整个开发生命周期中的操作。因此,应该制定一个适当的开发生命周期来提高一致性,最小化开发时间,对每个版本提供全面的测试,并加快产品交付的过程。开发生命周期应该包括开发阶段早期的DevOps方法。3、为冲刺调整DevOps
敏捷方法将开发过程划分为多个Sprint,但是现在不妨结合团队具体情况来设计一种策略,将DevOps正确地包含在Sprint中。在sprint中遵循这些指导原则来集成DevOps
●在计划冲刺时,征求运营和支持人员的意见并将这些意见纳入计划内。●同时考虑产品的特性、功能及操作。
●在接下来的冲刺阶段要考虑到DevOps。
●试着让devops团队参与scrum的每日站会、计划会议、回顾会议等敏捷开发流程中。
包含质量保证
敏捷包括对每个版本的持续测试和集成,但是除了功能测试之外,它不提供性能和负载测试,这是DevOps所需要的。因此对于每个版本都应该包括这些测试。所以QA应该包含在开发的每个阶段。在DevOps下执行待办列表
在协作期间,在DevOps框架下构建待办列表,需要考虑到:软件可扩展性、监控服务、部署能力、日志记录、警报设置、测试软件、安全问题、运营效能。
设备自动化
工作流自动化是将DevOps和敏捷方法结合在一起的一个重要部分。为了避免潜在的漏洞,需自动化所有的编码过程。
提供文档
敏捷方法并不执着于文档;相反,他们更专注于开发,而DevOps记录了软件版本的设计和其他规范。因而,文档的提供依然不可或缺。
基于敏捷开发方法论Scrum的禅道项目管理软件提供了DevOps解决方案,有助于规划和集成DevOps和敏捷。
禅道对DevOps和持续集成的支持,包括Git、Subversion版本系统集成,Jenkins构建任务触发,以及ZTF自动化测试调度几个方面。通过禅道自研的ZTF自动化测试工具,可很好地驱动8种单元测试框架、3种自动化测试框架来执行测试,并把最终结果回传给禅道,进行统一的报告展示。禅道ZTF打通了项目管理和持续集成工具之间的沟壑,贯穿持续集成、持续测试、持续部署等DevOps生命周期的不同阶段。
禅道,为您提供专业的DevOps解决方案。