软件从0开始诞生记 带你了解软件开发的生命周期

软件从0开始诞生记 带你了解软件开发的生命周期

敏捷开发模型

java从入门到放弃教程(六)

本文讲的是通常大家能看见的互联网产品的制作流程

做任何一件事都要有大局观,从全局的角度看问题,对自身的定位会非常的清晰明确。

下面我们就来介绍一下一个产品是如何从0开始到上线的


软件从0开始诞生记 带你了解软件开发的生命周期
流程

立项:这个阶段一般是大公司开始新的业务线 或者创业公司发现好的计划

调研:调查市场上类似的产品,看相似度或者商业模式是否有差异,确定自己的优势方向

资金:大公司不会存在资金问题,这里一般指小公司会有筹集资金的过程

组建团队:产品,设计,前端,后端这是最基本的,有能力强的也可以兼任,还有其他很多岗位

技术预研:产品在设计的时候就要确定好技术方向,因为不同的技术方向可能带来不同的成本问题,不同的技术人力成本,时间成本,团队规模等等都是不一样的,如果技术难度大可能还需要单独招聘高等级的技术人才

设计产品:这个阶段就开始各种设计软件,前端交互,后台架构,功能模块,服务划分,然后形成各种类型的文档交付给研发人员

开发:研发人员根据产品部门交付的文档开始对产品进行实现,如果产品设计做的很好,各种细节问题都有考虑到,并且有很明确的方向,其实开发阶段会很顺利。然而...现实是很残酷的,很多公司的产品能力并不是很强,属于走一步看一步的状态,结果就是在开发阶段不停的“ 改需求 ”请记住这三个字,在你的开发生涯中,这可能是你挥之不去的梦魇。有很多产品到这个阶段就会暴露出大量的问题,设计不合理,技术架构不过关,无法适应需求等,导致项目失败。所以一个强大的产品团队对产品的成功与否起到决定性的作用。

测试:产品完成一个版本以后,会进行一系列的专业测试,找出BUG,尽可能少的在线上环境出现BUG,有时候一个BUG很可能造成毁灭性的结果,特别是与钱有关的项目,测试更加严格。

发布产品:产品在开发过程中,会经历几个不同的环境。开发环境,就是研发部门的环境,测试环境,一般会配有单独的测试环境模拟线上环境,对产品进行测试,最后就是线上环境。小产品还好,一旦产品规模大了,每一次发布都会是一个艰难的过程,需要大量的人力物力配合协调,保证产品能够顺利上线

产品迭代:产品并不是一成不变的,比如电商网站,会有各种促销活动,并且需要修复线上的BUG,所以会定时对产品进行迭代,保证老的BUG被修复,新的功能上线

运维:一个产品随着访问量的上升,架构和技术会不断的演进,系统架构会越来越复杂,这时候就需要有专门的运维部门保证线上环境的安全可靠,比如某活动开始,面对大量涌入的用户,必须有相应的演练及预案,否则服务器宕机不光丢面子还丢钱

运营:互联网公司一般会设置这个部门,用来维护自己产品的用户群体,吸引更多的用户来使用产品,让产品的用户量越来越大。

好了,介绍完了一个产品的生命周期,希望你有收获。