软件项目管理新

上传人:pu****.1 文档编号:567897221 上传时间:2024-07-22 格式:PPT 页数:143 大小:400.50KB
返回 下载 相关 举报
软件项目管理新_第1页
第1页 / 共143页
软件项目管理新_第2页
第2页 / 共143页
软件项目管理新_第3页
第3页 / 共143页
软件项目管理新_第4页
第4页 / 共143页
软件项目管理新_第5页
第5页 / 共143页
点击查看更多>>
资源描述

《软件项目管理新》由会员分享,可在线阅读,更多相关《软件项目管理新(143页珍藏版)》请在金锄头文库上搜索。

1、软件项目管理介绍软件项目管理介绍Objectives Define the scope of software project managementDefine the scope of software project management Understand some problems and concerns of Understand some problems and concerns of software managerssoftware managers Define the usual stages of software projectDefine the usual s

2、tages of software project Appreciate the need for careful planning,monitoring Appreciate the need for careful planning,monitoring and controland control Identify the stakeholders of a project and their Identify the stakeholders of a project and their objectivesobjectives Define the success criteria

3、for a projectDefine the success criteria for a project1 1为什么说软件项目管理是重要的为什么说软件项目管理是重要的 比别的项目多花钱的问题。比别的项目多花钱的问题。 A lot of money is A lot of money is at stake with(at stake with(危险危险危险危险) ) ICT projects. ICT projects. 成功率不高(成功率不高(P2P2) 统计资料说明项目管理重要。统计资料说明项目管理重要。 The National Audit Office in the UK, for

4、 example, among other The National Audit Office in the UK, for example, among other factors causing project failure identified factors causing project failure identified lackofskillsandprovenlackofskillsandprovenapproachtoprojectmanagementandriskmanagementapproachtoprojectmanagementandriskmanagement

5、. . ICT (Information and Communication Technology)ICT (Information and Communication Technology)2 2What is a projectWhat is a project A planned activityA planned activity Project most likely lie between routine jobs and Project most likely lie between routine jobs and exploration (p2)exploration (p2

6、) 项目的特点:项目的特点: Nonroutine tasks are involvedNonroutine tasks are involved Planning is requiredPlanning is required Specific objectives are to be met or a specified product is to be Specific objectives are to be met or a specified product is to be createdcreated The project has a predetermined time s

7、panThe project has a predetermined time span Work is carried out for someone other than yourselfWork is carried out for someone other than yourself Work involves several specialismsWork involves several specialisms Work is carried out in several phasesWork is carried out in several phases The resour

8、ces that are available for use on the project are The resources that are available for use on the project are constrainedconstrained The project is large or complexThe project is large or complex3 3Software projects versus other types of projectSoftware projects versus other types of project Invisib

9、ilityInvisibility ComplexityComplexity ConformityConformity Flexibility Flexibility 4 4Activities covered by software project managementActivities covered by software project management The feasibility study ( Is it worth doing? )The feasibility study ( Is it worth doing? ) Planning ( How do we do i

10、t ? )Planning ( How do we do it ? ) For a large project, we would not do all our detailed planning right at the For a large project, we would not do all our detailed planning right at the beginning. We would formulate an outline plan for the whole project and beginning. We would formulate an outline

11、 plan for the whole project and a detailed one for the first stage. More detailed planning of the later a detailed one for the first stage. More detailed planning of the later stages would be done as they approached. This is because we would stages would be done as they approached. This is because w

12、e would have more detailed and accurate information upon which to base our have more detailed and accurate information upon which to base our plans nearer to the start of the later stages.plans nearer to the start of the later stages. Project execution ( Do it )Project execution ( Do it ) The execut

13、ion of a project often contains The execution of a project often contains designandimplementationdesignandimplementation subphases. Planning and design can be confused because at the most subphases. Planning and design can be confused because at the most detailed level, planning decisions are influe

14、nced by design decisions. detailed level, planning decisions are influenced by design decisions. For example, if a software product is to have five major components, the For example, if a software product is to have five major components, the it is likely that there will be five sets of activities t

15、hat will create them.it is likely that there will be five sets of activities that will create them.5 5The ISO 12207 software development life cycleThe ISO 12207 software development life cycle P6 Figure 1.3P6 Figure 1.3 Architecture design This maps the requirements to the Architecture design This m

16、aps the requirements to the components of the system that is to be built. At the system level, components of the system that is to be built. At the system level, decisions will need to be made about which processes in the decisions will need to be made about which processes in the new system will be

17、 carried out by the user and which can be new system will be carried out by the user and which can be computerized. This design of the system architecture thus forms computerized. This design of the system architecture thus forms an input to the development of the software requirements. A an input t

18、o the development of the software requirements. A second architecture design process then takes place which second architecture design process then takes place which maps the software requirements to software components.maps the software requirements to software components.6 6Plans, methods and meth

19、odologiesPlans, methods and methodologies A method relates to a type of activity in general, a plan A method relates to a type of activity in general, a plan takes that method and converts it to real activities, takes that method and converts it to real activities, identifying for each activity:iden

20、tifying for each activity: Its start and end dates;Its start and end dates; Who will carry it out;Who will carry it out; What tools and materials will be used.What tools and materials will be used. Software test planSoftware test plan Analyse the requirements Analyse the requirements Devise and writ

21、e test cases that will check that each requirement Devise and write test cases that will check that each requirement has been satisfiedhas been satisfied Create test scripts and expected results for each test caseCreate test scripts and expected results for each test case Compare the actual results

22、and the expected results and identify Compare the actual results and the expected results and identify discrepancies(discrepancies(不一致不一致). ).7 7What is management?What is management? Management involves the following activities:Management involves the following activities: Planning deciding what is

23、 to be done;Planning deciding what is to be done; Organizing making arrangements;Organizing making arrangements; Staffing selecting the right people for the job etc.Staffing selecting the right people for the job etc. Directing giving instructions;Directing giving instructions; Monitoring checking o

24、n progress;Monitoring checking on progress; Controlling taking action to Controlling taking action to remedy(remedy(补救补救) ) holdups holdups Innovating(Innovating(创新创新) ) coming up with new solutions coming up with new solutions Representing Representing liaising(liaising(保持联系保持联系) ) with clients, us

25、ers, developers with clients, users, developers and stakeholders.and stakeholders.8 8Problems with software projectsProblems with software projects Managers point of view:Managers point of view: Poor estimates and plansPoor estimates and plans Lack of quality standards and measuresLack of quality st

26、andards and measures Lack of guidance about making organizational decisionsLack of guidance about making organizational decisions Lack of techniques to make progress visibleLack of techniques to make progress visible Poor role definition who does what?Poor role definition who does what? Incorrect su

27、ccess criteria.Incorrect success criteria. Staffs point of view:Staffs point of view: Inadequate specification of workInadequate specification of work Management ignorance of ICTManagement ignorance of ICT Lack of knowledge of application areaLack of knowledge of application area Lack of standardsLa

28、ck of standards Lack of up to date documentationLack of up to date documentation Preceding activities not completed on timePreceding activities not completed on time Lack of communication between users and techniciansLack of communication between users and technicians Lack of communication leading t

29、o duplication of workLack of communication leading to duplication of work Lack of Lack of commitment(commitment(承担义务承担义务) ) especially when a project is tied to one person who then especially when a project is tied to one person who then movesmoves Narrow scope of technical expertiseNarrow scope of

30、technical expertise Changing Changing statutory(statutory(法令的法令的) ) requirements requirements Deadline pressureDeadline pressure Lack of quality controlLack of quality control Remote managementRemote management Lack of trainingLack of training9 9Setting objectivesSetting objectives Project steering

31、committee or project management boardProject steering committee or project management board Which has overall responsibility for setting, monitoring and Which has overall responsibility for setting, monitoring and modifying objectives.modifying objectives. Subobjectives and goalsSubobjectives and go

32、als The The mnemonic(mnemonic(记忆的记忆的) ) SMART is used to describe welldefined SMART is used to describe welldefined objectives:objectives: SpecificSpecific Effective objectives are Effective objectives are concrete(concrete(具体的具体的) ) and well and well defined. Vague defined. Vague aspirations(aspira

33、tions(渴望渴望) ) such as such as toimprovecustomertoimprovecustomerrelationsrelations are unsatisfactory. Objectives should be defined in such a are unsatisfactory. Objectives should be defined in such a way that it is obvious to all whether the project has been successful way that it is obvious to all

34、 whether the project has been successful or not.or not. MeasurableMeasurable Ideally there should be measures of effectiveness Ideally there should be measures of effectiveness which tell us how successful the project has been.which tell us how successful the project has been. AchievableAchievable R

35、elevantRelevant The objective must be relevant to the true purpose of the The objective must be relevant to the true purpose of the project.project. Time constrainedTime constrained1010Stakeholders Stakeholders Different types of stakeholder may have different Different types of stakeholder may have

36、 different objectives and one of the jobs of the successful project objectives and one of the jobs of the successful project leader is to recognize these different interests and to be leader is to recognize these different interests and to be able to able to reconcile(reconcile(使和谐使和谐) ) them. them.

37、 TheoryWTheoryW stands for everyone a Winner stands for everyone a Winner It is important that stakeholders must be identified as It is important that stakeholders must be identified as early as possible, because you need to set up adequate early as possible, because you need to set up adequate comm

38、unication channels with them right from the munication channels with them right from the start.1111Management controlManagement control Management, in general, can be seen as the process of Management, in general, can be seen as the process of setting objectives for a system and then monitoring the

39、setting objectives for a system and then monitoring the system to see what its true performance is.system to see what its true performance is.1212CHAP2 Step Wise: an overview of project planningCHAP2 Step Wise: an overview of project planning This chapter describes a framework of basic steps in proj

40、ect This chapter describes a framework of basic steps in project planning upon which the following chapters build.planning upon which the following chapters build. An outline of Step Wise planning activitiesAn outline of Step Wise planning activities0 Select project0 Select project1 Identify project

41、 scope and objectives1 Identify project scope and objectives1.1 Identify objectives and measures of effectiveness in meeting them1.1 Identify objectives and measures of effectiveness in meeting them1.2 Establish a project authority1.2 Establish a project authority1.3 Identify stakeholders1.3 Identif

42、y stakeholders1.4 Modify objectives in the light of stakeholder analysis1.4 Modify objectives in the light of stakeholder analysis1.5 Establish methods of communications with all parties1.5 Establish methods of communications with all parties2 Identify project infrastructure2 Identify project infras

43、tructure2.1 Establish relationship between project and strategic planning2.1 Establish relationship between project and strategic planning2.2 Identify installation standards and procedures2.2 Identify installation standards and procedures2.3 Identify project team organization2.3 Identify project tea

44、m organization1313An outline of Step Wise planning activities (cont.1)3 Analyse project characteristics3 Analyse project characteristics3.1 Distinguish the project as either objective or productdriven3.1 Distinguish the project as either objective or productdriven3.2 Analyse other project characteri

45、stics3.2 Analyse other project characteristics3.3 Identify highlevel project risks3.3 Identify highlevel project risks3.4 Take into account user requirements concerning implementation3.4 Take into account user requirements concerning implementation3.5 Select general lifecycle approach3.5 Select gene

46、ral lifecycle approach3.6 Review overall resource estimates3.6 Review overall resource estimates4 Identify project products and activities4 Identify project products and activities4.1 Identify and describe project products ( including quality criteria )4.1 Identify and describe project products ( in

47、cluding quality criteria )4.2 Document generic product flows4.2 Document generic product flows4.3 Recoginze product instances4.3 Recoginze product instances4.4 Produce ideal activity network4.4 Produce ideal activity network4.5 Modify ideal to take into account need for stages and checkpoints4.5 Mod

48、ify ideal to take into account need for stages and checkpoints5 Estimate effort for each activity5 Estimate effort for each activity5.1 Carry out bottomup estimates5.1 Carry out bottomup estimates5.2 Revise plan to create controllable activities5.2 Revise plan to create controllable activities1414An

49、 outline of Step Wise planning activities (cont.2)6 Identify activity risks6 Identify activity risks6.1 Identify and quantify activitybased risks6.1 Identify and quantify activitybased risks6.2 Plan risk reduction and 6.2 Plan risk reduction and contingency contingency ( ( kntindnsikntindnsi,n.n.偶然发

50、偶然发生的事故生的事故, , 意外事故意外事故 measures measures应变措施应变措施) ) where appropriate where appropriate6.3 Adjust plans and estimates to take account of risks6.3 Adjust plans and estimates to take account of risks7 Allocate resources7 Allocate resources7.1 Identify and allocate resources7.1 Identify and allocate r

51、esources7.2 Revise plans and estimates to take account of resource 7.2 Revise plans and estimates to take account of resource constraintsconstraints8 Review/publicize plan8 Review/publicize plan8.1 Review quality aspects of project plan8.1 Review quality aspects of project plan8.2 Document plans and

52、 obtain agreement8.2 Document plans and obtain agreement9/10 Excute plan/lower levels of planning9/10 Excute plan/lower levels of planningThis may require the reiteration of the planning process at a This may require the reiteration of the planning process at a lower level.lower level.1515Step 0: Se

53、lect projectStep 0: Select project It is outside the main project planning processIt is outside the main project planning process Feasibility study Feasibility study It should have priority over other projects found to be It should have priority over other projects found to be worthwhileworthwhile16

54、16Step 1 Identify project scope and objectivesStep 1 Identify project scope and objectives P24P24阅读相关内容阅读相关内容Step 4.1 Identify and describe project products (or Step 4.1 Identify and describe project products (or deliverables)deliverables)P30 P30 看图看图 Figure2.2 A fragment of a product breakdown Figu

55、re2.2 A fragment of a product breakdown structure structure (WBSWBS) for a system development taskfor a system development taskP31 P31 看图看图 Figure2.3 A product breakdown structure Figure2.3 A product breakdown structure (PBS) for the products needed to produce an invitation to (PBS) for the products

56、 needed to produce an invitation to tender tender 1717Step 4.2 Document generic product flowsStep 4.2 Document generic product flows P32 P32 看图看图Figure 2.4 A fragment of a PFD for a software Figure 2.4 A fragment of a PFD for a software development taskdevelopment taskStep 4.4 Produce ideal activity

57、 networkStep 4.4 Produce ideal activity networkP33 P33 看图看图Figure 2.5 An example of an activity networkFigure 2.5 An example of an activity network1818ConclusionConclusion It is suggested that any planning approach should have It is suggested that any planning approach should have the following elem

58、ents:the following elements: The establishment of project objectivesThe establishment of project objectives The analysis of the characteristics of the projectThe analysis of the characteristics of the project The establishment of an infrastructure consisting of an The establishment of an infrastruct

59、ure consisting of an appropriate organization and set of standards, methods and appropriate organization and set of standards, methods and toolstools The identification of the products of the project and the activities The identification of the products of the project and the activities needed to ge

60、nerate those productsneeded to generate those products The allocation of resources to activitiesThe allocation of resources to activities The establishment of quality controlsThe establishment of quality controls Project planning is an iterative process. As the time Project planning is an iterative

61、process. As the time approaches for particular activities to be carried out they approaches for particular activities to be carried out they should be replanned in more detail.should be replanned in more detail.1919Chap 3 Programme management and project Chap 3 Programme management and project evalu

62、ationevaluation In this chapter we will first look at the way in which In this chapter we will first look at the way in which projects can be grouped into programmes. We will then projects can be grouped into programmes. We will then go on to see how the benefits of projects and go on to see how the

63、 benefits of projects and programmes can be identified and managed. Finally, programmes can be identified and managed. Finally, some methods of evaluating the costs and benefits of some methods of evaluating the costs and benefits of individual projects will be explored.individual projects will be e

64、xplored. What is a programmeWhat is a programme A group of projects that are managed in a coordinated way to A group of projects that are managed in a coordinated way to gain benefits that would not be possible were the projects to be gain benefits that would not be possible were the projects to be

65、managed independently.managed independently.2020Programme managementProgramme management Strategic programmesStrategic programmes Several projects together can implement a single strategy. Several projects together can implement a single strategy. 例如:两个组例如:两个组织机构的合并,会引起一系列的项目动作(织机构的合并,会引起一系列的项目动作(P4

66、3P43)。)。 Each activity could Each activity could be treated as a distinct project, but would be coordinated as a be treated as a distinct project, but would be coordinated as a programme.programme. Business cycle programmesBusiness cycle programmes The collection of projects that an organization und

67、ertakes within a The collection of projects that an organization undertakes within a particular planning cycle is sometimes referred to as a particular planning cycle is sometimes referred to as a portfolio(portfolio(投资组投资组投资组投资组合合合合) ). . 财经年度中的项目群应按计划进行,不要竞争资源,不能影响下一财经财经年度中的项目群应按计划进行,不要竞争资源,不能影响下一

68、财经年度的项目。年度的项目。 Infrastructure programmesInfrastructure programmes A uniform infrastructure would allow the sharing of applications between A uniform infrastructure would allow the sharing of applications between departments where that was desirable, and would make life easier for departments where t

69、hat was desirable, and would make life easier for the central ICT function.the central ICT function. Research and development programmesResearch and development programmes InnovativeInnovative partnerships( partnerships(创新伙伴创新伙伴) ) P45 table3.1 Programme managers versus project managersP45 table3.1

70、Programme managers versus project managers2121Managing the allocation of resources within programmesManaging the allocation of resources within programmes Programme managers will have concerns about the optimal use of Programme managers will have concerns about the optimal use of specialist staff.sp

71、ecialist staff.Delays can mean that specialist staff are prevented from moving on to Delays can mean that specialist staff are prevented from moving on to their next project. Programme management needs to be concerned their next project. Programme management needs to be concerned with the continual

72、monitoring of the progress of projects and the use of with the continual monitoring of the progress of projects and the use of resources.resources.2222Strategic programme managementStrategic programme management A different form of programme management is where a portfolio of A different form of pro

73、gramme management is where a portfolio of projects all contribute to a common objective. This objective might projects all contribute to a common objective. This objective might require changes to a number of different systems which until now require changes to a number of different systems which un

74、til now have been largely selfcontained. The work to reorganize each have been largely selfcontained. The work to reorganize each individual area could be treated as a separate project, coordinated individual area could be treated as a separate project, coordinated at a higher level as a programme.a

75、t a higher level as a programme.2323Creating a programmeCreating a programme The programme The programme mandatemandate( (正式授权正式授权) ) The planning of a programme will be triggered by the creation of an The planning of a programme will be triggered by the creation of an agreed programme mandate which

76、 includes:agreed programme mandate which includes: The new services or capabilities the programme should deliverThe new services or capabilities the programme should deliver How the organization will be improved by use of the new services or How the organization will be improved by use of the new se

77、rvices or capabilitycapability How the programme fits with How the programme fits with corporatecorporate goals and any other initiatives. goals and any other initiatives. A programme director who is in a A programme director who is in a prominent(prominent(显著的显著的显著的显著的) ) position within the positi

78、on within the oranization ought to be appointed to provide initial leadership for the oranization ought to be appointed to provide initial leadership for the programe.programe. The programme brief(The programme brief(概要概要) ) It will have sections setting out:It will have sections setting out: A prel

79、iminary vision statement which describes the new capacity that the A preliminary vision statement which describes the new capacity that the organization seeksorganization seeks The benefits that the programme should createThe benefits that the programme should create Risks and issuesRisks and issues

80、 Estimated costs, timescales and effortEstimated costs, timescales and effort2424Creating a programme(cont.1)Creating a programme(cont.1) The vision statementThe vision statement The programme brief should have given the sponsoring group enough The programme brief should have given the sponsoring gr

81、oup enough information to decide whether it is worth moving to a more detailed information to decide whether it is worth moving to a more detailed definition of the programme. definition of the programme. This next stage will involve a lot of This next stage will involve a lot of detailed planning w

82、ork and would justify(detailed planning work and would justify(证明有理证明有理证明有理证明有理) the setting up ) the setting up of a small team.of a small team. A programme manager who would have daytoday responsibility for A programme manager who would have daytoday responsibility for running the programme could

83、well be appointed. The programme running the programme could well be appointed. The programme manager is likely to be someone with considerable project management manager is likely to be someone with considerable project management experience.experience. This group can now take the vision statement

84、outlined in the projet brief This group can now take the vision statement outlined in the projet brief and refine and expand it. It should describe in deatil the new capability and refine and expand it. It should describe in deatil the new capability that the programme will give the organization. If

85、 estimates for costs, that the programme will give the organization. If estimates for costs, performance, and service levels cannot be provided, then there should performance, and service levels cannot be provided, then there should at least be an indication of how they might be measured. For exampl

86、e, at least be an indication of how they might be measured. For example, the headings under which costs will be incurred can be recorded. the headings under which costs will be incurred can be recorded. 2525Creating a programme(cont.2)Creating a programme(cont.2) The blueprintThe blueprint Business

87、models outlining the new processes requiredBusiness models outlining the new processes required Organizational structure inluding the numbers of staff required in the new Organizational structure inluding the numbers of staff required in the new systems and the skills they will need;systems and the

88、skills they will need; The information systems, equipment and other, onostaff, resources that will be The information systems, equipment and other, onostaff, resources that will be needed;needed; Data and information requirements;Data and information requirements; Costs, performance and service leve

89、l requirements;Costs, performance and service level requirements; The buleprint will need to be supported by benefit profiles which estimate The buleprint will need to be supported by benefit profiles which estimate when the expected benefits will start to be realized following the when the expected

90、 benefits will start to be realized following the implementation of the enhanced capability.implementation of the enhanced capability. The management structure needed to drive this programme forward would The management structure needed to drive this programme forward would also need to be planned a

91、nd organized.also need to be planned and organized. A preliminary list of the projects that the programme will needA preliminary list of the projects that the programme will need(programme programme portfolioportfolio) Stakeholder mapStakeholder map Communications strategy and planCommunications str

92、ategy and plan2626Aids to programme managementAids to programme management Dependency diagramsDependency diagrams Physical and technical dependencies between projects. There will often Physical and technical dependencies between projects. There will often be physical and technical dependencies betwe

93、en projects. For example, be physical and technical dependencies between projects. For example, a project to relocate staff from one building to another might not be able a project to relocate staff from one building to another might not be able to start until a project to construct a new building h

94、as been completed. to start until a project to construct a new building has been completed. Dependency diagrams, which are very similar to activity networks at Dependency diagrams, which are very similar to activity networks at project level, can be used to show these dependencies. Where projects pr

95、oject level, can be used to show these dependencies. Where projects run concurrently in a programme and pass products between one run concurrently in a programme and pass products between one another, the dependency diagrams could become very quite another, the dependency diagrams could become very

96、quite plicated. P49 figure 3.3P49 figure 3.3 Delivery planningDelivery planning The creation of a delivery dependency diagram would typically be a The creation of a delivery dependency diagram would typically be a precursorprecursor(前兆)(前兆) to more detailed programme planning. As part of to more det

97、ailed programme planning. As part of this planning, this planning, tranchetranches s (部分、阶段)(部分、阶段) of projects could be defined. A of projects could be defined. A tranche tranche is a group of projects that will deliver their products as one step is a group of projects that will deliver their produ

98、cts as one step in the programme.in the programme. P50 Figure 3.4 delivering tranches of project deliverablesP50 Figure 3.4 delivering tranches of project deliverables2727Benefits managementBenefits management It It encompassencompasseses(围绕)(围绕) the identification, optimization and traking the iden

99、tification, optimization and traking of the expected benefits from a business change in order to ensure of the expected benefits from a business change in order to ensure that they are actually achieved.that they are actually achieved. Define the expected benefits from the programmeDefine the expect

100、ed benefits from the programme Analyse the balance between costs and benefitsAnalyse the balance between costs and benefits Plan how the benefits will be achieved and measuredPlan how the benefits will be achieved and measured Allocate responsibilities for the successful delivery of the benefitsAllo

101、cate responsibilities for the successful delivery of the benefits Monitor the realization of the benefitsMonitor the realization of the benefits Benefits types (p51)Benefits types (p51) Mandatory complianceMandatory compliance( (强制服从强制服从) ) Quality of serviceQuality of service ProductivityProductivi

102、ty More motivated More motivated workforceworkforce(劳动大军)(劳动大军) Internal management benefits (for instance, better decision making)Internal management benefits (for instance, better decision making) Risk reduction Risk reduction EconomyEconomy RevenueRevenue( (财政收入财政收入) enhancement/acceleration) enh

103、ancement/acceleration Strategic fitStrategic fit2828Quantifying benefitsQuantifying benefits Benefits can be: (p52)Benefits can be: (p52) Quantified and valuedQuantified and valued Quantified but not valuedQuantified but not valued Identified but not easily quantified Identified but not easily quant

104、ified A particular activity might also have disbenefits. A particular activity might also have disbenefits. There can be There can be controversycontroversy( (辩论辩论) over a whether a buiness change ) over a whether a buiness change will lead to the particular benefits claimed for itwill lead to the p

105、articular benefits claimed for it,for example that a for example that a new company logo will improve staff new company logo will improve staff moralemorale mr:lmr:l (士(士气气). . Some key tests have been suggested in order to Some key tests have been suggested in order to sound outsound out(测探出)(测探出)

106、whether a whether a putative(putative(假定的假定的) ) benefit is likely to be genuine: benefit is likely to be genuine: Can you explain in precise terms why this benefit should result from this Can you explain in precise terms why this benefit should result from this business change?business change? Can y

107、ou identify the ways in which we will be able to see the Can you identify the ways in which we will be able to see the consequences of this benefit?consequences of this benefit? If the required outcomes do occur, can they be attributed directly to the If the required outcomes do occur, can they be a

108、ttributed directly to the change or could other factors explain them?change or could other factors explain them? Is there any way in which the benefits can be measured?Is there any way in which the benefits can be measured?2929Costbenefit analysisCostbenefit analysis Assessment focuses on whether th

109、e estimated income and other Assessment focuses on whether the estimated income and other benefits exceed the estimated costs. benefits exceed the estimated costs. There might be more candidate projects than can be undertaken at There might be more candidate projects than can be undertaken at any on

110、e time and, in any case, projects will need to be prioritized so any one time and, in any case, projects will need to be prioritized so that resources are allocated effectively.that resources are allocated effectively. The difference between the total benefit and the total cost of The difference bet

111、ween the total benefit and the total cost of creating and operating the system. To do this, we must express creating and operating the system. To do this, we must express each cost and each benefit in some common unit, that is, as money.each cost and each benefit in some common unit, that is, as mon

112、ey. It is helpful to categorize costs according to where they originate in It is helpful to categorize costs according to where they originate in the life of the project. (p54)the life of the project. (p54) Development costsDevelopment costs Set up costsSet up costs Operational costsOperational cost

113、s Benefits, on the other hand, are often quite difficult to quantify in Benefits, on the other hand, are often quite difficult to quantify in monetary terms even once they have been identified.monetary terms even once they have been identified. Exercise 3.1 p54Exercise 3.1 p543030Cash flow forecasti

114、ngCash flow forecasting 预测现金流同样重要预测现金流同样重要 Typically products generate a negative cash flow during their Typically products generate a negative cash flow during their development followed by a positive cash flow over their operating development followed by a positive cash flow over their operating l

115、ife. There might be life. There might be decommissiondecommissioninging(退役)(退役)costs at the end of a costs at the end of a products life.products life. The difficulty and importance of cash flow forecasting is evidenced The difficulty and importance of cash flow forecasting is evidenced by the numbe

116、r of companies that suffer bankruptcyby the number of companies that suffer bankruptcy(破产)(破产) because, although they are developing profitable products or because, although they are developing profitable products or services, they cannot sustain an unplanned negative cash flow.services, they cannot

117、 sustain an unplanned negative cash flow. P55 figure 3.5 typical product life cycle cash flowP55 figure 3.5 typical product life cycle cash flow P56 table 3.2 four project cash flow projectionsP56 table 3.2 four project cash flow projections3131Costbenefit evaluation techniquesCostbenefit evaluation

118、 techniques Rank the four projects in table 3.2 in order of financial desirability and make Rank the four projects in table 3.2 in order of financial desirability and make a note of your reasons for ranking them.a note of your reasons for ranking them. Net profitNet profit Payback periodPayback peri

119、od The payback period is the time taken to The payback period is the time taken to break evenbreak even(不盈不亏)(不盈不亏) or pay back the initial or pay back the initial investment. Normally, the project with the shortest payback period will be chosen on the investment. Normally, the project with the shor

120、test payback period will be chosen on the basis that an organization will wish to minimize the time that a project is in debt.basis that an organization will wish to minimize the time that a project is in debt. Return on investmentReturn on investment The return on investment (ROI), also known as th

121、e The return on investment (ROI), also known as the accounting rate of returnaccounting rate of return(会计收益(会计收益率)率). Provides a way of comparing the net profitability to the investment required. Provides a way of comparing the net profitability to the investment required. Straightforward formula of

122、 ROIStraightforward formula of ROI Net present valueNet present value( (现在净价值,纯现价值现在净价值,纯现价值) ) This technique takes into account the profitability of a project and the timing of the cash This technique takes into account the profitability of a project and the timing of the cash flows that are produ

123、ced. This is based on the view that receiving L100 today is better flows that are produced. This is based on the view that receiving L100 today is better than having to wait until next year to receive it.than having to wait until next year to receive it. Formula of present value (P57)Formula of pres

124、ent value (P57) Internal rate of returnInternal rate of return(内部收益率)(内部收益率) The internal rate of return (IRR) attempts to provide a profitability measure as a The internal rate of return (IRR) attempts to provide a profitability measure as a percentage return that is directly comparable with intere

125、st rates. Thus, a project that percentage return that is directly comparable with interest rates. Thus, a project that showed an estimated IRR of 10% would be worthwhile if the capital could be borrowed showed an estimated IRR of 10% would be worthwhile if the capital could be borrowed for less than

126、 10%.for less than 10%.3232Risk evaluationRisk evaluation Risk identification and rankingRisk identification and ranking In any project evaluation we should attempt to identify the risks In any project evaluation we should attempt to identify the risks and quantify their potential effects. One commo

127、n approach to and quantify their potential effects. One common approach to risk analysis is to construct a project risk matrix utilizing a risk analysis is to construct a project risk matrix utilizing a checklist of possible risks and to classify each risk according to checklist of possible risks an

128、d to classify each risk according to its relative importance and likelihood. its relative importance and likelihood. Table 3.7 A fragment of a basic project risk matrix (p62)Table 3.7 A fragment of a basic project risk matrix (p62) Risk and net present valueRisk and net present value Where a project

129、 is relatively risky it is common practice to use a Where a project is relatively risky it is common practice to use a higher discount rate(higher discount rate(贴现率贴现率) to calculate net present value .This ) to calculate net present value .This risk risk premiumpremium(保险费)(保险费), might, for example

130、,be an additional , might, for example ,be an additional 2% for a reasonably safe project or 5% for a fairly risky one. 2% for a reasonably safe project or 5% for a fairly risky one. Projects may be categorized as high, medium or low risk using a Projects may be categorized as high, medium or low ri

131、sk using a scoring method and risk premiums designated for each category. scoring method and risk premiums designated for each category. The premiums, even if arbitraryThe premiums, even if arbitrary(随意的)(随意的), provide a consistent , provide a consistent method of taking risk into account.method of

132、taking risk into account.3333Risk evaluationRisk evaluation(CONT.CONT.) Cost_benefit analysisCost_benefit analysis A rather more sophisticated approach to the evaluation of risk is to consider each A rather more sophisticated approach to the evaluation of risk is to consider each possible outcome an

133、d estimate the probability of its occurring and the possible outcome and estimate the probability of its occurring and the corresponding value of the outcome. Rather than a single cash flow forecast for corresponding value of the outcome. Rather than a single cash flow forecast for a project, we wil

134、l then have a set of cash flow forecasts, each with an associated a project, we will then have a set of cash flow forecasts, each with an associated probability of occurring. The value of the project is then obtained by summing the probability of occurring. The value of the project is then obtained

135、by summing the cost or benefit for each possible outcome weighted by its corresponding cost or benefit for each possible outcome weighted by its corresponding probability. probability. Risk profileRisk profile(风险预测)(风险预测)analysisanalysis By studying the results of a sensitivity analysis we can ident

136、ify those factors that By studying the results of a sensitivity analysis we can identify those factors that are most important to the success of the project. We then need to decide are most important to the success of the project. We then need to decide whether we can exercise greater control over t

137、hem or otherwise whether we can exercise greater control over them or otherwise mitigatemitigate(减缓)(减缓) their effects. If neither is the case, then we must live with the risk or abandon the their effects. If neither is the case, then we must live with the risk or abandon the project.project. Sensit

138、ivity analysis demands that we vary each factor one at a time. It does not Sensitivity analysis demands that we vary each factor one at a time. It does not easily allow us to consider the effects of combinations of circumstances, neither easily allow us to consider the effects of combinations of cir

139、cumstances, neither does it evaluate the chances of a particular outcome occuring.does it evaluate the chances of a particular outcome occuring. Using decision treesUsing decision trees The approaches to risk analysis discussed previously rather assume that we are The approaches to risk analysis dis

140、cussed previously rather assume that we are passive passive bystanderbystanders allowing nature to s allowing nature to take itstake its own own coursecourse. The best we can do is . The best we can do is to reject over risky projects or choose those with the best risk profile.to reject over risky p

141、rojects or choose those with the best risk profile. It is important to be able to assess how a decision will affect the future It is important to be able to assess how a decision will affect the future profitability of the project.profitability of the project.3434Conclusion projects must be evaluate

142、d on strategic, technical and economic projects must be evaluated on strategic, technical and economic grounds;grounds; many projects are not justifiable on their own, but are as part of a many projects are not justifiable on their own, but are as part of a broader programme of projects that impleme

143、nt an organizations broader programme of projects that implement an organizations strategystrategy not all benefits can be precisely quantified in financial valuesnot all benefits can be precisely quantified in financial values economic assessment involves the identification of all costs and economi

144、c assessment involves the identification of all costs and income over the lifetime of the system, including its development income over the lifetime of the system, including its development and operation and checking that the total value of benefits exceeds and operation and checking that the total

145、value of benefits exceeds total expendituretotal expenditure money received in the future is worth less than the same amount of money received in the future is worth less than the same amount of money in hand now, which may be invested to earn interestmoney in hand now, which may be invested to earn

146、 interest the uncertainty surrounding estimates of future returns lowers their the uncertainty surrounding estimates of future returns lowers their real value measured nowreal value measured now discounted cash flow techniques may be used to evaluate the discounted cash flow techniques may be used t

147、o evaluate the present value of future cash flows taking account of interest rates present value of future cash flows taking account of interest rates and uncertaintyand uncertainty costbenefit analysis techniques and decision trees provide tools for costbenefit analysis techniques and decision tree

148、s provide tools for evaluating expected outcomes and choosing between alternative evaluating expected outcomes and choosing between alternative strategies.strategies.3535Selection of an appropriate project approachSelection of an appropriate project approachWhen you have completed this chapter you w

149、ill When you have completed this chapter you will be able to: be able to: take account of the characteristics of the system to be take account of the characteristics of the system to be developed when planning a projectdeveloped when planning a project select an appropriate process modelselect an ap

150、propriate process model make best use of the waterfall process model where make best use of the waterfall process model where appropriate;appropriate; reduce some risks by the creation of appropriate reduce some risks by the creation of appropriate prototypesprototypes reduce other risks by implemen

151、ting of the project in reduce other risks by implementing of the project in incrementsincrements identify where unnecessary organizational obstacles identify where unnecessary organizational obstacles can be removed by using can be removed by using agileagile (灵巧的)(灵巧的) development methods.developme

152、nt methods.3636IntroductionIntroduction The development of software inhouse usually means that:The development of software inhouse usually means that: the developers and the users belong to the same organizationthe developers and the users belong to the same organization the application will the app

153、lication will slot intoslot into(纳入其中)(纳入其中) a portfolio of existing computerbased a portfolio of existing computerbased systems;systems; the methodologies and technologies are largely the methodologies and technologies are largely dictateddictated(规定)(规定) by by organizational standards.organization

154、al standards. However, where successive development projects are carried out by a However, where successive development projects are carried out by a software supplier for a variety of external customers, the methodologies and software supplier for a variety of external customers, the methodologies

155、and technologies to be used need to be reviewed for each individual project. technologies to be used need to be reviewed for each individual project. This decisionmaking process has been called technical planning by some, This decisionmaking process has been called technical planning by some, althou

156、gh here we use the term project analysis. Even where development although here we use the term project analysis. Even where development is inhouse, is inhouse, any characteristics of the new project requiring a different any characteristics of the new project requiring a different approach from prev

157、ious project need to be considered. It is this analysis approach from previous project need to be considered. It is this analysis that is the subject of this chapterthat is the subject of this chapter. . The relevant part of the Step Wise approach is Step 3: The relevant part of the Step Wise approa

158、ch is Step 3: Analyse project Analyse project characteristicscharacteristics. The selection of a particular process model could add new . The selection of a particular process model could add new products to the project breakdown structure or new activities to the activity products to the project br

159、eakdown structure or new activities to the activity work. In the remainder of this chapter we will look at how the characteristics of a In the remainder of this chapter we will look at how the characteristics of a projects environment and the application to be delivered influence the projects enviro

160、nment and the application to be delivered influence the shape of the plan of a project. We will then look at some of the most shape of the plan of a project. We will then look at some of the most common process models,namely the waterfall approach, prototyping and common process models,namely the wa

161、terfall approach, prototyping and incremental delivery.incremental delivery.3737Choosing technologiesChoosing technologies An outcome of project analysis will be the selection of An outcome of project analysis will be the selection of the most appropriate methodologies and technologies. the most app

162、ropriate methodologies and technologies. Methodologies include approaches like Unified Software Methodologies include approaches like Unified Software Development Process (USDP), Structured Systems Development Process (USDP), Structured Systems Analysis and Design Method (SSADM) and HumanAnalysis an

163、d Design Method (SSADM) and HumanCentred Design, while technologies might include Centred Design, while technologies might include appropriate applicationbuilding and automated testing appropriate applicationbuilding and automated testing environments.environments. As well as the products and activi

164、ties, the chosen As well as the products and activities, the chosen technology will affect:technology will affect: The training requirements for development staffThe training requirements for development staff The types of staff to be The types of staff to be recruitedrecruited(招聘)(招聘) The developme

165、nt environmentboth hardware and softwareThe development environmentboth hardware and software System maintenance arrangements.System maintenance arrangements. We are now going to describe some of the steps of We are now going to describe some of the steps of project analysis.project analysis.3838Ide

166、ntify project as either objectives-driven or product-drivenIdentify project as either objectives-driven or product-driven In Chapter 1 we distinguished between objectivesdriven and In Chapter 1 we distinguished between objectivesdriven and productdriven projects. Recall that with productdriven proje

167、cts. Recall that with a productdriven project, the a productdriven project, the product to be created is defined before the start of the projectproduct to be created is defined before the start of the project. Often . Often this type of project will have been preceded by an objectivesdriven this typ

168、e of project will have been preceded by an objectivesdriven project which will have defined the general software solution that is project which will have defined the general software solution that is to be implemented.to be implemented. The project managers ideal situation is to have welldefined The

169、 project managers ideal situation is to have welldefined objectives but as much freedom as possible about the way those objectives but as much freedom as possible about the way those objectives are to be satisfied. For example, the objective might be to objectives are to be satisfied. For example, t

170、he objective might be to pay staff in a startup company reliably, accurately and with low pay staff in a startup company reliably, accurately and with low administrative costs. Use of particular packaged software solution administrative costs. Use of particular packaged software solution does not ha

171、ve to be specified at the does not have to be specified at the outsetoutsetbut as we will see, there but as we will see, there can be exceptions to this.can be exceptions to this. Sometimes the objectives of the project are uncertain or are the Sometimes the objectives of the project are uncertain o

172、r are the subject of disagreement. People might be experiencing problems subject of disagreement. People might be experiencing problems but no one knows exactly how to solve these problems.but no one knows exactly how to solve these problems.3939Analyse other project characteristicsAnalyse other pro

173、ject characteristics Is a dataoriented or processoriented system to be Is a dataoriented or processoriented system to be implemented? implemented? Will the software that is to be produced be a general tool Will the software that is to be produced be a general tool or application specific? or applica

174、tion specific? Will the software that is to be produced be a general tool Will the software that is to be produced be a general tool or application specific? or application specific? dose it involve concurrent processing? dose it involve concurrent processing? will the system to be created be knowle

175、dgebased? will the system to be created be knowledgebased? will the system to be produced make heavy use of computer will the system to be produced make heavy use of computer graphics graphics Is the system to be created safety critical? For instance, could a Is the system to be created safety criti

176、cal? For instance, could a malfunctionmalfunction(故障)(故障) in the system endanger human life? If so, among other things, testing would become in the system endanger human life? If so, among other things, testing would become very important. very important. Is the system designed primarily to carry ou

177、t predefined services or to be engaging Is the system designed primarily to carry out predefined services or to be engaging and entertaining? With software designed for entertainment, design and evaluation and entertaining? With software designed for entertainment, design and evaluation will need to

178、 be carried out differently from more conventional software products.will need to be carried out differently from more conventional software products. What is the nature of the hardware/software environment in which the system will What is the nature of the hardware/software environment in which the

179、 system will operate? operate? 4040How would you categorize each of the following systems How would you categorize each of the following systems according to the classification above?according to the classification above?A payroll systemA payroll systemA system to control a bottling plantA system to

180、 control a bottling plantA system which holds details of the plans used A system which holds details of the plans used by a water company to supply water to by a water company to supply water to consumersconsumersA software package to support project A software package to support project managersman

181、agersA system used by lawyers to access A system used by lawyers to access case case lawlaw(判例法)(判例法) relating to company taxation relating to company taxation 4141Identify highlevel project risksIdentify highlevel project risks Product uncertainty. How well the requirements are understood? Product

182、uncertainty. How well the requirements are understood? The users themselves could be uncertain about what a proposed The users themselves could be uncertain about what a proposed information system is to do. The government, say, might introduce a information system is to do. The government, say, mig

183、ht introduce a new form of taxation but its detailed operation might not be known new form of taxation but its detailed operation might not be known until case law has been built up. Some environments change so until case law has been built up. Some environments change so quickly that a seemingly pr

184、ecise and valid statement of requirements quickly that a seemingly precise and valid statement of requirements rapidly becomes out of date.rapidly becomes out of date. Process uncertainty. The project under consideration might be the Process uncertainty. The project under consideration might be the

185、first where an organization is using an approach like extreme first where an organization is using an approach like extreme programming (XP) or a new applicationbuilding tool. Any change in programming (XP) or a new applicationbuilding tool. Any change in the way that systems are developed introduce

186、s uncertainty.the way that systems are developed introduces uncertainty. Resource uncertainty. The main area of uncertainty here is likely to Resource uncertainty. The main area of uncertainty here is likely to be the availability of staff of the right ability and experience. The be the availability

187、 of staff of the right ability and experience. The larger the number of resources needed or the longer the duration of larger the number of resources needed or the longer the duration of the project, the more inherently risky it will be. the project, the more inherently risky it will be. Some factor

188、ssuch as continually Some factorssuch as continually changingchanging requirementsincrease requirementsincrease uncertaintyuncertainty, while othersfor instance, , while othersfor instance, software sizeincrease software sizeincrease complexitycomplexity. Different strategies are needed to deal with

189、 the two . Different strategies are needed to deal with the two distinct types of risks.distinct types of risks.4242Take into account user requirements concerning Take into account user requirements concerning implementationimplementationIt might be that a company is a It might be that a company is

190、a subsidiarysubsidiary(子公(子公司)司) of some larger groups and the same of some larger groups and the same package has to be used throughout the group to package has to be used throughout the group to ensure compatibility.ensure compatibility.A client organization often lays down standards A client orga

191、nization often lays down standards that have to be adopted by any contractor that have to be adopted by any contractor providing software for them. Sometimes providing software for them. Sometimes organizations specify that suppliers of software organizations specify that suppliers of software have

192、BS EN ISO 9001:2000 or TickIT have BS EN ISO 9001:2000 or TickIT accreditationaccreditation(鉴定资格)(鉴定资格). This will affect the . This will affect the way projects are conducted.way projects are conducted.4343Select general lifecycle approachSelect general lifecycle approach Control systems. A realtim

193、e system will need to be implemented Control systems. A realtime system will need to be implemented using an appropriate methodology. Realtime systems that employ using an appropriate methodology. Realtime systems that employ concurrent processing may have to use techniques such as Petri concurrent

194、processing may have to use techniques such as Petri s. Information systems. Similarly, an information system will need a Information systems. Similarly, an information system will need a methodology, such as SSADM or Information Engineering. SSADM methodology, such as SSADM or Information Engineerin

195、g. SSADM would be especially appropriate where the project employs a large would be especially appropriate where the project employs a large number of development staff whose work will need to be number of development staff whose work will need to be coordinated: the method lays down in detail the a

196、ctivities and coordinated: the method lays down in detail the activities and products needed at each step. Team members would therefore products needed at each step. Team members would therefore know exactly what is expected.know exactly what is expected. General tools. Where the software is for the

197、 general market rather General tools. Where the software is for the general market rather than application and user specific, then a methodology such as than application and user specific, then a methodology such as SSADM would have to be thought about with caution. The framers SSADM would have to b

198、e thought about with caution. The framers of this method make the assumption that identified users exist. of this method make the assumption that identified users exist. Some parts in the method also assume an existing clerical system Some parts in the method also assume an existing clerical system

199、which can be analysed to yield the logical features of a new, which can be analysed to yield the logical features of a new, computerbased, systemcomputerbased, system Specialized techniques For example, expert system shells and logicSpecialized techniques For example, expert system shells and logicb

200、ased programming languages have been invented to based programming languages have been invented to expediteexpedite(迅(迅速完成)速完成) the development of knowledgebased systems. the development of knowledgebased systems. 4444Select general lifecycle approach(cont.) Hardware environment The environment in w

201、hich the Hardware environment The environment in which the system is to operate could put constraints on the way it system is to operate could put constraints on the way it is to be implemented. The need for a fast response time is to be implemented. The need for a fast response time or restricted c

202、omputer memory might mean that only or restricted computer memory might mean that only lowlevel programming languages can be used.lowlevel programming languages can be used. Safetycritical systems Where safety and reliability are Safetycritical systems Where safety and reliability are essential this

203、 might justify the additional expense of a essential this might justify the additional expense of a formal specification using a notation such as Z or VDM. formal specification using a notation such as Z or VDM. Extremely critical systems could justify the cost of having Extremely critical systems c

204、ould justify the cost of having independent teams develop parallel systems with the independent teams develop parallel systems with the same functionality. The operational systems can then run same functionality. The operational systems can then run concurrently with continuous crosschecking. This i

205、s concurrently with continuous crosschecking. This is known as nversion programming.known as nversion programming. Imprecise requirements, Uncertainties or a novelImprecise requirements, Uncertainties or a novel(新奇(新奇的)的) hardware/software platform mean that a prototyping hardware/software platform

206、mean that a prototyping approach should be considered. approach should be considered. 4545Technical plan contents listTechnical plan contents list A software supplier might produce a preliminary technical plan to help A software supplier might produce a preliminary technical plan to help prepare a b

207、id for a contract. Sometimes, the plan might actually be shown prepare a bid for a contract. Sometimes, the plan might actually be shown to the potential customer in order to explain the basis for the to the potential customer in order to explain the basis for the bid pricebid price and to and to im

208、press the customer with the soundness of the intended approach.impress the customer with the soundness of the intended approach. The technical plan is likely to have the following contents.The technical plan is likely to have the following contents. 1. Introduction and summary of constraints1. Intro

209、duction and summary of constraints character of the system to be developed;character of the system to be developed; risks and uncertainties of the project;risks and uncertainties of the project; user requirements concerning implementation. user requirements concerning implementation. 2. Recommended

210、approach:2. Recommended approach: selected methodology or process model;selected methodology or process model; development methods; .development methods; . required software tools;required software tools; target hard ware/software environment,target hard ware/software environment, 3. Development nee

211、ds:3. Development needs: required development environment;required development environment; required maintenance environment;required maintenance environment; required training;required training; 4. Implications: 4. Implications: project products and activities this will have an effect on the schedu

212、le arid staffproject products and activities this will have an effect on the schedule arid stafftime;time; financial this report will be used to produce costings. financial this report will be used to produce costings. 4646Choice of process modelsChoice of process models The word process is used to

213、emphasize the idea of a system in The word process is used to emphasize the idea of a system in action. In order to achieve an outcome, the system will have to action. In order to achieve an outcome, the system will have to execute one or more activities: this is its process. This idea can be execut

214、e one or more activities: this is its process. This idea can be applied to the development of computerbased systems where a applied to the development of computerbased systems where a number of interrelated activities have to be undertaken to create a number of interrelated activities have to be und

215、ertaken to create a final product. These activities can be organized in different ways and final product. These activities can be organized in different ways and we can call these we can call these process modelsprocess models. . A major part of the planning will be choosing development methods A ma

216、jor part of the planning will be choosing development methods and slotting them into an overall process model.and slotting them into an overall process model. The planner needs to select methods and also specify how they are The planner needs to select methods and also specify how they are to be app

217、lied. With methods such as USDP or SSADM, there is a to be applied. With methods such as USDP or SSADM, there is a considerable degree of choice: not all parts of the method will be considerable degree of choice: not all parts of the method will be compulsorycompulsory(必须做的)(必须做的). Many student proj

218、ects have the rather . Many student projects have the rather basic failing that at the planning stage they claim that, say, SSADM basic failing that at the planning stage they claim that, say, SSADM is to be used: in the event all that is produced are a few SSADM is to be used: in the event all that

219、 is produced are a few SSADM fragments such as a toplevel data flow diagram and a preliminary fragments such as a toplevel data flow diagram and a preliminary logical data structure diagram. If this is all the particular project logical data structure diagram. If this is all the particular project r

220、equires, It should be explicitly stated.requires, It should be explicitly stated.4747Structure versus speed of deliveryStructure versus speed of delivery Although some objectoriented specialists might Although some objectoriented specialists might objectobject(反对)(反对), , we include the OO approach a

221、s a structured method we include the OO approach as a structured method after allafter all(毕竟)(毕竟), we hope it is not unstructured. Structured methods are made up of , we hope it is not unstructured. Structured methods are made up of sets of steps and rules which, when applied, generate system sets

222、of steps and rules which, when applied, generate system products such as use case diagrams. Each of these products is products such as use case diagrams. Each of these products is carefully documented. Such methods are often more time carefully documented. Such methods are often more time consuming

223、than more consuming than more intuitiveintuitive(凭直觉的)(凭直觉的) approaches and this approaches and this incurs additional cost. The payoff, it is hoped, is a less error prone incurs additional cost. The payoff, it is hoped, is a less error prone and more maintainable final system. This balance of costs

224、 and and more maintainable final system. This balance of costs and benefits is more likely to be justified on a large project involving benefits is more likely to be justified on a large project involving many developers and users. This is not to say that smaller projects many developers and users.

225、This is not to say that smaller projects cannot justify the use of such methods.cannot justify the use of such methods. It might be thought that users would generally welcome the more It might be thought that users would generally welcome the more professional approach that structured methods imply.

226、 However, professional approach that structured methods imply. However, customers for software are concerned with getting working customers for software are concerned with getting working applications delivered quickly and at less cost and often see applications delivered quickly and at less cost an

227、d often see structured methods as unnecessarily structured methods as unnecessarily bureaucraticbureaucratic(官僚的)(官僚的) and and slow. One response to this has been rapid application development slow. One response to this has been rapid application development (RAD) which puts the emphasis on quickly

228、producing prototypes of (RAD) which puts the emphasis on quickly producing prototypes of the software for users to evaluate. the software for users to evaluate. 4848Structure versus speed of delivery(cont.)Structure versus speed of delivery(cont.) The RAD approach does not The RAD approach does not

229、precludepreclude(排除,阻止)(排除,阻止) the use of the use of some elements of structured methods such as the drafting of logical some elements of structured methods such as the drafting of logical data structure diagrams but also adopts tactics such as joint data structure diagrams but also adopts tactics s

230、uch as joint application development (JAD) workshops. In these workshops, application development (JAD) workshops. In these workshops, developers and users work together intensively for, say, three to five developers and users work together intensively for, say, three to five days and identify and a

231、gree fully documented system requirements. days and identify and agree fully documented system requirements. Often these workshops are conducted away from the normal Often these workshops are conducted away from the normal business and development environments in clean rooms, special business and de

232、velopment environments in clean rooms, special conference rooms free from outside interruption and suitably conference rooms free from outside interruption and suitably furnished with whiteboards and other aids to communication. furnished with whiteboards and other aids to communication. Advocates o

233、f JAD believe these hothouse conditions can speed up Advocates of JAD believe these hothouse conditions can speed up communication and negotiation that might otherwise take several communication and negotiation that might otherwise take several weeks or months.weeks or months. Another way of speedin

234、g up delivery is simply to deliver less. This Another way of speeding up delivery is simply to deliver less. This can be done by breaking a large development into a series of small can be done by breaking a large development into a series of small increments, each of which delivers a small amount of

235、 useful increments, each of which delivers a small amount of useful functionality quickly.functionality quickly. Two competing pressures can be seen. One is to get the job done Two competing pressures can be seen. One is to get the job done as quickly and cheaply as possible, and the other is to mak

236、e sure as quickly and cheaply as possible, and the other is to make sure that the final product has a robust structure which will be able to that the final product has a robust structure which will be able to meet evolving needs. We will return to some of these ideas in our meet evolving needs. We w

237、ill return to some of these ideas in our later discussions on prototyping, the incremental approach and later discussions on prototyping, the incremental approach and extreme programming.extreme programming.4949Development modelDevelopment model The waterfall modelThe waterfall model As can be seen

238、from the example in Figure 4.2, there is a As can be seen from the example in Figure 4.2, there is a sequence of activities working from top to bottom. The diagram sequence of activities working from top to bottom. The diagram shows some arrows pointing upwards and backwards. This shows some arrows

239、pointing upwards and backwards. This indicates that a later stage may reveal the need for some extra indicates that a later stage may reveal the need for some extra work at an earlier stage. After all, the flow of a waterfall should work at an earlier stage. After all, the flow of a waterfall should

240、 be downwards, with the possibility of just a little be downwards, with the possibility of just a little splashingsplashing(泼洒)(泼洒) back. The limited scope for iteration is in fact one of the back. The limited scope for iteration is in fact one of the strengths of this process model. With a large pr

241、oject you want to strengths of this process model. With a large project you want to avoid reworking tasks previously thought to be completed. avoid reworking tasks previously thought to be completed. Having to reopen completed activities Having to reopen completed activities plays havoc with(plays h

242、avoc with(对对造成造成严重破坏严重破坏) ) promised completion dates. promised completion dates. The Vprocess modelThe Vprocess model Figure 4.3 gives a diagrammatic representation of this model. Figure 4.3 gives a diagrammatic representation of this model. This is an This is an elaborationelaboration(苦心经营的结果)(苦心经

243、营的结果)of the waterfall and of the waterfall and stresses the necessity for validation activities that match the stresses the necessity for validation activities that match the activities that create the products of the project.activities that create the products of the project. Exercise Figure 4.3 sh

244、ows the V process model. The review Exercise Figure 4.3 shows the V process model. The review that is held the system has been implemented is shown as that is held the system has been implemented is shown as possibly feeding corrections back to the feasibility study which possibly feeding correction

245、s back to the feasibility study which may have been conducted months or years before. How would may have been conducted months or years before. How would this work in practice? this work in practice? 5050Development model(CONT.) The spiral modelThe spiral model It could be argued that this is anothe

246、r way of looking at the It could be argued that this is another way of looking at the waterfall model. In the waterfall model, it is possible to escape at waterfall model. In the waterfall model, it is possible to escape at the end of any activity in the sequence. A feasibility study might the end o

247、f any activity in the sequence. A feasibility study might decide that the implementation of a proposed system would be decide that the implementation of a proposed system would be beneficial. The management therefore authorize work on the beneficial. The management therefore authorize work on the de

248、tailed analysis of user requirements. Some analysis, for detailed analysis of user requirements. Some analysis, for instance the interviewing of users, might already have taken instance the interviewing of users, might already have taken place at the feasibility stage, but a more thorough investigat

249、ion is place at the feasibility stage, but a more thorough investigation is now launched. This could reveal that the costs of implementing now launched. This could reveal that the costs of implementing the system would be higher than protected benefits and lead to a the system would be higher than p

250、rotected benefits and lead to a decision to abandon the project.decision to abandon the project. A greater level of detail is considered at each stage of the project A greater level of detail is considered at each stage of the project and a greater degree of confidence about the probability of and a

251、 greater degree of confidence about the probability of success for the project should be justified. This can be portrayed success for the project should be justified. This can be portrayed as a loop or a spiral where the system to be implemented is as a loop or a spiral where the system to be implem

252、ented is considered in more detail in each sweep. Each sweep considered in more detail in each sweep. Each sweep terminates with an evaluation before the next iteration is terminates with an evaluation before the next iteration is embarkedembarked (装载)(装载)upon. Figure 4.4 illustrates how SSADM can u

253、pon. Figure 4.4 illustrates how SSADM can be interpreted in such a way. be interpreted in such a way. 5151Software prototypingSoftware prototypingPrototypes can be classified as throwaway or Prototypes can be classified as throwaway or evolutionaryevolutionary (进化的)(进化的). . Throwaway prototypes The

254、prototype is used to test Throwaway prototypes The prototype is used to test out some ideas and is then discarded when the true out some ideas and is then discarded when the true development of the operational system is development of the operational system is commencedcommenced(开始)(开始). The prototy

255、pe could be . The prototype could be developed using a different software or hardware developed using a different software or hardware environment. For example, a desktop application environment. For example, a desktop application builder could be used to evolve an acceptable user builder could be u

256、sed to evolve an acceptable user interface. A procedural programming language could interface. A procedural programming language could then be used for the final system where machinethen be used for the final system where machineefficiency was important.efficiency was important. Evolutionary prototy

257、pes The prototype is developed Evolutionary prototypes The prototype is developed and modified until it is finally in a state where it can and modified until it is finally in a state where it can become the software have to be carefully considered.become the software have to be carefully considered.

258、5252Some of the reasons for software prototypingSome of the reasons for software prototyping Learning by doing Learning by doing Improved communication Improved communication Improved user involvement Improved user involvement Clarification of partially known requirementsClarification of partially k

259、nown requirements Demonstration of the consistency and completeness of a Demonstration of the consistency and completeness of a specification specification Reduced need for documentation Reduced need for documentation Reduced maintenance costs Reduced maintenance costs If the user is unable to sugge

260、st modifications at the prototyping If the user is unable to suggest modifications at the prototyping stage they are more likely to ask for changes to the operational stage they are more likely to ask for changes to the operational system.system. Feature constraint Feature constraint If an applicati

261、onbuilding tool is used, then the prototype will tend If an applicationbuilding tool is used, then the prototype will tend to have features that are easily implemented by that tool. A to have features that are easily implemented by that tool. A paperbased design might suggest features that are expen

262、sive paperbased design might suggest features that are expensive to implement.to implement. Production of expected results Production of expected results 5353drawbacks and dangers of the Software prototypedrawbacks and dangers of the Software prototype Users can misunderstand the role of the Users c

263、an misunderstand the role of the prototype prototype Lack of project standards possible Lack of project standards possible Lack of control Lack of control Additional expense Additional expense Machine efficiency Machine efficiency Close Close proximityproximity(接近)(接近) of developers of developers Pr

264、ototype could mean that code developers have to Prototype could mean that code developers have to be sited close to the users. One trend is for be sited close to the users. One trend is for organizations in developed countries to transfer organizations in developed countries to transfer software dev

265、elopment to developing countries with software development to developing countries with lower costs such as India. Prototyping might prevent lower costs such as India. Prototyping might prevent this.this.5454Other ways of categorizing prototypesOther ways of categorizing prototypes What is being lea

266、rnt?What is being learnt? The most important reason for prototyping is a need to learn about an The most important reason for prototyping is a need to learn about an area of uncertainty. Thus it is essential to identify at the outset what is to area of uncertainty. Thus it is essential to identify a

267、t the outset what is to be learnt from the prototype.be learnt from the prototype. Computing students often realize that the software that they are to write Computing students often realize that the software that they are to write as part of their finalyear project could not safely be used by real u

268、sers. as part of their finalyear project could not safely be used by real users. They therefore call the software a prototype. However, if it is a real They therefore call the software a prototype. However, if it is a real prototype then they must:prototype then they must: specify what they hope to

269、learn from the prototype;specify what they hope to learn from the prototype; plan how the prototype is to be evaluated;plan how the prototype is to be evaluated; report on what has actually been learnt;report on what has actually been learnt; Prototypes can be used to find about new development tech

270、niques, by Prototypes can be used to find about new development techniques, by using them in a pilot project. Alternatively, the development methods using them in a pilot project. Alternatively, the development methods might be well known, but the nature of the application uncertain.might be well kn

271、own, but the nature of the application uncertain. Different projects will have uncertainties at different stages. Prototypes Different projects will have uncertainties at different stages. Prototypes can therefore be used at different stages. A prototype might be used, for can therefore be used at d

272、ifferent stages. A prototype might be used, for instance, at the requirements gathering stage to pin down requirements instance, at the requirements gathering stage to pin down requirements that seem blurred and shifting. A prototype might, on the other hand, be that seem blurred and shifting. A pro

273、totype might, on the other hand, be used at the design stage to test out the users ability to navigate through used at the design stage to test out the users ability to navigate through a sequence of input screens.a sequence of input screens.5555To what extent is the prototyping to be done? It would

274、 be unusual for the whole of the application to be It would be unusual for the whole of the application to be prototyped. The prototyping usually simulates only some prototyped. The prototyping usually simulates only some aspects of the target application. For example, they aspects of the target app

275、lication. For example, they might be:might be: MockupsMockups(实验用的模型)(实验用的模型) As when copies of input As when copies of input screens are shown to the users on a terminal, but the screens are shown to the users on a terminal, but the screens cannot actually be used.screens cannot actually be used. S

276、imulated interaction For example, the users can type Simulated interaction For example, the users can type in a request to access a record and the system will show in a request to access a record and the system will show the details of a record, but the details shown are always the details of a reco

277、rd, but the details shown are always the same and no access is made to a database.the same and no access is made to a database. Partial working model:Partial working model: Vertical Some, but not all, features are prototyped fully.Vertical Some, but not all, features are prototyped fully. Horizontal

278、 All features are prototyped but not in detail Horizontal All features are prototyped but not in detail perhaps there is not full of validation of input. perhaps there is not full of validation of input. 5656What is being prototyped? The humancomputer interface With business The humancomputer interf

279、ace With business applications, processing requirements have usually been applications, processing requirements have usually been established at an early stage. Prototyping tends, established at an early stage. Prototyping tends, therefore, to be confined to the nature of operator therefore, to be c

280、onfined to the nature of operator interaction. Here the physical vehicle for the prototype interaction. Here the physical vehicle for the prototype should be as similar as possible to the operational should be as similar as possible to the operational system.system. The functionality of the system H

281、ere the precise way The functionality of the system Here the precise way the system should function internally is not known. For the system should function internally is not known. For example, a computer model of some realworld example, a computer model of some realworld phenomenon is being develop

282、ed. The algorithms used phenomenon is being developed. The algorithms used might need to be repeatedly adjusted until they might need to be repeatedly adjusted until they satisfactorily imitate realworld behavior.satisfactorily imitate realworld behavior.5757Controlling changes during prototypingCon

283、trolling changes during prototyping A major problem with prototyping is controlling changes to the A major problem with prototyping is controlling changes to the prototype following suggestions by the users. One approach has prototype following suggestions by the users. One approach has been to cate

284、gorize changes as belonging to one of three types:been to categorize changes as belonging to one of three types: CosmeticCosmetic( (美容的美容的) (often about 35% of changes) (often about 35% of changes)These are simple changes to the layout of the screens or reports. They These are simple changes to the

285、layout of the screens or reports. They are:are:(a) implemented;(a) implemented;(b) recorded.(b) recorded. Local (often about 60% of changes)Local (often about 60% of changes)These changes the way that a screen or report is processed but do not These changes the way that a screen or report is process

286、ed but do not affect other parts of the system. They are:affect other parts of the system. They are:(a) implemented;(a) implemented; (b) recorded; (b) recorded; (c) backedup so that they can be removed at a later stage if (c) backedup so that they can be removed at a later stage if necessary;necessa

287、ry;(d) inspected (d) inspected retrospectivelyretrospectively(回顾地)(回顾地). . Global (about 5% of changes)Global (about 5% of changes)These are changes that affect more than one part of the processing. All These are changes that affect more than one part of the processing. All changes here have to be t

288、he subject of a design review before they can changes here have to be the subject of a design review before they can be implemented.be implemented.5858Incremental deliveryIncremental deliveryThis approach breaks the application down into This approach breaks the application down into small component

289、s which are then implemented small components which are then implemented and delivered in sequence. Each component and delivered in sequence. Each component delivered must give some benefit to the user. delivered must give some benefit to the user. Figure 4.5 Figure 4.5 (P82P82)gives a general idea

290、of the gives a general idea of the approach.approach.Timeboxing is often associated with an Timeboxing is often associated with an incremental approach. Here the scope of incremental approach. Here the scope of deliverables for an increment is rigidly deliverables for an increment is rigidly constra

291、ined by an agreed deadline. This deadline constrained by an agreed deadline. This deadline has to be met, even at the expense of dropping has to be met, even at the expense of dropping some of the planned functionality. Omitted feature some of the planned functionality. Omitted feature can be transf

292、erred to later increase. can be transferred to later increase. 5959Advantages of incremental deliveryAdvantages of incremental deliveryThere are some of the There are some of the justificationjustifications s(辩解的理由)(辩解的理由) given for the given for the approach approach The feedback from early increme

293、nts improves the later stages.The feedback from early increments improves the later stages. The possibility of changes in requirements is reduced because of The possibility of changes in requirements is reduced because of the shorter time span between the design of a component and its the shorter ti

294、me span between the design of a component and its delivery.delivery. Users get benefits earlier than with a convention approach.Users get benefits earlier than with a convention approach. Early delivery of some useful competent improves cash flow Early delivery of some useful competent improves cash

295、 flow ,because you get some return on investment early on.because you get some return on investment early on. Small subprojects are easier to control and manage.Small subprojects are easier to control and manage. GoldplatingGoldplating(电镀),(电镀),that is that is ,the requesting of features that are th

296、e requesting of features that are unnecessary and not in fact used is less as users know that if a unnecessary and not in fact used is less as users know that if a feature is not in the current increment then it can be included in the feature is not in the current increment then it can be included i

297、n the nextnext The project can be temporarily abandoned if more urgent work The project can be temporarily abandoned if more urgent work emerges.emerges. Job satisfaction is increased for developer who see their labors Job satisfaction is increased for developer who see their labors bearing fruit at

298、 regular shot intervalsbearing fruit at regular shot intervals。 6060Disadvantages of incremental deliveryDisadvantages of incremental delivery Later increments might require modification to earlier Later increments might require modification to earlier increments. This is known as software breakage.

299、increments. This is known as software breakage. Software developer may be more productive working on Software developer may be more productive working on one large system than on a series of smaller onesone large system than on a series of smaller ones Grady Booch, an authority on OO Grady Booch, an

300、 authority on OO ,suggests that with suggests that with what he calls requirement driven project what he calls requirement driven project (which which equate to(equate to(相仿于相仿于) ) incremental delivery incremental delivery ) Conceptual Conceptual integrity sometimes suffers because there is little i

301、ntegrity sometimes suffers because there is little motivation to deal with motivation to deal with scalabilityscalability(可测量性)(可测量性), , extensibilityextensibility,portability reusability beyond what any portability reusability beyond what any vague requirements might imply . Booch also suggests vag

302、ue requirements might imply . Booch also suggests there could be a tendency towards a large number of there could be a tendency towards a large number of discrete function with little common infrastructurediscrete function with little common infrastructure6161The incremental delivery plan The nature

303、 and order of each increment to be The nature and order of each increment to be delivered to the users have to be planned at the delivered to the users have to be planned at the outset.outset.This process is similar to strategic planning but This process is similar to strategic planning but at a mor

304、e detailed level . Attention is given to at a more detailed level . Attention is given to increments of a user application rather than increments of a user application rather than whole application. The element of incremental whole application. The element of incremental plan are the plan are the sy

305、stemobjectivessystemobjectives, , incrementalplanincrementalplan and the and the opentechnologyplanopentechnologyplan. . 6262System objectivesSystem objectives Recall that earlier we suggested that project planners Recall that earlier we suggested that project planners ideally want welldefined objec

306、tives , but as much ideally want welldefined objectives , but as much freedom as possible about how these are to be met. freedom as possible about how these are to be met. These overall objectives can be expanded into more These overall objectives can be expanded into more specific functional goals

307、and quality goals.specific functional goals and quality goals.Functional goals will include:Functional goals will include: Objective it is intended to achieve;Objective it is intended to achieve; Jobs the system is to do ;Jobs the system is to do ; Computer/non computer functions to achieve them.Com

308、puter/non computer functions to achieve them.In addition ,measurable quality characteristics should be In addition ,measurable quality characteristics should be defineddefined,such as reliabilitysuch as reliability,response and security. If response and security. If this is done properly these overa

309、rching quality this is done properly these overarching quality requirements can go some way to meeting the concerns. requirements can go some way to meeting the concerns. 6363Open technology planOpen technology plan If the system is to cope with new components being continually If the system is to c

310、ope with new components being continually added then it needs to be extendible, portable and maintainable.added then it needs to be extendible, portable and maintainable.As a minimum this will require the use of :As a minimum this will require the use of : A standard highlevel language;A standard hi

311、ghlevel language; A standard operating system;A standard operating system; Small modules;Small modules; Variable parameters, for example items such as the names of an Variable parameters, for example items such as the names of an organization and its departments, charge rates and so on are held in a

312、 organization and its departments, charge rates and so on are held in a parameter can be amended without programmer parameter can be amended without programmer interventionintervention(干预)(干预). . A standard database management system .A standard database management system .There are all things that

313、might be expected as a matter of course in There are all things that might be expected as a matter of course in a modern software development environment .a modern software development environment .Although Gilb does not suggest this following Boochs hints it would Although Gilb does not suggest thi

314、s following Boochs hints it would be desirable to draw up an initial logical data model or object model be desirable to draw up an initial logical data model or object model for the whole system. It is difficult to see how the next stage of for the whole system. It is difficult to see how the next s

315、tage of planning the scope and order of each increment could be done planning the scope and order of each increment could be done without this foundation .without this foundation .6464Incremental plan Steps typically should consist of 15% of the total project!Steps typically should consist of 15% of

316、 the total project! Noncomputer steps should be included.Noncomputer steps should be included. An increment should ,ideally, not exceed one month and should not ,at An increment should ,ideally, not exceed one month and should not ,at worst ,take more than three months.worst ,take more than three mo

317、nths. Each increment should deliver some benefit to the user.Each increment should deliver some benefit to the user. Some increments will be physically dependent on others.Some increments will be physically dependent on others. In other cases valuetocost ratios may be used to decide priorities (see

318、In other cases valuetocost ratios may be used to decide priorities (see below )below ) A new system might be replacing an old computer system and the first A new system might be replacing an old computer system and the first increments could use parts of the old system. For example ,the data from in

319、crements could use parts of the old system. For example ,the data from the database of the new system could initially be obtained from the old the database of the new system could initially be obtained from the old systems standing files.systems standing files.Which steps should be first? Some steps

320、 will be prerequisites because Which steps should be first? Some steps will be prerequisites because of physical dependencies but others can be in any order. value to cost ratios of physical dependencies but others can be in any order. value to cost ratios (see Table 4.1) can be used to establish th

321、e order in which increments are (see Table 4.1) can be used to establish the order in which increments are to be developed. The customer is asked to rate the value of each increment to be developed. The customer is asked to rate the value of each increment with a score in the range 110.The developer

322、s also rate the cost of with a score in the range 110.The developers also rate the cost of developing each of the increments with a score in the range 010. this might developing each of the increments with a score in the range 010. this might seem rather crude, but people are often unwilling to be m

323、ore precise. seem rather crude, but people are often unwilling to be more precise. Dividing the value rating by the cost rating generates a ratio which indicates Dividing the value rating by the cost rating generates a ratio which indicates the relative value for money of each increment. the relativ

324、e value for money of each increment. 6565Dynamic systems development methodDynamic systems development method In the United Kingdom , SSADM (Structures System In the United Kingdom , SSADM (Structures System Analysis and Design Method) has until recently been a Analysis and Design Method) has until

325、recently been a predominant methodology . In no small part , this has predominant methodology . In no small part , this has been because of sponsorship by the United Kingdom been because of sponsorship by the United Kingdom government . More recently , however , it has lost some government . More re

326、cently , however , it has lost some favour , partly because it has been favour , partly because it has been perceivedperceived(感觉)(感觉)as as overly bureaucratic and overly bureaucratic and prescriptiveprescriptive(约定俗成的)(约定俗成的) . In . In contrast , there has been an increased interest in the contrast

327、 , there has been an increased interest in the iterative and incremental approaches we have outlined iterative and incremental approaches we have outlined above. As a consequences, a above. As a consequences, a consortiumconsortium(联合企业,财(联合企业,财团)团)has developed guidelines for the use of such has de

328、veloped guidelines for the use of such techniques and has packaged the overall approach as techniques and has packaged the overall approach as the Development Systems Development Method(DSDM) the Development Systems Development Method(DSDM) . It is possible to attend courses on the method and to . I

329、t is possible to attend courses on the method and to become an become an accreditedaccredited(质量合格的)(质量合格的) DSDM practioner .DSDM practioner .6666Nine core DSDM principles have been Nine core DSDM principles have been enunciatedenunciated( (明确说明明确说明) ) Active user involvement is Active user involvem

330、ent is imperativeimperative(必要的)(必要的) . . DSDM teams must be DSDM teams must be empowerempowereded(准许)(准许) to make to make decisions.decisions. Focus on frequent delivery of products .Focus on frequent delivery of products . Fitness for business purpose is the essential criterion for Fitness for bus

331、iness purpose is the essential criterion for acceptance of deliverables .acceptance of deliverables . Iterative and incremental delivery is necessary to Iterative and incremental delivery is necessary to converge onconverge on(向(向拥去)拥去) an accurate bussiness an accurate bussiness solution .solution

332、. All changes during development are reversible .All changes during development are reversible . Requirements are baselined at a high level .Requirements are baselined at a high level . Testing is integrated throughout the life cycle .Testing is integrated throughout the life cycle . A collaborative

333、 and cooperative approacch between all A collaborative and cooperative approacch between all stakeholders is essential stakeholders is essential 6767The relative importantce of requirements can be The relative importantce of requirements can be categorized using the MoSCoW classificationcategorized

334、using the MoSCoW classification Must haveMust have : that is ,essential features . : that is ,essential features . Should haveShould have : these would probably be : these would probably be mandatorymandatory(强(强制的)制的) if you were using a conventional development if you were using a conventional dev

335、elopment approach but the system can operate without them .approach but the system can operate without them . Could haveCould have : these requirements can be delayed with : these requirements can be delayed with some inconvenience . some inconvenience . Wont haveWont have : these features are wante

336、d , but their delay : these features are wanted , but their delay to a later increments is readily accepted .to a later increments is readily accepted .The possibility of requirements being reallocated to The possibility of requirements being reallocated to different increments means that project pl

337、ans will need to different increments means that project plans will need to be constantly updated if the project is to be successfully be constantly updated if the project is to be successfully controlled .controlled .6868Extreme programmingExtreme programming(1 1)Extreme Programming is a discipline

338、 of software Extreme Programming is a discipline of software development based on values of development based on values of simplicity, simplicity, communication, feedback, and couragecommunication, feedback, and courage. It . It works by bringing the whole team together in the works by bringing the

339、whole team together in the presence of simple practices, with enough presence of simple practices, with enough feedback to enable the team to see where they feedback to enable the team to see where they are and to are and to tunetune(调整)(调整) the practices to their the practices to their unique situa

340、tion. unique situation. Core Practices: Core Practices: Whole TeamWhole Team In Extreme In Extreme Programming, every contributor to the project is Programming, every contributor to the project is an integral part of the “an integral part of the “Whole TeamWhole Team“. The team “. The team forms aro

341、und a business representative called forms around a business representative called “the Customer”, who sits with the team and “the Customer”, who sits with the team and works with them daily. works with them daily. 6969Extreme programming(2)Core Practices: Core Practices: Planning GamePlanning Game,

342、 , Small Small ReleasesReleases, , Customer TestsCustomer Tests Extreme Extreme Programming teams use a simple form of Programming teams use a simple form of planning and tracking to decide what should be planning and tracking to decide what should be done next and to predict when the project will b

343、e done next and to predict when the project will be done. Focused on business value, the team done. Focused on business value, the team produces the software in a series of small fullyproduces the software in a series of small fullyintegrated releases that pass all the tests the integrated releases

344、that pass all the tests the Customer has defined. Customer has defined. Core Practices: Core Practices: Simple DesignSimple Design, , Pair Pair ProgrammingProgramming, , TestDriven DevelopmentTestDriven Development, , Design Design ImprovementImprovement Extreme Programmers work Extreme Programmers

345、work together in pairs and as a group, with simple together in pairs and as a group, with simple design and design and obsessivelyobsessively(有执着想法的)(有执着想法的) tested tested code, improving the design continually to keep it code, improving the design continually to keep it always just right for the cu

346、rrent needs.always just right for the current needs.7070Extreme programming(3)Core Practices: Core Practices: Continuous IntegrationContinuous Integration, , Collective Code OwnershipCollective Code Ownership, , Coding StandardCoding Standard The Extreme Programming team keeps the The Extreme Progra

347、mming team keeps the system integrated and running all the time. The system integrated and running all the time. The programmers write all production code in pairs, programmers write all production code in pairs, and all work together all the time. They code in a and all work together all the time.

348、They code in a consistent style so that everyone can consistent style so that everyone can understand and improve all the code as needed.understand and improve all the code as needed.Core Practices: Core Practices: MetaphorMetaphor, , SustainableSustainable(可持续(可持续的)的) PacePace The Extreme Programmi

349、ng team The Extreme Programming team shares a common and simple picture of what the shares a common and simple picture of what the system looks like. Everyone works at a pace that system looks like. Everyone works at a pace that can be sustained indefinitely.can be sustained indefinitely.7171Pair Pr

350、ogramming Pair Programming 的感受的感受 Pair的条件的条件PairPair的人必须对等的人必须对等的人必须对等的人必须对等 (同班同学)(同班同学)(同班同学)(同班同学) PairPair的人必须全力以赴的人必须全力以赴的人必须全力以赴的人必须全力以赴 PairPair的人必须对要解决的问题有相同或相近的的人必须对要解决的问题有相同或相近的的人必须对要解决的问题有相同或相近的的人必须对要解决的问题有相同或相近的认知认知认知认知 Pair的缺点的缺点浪费时间浪费时间浪费时间浪费时间 剥夺了剥夺了developerdeveloper的个人空间的个人空间 剥夺了自学的

351、时间剥夺了自学的时间剥夺了自学的时间剥夺了自学的时间 少少Pair可以怡神,多可以怡神,多pair的确伤身,的确伤身, 不不pair也能过日子也能过日子7272Managing iterative processesManaging iterative processes Booch suggests that there are two levels of development: the Booch suggests that there are two levels of development: the macro processmacro process and the and th

352、e micro processmicro process. The macro . The macro process is closely related to the waterfall process model. At this process is closely related to the waterfall process model. At this level, a range of activities carried out by a variety of specialist level, a range of activities carried out by a

353、variety of specialist groups has to be coordinated. We need to have some dates when groups has to be coordinated. We need to have some dates when we know that major activities will be finished so that we know we know that major activities will be finished so that we know when we will need to bring i

354、n staff to work on subsequent when we will need to bring in staff to work on subsequent activities. Within this macro process there will be micro process activities. Within this macro process there will be micro process activities which might involve iterative working. Systems testing activities whi

355、ch might involve iterative working. Systems testing has always been one. P88 Figure 4.7. illustrates how a sequential has always been one. P88 Figure 4.7. illustrates how a sequential macro process can be Imposed on a number of iterative submacro process can be Imposed on a number of iterative subpr

356、ocesses. With iterative micro processes, the use of time boxes processes. With iterative micro processes, the use of time boxes is needed to control at the macro level.is needed to control at the macro level. There are cases where the macro process itself can be iterative, It There are cases where t

357、he macro process itself can be iterative, It might be that a prototype for a complex technical system is might be that a prototype for a complex technical system is produced in two or three successive versions, each taking several produced in two or three successive versions, each taking several mon

358、ths to create and evaluate. In these circumstances, each months to create and evaluate. In these circumstances, each iteration should be treated as a project in its own right.iteration should be treated as a project in its own right.7373Selecting the most appropriate process modelSelecting the most

359、appropriate process model ConstructionConstruction of an application can be distinguished from of an application can be distinguished from its its installationinstallation, It is possible to use different approaches , It is possible to use different approaches for these two stages. For example, an a

360、pplication could for these two stages. For example, an application could be constructed using a waterfall or be constructed using a waterfall or oneshotoneshot(只有一次(只有一次的)的) strategy but then be released to its users in strategy but then be released to its users in increments. increments. Where unce

361、rtainty is high then an evolutionary approach Where uncertainty is high then an evolutionary approach is to be favoured. is to be favoured. Where the requirements are relatively certain but there Where the requirements are relatively certain but there are many complexities, as with a large embedded

362、are many complexities, as with a large embedded system needing a large amount of code, then an system needing a large amount of code, then an incremental approach is favoured. incremental approach is favoured. Where deadlines are tight, then either an evolutionary or Where deadlines are tight, then

363、either an evolutionary or an incremental approach is favoured over a oneshot an incremental approach is favoured over a oneshot strategy, as both tactics should allow at least something strategy, as both tactics should allow at least something to be delivered at the deadline, even if it is not all t

364、hat to be delivered at the deadline, even if it is not all that was originally promised. was originally promised. 7474conclusionconclusion This chapter has stressed the need to examine each This chapter has stressed the need to examine each project carefully to see if it has characteristics which pr

365、oject carefully to see if it has characteristics which suggest a particular approach or process model. These suggest a particular approach or process model. These characteristics might suggest the addition of specific characteristics might suggest the addition of specific activities to the project p

366、lan.activities to the project plan. The classic waterfall process model, which attempts to The classic waterfall process model, which attempts to minimize iteration, should lead to projects that are easy minimize iteration, should lead to projects that are easy to control. Unfortunately, many projec

367、ts do not lend to control. Unfortunately, many projects do not lend themselves to this structure. Prototyping may be able to themselves to this structure. Prototyping may be able to reduce project uncertainties by allowing knowledge to be reduce project uncertainties by allowing knowledge to be boug

368、ht through experimentation. The Incremental bought through experimentation. The Incremental approach encourages the execution of a series of small, approach encourages the execution of a series of small, manageable, miniprojects but does have some costs.manageable, miniprojects but does have some co

369、sts.7575Chap 5 Software effort estimationChap 5 Software effort estimationObjectivesObjectivesWhen you have completed this chapter you will When you have completed this chapter you will be able to:be able to: avoid the dangers of unrealistic estimates;avoid the dangers of unrealistic estimates; unde

370、rstand the range of estimating methods that can understand the range of estimating methods that can be used;be used; estimate projects using a bottomup approach;estimate projects using a bottomup approach; count the function points for a system;count the function points for a system; estimate the ef

371、fort needed to implement software estimate the effort needed to implement software using a procedural programming language;using a procedural programming language; understand the COCOMO approach to developing understand the COCOMO approach to developing effort models.effort models.7676Software effor

372、t estimating is difficultSoftware effort estimating is difficultdefinition of a successful project definition of a successful project System is delivered on time, within budget and with System is delivered on time, within budget and with the required quality the required quality Estimating the effor

373、t required to implement Estimating the effort required to implement software is notoriously difficult. Some of the software is notoriously difficult. Some of the difficulties of estimating are inherent in the very difficulties of estimating are inherent in the very nature of software, especially its

374、 complexity and nature of software, especially its complexity and invisibility. In addition, the intensely human invisibility. In addition, the intensely human activities which make up system development activities which make up system development cannot be treated in a purely cannot be treated in a

375、 purely mechanisticmechanistic way. way. Other difficulties include:Other difficulties include: NovelNovel(新颖的)(新颖的) applications of software applications of software Changing technology Changing technology Lack of homogeneityLack of homogeneity (均匀性差)(均匀性差)of project of project experience experienc

376、e 7777术语内涵问题There have been some attempts to set up There have been some attempts to set up industrywide databases of past projects. industrywide databases of past projects. However, this data seems to be of limited use to However, this data seems to be of limited use to estimators as there are unce

377、rtainties in the way estimators as there are uncertainties in the way that various terms can be interpreted. For that various terms can be interpreted. For example, what exactly is meant by the term example, what exactly is meant by the term testing? Does it cover the activities of the testing? Does

378、 it cover the activities of the software developer when debugging code? software developer when debugging code? Does design include drawing up program Does design include drawing up program structure diagrams or does this come under the structure diagrams or does this come under the heading of softw

379、are development? heading of software development? 7878预测时的相关倾向问题预测时的相关倾向问题Subjective nature of estimating Subjective nature of estimating Some research shows that people tend to Some research shows that people tend to underestimateunderestimate(对(对估计不足)估计不足) the difficulty of small the difficulty of

380、 small tasks and tasks and overestimateoverestimate that of large ones. that of large ones.Political Political implicationimplication(暗示)(暗示) Different groups within an organization have different Different groups within an organization have different objectives. To avoid these political pressures,

381、one objectives. To avoid these political pressures, one suggestion is that all estimates be produced by a suggestion is that all estimates be produced by a specialist estimating group, independent of both the specialist estimating group, independent of both the users and the project team. Not all ag

382、ree with this, as users and the project team. Not all agree with this, as staff involved in a project are more likely to be staff involved in a project are more likely to be committed to targets where they have participated in committed to targets where they have participated in formulating them.for

383、mulating them.7979Where are estimates done?Where are estimates done? Estimates are carried out at various stages of a software project. At Estimates are carried out at various stages of a software project. At each stage the reasons for the estimate and the methods used will each stage the reasons fo

384、r the estimate and the methods used will vary.vary. Strategic planning At this stage, the cost of computerizing potential Strategic planning At this stage, the cost of computerizing potential applications and the benefits of doing so may need to be estimated applications and the benefits of doing so

385、 may need to be estimated to help decide what priority to give to each project. Such estimates to help decide what priority to give to each project. Such estimates may also influence the numbers of various types of development may also influence the numbers of various types of development staff to b

386、e staff to be recruitrecruited by the organization.ed by the organization. Feasibility study This ascertains that the benefits of the potential Feasibility study This ascertains that the benefits of the potential system will justify the costs.system will justify the costs. System specification Most

387、system development methodologies System specification Most system development methodologies usefully distinguish between the definition of the users requirements usefully distinguish between the definition of the users requirements and the design which documents how these requirements are to be and

388、the design which documents how these requirements are to be fulfilled. The effort need to implement different design proposals will fulfilled. The effort need to implement different design proposals will need to be estimated. Estimates at the design stage will also confirm need to be estimated. Esti

389、mates at the design stage will also confirm that the feasibility study is still valid, taking into account all that has that the feasibility study is still valid, taking into account all that has been learnt during detailed requirements analysis.been learnt during detailed requirements analysis.8080

390、Where are estimates done?(CONT.) Evaluation of suppliers proposals Evaluation of suppliers proposals Project planning As the planning and implementation of the Project planning As the planning and implementation of the project progresses to greater levels of detail, more detailed project progresses

391、to greater levels of detail, more detailed estimates of smaller work components will be made. As well estimates of smaller work components will be made. As well as confirming the earlier and more as confirming the earlier and more broadbrushbroadbrush(粗线条的)(粗线条的) estimates, these will help answer qu

392、estions about, for estimates, these will help answer questions about, for example, when staff will have completed particular tasks example, when staff will have completed particular tasks and be available for new activities.and be available for new activities. Two general points can be made here:Two

393、 general points can be made here: As the project proceeds so the accuracy of the estimates should As the project proceeds so the accuracy of the estimates should improve as knowledge about the nature of project increases;improve as knowledge about the nature of project increases; a conventional wisd

394、om is that at the beginning of the project the user a conventional wisdom is that at the beginning of the project the user requirement is of paramount importance and that requirement is of paramount importance and that prematurepremature(过早的)(过早的) consideration of the physical implementation is to b

395、e avoided. In consideration of the physical implementation is to be avoided. In order to produce an estimate, however, the estimator will have to order to produce an estimate, however, the estimator will have to speculate aboutspeculate about(思考(思考) this physical implementation (for this physical im

396、plementation (for instance, about the number of software components to be written).instance, about the number of software components to be written).8181Problems with over and underestimatesProblems with over and underestimates A project leader will need to be aware that the estimate A project leader

397、 will need to be aware that the estimate itself, if known to the development team, will influence the itself, if known to the development team, will influence the time required to implement the system. An overestimate time required to implement the system. An overestimate may cause the project to ta

398、ke longer than it would may cause the project to take longer than it would otherwise. This can be explained by the application of two otherwise. This can be explained by the application of two laws.laws. Parkinsons Law Work Parkinsons Law Work expands toexpands to(扩展到)(扩展到) fill the time fill the ti

399、me available, that is, given an easy target staff will work less available, that is, given an easy target staff will work less hard.hard. Brooks Law The effort required to implement a project Brooks Law The effort required to implement a project will go up will go up disproportionatedisproportionate

400、ly ly(不成比例的)(不成比例的) with the with the number of staff assigned to the project. As the project team number of staff assigned to the project. As the project team grows in size, so will the effort that has to go into grows in size, so will the effort that has to go into management, coordination and com

401、munication. This has management, coordination and communication. This has given rise, in extreme cases, to the notion of Brooks Law : given rise, in extreme cases, to the notion of Brooks Law : putting more people on a late job makes it later. If there is putting more people on a late job makes it l

402、ater. If there is an overestimate of the effort required then this could lead an overestimate of the effort required then this could lead to more staff being allocated than are needed and to more staff being allocated than are needed and managerialmanagerial overheads being increased. overheads bein

403、g increased.8282Problems with over and underestimates Some have suggested that while the underestimated Some have suggested that while the underestimated project might not be completed on time or to cost, it project might not be completed on time or to cost, it might still be implemented in a shorte

404、r time than a might still be implemented in a shorter time than a project with a more generous estimate. There must, project with a more generous estimate. There must, however, be limits to this phenomenon where all the however, be limits to this phenomenon where all the slackslack in the project ha

405、s been taken up. in the project has been taken up. The danger with the underestimated is the effort on The danger with the underestimated is the effort on quality. Staff, particularly those with less experience, quality. Staff, particularly those with less experience, could respond to could respond

406、to pressing pressing (紧迫的)(紧迫的)deadlines by deadlines by producing work which is producing work which is substandardsubstandard(不合规格的)(不合规格的). . Since we are into laws, this may be seen as a Since we are into laws, this may be seen as a manifestationmanifestation (表现)(表现)of Weinbergs zeroth law of o

407、f Weinbergs zeroth law of reliability: if a system does not have to be reliable, it can reliability: if a system does not have to be reliable, it can meet any other objective. Substandard work might only meet any other objective. Substandard work might only become visible at the later, testing, phas

408、es of a project become visible at the later, testing, phases of a project which are particularly difficult to control and where which are particularly difficult to control and where extensive rework can have catastrophic consequence for extensive rework can have catastrophic consequence for the proj

409、ect completion date.the project completion date.8383Estimate and the staff Because of the possible efforts on the behavior of development staff, Because of the possible efforts on the behavior of development staff, the size of estimates might be artificially reduced by their managers the size of est

410、imates might be artificially reduced by their managers to increase pressure on staff. Research has found that motivation to increase pressure on staff. Research has found that motivation and morale are enhanced where targets are achievable. If, over a and morale are enhanced where targets are achiev

411、able. If, over a period of time, staff become aware that the targets set are period of time, staff become aware that the targets set are Unattainable and that projects are routinely not meeting their Unattainable and that projects are routinely not meeting their published targets then this will help

412、 to destroy motivation. published targets then this will help to destroy motivation. Furthermore, people like to think of themselves as winners and there Furthermore, people like to think of themselves as winners and there is a general tendency to put success down to our own efforts while is a gener

413、al tendency to put success down to our own efforts while failure is blamed on the organization.failure is blamed on the organization. In the end, an estimate is not really a prediction, it is a management In the end, an estimate is not really a prediction, it is a management goal. Barry Boehm has su

414、ggested that if a software development goal. Barry Boehm has suggested that if a software development cost is within 20% of the estimated cost for the job then a good cost is within 20% of the estimated cost for the job then a good manager can turn it into a manager can turn it into a selffulfilling

415、 prophecyselffulfilling prophecy(本身会成为事实的(本身会成为事实的预言)预言). A project leader like Amanda will work hard to make the . A project leader like Amanda will work hard to make the actual performance conform to the estimate. actual performance conform to the estimate. 8484The basis for software estimatingThe

416、 basis for software estimating(1 1) The need for historical dataNearly all estimating methods need Nearly all estimating methods need information about how projects have been information about how projects have been implemented in the past. However, care implemented in the past. However, care needs

417、to be taken in judging the applicability needs to be taken in judging the applicability of data to the project under consideration of data to the project under consideration because of possible differences in because of possible differences in environmental factors such as the environmental factors

418、such as the programming languages used, the software programming languages used, the software tools available, the standards enforced and tools available, the standards enforced and the experience of the staff.the experience of the staff.8585The basis for software estimatingThe basis for software es

419、timating(2 2) Measure of workMeasure of work It is normally not possible to calculate directly the actual cost or It is normally not possible to calculate directly the actual cost or time required to implement a project. The time taken to write time required to implement a project. The time taken to

420、 write software may very according to the software may very according to the competencecompetence(能力)(能力) or or experience of the software developer. Implementation time might experience of the software developer. Implementation time might also vary because of environmental factors such as the softw

421、are also vary because of environmental factors such as the software tools available. The usual practice is therefore to express the tools available. The usual practice is therefore to express the work content of the application to be implemented independently work content of the application to be im

422、plemented independently of effort using a measure such as source lines of code (SLOC). of effort using a measure such as source lines of code (SLOC). The reader may also come across the abbreviation KLOC which The reader may also come across the abbreviation KLOC which refers to thousand of lines of

423、 code.refers to thousand of lines of code. As can be imagined, SLOC is a very imprecise measure. Dose it As can be imagined, SLOC is a very imprecise measure. Dose it include comment lines? Are data declarations to be included? include comment lines? Are data declarations to be included? Unfortunate

424、ly, researchers have not been consistent on these Unfortunately, researchers have not been consistent on these points. The writers view is that comment lines are excluded, but points. The writers view is that comment lines are excluded, but data declarations are included. Others may argue over this,

425、 but data declarations are included. Others may argue over this, but the main point is that consistency is essential.the main point is that consistency is essential. Counting SLOC is difficult where applicationbuilding tools have Counting SLOC is difficult where applicationbuilding tools have been e

426、mployed which often use tables or diagrams to record been employed which often use tables or diagrams to record processing rules. Different measures of size are needed, such as processing rules. Different measures of size are needed, such as function points, which are explained further on in this ch

427、apter.function points, which are explained further on in this chapter.8686The basis for software estimating(3)ComplexityTwo software components with the same Two software components with the same KLOC will not necessary take the same KLOC will not necessary take the same time to write, even if done

428、by the same time to write, even if done by the same programmer in the same environment. One programmer in the same environment. One component might be more complex. component might be more complex. Because of this, the effort estimate based Because of this, the effort estimate based on SLOC might ha

429、ve to be modified to take on SLOC might have to be modified to take complexity, but often it will depend on the complexity, but often it will depend on the subjective judgement of the estimator.subjective judgement of the estimator.8787Software effort estimation techniquesSoftware effort estimation

430、techniques Algorithmic models, which use effort drivers representing Algorithmic models, which use effort drivers representing characteristics of the target system and the implementation environment characteristics of the target system and the implementation environment to predict effort;to predict

431、effort; Expert judgement, where the advice of knowledgeable staff is Expert judgement, where the advice of knowledgeable staff is solicitsolicited;ed; AnalogyAnalogy( (类推法类推法), where a similar, completed, project is identified and its ), where a similar, completed, project is identified and its actu

432、al effort is used as the basis of the estimate for the new project;actual effort is used as the basis of the estimate for the new project; Parkinson, which identifies the staff effort available to do a project and Parkinson, which identifies the staff effort available to do a project and uses that a

433、s the estimate;uses that as the estimate; Price to win, where the estimate is a figure that appears to be Price to win, where the estimate is a figure that appears to be sufficiently low to win a contract;sufficiently low to win a contract; Topdown, where an overall estimate is formulated for the wh

434、ole project Topdown, where an overall estimate is formulated for the whole project which is then broken down into the effort required for component tasks;which is then broken down into the effort required for component tasks; Bottomup, where component tasks are identified and sized and these Bottomu

435、p, where component tasks are identified and sized and these individual estimates are aggregated.individual estimates are aggregated. Clearly, the Parkinson method is not really an effort prediction method, Clearly, the Parkinson method is not really an effort prediction method, but a method of setti

436、ng the scope of a project. Similarly, price to win is a but a method of setting the scope of a project. Similarly, price to win is a way of identifying a price and not a prediction. On these grounds, way of identifying a price and not a prediction. On these grounds, Boehm rejects them as prediction

437、techniques although they could have Boehm rejects them as prediction techniques although they could have some value as management techniques. some value as management techniques. 8888Bottom-up estimatingBottom-up estimating Estimating methods can be generally divided into bottomup and topdown Estima

438、ting methods can be generally divided into bottomup and topdown approaches. With the bottomup approach the estimator breaks the project approaches. With the bottomup approach the estimator breaks the project into its component tasks and then estimates how much effort will be into its component tasks

439、 and then estimates how much effort will be required to carry out each task. With a large project, the process of down required to carry out each task. With a large project, the process of down into tasks would be a into tasks would be a repetitiverepetitive one: each task would be analysed into its

440、 one: each task would be analysed into its component subtasks and these in turn would be further analysed. It is component subtasks and these in turn would be further analysed. It is suggested that this is repeated until you get to components that can be suggested that this is repeated until you get

441、 to components that can be executed by a single person in about a week or two. The reader may executed by a single person in about a week or two. The reader may wonder why this is not called a topdown approach: after all, you are starting wonder why this is not called a topdown approach: after all,

442、you are starting from the top and working down. Although this topdown analysis is an from the top and working down. Although this topdown analysis is an essential essential precursorprecursor(先驱)(先驱) to bottomup estimating, it is really a separate to bottomup estimating, it is really a separate one

443、that of producing a Work Breakdown Schedule (WBS). The bottomup one that of producing a Work Breakdown Schedule (WBS). The bottomup part comes in adding up the calculated effort for each activity to get an part comes in adding up the calculated effort for each activity to get an overall estimate.ove

444、rall estimate. The bottomup approach is most appropriate at the later, more detailed, The bottomup approach is most appropriate at the later, more detailed, stages of project planning. If this method is used early on in the project stages of project planning. If this method is used early on in the p

445、roject cycle then the estimator will have to make some assumptions about the cycle then the estimator will have to make some assumptions about the characteristics of the final system, for example the number and size of characteristics of the final system, for example the number and size of software

446、components. These will be working assumptions that imply no software components. These will be working assumptions that imply no commitment when it comes to the actual design of the mitment when it comes to the actual design of the application. Where a project is completely novel or there is no hist

447、orical data available, Where a project is completely novel or there is no historical data available, the estimator would be forced to use the bottomup approach.the estimator would be forced to use the bottomup approach.8989The top-down approach and The top-down approach and parametric modelparametri

448、c models s( (参数模型参数模型参数模型参数模型) ) The topdown approach is normally associated with parametric (or The topdown approach is normally associated with parametric (or algorithmic) models. These may be explained using the analogy of algorithmic) models. These may be explained using the analogy of estimatin

449、g the cost of rebuilding a house. This would be of practical concern estimating the cost of rebuilding a house. This would be of practical concern to a houseowner who needs sufficient insurance cover to rebuild their to a houseowner who needs sufficient insurance cover to rebuild their property if d

450、estroyed. Unless the houseowner happens to be in the building property if destroyed. Unless the houseowner happens to be in the building trade it is unlikely that he or she would be able to work out how many trade it is unlikely that he or she would be able to work out how many bricklayerhours, how

451、many carpenterhours, electricianhours and so on bricklayerhours, how many carpenterhours, electricianhours and so on would be required. Insurance companies, however, produce convenient would be required. Insurance companies, however, produce convenient tables where the houseowner can find an estimat

452、e of rebuilding costs tables where the houseowner can find an estimate of rebuilding costs based on such parameters as the number of storeys and the floor space based on such parameters as the number of storeys and the floor space that a house has. This is a simple parametric model.that a house has.

453、 This is a simple parametric model. The effort needed to implement a project will be related mainly to The effort needed to implement a project will be related mainly to variables associated with characteristics of the final system. The form of the variables associated with characteristics of the fi

454、nal system. The form of the parametric model will normally be one or more formulae in the form:parametric model will normally be one or more formulae in the form: effort = (system size) (productivity rate)effort = (system size) (productivity rate) For example, system size might be in the form thousa

455、nds of lines of code For example, system size might be in the form thousands of lines of code (KLOC) and have the specific value of 3 KLOC while the productivity rate (KLOC) and have the specific value of 3 KLOC while the productivity rate was 40 days per KLOC. These values will often be matters of

456、judgement.was 40 days per KLOC. These values will often be matters of judgement.9090The top-down approach and The top-down approach and parametric modelparametric models s (CONT.)CONT.) Some parametric models, such as that implied by function Some parametric models, such as that implied by function

457、points, are focused on system or task size, while others, points, are focused on system or task size, while others, such are COCOMO, are more concerned with productivity such are COCOMO, are more concerned with productivity factors.factors. Where applications are not built using procedural code, the

458、 Where applications are not built using procedural code, the size drivers might be different types of component. For size drivers might be different types of component. For example, where Microsoft Access is being used, an example, where Microsoft Access is being used, an estimator might count table

459、s, forms, queries, reports and so estimator might count tables, forms, queries, reports and so on.on. Having calculated the overall effort required, the problem is Having calculated the overall effort required, the problem is then to allocate proportions of that effort to the various then to allocat

460、e proportions of that effort to the various activities within that project.activities within that project. The topdown and bottomup approaches are not mutually The topdown and bottomup approaches are not mutually exclusive. Project managers will probably try to get a exclusive. Project managers will

461、 probably try to get a number of different estimates from different people using number of different estimates from different people using different methods. Some parts of an overall estimate could different methods. Some parts of an overall estimate could be derived using a topdown approach while o

462、ther parts be derived using a topdown approach while other parts could be calculated using a bottomup method.could be calculated using a bottomup method.9191Expert judgement This is asking for an estimate of task effort from This is asking for an estimate of task effort from someone who is knowledge

463、able about either the someone who is knowledgeable about either the application or the development environment. This application or the development environment. This method is often used when estimate the effort needed to method is often used when estimate the effort needed to change an existing pie

464、ce of software. The estimator change an existing piece of software. The estimator would have to carry out some kind of impact analysis in would have to carry out some kind of impact analysis in order to judge the proportion of code that would be order to judge the proportion of code that would be af

465、fected and from that dererive an estimate. Someone affected and from that dererive an estimate. Someone already familiar with the software would be in the best already familiar with the software would be in the best position to do this.position to do this. Some have suggested that expert judgement i

466、s simply a Some have suggested that expert judgement is simply a matter of guessing, but our own research has shown that matter of guessing, but our own research has shown that experts tend to use a combination of an informal analogy experts tend to use a combination of an informal analogy approach

467、where similar projects from the past are approach where similar projects from the past are identified (see below) ,supplemented by bottomup identified (see below) ,supplemented by bottomup estimating.estimating.9292Estimating by analogy The use of analogy is also called casebased reasoning. The esti

468、mator The use of analogy is also called casebased reasoning. The estimator seeks out projects that have been completed (source cases) and that have seeks out projects that have been completed (source cases) and that have similar characteristics to the new projects (the target case). The effort that

469、similar characteristics to the new projects (the target case). The effort that has been recorded for the matching source case can then be used as a has been recorded for the matching source case can then be used as a base estimate for the target. The estimator should then identify any base estimate

470、for the target. The estimator should then identify any differences between the target and the source and make adjustments to the differences between the target and the source and make adjustments to the base estimate to produce an estimate of effort for the new project.base estimate to produce an es

471、timate of effort for the new project. This can be a good approach where you have information about some This can be a good approach where you have information about some previous projects but not enough to draw generalized conclusions about previous projects but not enough to draw generalized conclu

472、sions about what might be useful drivers or typical productivity rates.what might be useful drivers or typical productivity rates. A problem is how you actually identify the similarities and difference A problem is how you actually identify the similarities and difference between the different appli

473、cations especially where you have a large between the different applications especially where you have a large number of past projects upon which to draw . One attempt to automate this number of past projects upon which to draw . One attempt to automate this selection process is the ANGEL software t

474、ool. This identifies the source selection process is the ANGEL software tool. This identifies the source case that is nearest the target by measuring the case that is nearest the target by measuring the EuclideanEuclidean( (欧几里德的欧几里德的) ) distance between cases. The Euclidean distance is calculated:d

475、istance between cases. The Euclidean distance is calculated: distance = squareroot of (target_parameter1source_parameter1)2+ distance = squareroot of (target_parameter1source_parameter1)2+ (target_parameternsource_parametern)2)(target_parameternsource_parametern)2)9393Function point analysisFunction

476、 point analysis This is a topdown method that was devised by Allen Albrecht when This is a topdown method that was devised by Allen Albrecht when he worked for IBM. Albrecht was investigating programming he worked for IBM. Albrecht was investigating programming productivity and needed some way to qu

477、antify the functional size of productivity and needed some way to quantify the functional size of programs independently of the programming languages in which programs independently of the programming languages in which they had been coded. He developed the idea of function points they had been code

478、d. He developed the idea of function points (FPs).(FPs). The basis of function point analysis is that computebased The basis of function point analysis is that computebased information systems comprises five major components.information systems comprises five major components. External input types a

479、re input transactions which update internal External input types are input transactions which update internal computer puter files. External output types are transactions where data is output to the user. External output types are transactions where data is output to the user. Typically these would

480、be printed reports, as screen displays would tend Typically these would be printed reports, as screen displays would tend to come under external inquiry types (see below).to come under external inquiry types (see below). Logical internal are the standing files used by the system. It refers to a Logi

481、cal internal are the standing files used by the system. It refers to a group of data that is usually accessed together. group of data that is usually accessed together. External interface allow for output and input that may pass to and from External interface allow for output and input that may pass

482、 to and from other computer applications. Examples of this would be the other computer applications. Examples of this would be the transmission of accounting data from an order processing system to the transmission of accounting data from an order processing system to the main main ledgerledger( (分类

483、账分类账) system. Files shared between applications would ) system. Files shared between applications would also be counted here.also be counted here. External inquiry types note the US spelling of inquiry are External inquiry types note the US spelling of inquiry are transactions initiated by the user

484、which provide information that transactions initiated by the user which provide information that directs the system to the details required.directs the system to the details required.9494ConclusionConclusion To summarize some key points:To summarize some key points: Estimate are really management ta

485、rgets;Estimate are really management targets; Collect as much information about previous Collect as much information about previous projects as possible;projects as possible; Use more than one method of estimating;Use more than one method of estimating; Top-down approaches will be used at the earlie

486、r Top-down approaches will be used at the earlier stages of project planning while bottom-up stages of project planning while bottom-up approaches will be more approaches will be more prominentprominent( (突出的突出的突出的突出的) later ) later on;on; Be careful about using other peoples historical Be careful a

487、bout using other peoples historical productivity data as a basic for your estimates, productivity data as a basic for your estimates, especially if it comes from a different environment especially if it comes from a different environment (this includes COCOMO);(this includes COCOMO); Seek a range of

488、 opinion;Seek a range of opinion; Document your method of doing estimates and Document your method of doing estimates and record all your assumption.record all your assumption.9595CHAPTER 6 Activity planningObjectives When you have completed this chapter you will be able to:Produce an activity plan

489、for a project;Produce an activity plan for a project;Estimate the overall duration of a project;Estimate the overall duration of a project;Create a critical path and a Create a critical path and a precedenceprecedence(优先(优先权)权) network for a project;network for a project;9696Introduction A detailed

490、plan for the project must also include a schedule indicating the A detailed plan for the project must also include a schedule indicating the start and completion times for each activity. This will enable us to:start and completion times for each activity. This will enable us to: ensure that the appr

491、opriate resources will be available precisely when required; ensure that the appropriate resources will be available precisely when required; avoid different activities competing for the same resources at the same times;avoid different activities competing for the same resources at the same times; p

492、roduce a detailed schedule showing which staff carry out each activity; produce a detailed schedule showing which staff carry out each activity; produce a detailed plan against which actual achievement may be measured; produce a detailed plan against which actual achievement may be measured; produce

493、 a timed cash flow forecast; produce a timed cash flow forecast; replan the project during its life to correct drift from the target.replan the project during its life to correct drift from the target. To be effective, a plan must be stated as a set of targets, the achievement To be effective, a pla

494、n must be stated as a set of targets, the achievement or nonachievement of which can be unambiguously measured. The activity or nonachievement of which can be unambiguously measured. The activity plan does this by providing a target start and completion date for each plan does this by providing a ta

495、rget start and completion date for each activity. The starts and completions of activities must be clearly visible and activity. The starts and completions of activities must be clearly visible and this one of the reasons why it is advisable to ensure that each and every this one of the reasons why

496、it is advisable to ensure that each and every project activity produces some tangible product or deliverable. Monitoring project activity produces some tangible product or deliverable. Monitoring the projects progress is then, at least in part, a case of ensuring that the the projects progress is th

497、en, at least in part, a case of ensuring that the products of each activity are delivered on time.products of each activity are delivered on time. As a project progresses it is unlikely that everything will go according to As a project progresses it is unlikely that everything will go according to p

498、lan. Much of the job of project management concerns recognizing when plan. Much of the job of project management concerns recognizing when something has gone wrong, identifying its causes and revising the plan to something has gone wrong, identifying its causes and revising the plan to mitigatemitig

499、ate( (减轻减轻) its effects. The activity plan should provide a means of ) its effects. The activity plan should provide a means of evaluating the consequences of not meeting any of the activity target dates evaluating the consequences of not meeting any of the activity target dates and guidance as to h

500、ow the plan might most effectively be modified to bring and guidance as to how the plan might most effectively be modified to bring the project back to target. the project back to target. 9797The objectives of activity planningThe objectives of activity planning In addition to providing project and

501、resource schedules. activity planning aims to achieve a number of other objectives which may be summarized as follows.Feasibility assessment Is the project possible Feasibility assessment Is the project possible within required timescales and resource within required timescales and resource constrai

502、nts ? constraints ? Resource allocation Resource allocation Detailed costing Detailed costing Motivation An effective way of motivating staffMotivation An effective way of motivating staffCoordination Coordination 9898When to plan Planning is an Planning is an ongoingongoing(连续进行的)(连续进行的) process of

503、 process of refinement, each iteration becoming more detailed and refinement, each iteration becoming more detailed and more accurate than the last .Over successive iterations, more accurate than the last .Over successive iterations, the emphasis and purpose of planning will shift.the emphasis and p

504、urpose of planning will shift. During the feasibility study and project startup, the main During the feasibility study and project startup, the main purpose of planning will be to estimate timescales and purpose of planning will be to estimate timescales and the risks of not achieving target complet

505、ion dates or the risks of not achieving target completion dates or keeping within budget. As the project proceeds beyond keeping within budget. As the project proceeds beyond the feasibility study, the emphasis will be placed upon the feasibility study, the emphasis will be placed upon the productio

506、n of activity plans for ensuring resource the production of activity plans for ensuring resource availability and cash flow control.availability and cash flow control. Throughout the project, until the final deliverable has Throughout the project, until the final deliverable has reached the customer

507、, monitoring and replanning must reached the customer, monitoring and replanning must continue to correct any drift that might prevent meeting continue to correct any drift that might prevent meeting time or cost targets. time or cost targets. 9999Defining activities Before we try to identify the ac

508、tivities that make up a project it is Before we try to identify the activities that make up a project it is worth reviewing what we mean by a project and its activities and worth reviewing what we mean by a project and its activities and adding some assumptions that will be relevant when we start to

509、 adding some assumptions that will be relevant when we start to produce an activity plan.produce an activity plan. A project is composed of a number of interrelated activities.A project is composed of a number of interrelated activities. A project may start when at least one of its activities is rea

510、dy to start.A project may start when at least one of its activities is ready to start. A project will be completed when all of the activities it encompasses A project will be completed when all of the activities it encompasses have been completed.have been completed. If an activity must have a clear

511、ly defined start and a clearly defined If an activity must have a clearly defined start and a clearly defined endpoint, normally marked by the production of a tangible endpoint, normally marked by the production of a tangible deliverable.deliverable. An activity requires a resource (as most do) then

512、 that resource An activity requires a resource (as most do) then that resource requirement must be forecastable and is assumed to be required at requirement must be forecastable and is assumed to be required at a constant level throughout the duration of the activity.a constant level throughout the

513、duration of the activity. The duration of an activity must be forecastable assuming normal The duration of an activity must be forecastable assuming normal circumstances, and the reasonable availability of resources.circumstances, and the reasonable availability of resources. Some activities might r

514、equire that others are completed before they Some activities might require that others are completed before they can begin (these are known as precedence requirements) .can begin (these are known as precedence requirements) .100100Identifying activities Essentially there are three approaches to iden

515、tifying the activities or tasks that make up a project Activity-basedapproachProduct-basedapproachHybrid(混杂)approach.101101Theactivity-basedapproachTheactivity-basedapproach(1 1) The activitybased approach consists of creating a list of all the The activitybased approach consists of creating a list

516、of all the activities that the project is thought to involve. This might involve a activities that the project is thought to involve. This might involve a brainstormingbrainstorming(自由讨论)(自由讨论)session involving the whole project team session involving the whole project team or it might or it might s

517、tem fromstem from(起源于)(起源于) an analysis of similar past projects. an analysis of similar past projects. When listing activities, particularly for a large project, it might be When listing activities, particularly for a large project, it might be helpful to subdivide the project into the main lifesty

518、le stages and helpful to subdivide the project into the main lifestyle stages and consider each of these separately.consider each of these separately. Rather than doing this in an Rather than doing this in an ad hocad hoc(特别的)(特别的) manner, with the manner, with the obvious risks of omitting or doubl

519、ecounting tasks, a much favoured obvious risks of omitting or doublecounting tasks, a much favoured way of generating a task list is to create a way of generating a task list is to create a WorkBreakdownWorkBreakdownStructureStructure(WBS). This involves identifying the main (or highlevel) (WBS). Th

520、is involves identifying the main (or highlevel) tasks required to complete a project and then breaking each of tasks required to complete a project and then breaking each of these down into a set of lowerlevel tasks. Figure 6.2these down into a set of lowerlevel tasks. Figure 6.2(P122)(P122) shows a

521、 shows a fragment of a WBS where the design task has been broken down fragment of a WBS where the design task has been broken down into three tasks and one of these has been further decomposed into into three tasks and one of these has been further decomposed into two tasks.two tasks. Activities are

522、 added to a branch in the structure if they directly Activities are added to a branch in the structure if they directly contribute to the task immediately above if they do not contribute to contribute to the task immediately above if they do not contribute to the parent task, then they should not be

523、 added to that branch. The the parent task, then they should not be added to that branch. The tasks at each level in any branch should include everything that is tasks at each level in any branch should include everything that is required to complete the task at the higher level.required to complete

524、 the task at the higher level.102102Theactivity-basedapproachTheactivity-basedapproach(2 2) When preparing a WBS. consideration must be given to the final When preparing a WBS. consideration must be given to the final level of detail or depth of the structure. Too great a depth will result level of

525、detail or depth of the structure. Too great a depth will result in a large number of small tasks that will be difficult to manage, in a large number of small tasks that will be difficult to manage, whereas a too shallow structure will provide insufficient detail for whereas a too shallow structure w

526、ill provide insufficient detail for project control. Each branch should, however, be broken down at project control. Each branch should, however, be broken down at least to a level where each leaf may be assigned to an individual or least to a level where each leaf may be assigned to an individual o

527、r responsible section within the organization.responsible section within the organization. Advantages claimed for the WBS approach include the belief that it Advantages claimed for the WBS approach include the belief that it is much more likely to result in a task catalogue that is complete and is m

528、uch more likely to result in a task catalogue that is complete and is composed of nonoverlapping activities. Note that it is only the is composed of nonoverlapping activities. Note that it is only the leaves of the structure that comprise the list of activities in the leaves of the structure that co

529、mprise the list of activities in the project.project. The WBS also represents a structure that may be refined as the The WBS also represents a structure that may be refined as the project proceeds. In the early part of a project we might use a project proceeds. In the early part of a project we migh

530、t use a relatively highlevel or shallow WBS, which relatively highlevel or shallow WBS, which cancanbe developed be developed asasinformation becomes available, typically during the projects analysis information becomes available, typically during the projects analysis and specification phases.and s

531、pecification phases. Once the projects activities have been identified (whether or not by Once the projects activities have been identified (whether or not by using a WBS), they need to be sequenced in the sense of deciding using a WBS), they need to be sequenced in the sense of deciding which activ

532、ities need to be completed before others can start.which activities need to be completed before others can start.103103Theproduct-basedapproach The productbased approach consists of producing a The productbased approach consists of producing a Product Breakdown Structure and a Product Flow Product B

533、reakdown Structure and a Product Flow Diagram. The PFD indicates, for each product, which Diagram. The PFD indicates, for each product, which other products are required as inputs. The PFD can other products are required as inputs. The PFD can therefore be easily transformed into an ordered list of

534、therefore be easily transformed into an ordered list of activities by identifying the transformations that turn activities by identifying the transformations that turn some products into others. some products into others. ProponentProponents s(支持者)(支持者) of this of this approach claim that it is less

535、 likely that a product will be approach claim that it is less likely that a product will be left out of a PBS than that an activity might be omitted left out of a PBS than that an activity might be omitted from an unstructured activity list.from an unstructured activity list. This approach is partic

536、ularly appropriate if using a This approach is particularly appropriate if using a methodology such as SSADM, which clearly specifies, methodology such as SSADM, which clearly specifies, for each step or task, each of the products required and for each step or task, each of the products required and

537、 the activities required to produce it. the activities required to produce it. The SSADM Reference Manual also supplies generic The SSADM Reference Manual also supplies generic activity networks and using the projectspecific PBS and activity networks and using the projectspecific PBS and derived PFD

538、, these may be used as a basis for derived PFD, these may be used as a basis for developing a projectspecific activity network. Figure 6.4 developing a projectspecific activity network. Figure 6.4 illustrates an activity network for the activities required to illustrates an activity network for the

539、activities required to create the products in Figure 6.3.create the products in Figure 6.3.104104Thehybridapproach(1)Thehybridapproach(1) The WBS illustrated in Figure 6.2 is based entirely on a The WBS illustrated in Figure 6.2 is based entirely on a structuring of activities. Alternatively, and pe

540、rhaps more structuring of activities. Alternatively, and perhaps more commonly, a WBS may be based upon the projects commonly, a WBS may be based upon the projects products as illustrated in Figure 6.5, which is in turn products as illustrated in Figure 6.5, which is in turn based on a simple list o

541、f final deliverables and, for each based on a simple list of final deliverables and, for each deliverable, a set of activities required to produce that deliverable, a set of activities required to produce that product. Figure 6.5 illustrates a flat WBS and it is likely product. Figure 6.5 illustrate

542、s a flat WBS and it is likely that, in a project of any size, it would be beneficial to that, in a project of any size, it would be beneficial to introduce additional levels structuring both products introduce additional levels structuring both products and activities. The degree to which the struct

543、uring is and activities. The degree to which the structuring is productbased or activitybased might be influenced by productbased or activitybased might be influenced by the nature of the project and the particular development the nature of the project and the particular development method adopted.

544、As with a purely activitybased WBS, method adopted. As with a purely activitybased WBS, having identified the activities we are then left with the having identified the activities we are then left with the task of sequencing them.task of sequencing them.105105Thehybridapproach(2) A framework dictati

545、ng the number of levels and the A framework dictating the number of levels and the nature of each level in the structure may be imposed on nature of each level in the structure may be imposed on a WBS. For example, in their MITP methodology, IBM a WBS. For example, in their MITP methodology, IBM rec

546、ommend that the following five levels should be used recommend that the following five levels should be used in a WBS:in a WBS: Level1:Project.Level1:Project. Level2:DeliverablesLevel2:Deliverables such as software, manuals and such as software, manuals and training courses.training courses. Level3:

547、ComponentsLevel3:Componentswhich are the key work items which are the key work items needed to produce deliverables, such as the modules needed to produce deliverables, such as the modules and tests required to produce the system software.and tests required to produce the system software. Level4:Wor

548、k-packagesLevel4:Work-packages which are major work items, or which are major work items, or collections of related tasks, required to produce a collections of related tasks, required to produce a ponent. Level5:TasksLevel5:Tasks which are tasks that will normally be the which are tasks that will no

549、rmally be the responsibility of a single person.responsibility of a single person.106106Sequencing and scheduling activitiesSequencing and scheduling activities Throughout a project, we will require a schedule that clearly Throughout a project, we will require a schedule that clearly indicates when

550、each of the projects activities is planned to occur indicates when each of the projects activities is planned to occur and what resources it will need. One way of presenting such a plan and what resources it will need. One way of presenting such a plan is to use a bar chart asis to use a bar chart a

551、s shown in Figure 6.6 (p126).shown in Figure 6.6 (p126). The chart shown has been drawn up taking account of the nature of The chart shown has been drawn up taking account of the nature of the development process (that is, certain tasks must be completed the development process (that is, certain tas

552、ks must be completed before others may start) and the resources that are available (for before others may start) and the resources that are available (for example, activity C follows activity B because Andy cannot work on example, activity C follows activity B because Andy cannot work on both tasks

553、at the same time). In drawing up the chart, we have both tasks at the same time). In drawing up the chart, we have therefore done two things we have sequenced the tasks and therefore done two things we have sequenced the tasks and scheduled them. The scheduling has had to take account of the schedul

554、ed them. The scheduling has had to take account of the availability of staff and the ways in which the activities have been availability of staff and the ways in which the activities have been allocated to them. allocated to them. In the case of small projects, this combined sequencingscheduling In

555、the case of small projects, this combined sequencingscheduling approach might be quite suitable, particularly where we wish to approach might be quite suitable, particularly where we wish to allocate individuals to particular tasks at an early planning stage. allocate individuals to particular tasks

556、 at an early planning stage. However, on larger projects it is better to separate out these two However, on larger projects it is better to separate out these two activities: to sequence the tasks according to their logical activities: to sequence the tasks according to their logical relationships a

557、nd then to schedule them taking into account relationships and then to schedule them taking into account resources and other factors.resources and other factors.107107Network planning modelsNetwork planning models These project scheduling techniques model the projects These project scheduling techni

558、ques model the projects activities and their relationships as a network. In the activities and their relationships as a network. In the network, time flows from left to right. network, time flows from left to right. These techniques used an These techniques used an activity-on-arrowactivity-on-arrow

559、approach to approach to visualizing the project as a network. More recently a visualizing the project as a network. More recently a variation on these techniques, called variation on these techniques, called precedenceprecedencenetworks,networks,has become popular. This method uses has become popula

560、r. This method uses activity-on-nodeactivity-on-nodenetworks where activities are networks where activities are represented as nodes and the links between nodes represented as nodes and the links between nodes represent precedence (or sequencing) requirements. represent precedence (or sequencing) re

561、quirements. This latter approach avoids some of the problems This latter approach avoids some of the problems inherent in the activityonarrow representation and inherent in the activityonarrow representation and provides more scope for easily representing certain provides more scope for easily repre

562、senting certain situations. It is this method that is adopted in the majority situations. It is this method that is adopted in the majority of computer applications currently available. of computer applications currently available. 108108 Formulating a network model The first stage in creating a net

563、work model is to represent the activities and their interrelationships as a graph. In activityonnode we do this by representing activities as links (arrowed lines) in the graph the nodes (circles) representing the events of activities starting and finishing. 109109Constructing precedence networksRul

564、es for their construction:Rules for their construction: AprojectnetworkshouldhaveonlyonestartnodeAprojectnetworkshouldhaveonlyonestartnode AprojectnetworkshouldhaveonlyoneendnodeAprojectnetworkshouldhaveonlyoneendnode AnodehasdurationAnodehasduration LinksnormallyhavenodurationLinksnormallyhavenodur

565、ation Links represent the Links represent the relationships between activities. In Figure 6.9 (p128) relationships between activities. In Figure 6.9 (p128) installation cannot start until programs testing is installation cannot start until programs testing is complete. Program testing cannot start u

566、ntil both complete. Program testing cannot start until both coding and data takeon have been completed.coding and data takeon have been completed. PrecedentsaretheimmediateprecedingactivitiesPrecedentsaretheimmediateprecedingactivities TimemovesfromlefttorightTimemovesfromlefttoright Anetworkmaynotc

567、ontainloopsAnetworkmaynotcontainloops AnetworkshouldnotcontainAnetworkshouldnotcontaindangledangles s ( (悬吊节点悬吊节点) )110110Representing lagged activities(滞后活动)(滞后活动) We might come across situations where we wished to We might come across situations where we wished to undertake two activities in paral

568、lel so long as there is a undertake two activities in parallel so long as there is a lag between the two. We might wish to document lag between the two. We might wish to document amendments to a program as it was being testedamendments to a program as it was being testedparticularly if evaluating a

569、prototype .In such a case we particularly if evaluating a prototype .In such a case we could designate an activity test and document could designate an activity test and document amendments. This would, however, make it impossible amendments. This would, however, make it impossible to show that amen

570、dment recording could start, say ,one to show that amendment recording could start, say ,one day after testing had begun and finish a little after the day after testing had begun and finish a little after the completion of pletion of testing. Where activities can occur in parallel with a time lag Wh

571、ere activities can occur in parallel with a time lag between them we represent the lag with a duration on between them we represent the lag with a duration on the linking arrow as shown in Figure 6.13the linking arrow as shown in Figure 6.13(P130P130).This .This indicates that documenting amendments

572、 can start one indicates that documenting amendments can start one day after the start of prototype testing and will be day after the start of prototype testing and will be completed two days after prototype testing is completed completed two days after prototype testing is completed 111111Hammock a

573、ctivities(附加活动附加活动) Hammock activities are activities which, in themselves, have zero duration but are assumed to start at the same time as the first hammocked activity and to end at the same time as the last one. They are normally used for representing overhead costs or other resources that will be

574、 incurred or used at a constant rate over the duration of a set of activities.112112Labelling conventions(标识约定)(标识约定)There are a number of differing conventions that There are a number of differing conventions that have been adopted for entering information on have been adopted for entering informat

575、ion on an activityonnode network. One of the more an activityonnode network. One of the more common conventions for labeling nodes, and the common conventions for labeling nodes, and the one adopted here, is shown on the left(P131).one adopted here, is shown on the left(P131).The activity label is u

576、sually a code developed to The activity label is usually a code developed to uniquely identify the activity and may incorporate uniquely identify the activity and may incorporate a project code. The activity description will a project code. The activity description will normally be a brief activity

577、name such as Test normally be a brief activity name such as Test takeon module. The other items in our activity takeon module. The other items in our activity node will be explained as we discuss the node will be explained as we discuss the analysis of a project network. analysis of a project networ

578、k. 113113Adding the time dimension Having created the logical network model indicating what Having created the logical network model indicating what needs to be done and the interrelationships between needs to be done and the interrelationships between those activities, we are now ready to start thi

579、nking about those activities, we are now ready to start thinking about when each activity should be undertaken.when each activity should be undertaken. The critical path approach is concerned with two primary The critical path approach is concerned with two primary objectives: planning the project i

580、n such a way that it is objectives: planning the project in such a way that it is completed as quickly as possible; and identifying those completed as quickly as possible; and identifying those activities where a delay in their execution is likely to activities where a delay in their execution is li

581、kely to affect the overall end date of the project or later affect the overall end date of the project or later activities start dates.activities start dates. The method requires that for each activity we have an The method requires that for each activity we have an estimate of its duration. The net

582、work is then analysed by estimate of its duration. The network is then analysed by carring out a carring out a forwardpassforwardpass, to calculate the earliest dates , to calculate the earliest dates at which activities may at which activities may commencecommence and the project be and the project

583、 be completed, and completed, and abackwardpass,abackwardpass, to calculate the latest to calculate the latest start dates for activities and the start dates for activities and the criticalpathcriticalpath. . P131 Table6.1 P132 Figure 6.14P131 Table6.1 P132 Figure 6.14114114Chap 7 Risk managementWhe

584、n you have completed this chapter you will be able to:identify the factors putting a project at risk;identify the factors putting a project at risk;categorize and prioritize actions for risk categorize and prioritize actions for risk elimination or elimination or containmentcontainment(遏制)(遏制); ;qua

585、ntify the likely effects of risk on project quantify the likely effects of risk on project timescales. timescales. 115115Introduction This seemed reasonable at the time the plan was This seemed reasonable at the time the plan was created as the development team allocated to do the created as the dev

586、elopment team allocated to do the work. However, two of the developers then left for betterwork. However, two of the developers then left for betterpaid jobs, and so far only one replacement has been paid jobs, and so far only one replacement has been recruited, who happens to be a trainee. recruite

587、d, who happens to be a trainee. In the case of Brigitte and the Brightmouth payroll In the case of Brigitte and the Brightmouth payroll implementation project, imagine that a payroll package implementation project, imagine that a payroll package has been carefully selected and purchased. However, a

588、has been carefully selected and purchased. However, a new requirement emerges that the details stored on the new requirement emerges that the details stored on the payroll database should be accessible by a new payroll database should be accessible by a new application that calculates the staff cost

589、s for each course application that calculates the staff costs for each course delivered by the college. Unfortunately, the purchased delivered by the college. Unfortunately, the purchased payroll application does not allow external applications to payroll application does not allow external applicat

590、ions to access the payroll database. access the payroll database. 116116Risk两种定义两种定义 An uncertain event or condition that, if it occurs, has a An uncertain event or condition that, if it occurs, has a positive or negative effect on a projects objectives.positive or negative effect on a projects obje

591、ctives. the chance of exposure to the the chance of exposure to the adverse consequencesadverse consequences ( (相反效果相反效果) of future events.) of future events.People may use different terms, but the key People may use different terms, but the key elements of a risk follow.elements of a risk follow. I

592、trelatestothefutureItrelatestothefuture Risk planning involves Risk planning involves speculating aboutspeculating about(思考关于(思考关于) future events. The future events. The future is inherently uncertain. future is inherently uncertain. ItinvolvesItinvolvescausecauseandandeffecteffectFor example, a cos

593、t For example, a cost overrun might be identified as a risk, but the simple overrun might be identified as a risk, but the simple description of cost overrun gives the consequence description of cost overrun gives the consequence of some adverse event, but does not say what caused of some adverse ev

594、ent, but does not say what caused it. it. 117117Categories of risk(1) Project risks are those that could prevent the Project risks are those that could prevent the achievement of the objectives given to the project achievement of the objectives given to the project manager and the project team.manag

595、er and the project team. A diagrammatic representation of which appears in A diagrammatic representation of which appears in Figure 7.2Figure 7.2(p149p149). . The box labeled Actors refers to all the people involved in the The box labeled Actors refers to all the people involved in the development o

596、f the application in question. These include the development of the application in question. These include the various development specialists, the different users groups, and various development specialists, the different users groups, and managers with differing responsibilities. A typical risk in

597、 this area managers with differing responsibilities. A typical risk in this area is that high staff is that high staff turnoverturnover(职工流动率)(职工流动率) leads to information of leads to information of value to the project being lost. For example, if a software value to the project being lost. For examp

598、le, if a software developer builds a software component and then leaves before it developer builds a software component and then leaves before it has been fully tested, the team member taking over that has been fully tested, the team member taking over that component might find that their lack of fa

599、miliarity with the component might find that their lack of familiarity with the software makes diagnosis and correction of faults difficult.software makes diagnosis and correction of faults difficult.118118Categories of risk(2) the box labeled Technology encompasses both the technology the box label

600、ed Technology encompasses both the technology used to implement the application and that embedded in the used to implement the application and that embedded in the delivered products. Risking here could relate to the delivered products. Risking here could relate to the appropriateness of the technol

601、ogies and to possible faults within appropriateness of the technologies and to possible faults within them, especially if they are them, especially if they are novelnovel(新颖的)(新颖的). . Structure in Figure 7.2 describes the management structures Structure in Figure 7.2 describes the management structu

602、res and systems, including those affecting planning and control. For and systems, including those affecting planning and control. For example, the implementation will need the users to carry out example, the implementation will need the users to carry out some tasks, but the responsibility for manag

603、ing the users some tasks, but the responsibility for managing the users contribution to the project might not have been clearly allocated.contribution to the project might not have been clearly allocated. Tasks, in the same diagram, relates to the work to be carried Tasks, in the same diagram, relat

604、es to the work to be carried out. For instance, the complexity of the work might lead to delays out. For instance, the complexity of the work might lead to delays because of the additional time required to coordinate and because of the additional time required to coordinate and integrate the large n

605、umber of different elements.integrate the large number of different elements. In Figure 7.2 each box is linked to all the remaining In Figure 7.2 each box is linked to all the remaining boxes. Risks often arise from the relationships among boxes. Risks often arise from the relationships among the gr

606、oups of factors .the groups of factors .119119A framework for dealing with risk planning for risk includes these steps:planning for risk includes these steps:(i) risk identification;(i) risk identification;(ii) risk analysis and prioritization;(ii) risk analysis and prioritization;(iii) risk plannin

607、g;(iii) risk planning;(iv) risk monitoring.(iv) risk monitoring. Steps (Steps () to () to () above will probably be repeated. When the ) above will probably be repeated. When the major risks that could prevent a project from being successful major risks that could prevent a project from being succes

608、sful have been identified, plans can be made to reduce or remove the have been identified, plans can be made to reduce or remove the threat of those risks. The risks should then be reassessed to threat of those risks. The risks should then be reassessed to make sure that the original risks have been

609、 reduced sufficiently make sure that the original risks have been reduced sufficiently and that new risks have inadvertently introduced. Say that a risk and that new risks have inadvertently introduced. Say that a risk is identified that staff inexperience with a new technology could is identified t

610、hat staff inexperience with a new technology could lead to delays in software development. To reduce this risk, lead to delays in software development. To reduce this risk, consultants expert in the new technology might be introduced. consultants expert in the new technology might be introduced. How

611、ever, the use of consultants might introduce new risk, for However, the use of consultants might introduce new risk, for example that knowledge about the new technology is not example that knowledge about the new technology is not transferred to the permanent staff ,which makes software transferred

612、to the permanent staff ,which makes software maintenance problematic when the consultants leave .Having maintenance problematic when the consultants leave .Having identified this new risk ,future risk reduction activities can be identified this new risk ,future risk reduction activities can be plann

613、ed . planned . 120120Risk identification The two main approaches to the identification of The two main approaches to the identification of risks are the use of risks are the use of checklistchecklist and andbrainstormingbrainstorming. .Checklists are simply list of the risks that have Checklists are

614、 simply list of the risks that have been found to occur regularly in software been found to occur regularly in software development projects. development projects. Table 7.2 P152 Ideally a group of representative Table 7.2 P152 Ideally a group of representative project stakeholders should go through

615、 a project stakeholders should go through a checklist deciding which risks might apply to checklist deciding which risks might apply to their project. In many cases the creators of the their project. In many cases the creators of the checklist have also suggested potential checklist have also sugges

616、ted potential countermeasurecountermeasures for each risk and circulate s for each risk and circulate their findings to some of her colleagues for their findings to some of her colleagues for comment. comment. 121121Brainstorming Representatives of the main stakeholders can Representatives of the ma

617、in stakeholders can be brought together, ideally, once some kind of be brought together, ideally, once some kind of preliminary plan has been drafted. They then preliminary plan has been drafted. They then identify, using their individual knowledge of identify, using their individual knowledge of di

618、fferent parts of the project, the particular different parts of the project, the particular problems that might occur. problems that might occur. Brainstorming can also be used to identify Brainstorming can also be used to identify possible solutions to the problems that emerge. possible solutions t

619、o the problems that emerge. One useful outcome of such an approach is that One useful outcome of such an approach is that the collaborative approach may generate a the collaborative approach may generate a sense of ownership in the project. sense of ownership in the project. 122122Causal mapping(因果关

620、系图) One way of identifying possible threats to the success of One way of identifying possible threats to the success of a project and the measures that might eliminate or a project and the measures that might eliminate or reduce them is the use of causal mapping. Causal maps reduce them is the use o

621、f causal mapping. Causal maps and diagrams represent the chains of causes and effects and diagrams represent the chains of causes and effects that will influence the outcomes in a particular area of that will influence the outcomes in a particular area of activity. activity. Figure 7.3 P153 shows an

622、 example of such a map. The Figure 7.3 P153 shows an example of such a map. The nodes in the diagram represent various factors ornodes in the diagram represent various factors or conceptvariablesconceptvariables that people see as being important. It that people see as being important. It should be

623、noted that these are should be noted that these are notnot activities. They are activities. They are generally characteristics of the environment or the generally characteristics of the environment or the project approach. Examples of these factors could be project approach. Examples of these factor

624、s could be high staff high staff turnoverturnover, uncertain user requirements, , uncertain user requirements, developer experience. Where possible, positive and developer experience. Where possible, positive and negative aspects of the concept variable are provided. negative aspects of the concept

625、variable are provided. The nodes show how the different factors influence one The nodes show how the different factors influence one another. Figure 7.3 Causal/another. Figure 7.3 Causal/cognitivecognitive( (认知认知) Map of a ) Map of a problem areaproblem area123123Risk assessmentRisk assessment A com

626、mon problem with risk identification, particularly for the more anxious, A common problem with risk identification, particularly for the more anxious, is that a list of risks is potentially endless. Some way is therefore needed of is that a list of risks is potentially endless. Some way is therefore

627、 needed of distinguishing the more damaging and likely risks. This can be done by distinguishing the more damaging and likely risks. This can be done by estimating the estimating the risk exposurerisk exposure( (风险承担风险承担) for each risk using the formula:) for each risk using the formula:risk exposur

628、e = potential damage) X (probability of occurrence)risk exposure = potential damage) X (probability of occurrence) Using the most rigorous bur not necessarily the most practical approach, Using the most rigorous bur not necessarily the most practical approach, the potential damage would be assessed

