在阅读过资料和进行资料查阅后我对问题的理解如下:
一、软件开发周期问题
资料中是引入一个旅者的故事来比喻答案:旅者决定徒步旅行,但是其预估错了距离,并且因为各种环境因素和自身因素,导致到达时间远远大于预估的时间。软件开发周期亦是如此,出现开发周期总是预估的2-3倍的原因是:
1、在对软件的需求分析时期,团队没有做好周到的、针对用户需求的软件分析和优先级排序工作;
2、由于缺少信息、错误的信息或者对同一问题的不同理解,导致团队与用户之间发生冲突,减慢软件开发的进程;
3、开发项目工程难度系数较大,团队的知识技术储备不足,导致团队对工程量的预估出现严重偏差,使开发周期远大于预估周期;
4、用户需求的不断变化,使得团队不得不排出时间与用户进行沟通,使开发周期存在一定不可控的延迟。
二、分而治之
分而治之,引入计算机领域来讲,就是把一个复杂的大问题分解成两个甚至多个子问题,每个子问题又可以分解为新的子问题,直至到子问题可以以尽可能简单的方式来解决,最后把子问题解决的方案以归并,完成复杂问题的解决。在软件开发中,分而治之也是一种重要的解决方案思想,把总项目分解为多个子项目,并且这些子项目大多具有相似性,可以利用递归的思想来解决子项目,最后再把这些解决方案进行归并,优化后形成最终产品解决方案。
三、WBS
1、定义:
工作分解结构(简称WBS)和分而治之是一个原理,就是把一个项目,按一定的原则分解,项目分解成一个个任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目→任务→工作→日常活动。
工作分解结构以可交付成果为导向,对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。
2、特点:
一.以可交付成果为导向,每个项目都有细致的分解任务,而任务又有分解成工作,形成了清晰可见的分层结构,每个可交付的结果保证了其工作的可量化性;
二.细致的分层结构使开发团队的工作管理工作变得清晰明了,每个团队成员各司其职,完成对应的活动,便于管理的调度和问题的解决,形成相对独立的工作模式。
3.作用:
一.形成相对独立的工作分配机制;
二.便于管理团队人员的工作;
三.便于分配人员的工作责任;
四.明晰团队的工作进程;
五,实现分而治之,提高团队的人员利用率。