其他分享
首页 > 其他分享> > 一文解读研发效能

一文解读研发效能

作者:互联网

本文主要澄清了敏捷开发、持续集成、持续交付1.0、持续交付2.0 、持续部署、DevOps、研发效能七个概念,以便我们在后续相关工作和实践中能清楚地辨别。

一张图区分

 

上图涉及各个概念的范围和主要区别,更细致的区别请见下面拆解。从上图中我们可以得到研发效能主要关注点还是在产品研发这个环节,不涉及市场。当然对于如果作为一个ToB业务,那么市场环节就很重要。国内还是有几个做得不错的研发效能相关产品。

写作初衷

软件开发领域从不缺新概念。各种概念层出不穷,不只行业之外的人看到之后会懵逼,业内人士自己也很烦,本来很简单的事变复杂了,也许这也是保持行业活跃度的一种方式。

本着「少些概念解决问题,脚踏实地躬身入局」的原则,之前写了一些关于研发效能领域实践的文章,写完之后我一般用的标签是「研发效能」「持续集成」「持续交付」「DevOps」,这样就让本来很简单的一件事复杂了很多。文章为啥关联这么多标签?到底是关于哪方面的文章?最后觉得还是要解释下相关概念,梳理下概念之间的关系,这样才有助于我们建立整个知识体系,这就是写此篇的目的。

 

敏捷开发

定义

目标

细品

1、我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。

2、欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。

3、要不断交付可用的软件,周期从几周到几个月不等,且越短越好。

4、项目过程中,业务人员与开发人员必须在一起工作。

5、要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。

6、无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。

7、可用的软件是衡量进度的主要指标。

8、敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。

9、对技术的精益求精以及对设计的不断完善将提升敏捷性。

10、要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。

11、最佳的架构、需求和设计出自于自组织的团队。

12、团队要定期反省如何能够做到更有效,并相应地调整团队的行为。

持续集成

定义

目标

细品

Continuous integration is a software development practice where members of a team use a version control system and frequently integrate their work to the main branch. Each change is built and verified to detect integration errors as quickly as possible.

 

Continuous integration is focused on automatically building and testing code to check that the application is not broken whenever new commits are integrated into the main branch.

持续部署

定义

目标

细品

 

DevOps

定义

DevOps是一种软件工程文化和实践,旨在统一整合软件开发和软件运维。DevOps运动的主要特点是倡导对构建软件的从集成、测试、发布、部署、基础架构管理等所有环节的全面自动化和监控。

目标

DevOps 的目标是缩短开发周期,提高部署频率和更可靠的发布,与业务目标保持一致。

细品

 

持续交付1.0

定义

目标

细品

 

 

Continuous delivery is a software development methodology where the release process is automated. Every software change is automatically built, tested, and deployed to production.

 

Before the final push to production, a person, an automated test, or a business rule decides when the final push should occur. Although every successful software change can be immediately released to production with continuous delivery, not all changes need to be released right away.

 

This means that on top of automated testing, you have an automated release process and you can deploy your application any time by clicking a button.

 

持续交付2.0

定义

细品

 

研发效能

定义

目标

细品

总结

研发效能是组织高效交付产品的能力及支撑其能力所建立的系统工程体系。持续集成和持续交付1.0都是比较好的工程实践,持续部署对于规模比较小的产品还是很有积极作用,但是对于规模较大功能复杂的产品使用度较低。至于敏捷软件开发里面的很多原则还是很不错的,我觉得要实行这些原则对人对团队的要求还是很高的,可以秉着脚踏实地、支持业务发展的大方向谨慎试行。

标签:一文,效能,部署,环境,代码,持续,研发,解读,交付
来源: https://www.cnblogs.com/IT-Evan/p/16634495.html