629、as a money value. Say all the the potential damage would be assessed as a money value. Say all the software being developed for an application was stored on a computer that software being developed for an application was stored on a computer that could be destroyed by a flood. It might be estimated

630、that if a flood occurred could be destroyed by a flood. It might be estimated that if a flood occurred a new computer configuration could be installed and the software developed a new computer configuration could be installed and the software developed again from scratch for 500,000. It might also b

631、e estimated that where the again from scratch for 500,000. It might also be estimated that where the computer is located there is a 1 in 100 chance of flooding actually computer is located there is a 1 in 100 chance of flooding actually happening, that is a probability of 0.01. The risk exposure in

632、this case would happening, that is a probability of 0.01. The risk exposure in this case would be:be:500,000 X 0.01 = 5,000500,000 X 0.01 = 5,000 A crude way of understanding this value is as the minimum amount of A crude way of understanding this value is as the minimum amount of money an insurance

633、 company would require by way of a money an insurance company would require by way of a premiumpremium( (保险费保险费) if ) if you could you could insure againstinsure against (防止受伤害)(防止受伤害)this loss. If 100 companies, all in this loss. If 100 companies, all in the same position, each contributed 5,000 to

634、 a fund then, when the 1 in the same position, each contributed 5,000 to a fund then, when the 1 in 100 chance of the flood actually occurred, there would be enough money in 100 chance of the flood actually occurred, there would be enough money in the fund to cover the cost of recovery.the fund to c

