內(nèi)容軟件工程09projectmgt46_第1頁(yè)
內(nèi)容軟件工程09projectmgt46_第2頁(yè)
內(nèi)容軟件工程09projectmgt46_第3頁(yè)
內(nèi)容軟件工程09projectmgt46_第4頁(yè)
內(nèi)容軟件工程09projectmgt46_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ESEEinfhrung in Software Engineering9. Project ManagementProf. O. Nierstrasz Oscar NierstraszESE Project ManagementESE 9.2NoImageRoadmapRisk managementScoping and estimationPlanning and schedulingDealing with delaysStaffing, directing, teamwork Oscar NierstraszESE Project ManagementESE 9.3Literature

2、SourcesSoftware Engineering, I. Sommerville, 7th Edn., 2004.Software Engineering A Practitioners Approach, R. Pressman, Mc-Graw Hill, 5th Edn., 2001. mended ReadingThe Mythical Man-Month, F. Brooks, Addison-Wesley, 1975Object Lessons, T. Love, SIGS Books, 1993Peopleware, Productive Projects and Team

3、s (2nd edition), Tom DeMarco and Timothy Lister, Dorset House, 1999.Succeeding with Objects: Decision Frameworks for Project Management, A. Goldberg and K. Rubin, Addison-Wesley, 1995Extreme Programming Explained: Embrace Change, Kent Beck, Addison Wesley, 1999 Oscar NierstraszESE Project Management

4、ESE 9.4NoImageRoadmapRisk managementScoping and estimationPlanning and schedulingDealing with delaysStaffing, directing, teamwork Oscar NierstraszESE Project ManagementESE 9.5 Oscar NierstraszESE Project ManagementESE 9.6Why Project Management?Almost all software products are obtained via projects.

5、(as opposed to manufactured products)The Project Team is the primary Resource!Limited ResourcesAchieve Interdependent & Conflicting GoalsProject Concern = Deliver on time and within budget Oscar NierstraszESE Project ManagementESE 9.7What is Project Management?Management FunctionsPlanning: Estim

6、ate and schedule resourcesOrganization: Who does whatStaffing: Recruiting and motivating personnelDirecting: Ensure team acts as a wholeMonitoring (Controlling): Detect plan deviations + corrective actionsProject Management = Plan the work and work the plan Oscar NierstraszESE Project ManagementESE

7、9.8Risk ManagementIf you dont actively attack risks, they will actively attack you. Tom GilbProject risksbudget, schedule, resources, size, personnel, morale .Technical risksimplementation technology, verification, maintenance .Business risksmarket, sales, management, commitment . Oscar NierstraszES

8、E Project ManagementESE 9.9Risk Management Management must:identify risks as early as possibleassess whether risks are acceptabletake appropriate action to mitigate and manage riskse.g., training, prototyping, iteration, .monitor risks throughout the project Oscar NierstraszESE Project ManagementESE

9、 9.10Risk Management TechniquesRisk ItemsRisk Management TechniquesPersonnel shortfallsStaffing with top talent; team building; cross-training; pre-scheduling key people Unrealistic schedules and budgets Detailed multi-source cost & schedule estimation; incremental development; reuse; re-scoping

10、Developing the wrong software functionsUser-surveys; prototyping; early userss manuals Oscar NierstraszESE Project ManagementESE 9.11Risk Management Techniques Risk ItemsRisk Management TechniquesContinuing stream of requirements changesHigh change threshold; information hiding; incremental developm

11、entReal time performance shortfallsSimulation; benchmarking; modeling; prototyping; instrumentation; tuningStraining computer science capabilitiesTechnical analysis; cost-benefit analysis; prototyping; reference checking Oscar NierstraszESE Project ManagementESE 9.12NoImageRoadmapRisk managementScop

12、ing and estimationPlanning and schedulingDealing with delaysStaffing, directing, teamwork Oscar NierstraszESE Project ManagementESE 9.13Focus on ScopeFor decades, programmers have been whining, “The customers cant tell us what they want. When we give them what they say they want, they dont like it.”

13、 Get over it. This is an absolute truth of software development. The requirements are never clear at first. Customers can never tell you exactly what they want. Kent Beck Oscar NierstraszESE Project ManagementESE 9.14Myth: Scope and ObjectivesMyth“A general statement of objectives is enough to start

