《构建之法》——软工学习进度(5)

敏捷流程

 1.定义: 敏捷流程是一系列价值观和方法论的集合。流行做法的价值在得到肯定的同时,我们也发现敏捷的做法更能带来价值。

 2. 敏捷开发的原则:

   ①.尽早并持续地交付有价值的软件以满足顾客的需求。

   ②.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。

   ③.经常发布可用的软件,发布间隔可用从几周到几个月,能短则短。

   ④.业务人员和开发人员在项目开发过程中应该每天共同工作。

   ⑤.以有进取心的人为项目核心,充分支持信任他们。

   ⑥.无论团队内外,面对面的交流始终是最有效的沟通方式。

   ⑦.可用的软件是衡量项目进展的主要指标。

   ⑧.敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续下去。

   ⑨.只有不断关注技术和设计,才能越来越敏捷。

   ⑩.保持简明——尽可能简化工作量的技艺——极为重要。

   ⑪.只有能自我管理的团队才能创造优秀的架构、需求和设计。

   ⑫.时时总结如何提高团队效率,并付诸行动。

3.敏捷开发的步骤:

  ①找出完成产品需要做的事情。分析、细化、理清相互关系、估计工作量等工作。

  ②决定当前的冲刺需要解决的事情。团队成员能主导任务的估计和分配,他们的能动性得到较大的发挥。

  ③冲刺。较好的平衡了“交流”和“集中注意力”的矛盾。冲刺期间,团队通过每日例会来进行面对面的交流,又称每日例会,强迫每个人向同伴报告进度,迫使大家把问题摆在明面上。

  ④得到软件增量版本,发布给用户。在此基础上进一步计划增量的新功能和改进。

4.敏捷流程的问题:

① 怎样在计划中体现依赖关系

② 把一个任务分解到一个可以执行的冲刺任务时,我们要考虑一系列的因素。

③ 定义好任务究竟是什么,任务的完成到底意味着什么。

④ 谁来验证增量是否满足了事先的计划,如果发现了新的问题,改进了原来的计划,这是好事还是坏事。

5.总结:

   一章的内容主要向我们介绍了什么是敏捷流程,以及它的特点和作用,以及相应的步骤。以我的理解,敏捷流程就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

   敏捷开发认为对变化进行响应的价值重于始终遵循固定的计划。他们最终的焦点是向用户交付尽可能多的价值。除了最简单的项目以外,用户不可能知道他们所需要的所有功能的每个细节。不可避免地在过程中会产生新的想法,也许今天看起来是必需的功能,明天就会觉得不那么重要了。随着小组获得更多的知识和经验,他们的进展速度会比开始的时候期望值慢或者快。对敏捷开发来说,一个计划是从某个角度对未来的看法,而具有多个不同的角度看问题是有可能的。

 

 

posted @ 2017-05-20 14:20  还有那半人心丶  阅读(108)  评论(0编辑  收藏  举报