635、over the cost of recovery.124124Risk planningRisk planningHaving identified the major risks and allocated priorities, the task is to decide how to deal with them. risk acceptancerisk acceptancerisk avoidancerisk avoidancerisk reduction and mitigationrisk reduction and mitigationrisk transferrisk tra

636、nsfer125125Risk acceptance This is the donothing option. We will already, in the risk prioritization process, have decided to ignore some risks in order to concentrate on the more likely or damaging. We could decide that the damage inflicted by some risks would be less than the costs of action that

637、might reduce the probability of a risk happening.126126Risk avoidance Some activities may be so prone to accident that it is best to avoid them altogether. If you are worried about crocodiles then dont go into the water. For example, given all the problems with developing software solutions from scr

638、atch, managers might decide to retain existing clerical methods, or to buy an off the shelf solution.127127Risk reduction Here we decided to go ahead with a course of action despite the Here we decided to go ahead with a course of action despite the risks, but take precautions that reduce the probab

639、ility of the risk.risks, but take precautions that reduce the probability of the risk. This chapter started with a This chapter started with a scenarioscenario where two of the staff where two of the staff scheduled to work on Amandas development project at IOE scheduled to work on Amandas developme

640、nt project at IOE departed for other jobs. If this has been identified as a risk, steps departed for other jobs. If this has been identified as a risk, steps might have been taken to reduce possible departures of staff. For might have been taken to reduce possible departures of staff. For instance,