14、 coding.”RealityPoor up-front definition is the major cause of project failure. Oscar NierstraszESE Project ManagementESE 9.15Scope and ObjectivesIn order to plan, you must set clear scope & objectivesObjectives identify the general goals of the project, not how they will be achieved.Scope ident

15、ifies the primary functions that the software is to plish, and bounds these functions in a quantitative manner.Goals must be realistic and measurableConstraints, performance, reliability must be explicitly statedCustomer must set priorities Oscar NierstraszESE Project ManagementESE 9.16Estimation St

16、rategiesExpert judgementConsult experts and compare estimates cheap, but unreliableEstimation by analogyCompare with other projects in the same application domain limited applicabilityParkinsons LawWork expands to fill the time available pessimistic management strategyPricing to winYou do what you c

17、an with the budget available requires trust between partiesThese strategies are simple but risky: Oscar NierstraszESE Project ManagementESE 9.17Estimation Techniques“ position” and “Algorithmic cost modeling” are used together position Estimate costs for components + integration top-down or bottom-u

18、p estimationAlgorithmic cost modelingExploit database of historical facts to map size on costs requires correlation data Oscar NierstraszESE Project ManagementESE 9.18Measurement-based EstimationA. MeasureDevelop a system model and measure its sizeB. EstimateDetermine the effort with respect to an e

19、mpirical database of measurements from similar projectsC. InterpretAdapt the effort with respect to a specific Development Project PlanMore on this later (Metrics lecture) Oscar NierstraszESE Project ManagementESE 9.19Estimation and CommitmentExample: The XP processa. Customers write stories andb. P

20、rogrammers estimate storieselse ask the customers to split/rewrite storiesProgrammers measure the team load factor, the ratio of ideal programming time to the calendarCustomers sort stories by priorityProgrammers sort stories by riska. Customers pick date, programmers calculate budget, customers pic

21、k stories adding up to that number, orb. Customers pick stories, programmers calculate date(customers complain, programmers ask to reduce scope, customers complain some more but reduce scope anyway) Oscar NierstraszESE Project ManagementESE 9.20NoImageRoadmapRisk managementScoping and estimationPlan

22、ning and schedulingDealing with delaysStaffing, directing, teamwork Oscar NierstraszESE Project ManagementESE 9.21 Oscar NierstraszESE Project ManagementESE 9.22Planning and SchedulingGood planning depends largely on project managers intuition and experience!Split project into tasks.Tasks into subta

23、sks etc.For each task, estimate the time.Define tasks small enough for reliable estimation.Significant tasks should end with a milestone.Milestone = A verifiable goal that must be met after task completionClear unambiguous milestones are a necessity!(“80% coding finished” is a meaningless statement)

24、Monitor progress via milestones Oscar NierstraszESE Project ManagementESE 9.23Planning and Scheduling .Define dependencies between project tasks Total time depends on longest (= critical) path in activity graphMinimize task dependencies to avoid delays Organize tasks concurrently to make optimal use

25、 of workforcePlanning is iterative monitor and revise schedules during the project! Oscar NierstraszESE Project ManagementESE 9.24Myth: Deliverables and MilestonesMyth“The only deliverable for a successful project is the working program.”RealityDocumentation of all aspects of software development ar

26、e needed to ensure maintainability. Oscar NierstraszESE Project ManagementESE 9.25Deliverables and MilestonesProject deliverables are results that are delivered to the customer.E.g.:initial requirements documentUI prototypearchitecture specificationMilestones and deliverables help to monitor progres

27、sShould be scheduled roughly every 2-3 weeksNB: Deliverables must evolve as the project progresses! Oscar NierstraszESE Project ManagementESE 9.26Example: Task Durations and DependenciesTaskDuration (days)DependenciesT18T215T315T1T410T510T2, T4T65T1, T2T720T1T825T4T915T3, T6T1015T5, T7T117T9T1210T11

28、What is the minimum total duration of this project? Oscar NierstraszESE Project ManagementESE 9.27Pert Chart: Activity NetworkNoImage Ian Sommerville 2000MilestoneTask Oscar NierstraszESE Project ManagementESE 9.28Gantt Chart: Activity TimelineNoImage Ian Sommerville 2000Planned completionLatest com

