1、SOFTWARE ENGINEERINGChapter 3 Planning and Managing the Project项目的计划和管理内容概要 项项目管理概概述 软软件项项目进进度计划计划 软软件项项目中的人员与组织结构员与组织结构 软软件项项目的成本与与工作量估算 软软件项项目的风险风险 软软件项项目配置管理3.1 project and project ma3.1 project and project managementnagement一、What is a project?What is a project?定义一:项目是完成某些特定指标的一次性任务。定义一:项目是完成某些特
2、定指标的一次性任务。定义二:项目是一项有待完成的专门任务,是在一定的定义二:项目是一项有待完成的专门任务,是在一定的组织机构内,在限定的资源条件下,在计划的时间里,组织机构内,在限定的资源条件下,在计划的时间里,按满足一定性能、质量与数量的要求去完成的一次性按满足一定性能、质量与数量的要求去完成的一次性任务。任务。定义三:项目是为了创造一种独特的产品、实现一种独定义三:项目是为了创造一种独特的产品、实现一种独特的服务或达成一项独特的结果而做出的暂时性努力。特的服务或达成一项独特的结果而做出的暂时性努力。项目的特征:唯一性、一次性、整体性、多目标性、寿项目的特征:唯一性、一次性、整体性、多目标性
3、、寿命周期阶段性;成功的项目需要满足甚至超过项目干命周期阶段性;成功的项目需要满足甚至超过项目干系人的期望。系人的期望。项目干系人(项目干系人(StakeholderStakeholder)项目干系人指的是那些在项目上有既得利益的人,项目干系人指的是那些在项目上有既得利益的人,项目的结果对他们而言意味着某种得失。项目的结果对他们而言意味着某种得失。关键项目干系人能够促成或破坏项目的成功。即关键项目干系人能够促成或破坏项目的成功。即使项目实现了所有的可交付成果并且达成了所有使项目实现了所有的可交付成果并且达成了所有的目标,如果关键项目干系人不满意,全都白费。的目标,如果关键项目干系人不满意,全都
4、白费。项项目干系人(Stakeholder)典型项目中涉及到的典型项目中涉及到的项目干系人类型项目干系人类型 一定要在项目的最初阶段会见一定要在项目的最初阶段会见所有的所有的关键项目干系人,关键项目干系人,理解他们的需求和约束;理解他们的需求和约束;项目干系人之间往往存在利益冲突;项目干系人之间往往存在利益冲突;解决项目干系人冲突的时候永远要以对解决项目干系人冲突的时候永远要以对客户客户有利为出有利为出发点。发点。二、二、What is project managementWhat is project management The application of knowledge,skill
5、s,tools,and techniques to project activities in order to meet or exceed stake holder needs and expectations.将知识、技能、工具、技术应用于项目活动以满足或超过预期的需求。两种含义两种含义-管理活动:管理活动:一种有意识地按照项目管理的特点和规律,对项目进行组织管理的活动-管理学科:管理学科:以项目管理活动为研究对象的一门学科,它是探索项目活动科学组织管理的理论与方法。三、什么是软件项目管理?三、什么是软件项目管理?软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成
6、本、人员、进度、质量、风险等进行分析和管理的活动。软件项目管理的对象是软件工程项目,包括进度、系统规模及工作量估算、经费、组织机构和人员、风险、环境配置等,所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,一个关键问题是必须对软件开发项目的工作范围、可能遇到的风险、需要的资源(人、硬软件)、要实现的任务、经历的里程碑、花费工作量(成本),以及进度的安排等等做到心中有数。而软件项目管理可以提供这些信息。通常,这种管理在技术工作开始之前就应开始,而在软件从概念到实现的过程中继续进行,并且只有当软件开发工作最后结束时才终止。四、管理的范围四、管理的范围有效的项目管理集中于三个P 上Peo
7、plePeople-项目参与者 -项目负责人-软件项目组 -协调和通讯ProblemProblem-软件范围 -问题分解ProcessProcess-合并问题和过程 -过程分解 五、为何需要软件项目管理?为何需要软件项目管理?n是否需要管理是专业软件开发和业余编程之间的重是否需要管理是专业软件开发和业余编程之间的重要区别之一:要区别之一:专业的软件开发活动总是要受预算和工程进度等的制约;专业的软件开发活动总是要受预算和工程进度等的制约;有多方面的参与者需要协调或管理;有多方面的参与者需要协调或管理;软件项目管理者要确保项目符合预算和进度要求,还要确软件项目管理者要确保项目符合预算和进度要求,还
8、要确保交付的软件能达到既定的目标;保交付的软件能达到既定的目标;再好的管理也不能保证项目绝对成功,但糟糕的管理常常再好的管理也不能保证项目绝对成功,但糟糕的管理常常造成项目失败;造成项目失败;六、软件项目中的管理活动软件项目中的管理活动n软件管理并没有一定的标准,开发组织和被开发软件管理并没有一定的标准,开发组织和被开发的软件产品决定着管理工作的内容的软件产品决定着管理工作的内容n基本上,软件项目管理工作要包含以下活动:基本上,软件项目管理工作要包含以下活动:提出书面建议提出书面建议 项目规划和进度项目规划和进度 项目成本项目成本 项目监督和评审项目监督和评审 人员选择和评价人员选择和评价 写
9、作并陈述工作报告写作并陈述工作报告3.2 Tracking project progress跟踪项目进展跟踪项目进展 Software is useful only if it performs a desired function or provides a needed service.软件只有在执行了人们需要的功能或提供了需要的服务时,才是有用的。通常你必须回答以下的问题 Do you understand customer problem and needs?你能理解客户的问题和需要吗?Can you design a system to solve customer problem
10、or satisfy customer needs?你能设计一个系统来解决客户问题或满足客户需要吗?How long will it take you to develop the system?开发这样的系统需要花多长时间?How much will it cost to develop the system?开发这样的系统成本是多少?Answering the last two questions requires a well-thought-out project schedule.后两个问题要在慎重考虑项目的进度之后才能回答:Project Schedule describes th
11、e software development cycle for a particular project by enumerating the phases or stages of a project and breaking each into discrete tasks or activities to be done.项目进度描述了针对特定项目的软件开发周期,列举了项目的各个阶段,把每个阶段划分成要完成的离散任务或活动 项目进度计划项目进度计划(Project Schedule):列举了项目的各阶段列举了项目的各阶段 把每个阶段划分成需要完成的活动把每个阶段划分成需要完成的活动 描
12、述活动间的关系描述活动间的关系 估算活动所需的时间估算活动所需的时间 项目进度计划的出发点 了解项目干系人的期望和以及客户的需要,与他了解项目干系人的期望和以及客户的需要,与他们沟通直到他们满意;们沟通直到他们满意;列出所有的可交付成果;列出所有的可交付成果;可交付成果以量化的方式描述了项目目标的组可交付成果以量化的方式描述了项目目标的组成部分。成部分。判定必须进行哪些活动以建立这些可交付成果;判定必须进行哪些活动以建立这些可交付成果;The schedule also portrays the interactions among these activities and estimates
13、 the time that each task or activity will take.进度描绘了活动之间的交互,并估算每一任务或活动需要的时间。The schedule is a timeline that shows when activities will begin and end,and when the related development products will be ready.进度是一个时间的限期,它表明活动将于何时开始何时结束、相关的开发产品何时准备就绪。Project deliverables项目可交付品 Documents 文档 Demonstrations
14、 of function 功能演示 Demonstrations of subsystems 子系统演示 Demonstrations of accuracy 正确性演示 Demonstrations of reliability,performance or security 可靠性、安全性或性能演示一、一、Work Breakdown and Activity Graphs Work Breakdown and Activity Graphs 工作分解和活动图工作分解和活动图 Milestones and activities Milestones and activities 活动和里程
15、碑活动和里程碑 ActivityActivity(活动活动):A part of a project that takes:A part of a project that takes place over a period of timeplace over a period of time。项目的一个部分,发项目的一个部分,发生在一段时间内。生在一段时间内。MilestoneMilestone(里程碑里程碑):completion of an activi:completion of an activity-a particular point in timety-a particular
16、 point in time。一个活动的完一个活动的完成。是某一特定时刻。成。是某一特定时刻。描述活动的描述活动的4个参数个参数 Precursor(前驱前驱):event or set of events that must occur in order for an activity to start。在活动开始之前必。在活动开始之前必须发生的一个或一组事件,它描述了活动开始的一组条须发生的一个或一组事件,它描述了活动开始的一组条件。件。Duration(持续时间持续时间):length of time needed to complete an activity。完成一个活动需要的时间长
17、度。完成一个活动需要的时间长度 Due date(截至日期截至日期):date by which an activity must be completed。活动必须完成的日期。活动必须完成的日期 Endpoint(终点):Milestones or deliverables。里程碑或交付品活动图:项目中的阶段、步活动图:项目中的阶段、步骤和活动骤和活动阶段阶段步骤步骤活动活动阶段、步骤和活动例里程碑例活动和估计时间例 活动图例二、Estimating Completion估算完成时间 Slack timeSlack time(空闲时间)=available time real time=av
18、ailable time real time (可用时间 实际时间)=latest start time-earliest start time (最晚开始时间 最早开始时间)Real time Real time实际时间实际时间:is the estimated amount:is the estimated amount of time required for the activity to be completeof time required for the activity to be completed.d.完成这个活动估计所需的时间量。完成这个活动估计所需的时间量。availa
19、ble time available time可用时间可用时间:is the amount of tim:is the amount of time available in the schedule for the activitye available in the schedule for the activitys cos completion.mpletion.进度中完成这个活动可用的时间量。进度中完成这个活动可用的时间量。Critical Path Method(CPM)关键路径法 The Critical Path can show us the minimum amount T
20、he Critical Path can show us the minimum amount of time it will take to complete the project.of time it will take to complete the project.关键路径能告诉我们完成这个项目的最短时间关键路径能告诉我们完成这个项目的最短时间The critical path is the one for which the slack The critical path is the one for which the slack time at every node is ze
21、ro.time at every node is zero.关键路径中的每个结点的空闲时间都是零关键路径中的每个结点的空闲时间都是零项目活动的空闲时间CPM条形图三、Tools to track progress跟踪进展的工具工作分解结构(工作分解结构(WBS)示例)示例 是以可交付成果为导向的对项目成分的分组,从是以可交付成果为导向的对项目成分的分组,从而组织并定义整个项目范围。而组织并定义整个项目范围。WBSWBS不包括的工作不包括的工作就不在项目的范围之内。就不在项目的范围之内。WBSWBS是自顶向下逐层构建的,表现形式可以是图是自顶向下逐层构建的,表现形式可以是图表也可以是文字大纲。表
22、也可以是文字大纲。最高层,是项目本身。接下来是项目的可交付成最高层,是项目本身。接下来是项目的可交付成果以及进一步分解的、更小的可交付成果。然后果以及进一步分解的、更小的可交付成果。然后就是创建这些成果的活动。就是创建这些成果的活动。工作分解结构(工作分解结构(Work Breakdown StructureWork Breakdown Structure)depicts the project as a set of discrete pieces of work.depicts the project as a set of discrete pieces of work.把把项项目描目描
23、绘绘成一成一组组分离的工作分离的工作块块。工作分解结构工作分解结构 (Work Breakdown StructureWork Breakdown Structure)工作分解结构工作分解结构(Work Breakdown StructureWork Breakdown Structure)文字大纲形式的文字大纲形式的WBSWBS1 1 需求定需求定义义2 2 设计规设计规格格2-1 2-1 软软件件设计设计2-2 2-2 硬件硬件设计设计3 3 程序模程序模块块工作分解结构工作分解结构(Work Breakdown StructureWork Breakdown Structure)任务责任
24、矩阵任务责任矩阵在在WBSWBS的基础上,把各项活动的基础上,把各项活动落实到相关人员。落实到相关人员。用一个矩阵表格表示分工与责任:用一个矩阵表格表示分工与责任:任务责任矩阵任务责任矩阵工作划划分负责负责人张张XX设计师设计师王XX设计师设计师李XX2 设计规设计规格审查审查2-1软软件设计设计设计设计2-2硬件设计设计设计设计工作分解结构工作分解结构(Work Breakdown StructureWork Breakdown Structure)明确了项目范围明确了项目范围 确定了项目包含的活动确定了项目包含的活动 指明活动对应的里程碑指明活动对应的里程碑 没有指明活动间的相互依赖关联没
25、有指明活动间的相互依赖关联 无法表示项目中可以并行的部分无法表示项目中可以并行的部分 还需要其他手段才能产生现实可行的项目进度还需要其他手段才能产生现实可行的项目进度计划计划 Gantt(甘特)图是历史悠久、应用广泛的制定进度计划的工具Gantt图GanttGantt图举例图举例垂直的虚线表示今天;水平长条表示每个活动的进展;长条的颜色表示完成情况、持续时间或关键性;菱形图标表示何处出现延迟;三角表示活动的开始和结束。Gantt图Another Gantt chartAnother Gantt chart 假设有一座陈旧的矩形木板房需要重新油漆。这项工作必须分3步完成:首先刮掉旧漆,然后刷上新
26、漆,最后清除溅在窗户上的油漆。假设一共分配了15名工人去完成这项工作,然而工具却很有限:只有5把刮旧漆用的刮板,5把刷漆用的刷子,5把清除溅在窗户上的油漆用的小刮刀。首先刮掉四面墙壁上的旧漆,然后给每面墙壁都刷上新漆,最后清除溅在每个窗户上的油漆。显然这是效率最低的做法,因为总共有15名工人,然而每种工具却只有5件,这样安排工作在任何时候都有10名工人闲着没活干。GanttGantt图例图例 首先由5名工人用刮板刮掉第1面墙上的旧漆(这时其余10名工人休息),当第1面墙刮净后,另外5名工人立即用刷子给这面墙刷新漆(与此同时拿刮板的5名工人转去刮第2面墙上的旧漆),一旦刮旧漆的工人转到第3面墙而
27、且刷新漆的工人转到第2面墙以后,余下的5名工人立即拿起刮刀去清除溅在第1面墙窗户上的油漆,GanttGantt图例图例刮旧漆刷新漆清理1 或 32312 或 4462Gantt图例旧木板房刷漆工程的Gantt图Gantt图例图例旧木板房刷漆工程改进的Gantt图 GanttGantt图能很形象地描绘任务分解情况,以及每个图能很形象地描绘任务分解情况,以及每个子任务子任务(作业作业)的开始时间和结束时间,因此是进度计的开始时间和结束时间,因此是进度计划和进度管理的有力工具。它具有直观简明和容易掌划和进度管理的有力工具。它具有直观简明和容易掌握、容易绘制的优点,但是握、容易绘制的优点,但是Gant
28、tGantt图也有图也有3 3个主要缺点:个主要缺点:(1)(1)不能显式地描绘各项作业彼此间的依赖关系;不能显式地描绘各项作业彼此间的依赖关系;(2)(2)进度计划的关键部分不明确,难于判定哪些进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象;部分应当是主攻和主控的对象;(3)(3)计划中有潜力的部分及潜力的大小不明确,计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。往往造成潜力的浪费。Gantt图 工程网络是制定进度计划时另一种常用的图形工工程网络是制定进度计划时另一种常用的图形工具;具;它能描绘任务分解情况以及每项活动作业的开它能描绘任务分解情况以及每项活动作业
29、的开始时间和结束时间,此外,它还显式地描绘各个始时间和结束时间,此外,它还显式地描绘各个作业彼此间的依赖关系;作业彼此间的依赖关系;工程网络图要求绘制者理解项目中哪些部分可以工程网络图要求绘制者理解项目中哪些部分可以并行;并行;活动的并行执行还取决于其执行者是否是一个人活动的并行执行还取决于其执行者是否是一个人单位;单位;工程网络注意区分活动与里程碑:注意区分活动与里程碑:活动(活动(ActivityActivity):一个活动是项目的一部分,):一个活动是项目的一部分,它要耗费一段时间,有开始和结束它要耗费一段时间,有开始和结束 里程碑(里程碑(MilestoneMilestone):一个里
30、程碑是某个活动完):一个里程碑是某个活动完成的标志,它是一个特定的时间点成的标志,它是一个特定的时间点 用箭头表示活动作业;用箭头表示活动作业;用圆圈表示里程碑事件。用圆圈表示里程碑事件。工程网络 活动的四个参数:活动的四个参数:Precursor(前驱前驱):event or set of events that must occur in order for an activity to start。在活动开始之前必须发在活动开始之前必须发生的一个或一组事件,它描述了活动开始的一组条件。生的一个或一组事件,它描述了活动开始的一组条件。Duration(持续时间持续时间):length of
31、 time needed to complete an activity。完成一个活动需要的时间长度完成一个活动需要的时间长度 Due date(截至日期截至日期):date by which an activity must be completed。活动必须完成的日期活动必须完成的日期 Endpoint(终点):Milestones or deliverables。里程碑或交付品工程网络工程网络 首先,把每个作业估计需要使用的时间写在表示首先,把每个作业估计需要使用的时间写在表示该项作业的箭头上方该项作业的箭头上方 其次,为每个事件计算下述两个统计数字:最早其次,为每个事件计算下述两个统计
32、数字:最早时刻时刻EETEET和最迟时刻和最迟时刻LETLET估算工程进度 事件的最早时刻(事件的最早时刻(EETEET)是该事件可以发生的最早)是该事件可以发生的最早时间:时间:第一个事件第一个事件的最早时刻定义为零的最早时刻定义为零.其他事件的其他事件的最早时刻在工程网络上最早时刻在工程网络上从左至右从左至右按事件发生顺按事件发生顺序计算:序计算:(1 1)考虑)考虑进入进入该事件的所有作业,该事件的所有作业,(2 2)对于其中每个作业都计算它的持续时间)对于其中每个作业都计算它的持续时间与其起始事件的与其起始事件的EETEET之和,之和,(3 3)选取上述)选取上述和数中的最大值和数中的
33、最大值作为该事件的作为该事件的最早时刻最早时刻EETEET 估算工程进度 事件的最迟时刻(事件的最迟时刻(LETLET)是在不影响工程竣工时间)是在不影响工程竣工时间的前提下,该事件最晚可以发生的时间:的前提下,该事件最晚可以发生的时间:最后一个事件最后一个事件(工程结束)的最迟时刻就是它(工程结束)的最迟时刻就是它的最早时刻的最早时刻,其他事件的最迟时刻在工程网络其他事件的最迟时刻在工程网络上上从右至左从右至左按逆作业流的方向计算按逆作业流的方向计算(1 1)考虑)考虑离开离开该事件的所有作业,该事件的所有作业,(2 2)从其中每个作业的结束事件的)从其中每个作业的结束事件的LETLET中减
34、去中减去该作业的持续时间,该作业的持续时间,(3 3)选取上述)选取上述差数中的最小值差数中的最小值作为该事件的作为该事件的最迟时刻最迟时刻LETLET估算工程进度旧木板房刷漆工程的完整的工旧木板房刷漆工程的完整的工程网络程网络 关键路径:由关键路径:由最早时刻和最迟时刻相同最早时刻和最迟时刻相同的事件组成的路的事件组成的路径。在工程网络图中关键路径用粗线箭头表示。径。在工程网络图中关键路径用粗线箭头表示。关键路径上的事件(关键事件)必须准时发生,组成关关键路径上的事件(关键事件)必须准时发生,组成关键路径的作业(关键作业)的实际持续时间不能超过估键路径的作业(关键作业)的实际持续时间不能超过
35、估计的持续时间,否则工程就不能准时结束。计的持续时间,否则工程就不能准时结束。使用关键路径法可以得出完成项目所需的最少时间。使用关键路径法可以得出完成项目所需的最少时间。关键路径(Critical Path)关键路径是一个工程网络图中最长(指持续时间最长,关键路径是一个工程网络图中最长(指持续时间最长,而非经过的活动最多)的路径。而非经过的活动最多)的路径。关键路径可能有多条。关键路径可能有多条。关键路径:其上的每个活动对应的关键路径:其上的每个活动对应的机动时间机动时间(Slack TiSlack Timeme)都为零。)都为零。关键路径(Critical Path)一个作业可以有的全部机动
36、时间等于它的结束事件的最一个作业可以有的全部机动时间等于它的结束事件的最迟时刻减去它的开始事件的最早时刻,再减去这个作业迟时刻减去它的开始事件的最早时刻,再减去这个作业的持续时间:的持续时间:机动(空闲)时间机动(空闲)时间(LET)(LET)结束结束 (EET)(EET)开始开始持续时间持续时间 或者表述为:或者表述为:机动(空闲)时间可用时间持续时间机动(空闲)时间可用时间持续时间 机动(空闲)时间作业最晚开始时间最早开始时间机动(空闲)时间作业最晚开始时间最早开始时间 机动(空闲)时间作业最晚结束时间最早结束时间机动(空闲)时间作业最晚结束时间最早结束时间机动(空闲)(空闲)时间(Sla
37、ck Time)课堂练习 P133-Q2 We have only an estimated duration for an activiWe have only an estimated duration for an activity.ty.各活动所需时间通常仅仅是一个估计值;各活动所需时间通常仅仅是一个估计值;CPM or PERT(Program Evaluation and Review Technique)are valuable only for stable projects in which several activities take place concurrently
38、.关键路径或程序评关键路径或程序评估和评审技术只对稳定的、其中有几个活动同时发生的估和评审技术只对稳定的、其中有几个活动同时发生的项目有价值。项目有价值。If the project requires redesign or rework,the activity graph and critical path are likely to change during development.如果项目需要重新设计或返工,则开发中的活动如果项目需要重新设计或返工,则开发中的活动图和关键路径都可能改变。图和关键路径都可能改变。几点说明 软件工程项目虽然比这个简单例子复杂得多,但是计划和管理的基本方法
39、仍然是自顶向下分解,也就是把项目分解为若干个阶段,每个阶段再分解成许多更小的任务,每个任务又可进一步分解为若干个步骤等等。这些阶段、任务和步骤之间有复杂的依赖关系,因此,工程网络和Gantt图同样是安排进度和管理工程进展情况的强有力的工具。四、项目的进度管理四、项目的进度管理Activity definition(WBS and dictionary)Activity definition(WBS and dictionary)确定项目的工作任务确定项目的工作任务Activity sequencingActivity sequencing 确定活动之间的依赖关系确定活动之间的依赖关系,并形成文
40、档并形成文档Activity duration estimatingActivity duration estimating 根据所需的资源、具体的条件,估计各项活动的持续时间根据所需的资源、具体的条件,估计各项活动的持续时间Schedule developmentSchedule development 分析活动顺序、活动历时和资源需求,以编制项目进度计划分析活动顺序、活动历时和资源需求,以编制项目进度计划Schedule controlSchedule control 控制项目进度计划的变化控制项目进度计划的变化3.2 Project personnel3.2 Project person
41、nel项目人员项目人员一、一、Staff roles Staff roles 人员职责人员职责 requirements analysisrequirements analysis 需求分析需求分析 system design system design 系统设计系统设计 program design program design 程序设计程序设计 program implementation program implementation 程序实现程序实现 testing testing 测测 试试 training training 培培 训训 maintenance maintenance
42、 维维 护护 quality assurance quality assurance 质量保证质量保证二、人员的差别二、人员的差别 ability to perform work ability to perform work 开展工作的能力开展工作的能力 interest in work interest in work 对工作的兴趣对工作的兴趣 experience with experience with 经验方面经验方面 similar applications 参与类似应用程序 similar tools or languages 使用类似工具和语言 similar techniqu
43、es 使用类似技术 similar development environments 使用类似开发环境 Training Training 培训培训 ability to communicate with others ability to communicate with others 和他人的交流能力和他人的交流能力 ability to share responsibility ability to share responsibility 承担责任能力承担责任能力 management skills management skills 管理技能管理技能三、Communication p
44、aths 交流渠道软件项目中的沟通成本软件项目中的沟通成本 沟通与交流需要耗费时间:沟通与交流需要耗费时间:-会议开销会议开销 不当的沟通与交流方式造成误解,从而把错误引入不当的沟通与交流方式造成误解,从而把错误引入到开发工作中;到开发工作中;随着开发小组规模扩大,沟通开销激增,个人生产随着开发小组规模扩大,沟通开销激增,个人生产率将下降,以致开发时间与从事开发工作的人数并率将下降,以致开发时间与从事开发工作的人数并不成反比关系。不成反比关系。软件工程的软件工程的BrooksBrooks定律:定律:-向向已经延期已经延期的软件项目中添加人手只会使进度更加的软件项目中添加人手只会使进度更加落后。
45、落后。软件项目中的沟通成本软件项目中的沟通成本我们不可能用我们不可能用“人力换时间人力换时间”的办法无限缩短一的办法无限缩短一个软件的开发时间。个软件的开发时间。BoehmBoehm根据经验指出,根据经验指出,软件软件项目的开发时间最多可以减少到正常开发时间的项目的开发时间最多可以减少到正常开发时间的7 75 5。如果要求一个软件系统的开发时间过短,则如果要求一个软件系统的开发时间过短,则开发成功的概率几乎为零。开发成功的概率几乎为零。四、四、Work styles Work styles 工作方式工作方式ExtrovertsExtroverts外向外向IntrovertsIntroverts
46、内向内向IntuitivesIntuitives直觉感性的直觉感性的RationalsRationals理性的理性的tell their thoughtstell their thoughts告告诉别诉别人他人他们们的想法的想法ask for suggestionsask for suggestions征求他人意征求他人意见见base decisions on feelingsbase decisions on feelings根据感根据感觉觉做做决决定定base decisions on facts,optionsbase decisions on facts,options根据事根据事实实
47、、考、考虑虑所有所有选择选择Work styles Work styles 工作方式工作方式 Tend to assert their ideas and not let“gut feeling”affect their decision making.they tell their colleagues what they want them to know,but they rarely ask for more information before doing so.When reason,they rely on logic,not emotion.倾向于宣扬他们的主意,不让倾向于宣扬
48、他们的主意,不让”内心直觉内心直觉”影响他们的决策。他们告影响他们的决策。他们告诉同事希望同事们知道什么,但他们在这样做之前很少寻求更多的信诉同事希望同事们知道什么,但他们在这样做之前很少寻求更多的信息。当推理时,依靠逻辑而不是感觉。息。当推理时,依靠逻辑而不是感觉。擅长于快速作出好的决策。擅长于快速作出好的决策。Tend to assert their ideas and not let“gut feeling”affect their decision making.they tell their colleagues what they want them to know,but the
49、y rarely ask for more information before doing so.When reason,they rely on logic,not emotion.也避免作出感性的决策,但他们愿意花时间来考虑所有可能的活动。也避免作出感性的决策,但他们愿意花时间来考虑所有可能的活动。他们是信息收集者,在确信掌握了所有信息之前,不会进行决策。他们是信息收集者,在确信掌握了所有信息之前,不会进行决策。全心投入工作的好员工,并在意该评价全心投入工作的好员工,并在意该评价。Base many decisions on emotional reaction,tending to w
50、ant to tell others about them,rather than asking for input.They use their intuition to be creative,and they often suggest unusual approaches to solving a problem.做决策时根据感性的反应,倾向于告诉他人这些决策,而不是寻求输做决策时根据感性的反应,倾向于告诉他人这些决策,而不是寻求输入。他们用直觉创造性地工作,在解决问题是他们通常会提出一种不入。他们用直觉创造性地工作,在解决问题是他们通常会提出一种不寻常的方法。寻常的方法。擅长在职员有