首页 > 代码库 > 构建之法之开发流程

构建之法之开发流程

一.什么是开发流程?

  在开发,运营,维护软件过程中的技术,做法,思想统一到一个体系中,叫做“软件开发流程”。

二.开发流程。

1.写了再改模式

  开发人员拿到需求文稿后,编码成功,交付客户,客户反馈意见,继续编码,多次重复之后发布软件。

2.瀑布模式

  遵循成熟行业[分析->设计->实现->销售->维护]的流程。由Winston Royce提出,并且在设计大型系统时需要改进,要做到相邻步骤的回溯,即【系统需求<->软件需求<->分析<->程序设计<->编码<->测试<->运行】。这个模型最好走两遍,收集反馈并改进。

  瀑布模型的各种变形:

  a。生鱼片模型(各相邻模块像生鱼片那样部分重叠),这个模型解决了各个步骤之间分离的缺点。

  b。子瀑布模型(区别对待问题,大瀑布带着小瀑布),各个子系统统一到最后做系统测试。

3.统一流程

  统一流程是重计划,重事先设计,重文档表达的集大成者。它的工作流是【a.业务建模b.需求c.分析和设计d.实现e.测设f.部署g.配置和变更管理h.项目管理i.环境j.初始阶段k.细化阶段l.构造阶段m.交付阶段】

4.老板驱动的开发流程

  由行政领导主导的开发流程。

5.渐进交付的流程

  当系统的主要需求和架构明确之后,软件团队进入一个不断演进的循环:[开发->发布->听取反馈->根据反馈做改进],重复这个循环,直到时间用完,钱花光,完成了计划的迭代次数,或者客户满意为止。

6.敏捷流程

A.什么是敏捷开发流程?

“敏捷开发流程”是一系列价值观和方法论的集合。

B.敏捷开发原则:

(1)尽早并持续地交付有价值的软件以满足顾客需求;

(2)敏捷开发流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势;

(3)经常发布可用的软件,发布间隔可以从几周到几个月,能短则短;

(4)业务人员和开发人员在项目开发过程中应该每天共同工作;

(5)以有进取心的人为项目核心,充分支持信任他们;

(6)无论团队内外,面对面的交流始终是最有效的沟通方式;

(7)可用的软件是衡量项目进展的主要指表;

(8)敏捷流程应能保持可持续的发展。领导,团队和用户应该能按照目前的步调持续合作下去;

(9)只有不断关注技术和设计,才能越来越敏捷;

(10)保持简明——尽可能简化工作量的技艺——极为重要;

(11)只有能自我管理的团队才能创造优秀的架构,需求和设计;

(12)时时总结如何提高团队效率,并付诸行动;

C.敏捷的步骤:

(1)找出完成产品需要做的事情——Product Backlog;

(2)决定当前的冲刺(Sprint)需要解决的事情——Sprint Backlog;

(3)冲刺(Sprint);

(4)得到软件的一个增量版,发布给用户。然后在此基础上有进一步计划增量的新功能和改进;

D.敏捷流程对团队的要求:

  自我管理,自我组织,多功能性。

7.MSF(Microsoft Solution Framework)

MSF的思想框架

(1)推动信息共享与沟通(要求所有信息公开公,开告知所有人。技术机密,安全性要保护);

(2)为共同的远景工作(有一致,明确的目标);

(3)充分授权和信任(所有成员都应该能得到充分的授权,有权在职权范围内按照自己的承诺完成任务);

(4)各司其职,对项目共同负责(每个成员都有自己的职责);

(5)交付增量的价值(重视商业价值,提供渐进的价值);

(6)保持敏捷,预期和适应变化(预期变化,适应变化);

(7)投资质量(对质量的重视,引发对质量的投资,引发对人,过程,和工具的投资);

(8)学习所有的经验;

(9)与顾客合作;

8.TSP的原则

  优秀的模式和流程的共同点:

a.使用妥善定义的流程,流程 中的每一步都是可以重复,可以衡量结果的。

b.团队的各个成员对团队的目标,角色,产品都有统一的理解。

c.使用成熟的技术。

d.尽量多的收集数据,并分析使用数据。

f.制定合理地计划。

g.增加团队的自我管理能力。

h.专注于提高质量,全面细致的设计工作。

  

 

  

构建之法之开发流程