641、the developers might have been promised generous instance, the developers might have been promised generous bonuses to be paid on successful completion of the project. bonuses to be paid on successful completion of the project. Recall that Brigette had a problem at Brightmouth College: after the Rec

642、all that Brigette had a problem at Brightmouth College: after the purchase of the payroll package, a requirement for the payroll purchase of the payroll package, a requirement for the payroll database to be accessed by another application was identified. database to be accessed by another applicatio

643、n was identified. Unfortunately, the application that had been bought did not allow Unfortunately, the application that had been bought did not allow such access. Brigette might have specified that the selected such access. Brigette might have specified that the selected package must use a widely ac

644、cepted data management system like package must use a widely accepted data management system like Oracle that allows easier integration. Oracle that allows easier integration. Risk mitigation can sometimes be distinguished from risk reduction. Risk mitigation can sometimes be distinguished from risk

645、 reduction. RiskreductionRiskreduction attempts to reduce the likelihood of the risk occurring. attempts to reduce the likelihood of the risk occurring. RiskmitigationRiskmitigationis action.is action.128128Risk transfer In this case the risk is transferred to another person or In this case the risk

646、 is transferred to another person or organization. With software projects, an example of this organization. With software projects, an example of this would be where a software development task is would be where a software development task is outsourceoutsourced(d(外包外包) to an outside agency for a fi

647、xed fee. ) to an outside agency for a fixed fee. You might expect the supplier to quote a higher figure to You might expect the supplier to quote a higher figure to cover the risk that the project takes longer than the cover the risk that the project takes longer than the average expected time. On t

