一个软件从零开始到最终交付

简介: 一个软件从零开始到最终交付

  一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。

  最初,程序比较简单,工作量不大,程序员一个人可以完成所有阶段的工作。

  随着软件产业的日益发展壮大,软件的规模也在逐渐变得庞大。软件的复杂度不断攀升。一个人已经hold不住了,就开始出现了精细化分工。

  码农的队伍扩大,工种增加。除了软件开发工程师之外,又有了软件测试工程师,软件运维工程师。

  分工之后,传统的软件开发流程是这样的:

  软件开发人员花费数周和数月编写代码,然后将代码交给QA(质量保障)团队进行测试,然后将最终的发布版交给运维团队去布署。所有的这三个阶段,即开发,测试,布署。

  早期所采用的软件交付模型,称之为“瀑布(Waterfall)模型”。

  瀑布模型,简而言之,就是等一个阶段所有工作完成之后,再进入下一个阶段。

  这种模型适合条件比较理想化(用户需求非常明确、开发时间非常充足)的项目。大家按部就班,轮流执行自己的职责即可。

  但是,项目不可能是单向运作的。客户也是有需求的。产品也是会有问题的,需要改进的。

  随着时间推移,用户对系统的需求不断增加,与此同时,用户给的时间周期却越来越少。在这个情况下,大家发现,笨重迟缓的瀑布式开发已经不合时宜了。

  于是,软件开发团队引入了一个新的概念,那就是大名鼎鼎的——“敏捷开发(Agile Development)”。

  敏捷开发在2000年左右开始被世人所关注,是一种能应对快速变化需求的软件开发能力。

目录
相关文章
|
4月前
|
测试技术
快速迭代下,研发和测试如何高效配合?
快速迭代下,研发和测试如何高效配合?
|
6月前
|
监控 供应链 测试技术
什么是 2B 软件的实施和上线概念
什么是 2B 软件的实施和上线概念
60 0
|
6月前
|
小程序 IDE 开发工具
小程序从零开始开发到上线的过程
小程序从零开始开发到上线的过程
63 0
|
9月前
|
敏捷开发 数据可视化 测试技术
如何做好敏捷迭代管理?过程及工具分享
Leangoo领歌是ScrumCN(scrum.cn)旗下的一款永久免费的敏捷研发管理工具。 Leangoo领歌覆盖了敏捷研发全流程,包括小型团队敏捷开发,Scrum of Scrums大规模敏捷以及SAFe大规模敏捷框架等,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、缺陷管理、测试管理、进展跟踪、统计度量等。领歌上手快、实施成本低,可帮助企业快速落地敏捷,提质增效、缩短周期、加速创新,在数字时代赢得竞争。
如何做好敏捷迭代管理?过程及工具分享
|
11月前
|
测试技术
嵌入式软件测试笔记6 | 嵌入式软件测试中独立测试团队需要做哪些测试活动?
嵌入式软件测试笔记6 | 嵌入式软件测试中独立测试团队需要做哪些测试活动?
99 0
|
安全 测试技术 Linux
【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】
【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】
【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】
|
存储 运维 Linux
DO447利用推荐做法进行开发--实施建议实践
DO447利用推荐做法进行开发--实施建议实践
137 0
DO447利用推荐做法进行开发--实施建议实践
|
缓存 Kubernetes Cloud Native
构建制品不一致,后续工作都是白费 | 研发效能提升36计
本篇文章,我们从软件交付的终态出发,提出了不可变构建的概念。在软件开发的过程中,我们怎样才能享受产业生态的红利,实现软件交付过程的标准化呢?软件交付当中的集装箱应该是什么样的?
839 0
构建制品不一致,后续工作都是白费 | 研发效能提升36计
|
SQL Oracle Java
工作和学习中遇到的各种报错及解决方案
一. Java项目连接MySQL时报错: "The last packet sent successfully to the server was 0 milliseconds ago." 1. 出错原因 数据库回收了连接, 而系统的缓冲池不知道, 继续使用被回收的连接.