基于DevOps软件开发流程的优化.docx
《基于DevOps软件开发流程的优化.docx》由会员分享,可在线阅读,更多相关《基于DevOps软件开发流程的优化.docx(12页珍藏版)》请在第壹文秘上搜索。
1、企业研究开发项目计划书(自主开发类)项目名称基于DeVOPS的软件开发流程成的优化企业名称纱企业法人(签名)项目负责人电话项目起止时间xxx7年5月至一xxx7年5月填报日期年月日一、立项依据1 .国内外现状、水平和发展趋势;如今,作为一种已经被接纳和理解的一组文化价值和实践的集合,DevOps已经被证明能够帮助各种体量的组织改善软件发布以及质量和安全,同时能为产品的开发提供快速的反馈。通过大量的调查反馈,有了足够的证据去证明DeVOPS实践推动了IT的更高效能。而更高的效能则改善了生产性,利润和市场份额。同时调查发现了DeVoPS所能带来的不仅仅是财务上的改善。所有的组织,不管是盈利组织还是
2、非盈利组织,不管他们的使命是什么,通过实践DeVoPS都能在实现目标的过程中有所改善。通过对领导者如何高效地影响技术实践和流程改善以实现更好的IT和组织效能方面进行研究,同时发现自动化是各个组织之间效能不同的关键要素。而在应用架构以及组织结构构成是如何影响软件开发和交付方面同样也做了更加深入的研究。2 .项目研发的目的、意义;1、自动化能给组织带来巨大福利相比与其他团队,高效能成员所在团队通过自动化显著地提高了他们地配置管理/测试/部署以及变更审批流程。其结果是更多的时间和创新可以用在反馈回路中。DeVOPS在所有的组织中得到了践行,通过研究组织的财务和非财务的指标,在愿意实现这些指标方面高效
3、能者是低效能者的两倍。去年的研究也表明,不管是COTS(commercialoff-the-shelfsoftware)还是部署在云端的微服务,都可以进行DevOps实践来实现更好的效率。而今年,如何在DevOps的世界里重新审视COTS,更加深入的指导原则被引入了进来。2、松耦合的架构和团队在持续交付方面表现更好为了达到IT高效能之路,在架构上迁移到松耦合的服务,组织上转换为松耦合的团队是一个好的开始。松耦合的服务使得服务之间能够独立的进行开发部署而不相互影响。而松耦合的团队则能使得对变更对应更加有效。对那些从创意到产品之间需要很多手工处理和审批流程的企业,这种转变需要不少投资。而松耦合的服
4、务和团队带来的益处也是显而易见的:更多的产出和更好的质量与稳定性。3、精益产品管理驱动更好的组织效能精益产品管理实践帮助团队更加高频地交付客户真正想要的特性。这个快速的交付回路使得团队可以进行尝试,与客户之间创建一个反馈回路。而这个结果则是整个组织的收益,可以从利润/生产性/市场份额上予以衡量。3.本项目达到的技术水平及市场前景。业务质量可视化1、测试覆盖率测试覆盖率是指测试用例对需求的覆盖情况,根据不同的需求类型,覆盖的要求也不同。如业务逻辑类需求,更加关注基本功能、边界、交互、异常等方面,测试需要覆盖正向路径、替代路径、异常路径。尤其是在TDD模式下,测试覆盖率基本体现了测试完整性和有效性
5、。测试覆盖率应该是分阶段,比如单元测试阶段、组件测试阶段、验证测试阶段都应该分析测试覆盖率。一般建议都保持在80%以上。2、测试通过率测试通过率=通过的测试/全部测试用例,用以衡量软件产品在测试过程中的质量,寻找缺陷。3、缺陷泄露率缺陷泄露率=用户发现的缺陷数/(开发+测试环节发现的缺陷数),即鼓励大家在交付之前尽量多做测试来降低缺陷泄漏率。在组织文化中我们也提到,内建质量才是提高质量的基础,任何依靠检测的手段来提高质量都是治标不治本。日志可视化日志可视化对开发人员分析上线问题、运维人员掌控线上环境都非常重要,可参加DeVOPS实践集中日志管理实践监控可视化监控是运维的眼睛,通过监控的可视化我
6、们才能及时发现问题,预防问题,监控的指标项很多:基础设施状态常见指标如磁盘使用率趋势、内存使用率趋势、CPU使用率趋势。应用状态常见指标如用户访问量分析、用户页面加载时间趋势、用户满意度趋势、用户浏览器分析、用户来源地域分析、80端口是否监听、API是否响应、SQL执行时长等等。其中用户来源地域分析对查看网络质量,精准广告投放都有参考价值。二、研发内容和目标1 .项目主要内容、目标及关键技术;持续交付是一种促进团队在短期内开发软件,保证软件可以在任何时间可靠地发布的软件工程方法。持续交付的目标是更快更频繁地构建、测试和发布软件。持续交付通过更加频繁地增量式地更新生产环境来降低变更的成本、时间和
7、风险。简单可重复的部署流程是持续交付的基础,持续交付以全面的版本控制和全面的自动化为核心。简而言之,持续交付是发布可靠软件的系统方法。持续交付是DeVOPS能力建设的突破口和基础,从代码提交到部署上线,持续交付架设起了从开发到技术运营之间的桥梁。1、自动化能力自动化是持续交付的基础能力,目标是加速代码提交到部署上线的过程,主要包括如下几方面的自动化:构建、环境管理、应用部署、测试。2、配置管理能力持续交付的源头是配置管理,源代码、依赖、应用、环境都应该实现配置管理。配置管理工具不仅仅是GitSVN等版本控制工具,Maven的Nexus和自建的CMDB都可视为配置管理工具,只要能够根据版本定位到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DevOps 软件 开发 流程 优化