648、he other hand, a wellaverage expected time. On the other hand, a wellestablished external organization might have productivity established external organization might have productivity advantages as its developers are experienced in the advantages as its developers are experienced in the type of dev

649、elopment to be carried out. The need to type of development to be carried out. The need to compete with other software development specialists compete with other software development specialists would also tend to drive prices down.would also tend to drive prices down.129129Chap 8 Resource allocatio

650、n ObjectivesWhen you have completed this chapter you will be able to:identify the resources required for a projectidentify the resources required for a projectmake the demand for resources more even make the demand for resources more even throughout the life of a projectthroughout the life of a proj

651、ectproduces a work plan and resource scheduleproduces a work plan and resource schedule130130The nature of resources In general , resources will fall into one of seven categories.In general , resources will fall into one of seven categories. Labour The main items in this category will be members of

652、the development project Labour The main items in this category will be members of the development project team such as the project manager ,systems analysts and software developers . team such as the project manager ,systems analysts and software developers . Equally important will be the quality as

653、surance team and other support staff and any Equally important will be the quality assurance team and other support staff and any employees of the client organization who might be required to undertake or employees of the client organization who might be required to undertake or participate in speci

654、fic activities.participate in specific activities. Equipment Equipment Materials Materials are items that are consumed , rather than equipment that is used. Materials Materials are items that are consumed , rather than equipment that is used. They are of little They are of little consequenceconseque

