软件团队管理基础
这里的文章除了特别说明为 [转载] 之外,均为本人原创,转载请说明出处
1
1.1 简述瀑布模型、增量模型、螺旋模型(原型方法)的优缺点。
-
瀑布模型 优点:定义了软件开发基本流程与活动,降低软件开发的复杂程度。 缺点:1. 依赖问题。前面需求模糊,后面工作容易产生问题;2. 容错问题。缺乏灵活性,风险控制能力较弱,在后期发现需求问题,回溯工作量令人难以接受;3.资源调配问题。知识技能需求不同,人员数量要求不同。项目可控性低,可能导致项目延期。
-
增量模型 优点:1. 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展; 2.以组件为单位进行开发降低了软件开发的风险,一个开发周期内的错误不会影响到整个软件系统; 3.开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。 缺点:要求待开发的软件系统可以被模块化。没有完整的技术框架,预先设计好接口,粒度难以选择,各部分存在融合问题。
-
螺旋模型(含原型方法) 优点:发现问题早,成本低。设计上具有灵活性,可以在项目的各个阶段进行变更。以小的分段来构建大型系统,成本计算简单。客户始终参与每个阶段的开发,保证了项目不偏离正确方向。随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。 缺点:不适合大团队,具体迭代次数难以确定,无法确定发布日期。很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
1.2 简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?
UP 的三大特点: 1)迭代和增量的(Iterative and incremental):迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以循环反馈和调整为核心驱动力,系统增量式地发展完善,使之最终成为适当的系统。 2)以架构为中心的(Architecture-centric):统一过程强调架构是项目团队努力塑造系统的核心所在。由于没有单个模型足以覆盖系统的所有方面,统一过程支持多种架构模型和视图。 3)风险集中的(Risk-focused):统一过程要求项目团队专注于解决项目生命周期早期最关键的风险。每个迭代的可交付成果,特别是在精化阶段,必须选择,以确保最大的风险首先得到解决。 风险集中的和以架构为中心迭代开发的实践体现了风险驱动的开发,意味着早期迭代要致力于核心架构的构造,测试和稳定,没有稳固的架构会带来高风险。而根据用户需求和反馈进行迭代和增量式的系统完善则体现了用户驱动的开发。
1.3 UP 四个阶段的划分准则是什么?关键的里程碑是什么?
UP项目将其工作和迭代组织为四个主要阶段: 1)初始(Inception):大体上的构想,业务案例,范围和模糊评估。 2)细化(Elaboration):已精化的构想,核心架构的迭代实现,高风险的解决,确定大多数需求和范围以及进行更为实际的评估。 3)构造(Construction):对遗留下来的风险较低的和比较简单的元素进行迭代实现,准备部署。 4)移交(Transition):进行beta测试和部署。 关键的里程碑在“细化”阶段之后,“构造”阶段之前,是迭代的结束点,此时有重要决策或评估产生,应提交一个包括成本和进度估算的准确计划。
1.4 IT 项目管理中,“工期、质量、范围/内容”三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的?
虽然项目的工期、质量、范围/内容,都会在合同中明确给出,但是“工期”可能会受到各种原因以及突发情况的影响,如:前期分析和设计出现重大失误,负责开发的队员辞职罢工等,这些因素都是难以人为控制的。而“质量”本身就是一个难以捉摸的东西,它涉及考查很多方面,并且在项目完成之前是难以预测的,也无法进行实际评估,因此也是团队难以掌控的。相对来说,“范围/内容”一旦在合同上确切给出,那么控制权就完全移交给了项目团队,从设计到实现的过程中,根据明确的项目内容要求,控制项目范围是件很轻松的事。
1.5 为什么说,UP为企业按固定节奏生产、固定周期发布软件产品提供了依据?
UP是一种构造面向对象系统的迭代软件开发过程,其时间定量迭代和进化式开发的特点,为企业按固定节奏生产、固定周期发布软件产品提供了依据。迭代开发是UP的关键实践,迭代生命周期中开发被组织成一系列固定的短期小项目,在多次迭代中系统增量式发展和完善。因为每次迭代都产生可执行的但不完整的系统,输出最终系统的产品子集,所以UP为企业按固定节奏生产提供了依据。而多次迭代之后的系统能合格地用于产品部署,则为固定周期发布软件产品提供了依据。
2、项目管理使用
2.1 使用截图工具(png格式输出),展现你团队的任务Kanban,请注意以下要求:
- 每个人的任务是明确的。即一周后可以看到具体成果。
- 每个人的任务是1-2项。
- 至少包含一个团队活动任务。
本小组第一次迭代的任务Kanban如下: