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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

目录
相关文章
|
6月前
|
监控 前端开发 测试技术
前端研发流程的深入解析:从构思到交付
前端研发流程的深入解析:从构思到交付
145 0
|
28天前
|
缓存 Devops jenkins
专家视角:构建可维护的测试架构与持续集成
【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
43 3
|
29天前
|
敏捷开发 搜索推荐 安全
如何挑选适合团队的工作协同处理软件?
在当今快节奏的工作环境中,团队协作的效率直接决定了项目的成败。随着科技的进步,工作协同处理软件应运而生,它们通过提供一系列强大的功能,帮助团队实现高效的沟通、任务分配、进度跟踪和资源管理。然而,市场上的协同处理软件种类繁多,如何挑选适合团队的工具成为了一个挑战。本文将深入探讨如何挑选适合团队的工作协同处理软件,并重点介绍板栗看板及其优点,同时列举几个国外的类似软件。
|
6月前
|
敏捷开发 Devops jenkins
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
149 1
|
小程序 IDE 开发工具
小程序从零开始开发到上线的过程
小程序从零开始开发到上线的过程
153 0
|
数据可视化 IDE BI
如何实现软件的快速交付与部署?
如何实现软件的快速交付与部署?
121 0
|
敏捷开发 数据可视化 测试技术
如何做好敏捷迭代管理?过程及工具分享
Leangoo领歌是ScrumCN(scrum.cn)旗下的一款永久免费的敏捷研发管理工具。 Leangoo领歌覆盖了敏捷研发全流程,包括小型团队敏捷开发,Scrum of Scrums大规模敏捷以及SAFe大规模敏捷框架等,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、缺陷管理、测试管理、进展跟踪、统计度量等。领歌上手快、实施成本低,可帮助企业快速落地敏捷,提质增效、缩短周期、加速创新,在数字时代赢得竞争。
如何做好敏捷迭代管理?过程及工具分享
|
Dragonfly Kubernetes Cloud Native
如何保证软件交付过程的标准化|学习笔记
快速学习如何保证软件交付过程的标准化
686 0
如何保证软件交付过程的标准化|学习笔记
|
Dragonfly 运维 Cloud Native
如何保证软件交付过程的标准化 | 学习笔记
快速学习如何保证软件交付过程的标准化
如何保证软件交付过程的标准化 | 学习笔记
|
安全 测试技术 Linux
【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】
【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】
【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】