655、nce(重要性)(重要性) in most software projects but can be in most software projects but can be important for some software that is to be widely distributed might , for example , important for some software that is to be widely distributed might , for example , require supplies of disks to be specially obta

656、ined.require supplies of disks to be specially obtained. Space For projects that are undertaken with existing staff , space is normally readily Space For projects that are undertaken with existing staff , space is normally readily available . If any additional staff ( recruited or contracted ) shoul

657、d be needed then available . If any additional staff ( recruited or contracted ) should be needed then office space will need to be found .office space will need to be found . Services Some projects will require Services Some projects will require procurementprocurement(获得)(获得) of specialist service

658、s of specialist services development of a while area distributed system , for example , requires scheduling of development of a while area distributed system , for example , requires scheduling of telecommunications services.telecommunications services. Time Time is the resource that is being Time T

659、ime is the resource that is being offsetoffset(补偿)(补偿) against the other primary against the other primary resources project timescales can sometimes be reduced by increasing other resources project timescales can sometimes be reduced by increasing other resources and will almost certainly be extend

660、ed if they are unexpectedly reduced .resources and will almost certainly be extended if they are unexpectedly reduced . Money Money is a secondary resource it is used to buy other resources and will be Money Money is a secondary resource it is used to buy other resources and will be consumed as othe