29、pletion Oscar NierstraszESE Project ManagementESE 9.29Gantt Chart: Staff AllocationNoImage Ian Sommerville 2000 Oscar NierstraszESE Project ManagementESE 9.30NoImageRoadmapRisk managementScoping and estimationPlanning and schedulingDealing with delaysStaffing, directing, teamwork Oscar NierstraszESE

30、 Project ManagementESE 9.31Myth: DelaysMyth“If we get behind schedule, we can add more programmers and catch up.”RealityAdding more people typically slows a project down. Oscar NierstraszESE Project ManagementESE 9.32Scheduling problemsEstimating the difficulty of problems and the cost of developing

31、 a solution is hardProductivity is not proportional to the number of people working on a taskAdding people to a late project makes it later due to communication overheadThe unexpected always happens. Always allow contingency in planningCutting back in testing and reviewing is a recipe for disasterWo

32、rking overnight? Only short term benefits! Oscar NierstraszESE Project ManagementESE 9.33Planning under uncertaintyState clearly what you know and dont knowState clearly what you will do to eliminate unknownsMake sure that all early milestones can be metPlan to replan Oscar NierstraszESE Project Man

33、agementESE 9.34Dealing with DelaysSpot potential delays as soon as possible. then you have more time to recoverHow to spot?Earned value analysisplanned time is the project budgettime of a completed task is credited to the project budget. Oscar NierstraszESE Project ManagementESE 9.35Dealing with Del

34、ays .How to recover?A combination of following 3 actionsAdding senior staff for well-specified tasksoutside critical path to avoid communication overheadPrioritize requirements and deliver incrementallydeliver most important functionality on timetesting remains a priority (even if customer disagrees

35、)Extend the deadline Oscar NierstraszESE Project ManagementESE 9.36Gantt Chart: Slip LineVisualize slippageShade time line = portion of task completedDraw a slip line at current date, connecting endpoints of the shaded areasbending to the right = ahead of scheduleto the left = behind schedule1.Start

36、2.Design3.Implementation3.1.build scanner3.2.build parser3.3. build code generator4.Integrate & Test5.Write manual6. Reviewing7. FinishFMAMJJASONDJFMAMJJJAahead of schedulebehind Oscar NierstraszESE Project ManagementESE 9.37Timeline ChartVisualise slippage evolutiondownward lines represent plan

37、ned completion time as they vary in current timebullets at the end of a line represent completed tasks Oscar NierstraszESE Project ManagementESE 9.38Slip Line vs. TimelineSlip LineMonitors current slip status of project tasksmany tasksonly for 1 point in timeinclude a few slip lines from the past to

38、 illustrate evolutionTimelineMonitors how the slip status of project tasks evolvesfew taskscrossing lines quickly clutter the figurecolours can be used to show more taskscomplete time scale Oscar NierstraszESE Project ManagementESE 9.39NoImageRoadmapRisk managementScoping and estimationPlanning and

39、schedulingDealing with delaysStaffing, directing, teamwork Oscar NierstraszESE Project ManagementESE 9.40Software TeamsTeam organisationTeams should be relatively small (Consist of a kernel of specialists helped by others as requiredchief programmer takes full responsibility for design, programming,

40、 testing and installation of systembackup programmer keeps track of CPs work and develops test caseslibrarian manages all informationothers may include: project administrator, toolsmith, documentation editor, language/system expert, tester, and support programmers Reportedly successful but problems

41、are:Can be difficult to find talented chief programmersMight disrupt normal organizational structuresMay be de-motivating for those who are not chief programmers Oscar NierstraszESE Project ManagementESE 9.42Directing TeamsManagers serve their teamManagers ensure that team has the necessary informat

42、ion and resources“The managers function is not to make people work, it is to make it possible for people to work” Tom DeMarcoResponsibility demands authorityManagers must delegateTrust your own people and they will trust you. Oscar NierstraszESE Project ManagementESE 9.43Directing Teams .Managers ma

43、nageManagers cannot perform tasks on the critical pathEspecially difficult for technical managers!Developers control deadlinesA manager cannot meet a deadline to which the developers have not agreed Oscar NierstraszESE Project ManagementESE 9.44What you should know!How can prototyping help to reduce risk in a project?Wh

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論