扫码阅读
手机扫码阅读
什么是软件研发的工程化?研发团队真的理解吗?
435 2024-06-15
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
DevOps在路上
扫码关注公众号
软件工程化的理解与实践摘要
在软件开发领域,存在对“软件工程化”的误解,有人质疑现代工具如Jenkins的用处,而在讨论团队协作的实际问题如分支策略、依赖管理时,这种误解导致了沟通上的无力感。
什么是软件的工程化
软件工程化指的是将代码编译、打包以及部署等过程进行标准化和自动化。这包括准备代码、下载依赖、编译打包以及准备环境和启动程序。尽管个人程序员可能认为本地脚本足以处理这些任务,团队规模放大和复杂性增加时则会面临更多挑战,如多人开发、业务集成、流程延长、多语言技术栈、灵活配置和快速回滚等。
个人解决方案,如编写shell脚本,仅适用于个人问题,并不能解决团队的协作问题。软件工程化的目标是协助团队合作,而不是个人问题的解决,未能实现团队协作的解决方案可能导致技术债务的累积。
软件工程的平台化
软件工程的平台化是为了实现企业软件研发活动的可持续化。可持续化是指不依赖单一个人的专业知识,而是通过标准化流程来保证业务连续性。个性化的持续交付流程会给团队和企业带来不确定性和风险。
平台化可以作为帮助企业实现研发活动可持续化的重要基础,但常被忽视。要实现软件工程的平台化,必须坚持标准化原则,识别优先级,逐步发展标准,培养团队的工程化意识,寻找具有广泛知识面的人才,且避免盲目的自动化。
实现软件工程化的建议
- 坚持标准化原则,消除违反标准化的行为。
- 逐步实现标准化,考虑优先级和性价比。
- 培养团队的工程化意识,尤其是基础平台团队。
- 寻找具备多种语言和工具知识的人才。
- 避免无脑自动化,以免阻碍标准化进程。
参考文献:《你以为搞个流水线每天跑,团队就在使用CI/CD实践了?》
想要了解更多内容?
文章来源:
DevOps在路上
扫码关注公众号
DevOps在路上的其他文章
对象存储服务-Minio
「对象存储服务(Object Storage Service,OSS」)是一种海量、安全、低成本、高可靠的云
SonarQube系列-通过配置扫描分析范围,聚焦关键问题
❝在许多情况下,你可能不希望分析项目中每个源文件的各个方面。例如,项目可能包含生成的代码、库中的源代码或有意
你的团队是在进行持续集成表演吗?也许你就在这个持续集成剧场里
四五年多前,我看到ThoughWorks的一篇文章提到“CI theatre「持续集成剧场」”,专门还写了一篇
混沌初开,DevOps落地从哪个实践开始会更合适?我选择制品管理
DevOps相关的管理实践和工程实践有很多,从精益看板,版本控制,流水线,TDD,代码检查,部署发布等等,对于
DevOps流水线设计的最佳实践
❝谈到到DevOps,持续交付流水线是绕不开的一个话题,相对于其他实践,通过流水线来实现快速高质量的交付价值
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线