扫码阅读
手机扫码阅读

什么是软件研发的工程化?研发团队真的理解吗?

435 2024-06-15

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:什么是软件研发的工程化?研发团队真的理解吗?
文章来源:
DevOps在路上
扫码关注公众号
软件工程化摘要

软件工程化的理解与实践摘要

在软件开发领域,存在对“软件工程化”的误解,有人质疑现代工具如Jenkins的用处,而在讨论团队协作的实际问题如分支策略、依赖管理时,这种误解导致了沟通上的无力感。

什么是软件的工程化

软件工程化指的是将代码编译、打包以及部署等过程进行标准化和自动化。这包括准备代码、下载依赖、编译打包以及准备环境和启动程序。尽管个人程序员可能认为本地脚本足以处理这些任务,团队规模放大和复杂性增加时则会面临更多挑战,如多人开发、业务集成、流程延长、多语言技术栈、灵活配置和快速回滚等。

个人解决方案,如编写shell脚本,仅适用于个人问题,并不能解决团队的协作问题。软件工程化的目标是协助团队合作,而不是个人问题的解决,未能实现团队协作的解决方案可能导致技术债务的累积。

软件工程的平台化

软件工程的平台化是为了实现企业软件研发活动的可持续化。可持续化是指不依赖单一个人的专业知识,而是通过标准化流程来保证业务连续性。个性化的持续交付流程会给团队和企业带来不确定性和风险。

平台化可以作为帮助企业实现研发活动可持续化的重要基础,但常被忽视。要实现软件工程的平台化,必须坚持标准化原则,识别优先级,逐步发展标准,培养团队的工程化意识,寻找具有广泛知识面的人才,且避免盲目的自动化。

实现软件工程化的建议

  1. 坚持标准化原则,消除违反标准化的行为。
  2. 逐步实现标准化,考虑优先级和性价比。
  3. 培养团队的工程化意识,尤其是基础平台团队。
  4. 寻找具备多种语言和工具知识的人才。
  5. 避免无脑自动化,以免阻碍标准化进程。

参考文献:《你以为搞个流水线每天跑,团队就在使用CI/CD实践了?》

想要了解更多内容?

查看原文:什么是软件研发的工程化?研发团队真的理解吗?
文章来源:
DevOps在路上
扫码关注公众号

专注于团队工程效能,分享DevOps实践的心得体会

41 篇文章
浏览 34.6K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线