661、r resources are used . consumed as other resources are used . 131131Identifying resources requirements The first step in producing a resource allocation The first step in producing a resource allocation plan is to list the resources that will be required plan is to list the resources that will be re

662、quired along with the expected level of demand . This along with the expected level of demand . This will normally be done by considering each will normally be done by considering each activity in turn and identifying the resources activity in turn and identifying the resources required . It is like

663、ly , however , that there will required . It is likely , however , that there will also be resources required that are not activity also be resources required that are not activity specific but are part of the projects infrastructure specific but are part of the projects infrastructure ( such as the

664、 project manager ) or required to ( such as the project manager ) or required to support other resources ( office space support other resources ( office space )132132Identifying resources requirements(CONT.)Table 8.1Table 8.1 P178 Part of Amandas resource P178 Part of Amandas resource requirements l

665、istrequirements listAt this stage, it is necessary that the resource At this stage, it is necessary that the resource requirements list be as comprehensive(requirements list be as comprehensive(广泛的广泛的) ) as possibleit is better that something is included as possibleit is better that something is inc

666、luded that may later be deleted as unnecessary than to that may later be deleted as unnecessary than to omit something essential. Amanda has therefore omit something essential. Amanda has therefore included additional office space as a possible included additional office space as a possible requirem

667、ent.requirement.133133Scheduling resources Having produced the resource requirements list, the next Having produced the resource requirements list, the next stage is to map this on to the activity plan to assess the stage is to map this on to the activity plan to assess the distribution of resources

668、 required over the duration of the distribution of resources required over the duration of the project. This is best done by representing the activity project. This is best done by representing the activity plan as a bar chart and using this to produce a resource plan as a bar chart and using this t

669、o produce a resource histogramhistogram(柱状图)(柱状图) for each resource.for each resource. Figure 8.3 illustrates Amandas activity plan a bar chart Figure 8.3 illustrates Amandas activity plan a bar chart and a resource histogram for analyst/designers. Each and a resource histogram for analyst/designers

670、. Each activity has been scheduled to start at its earliest start activity has been scheduled to start at its earliest start date.date. Changing the level of resources on a project over time, Changing the level of resources on a project over time, particularly personnel, generally adds to the cost o

671、f a particularly personnel, generally adds to the cost of a project. Recruiting staff has costs and, even where staff project. Recruiting staff has costs and, even where staff are transferred internally, time will be needed for are transferred internally, time will be needed for familiarization with

672、 the new project environment.familiarization with the new project environment.134134Being specificBeing specific In allocating individuals to takes, a number of factors need to be taken into In allocating individuals to takes, a number of factors need to be taken into account.account. Availability W

673、e need to know whether a particular individual will be Availability We need to know whether a particular individual will be available when required. Reference to the departmental work plan available when required. Reference to the departmental work plan determines this but the wise project manager w

674、ill always investigate the determines this but the wise project manager will always investigate the risks that might be involvedearlier projects might, for example, overrun and risks that might be involvedearlier projects might, for example, overrun and affect the availability of an individual.affec

675、t the availability of an individual. CriticalityCriticality( (危险程度危险程度) Allocation of more experienced personnel to activities ) Allocation of more experienced personnel to activities on the critical path often helps in shortening project durations or at least on the critical path often helps in sho

676、rtening project durations or at least reduces the risk of overrun.reduces the risk of overrun. Risk We saw how to undertake activity risk assessment in the previous Risk We saw how to undertake activity risk assessment in the previous chapter. Identifying those activities posing the greatest risk, a

677、nd knowing the chapter. Identifying those activities posing the greatest risk, and knowing the factors influencing them, helps to allocate staff. Allocating the most factors influencing them, helps to allocate staff. Allocating the most experienced staff to the highestrisk activities is likely to ha

678、ve the greatest experienced staff to the highestrisk activities is likely to have the greatest effect in reducing overall project uncertainties. More experienced staff are, effect in reducing overall project uncertainties. More experienced staff are, however, usually more expensive. however, usually

679、 more expensive. Training It will benefit the organization if positive steps are taken to allocate Training It will benefit the organization if positive steps are taken to allocate junior staff to appropriate noncritical activities where there will be sufficient junior staff to appropriate noncritic

680、al activities where there will be sufficient slack for them to train and develop skills. There can even be direct benefits slack for them to train and develop skills. There can even be direct benefits to the particular project since costs may be allocated to the training budget.to the particular pro

681、ject since costs may be allocated to the training budget. Team building The selection of individuals must also take account of the Team building The selection of individuals must also take account of the final shape of the project team and the way they will work together. This and final shape of the

682、 project team and the way they will work together. This and additional aspects of personnel management are discussed in Chapter 11. additional aspects of personnel management are discussed in Chapter 11. 135135Publishing the resource schedule In allocating and scheduling resources we have used the a

683、ctivity plan (a In allocating and scheduling resources we have used the activity plan (a precedence network), activity bar charts and resource histograms. precedence network), activity bar charts and resource histograms. Although good as planning tools, they are not the best way of publishing Althou

684、gh good as planning tools, they are not the best way of publishing and communicating project schedules. and communicating project schedules. Notice that, somewhat unusually, it is assumed there are no public Notice that, somewhat unusually, it is assumed there are no public holidays or other nonprod

685、uctive periods during the 100 days of the holidays or other nonproductive periods during the 100 days of the project and that none of the team has holidays for the periods they are project and that none of the team has holidays for the periods they are shown as working.shown as working. Amanda has a

686、lso made no explicit allowance for staff taking sick leave.Amanda has also made no explicit allowance for staff taking sick leave. Amanda now transfers some of the information from the work schedule Amanda now transfers some of the information from the work schedule to her precedence network. In par

687、ticular, she to her precedence network. In particular, she amendamends s(修订)(修订) the the earlier starts dates for activities and any other constraints (such as earlier starts dates for activities and any other constraints (such as revised latest finish dates where resources need to be made available

688、) revised latest finish dates where resources need to be made available) that have been introduced. A copy of her revised precedence network is that have been introduced. A copy of her revised precedence network is shown in Figure 8.8notice that she highlighted all critical activities and shown in F

689、igure 8.8notice that she highlighted all critical activities and paths.paths.136136Cost schedules It is now time to produce a detailed cost schedule It is now time to produce a detailed cost schedule showing weekly or monthly costs over the life of the showing weekly or monthly costs over the life o

690、f the project. This will provide a more detailed and accurate project. This will provide a more detailed and accurate estimate of costs and will serve as a plan against which estimate of costs and will serve as a plan against which project progress can be monitored.project progress can be monitored.

691、 Calculating cost is straightforward where the Calculating cost is straightforward where the organization has standard cost figures for staff and other organization has standard cost figures for staff and other resources. Where this is not case, then the project resources. Where this is not case, th

692、en the project manager will have to calculate the costs.manager will have to calculate the costs. In general, costs are categorized as follows. In general, costs are categorized as follows. Staff costs Staff costs Overheads Overheads represent expenditure that an Overheads Overheads represent expend

693、iture that an organization incurs, which cannot be directly related to individual organization incurs, which cannot be directly related to individual projects or jobs, including space rental, interest charges and the projects or jobs, including space rental, interest charges and the costs of service

694、costs of service Usage charges In some organizations projects are charged Usage charges In some organizations projects are charged directly for use of resources such as computer time. directly for use of resources such as computer time. 137137The scheduling sequence Going from an ideal activity plan

695、 to a costed schedule can be Going from an ideal activity plan to a costed schedule can be represented as a sequence of steps, rather like the classic waterfall represented as a sequence of steps, rather like the classic waterfall lifecycle model .In the ideal world, we would start with the activity

696、 lifecycle model .In the ideal world, we would start with the activity plan and use this as the basis for our risk assessment. The activity plan and use this as the basis for our risk assessment. The activity plan and risk assessment would provide the basis for our resource plan and risk assessment

697、would provide the basis for our resource allocation and schedule from which we would produce cost allocation and schedule from which we would produce cost schedules.schedules. In practice, as we have seen by looking at Amandas project In practice, as we have seen by looking at Amandas project ,succe

698、ssful resource allocation often necessitates revisions to the ,successful resource allocation often necessitates revisions to the activity plan, which, in turn, will affect our risk assessment .Similarly, activity plan, which, in turn, will affect our risk assessment .Similarly, the cost schedule mi

699、ght indicate the need or desirability to reallocate the cost schedule might indicate the need or desirability to reallocate or revise activity plans particularly where that schedule indicates a or revise activity plans particularly where that schedule indicates a higher overall project cost than ori

700、ginally anticipated.higher overall project cost than originally anticipated. The interplay between the plan and schedules is complex any The interplay between the plan and schedules is complex any change to any one will affect each of the others .Some factors can change to any one will affect each o

701、f the others .Some factors can be balanced against the costs of delaying the projects end date. be balanced against the costs of delaying the projects end date. Some factors, however, are difficult to express in money terms (the Some factors, however, are difficult to express in money terms (the cos

702、t of an increased risk, for example) and will include an element of cost of an increased risk, for example) and will include an element of subjectivitysubjectivity(主观性)(主观性). .138138Conclusion In this chapter we have discussed the problems In this chapter we have discussed the problems of allocating

703、 resources to project activities and of allocating resources to project activities and the the conversionconversion(转换)(转换) of an activity plan to a of an activity plan to a work schedule .In particular, we have seen the work schedule .In particular, we have seen the importance of the following:impo

704、rtance of the following: Identifying all the resources needed;Identifying all the resources needed; Arranging activity starts to minimize variations in Arranging activity starts to minimize variations in resource levels over the duration of the project;resource levels over the duration of the projec

705、t; Allocating resources to competing activities in a Allocating resources to competing activities in a rationalrational(理性的)(理性的) order of priority;order of priority; Taking care in allocating the right staff to critical Taking care in allocating the right staff to critical activities.activities.139

706、139CHAP 9 Monitoring and Control ObjectivesWhen you have completed this chapter you will be able to:monitor the progress of projects;monitor the progress of projects;assess the risk of assess the risk of slippage(slippage(延误延误延误延误) ); ;visualize and assess the state of a project;visualize and assess

707、 the state of a project;revise targets to correct or revise targets to correct or counteractcounteract(抵(抵(抵(抵消)消)消)消) drift;drift;control changes to a projects control changes to a projects requirements.requirements.140140Introduction Once work schedules have been published and the Once work schedu

708、les have been published and the project is under way, attention must be focused on project is under way, attention must be focused on ensuring progress. This requires monitoring of what is ensuring progress. This requires monitoring of what is happening, comparison of actual achievement against happ

709、ening, comparison of actual achievement against the schedule and, where necessary, revision of plans the schedule and, where necessary, revision of plans and schedules to bring the project as far as possible and schedules to bring the project as far as possible back on target.back on target. In earl

710、ier chapters we have stressed the importance of In earlier chapters we have stressed the importance of producing plans that can be monitored for example, producing plans that can be monitored for example, ensuring that activities have clearly defined and visible ensuring that activities have clearly

711、 defined and visible completion points. We will discuss how information about completion points. We will discuss how information about project meets its targets.project meets its targets. The final part of this chapter discusses how we can deal The final part of this chapter discusses how we can dea

712、l with changes that are imposed from outside namely, with changes that are imposed from outside namely, changes in requirements.changes in requirements.141141Creating the framework Exercising control over a project and ensuring that Exercising control over a project and ensuring that targets are met

713、 is a matter of regular monitoring, finding targets are met is a matter of regular monitoring, finding out what is happening, and comparing it with current out what is happening, and comparing it with current targets. If there is a mismatch between the planned targets. If there is a mismatch between

714、 the planned outcomes and the actual ones then either replanning is outcomes and the actual ones then either replanning is needed to bring the project back on target or the target needed to bring the project back on target or the target will have to be revised. Figure 9.1 illustrate a model of will

715、have to be revised. Figure 9.1 illustrate a model of the project control cycle.the project control cycle. In practice we are normally concerned with departures In practice we are normally concerned with departures from the plan in four dimensions from the plan in four dimensions delays in meeting ta

716、rget datesdelays in meeting target dates shortfalls in qualityshortfalls in quality inadequate functionalityinadequate functionality costs going over targetcosts going over target In this chapter we are mainly concerned with first and In this chapter we are mainly concerned with first and last of th

717、ese.last of these.142142Responsibility The overall responsibility for ensuring satisfactory progress on a The overall responsibility for ensuring satisfactory progress on a project is often the role of the project steering committee or Project project is often the role of the project steering commit

718、tee or Project Board. DaytoDay responsibility will rest with the project manager Board. DaytoDay responsibility will rest with the project manager and, in all but the smallest of projects, aspects of this can be and, in all but the smallest of projects, aspects of this can be delegated to team leade

719、rs.delegated to team leaders. Figure 9.2 illustrate the typical reporting structure found with medium Figure 9.2 illustrate the typical reporting structure found with medium and large projects. With small projects (employing around half a and large projects. With small projects (employing around hal

720、f a dozen or fewer staff) individual team members usually report directly dozen or fewer staff) individual team members usually report directly to the project manager, but in most cases team leaders will collate to the project manager, but in most cases team leaders will collate reports on their sec

721、tions progress and forward summaries to the reports on their sections progress and forward summaries to the project manager. These, in turn, will be incorporated into projectproject manager. These, in turn, will be incorporated into projectlevel reports for the steering committee and, via them or di

722、rectly, level reports for the steering committee and, via them or directly, progress reports for the client.progress reports for the client. Reporting may be oral or written, formal or informal, or regular or ad Reporting may be oral or written, formal or informal, or regular or ad hoc and some exam

723、ples of each type are given in Table 9.1. While hoc and some examples of each type are given in Table 9.1. While any effective team leader or project manager will be in touch with any effective team leader or project manager will be in touch with team members and available to discuss by formal reporting team members and available to discuss by formal reporting procedures and it is those we are concerned with in this chapter.procedures and it is those we are concerned with in this chapter.143143

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号