1 / 49

2 PROJECT MANAGEMENT

2 PROJECT MANAGEMENT. Software Engineering Roadmap: Chapter 2 Focus. Corporate practices. Plan project. Analyze requirements. Maintain. Integrate & test system. Design. Implement. Test units.

derron
Télécharger la présentation

2 PROJECT MANAGEMENT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2PROJECT MANAGEMENT

  2. Software Engineering Roadmap: Chapter 2 Focus Corporate practices Plan project Analyze requirements Maintain Integrate & test system Design Implement Test units Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  3. Software Engineering Roadmap: Chapter 2 Focus Management structure - hierarchical, peer,... Risk identification & retirement SPMP Schedule Development process - when to do what phase - document: SPMP Corporate practices Cost estimate Plan project Development phases Analyze requirements Maintain Integrate & test system Design Implement Test units Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  4. Learning Goals of This Chapter • Understand the term “project management” • Learn different ways to organize teams • Specify project management plans • Define and retire risks • Estimate costs very early in the life cycle • Create high level projects schedules • Write a Software Project Management Plan Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  5. 1. Introduction to project management PM WANTED - Requirements: Technical Organizational People Management Skills

  6. Management 101 The four fundamental activities of management: • Planning • Organizing • Controlling • Leading (influencing)

  7. Variables for Project Management cost Target: 100% Target : $70K Can somewhat vary each of these factors capability duration Target : 30 wks Target : 4 defects/Kloc defect density(quality) Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  8. Bullseye Figure for Project Variables cost Target: 100% Target : $70K Actual: $90K Actual: 100% this project capability duration Target : 30 wks Target : 4 defects/Kloc Actual: 20 wks Actual: 1 defect/Kloc defect density Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  9. RoadMap for Project Management 1. Understand project content, scope, & time frame 2. Identify development process (methods, tools, languages, documentation and support) -- section 4 of chapter 1 3. Determine organizational structure (organizational elements involved)-- see section 3 4. Identify managerial process (responsibilities of the participants)-- see section 3 of case study 1 at end of chapter 5. Develop schedule (times at which the work portions are to be performed) -- see section 6 6. Develop staffing plan -- see section 3.5 of case study 1 7. Begin risk management -- see section 4 8. Identify documents to be produced -- see SQAP 4.2 9. Begin process itself -- described in chapters 3-10 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  10. 2. Managing people “the principal ingredient is people”

  11. Project Management Perspectives • Enterprise (Business) Perspective • Effecting the “bottom line” • Management Perspective • “there are no technical failures only management failures” • Get the job done  PM  Keep staff happy • User Perspective • “we just want it to make our jobs better” • Engineers’ Perspectives • Architecural and design level, implementation level • High quality workmanship, pride

  12. Plan and Execute Meetings One way to ... 1.* Distribute start time, end time, and agenda with approximate times (important items first) 2.*Ensure “strawman” items prepared 3. Start on time 4. Have someone record action items‡ 5. Have someone track time & prompt members 6. Get agreement on the agenda and timing 7. Watch timing throughout, and end on time • allow exceptions for important discussion • stop excessive discussion; take off line 8. Keep discussion on the subject 9.** E-mail action items & decision summary. * in advance of meeting ‡ actions members must perform ** after meeting Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  13. Specify Agendas One way to ... 1. Get agreement on agenda & time allocation 2. Get volunteers to … : … record decisions taken and action items … watch time and prompt members (see figure tbd) 3. Report progress on project schedule -- 10 mins 4. Discuss strawman artifact(s) -- x mins 5. Discuss risk retirement -- 10 mins <MORE ITEMS> metrics and process improvement? n. Review action items -- 5 mins Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  14. 3. Options for organizing personnel

  15. Optimal Size for Interaction (Approximate) Effectiveness per developer What is the best range of people In a workgroup? Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help. 3 Number of people with whom developer must frequently interact Key: = engineer Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  16. Optimal Size for Interaction (Approximate) Effectiveness per developer Approximate optimal range Developer communicates regularly with eleven people. Communication time outweighs benefits of interaction Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help. 3 7 Number of people with whom developer must frequently interact Key: = engineer Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  17. Hierarchical Project Management Organizations Smaller Projects: Larger Projects: No separate Marketing dept? No separate QA group? • Subdivide QA into testing, …? • Subdivide Engineering into • system engineering, …? Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  18. Networked Project Management Organizations (A more Organic/Democratic Structure) Ian Corliss Team member Gil Warner Team leader Nel Tremont Team member Team facilitator? Fran Smith Team member Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  19. Peer Organizations for Larger Projects Team of leaders Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  20. Project Airline reserv. project Bank accountg. project Molecular analysis project Fluid mechanics project Func- tional Unit Project manage-ment dpt Al Pruitt Full time Quinn Parker Half time Ruth Pella Full time Fred Parsons Full time Marketing dpt Oscar Mart Full time Pete Merrill Full time Sue More Half time Elton Marston Full time Engineer-ing dpt Hal Egberts ...... Ben Ehrlich ...... Mary Ericson ..... Len Engels ..... Table 2.1 Matrixed organization Table 2.1 Matrixed organization

  21. Organize a Team One way to ... 1. Select team leader: responsibilities: • ensure all project aspects active • fill all gaps 3. Designate leader roles & document responsibilities team leader: proposes and maintains… SPMP configuration management leader: ... SCMP quality assurance leader: ... SQAP, STP requirements management leader: ... SRS design leader: ... SDD implementation leader: ... code base 2. Leaders’ responsibilities: • propose a strawman artifact (e.g. SRS, design) • seek team enhancement & acceptance • ensure designated artifact maintained & observed • maintain corresponding metrics if applicable 4. Designate a backup for each leader as per One way to ... Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  22. 4. Identifying and retiring risks

  23. What is a Risk? • What is risk?

  24. Risk Sources Ordered by Importance (Keil, Cule, Lyytinen, Schmidt) 1. Lack of top management commitment 2. Failure to gain user commitment 3. Misunderstanding of requirements 4. Inadequate user involvement 5. Failure to manage end-user expectations 6. Changing scope and/or objectives 7. Personnel lack required knowledge/skills

  25. What is a Risk? • Two types of project risks • Can be avoided or worked around • eg. Project member may leave • Retirement via elimination • eg. job shadowing, replace when necessary • Cannot be avoided • eg. Datacomm between US and China • Retirement via mitigation (decrease risk as much as possible) • eg. Use client/server arch. to provide some local functionality

  26. The Risk Management Mindset Identification Retirement 2. “Java skills not high enough.” 2.Retirement by avoidance: Use C++ Project finish Project finish Risk 2 Risk 2 Risk 1 Risk 1 1.Retirement by conquest: Demonstrate image super- imposition 1. “May not be possible to superimpose images adequately.” Project start Project start Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Graphics reproduced with permission from Corel.

  27. The Four Risk Activities • Identification (continual activity) • Analysis and Prioritization (see spreadsheet) • Planning • Retirement or mitigation (tracking and control) Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  28. Identify and Retire Risks One way to ... 1.* Each team member spends 10 mins. exploring his or her greatest fears for the project’s success 2.* Each member specifies these risks in concrete language, weights them, writes retirement plans, (see format above) & e-mails to the team leader 3.* Team leader integrates and prioritizes results 4.M Group spends 10 mins. seeking additional risks 5.M Team spends 10 mins. finalizing the risk table • Designates responsible risk retirement engineers 6.** Responsible engineers do risk retirement work 7.M Team reviews risks for 10 mins. at weekly meetings • responsible engineers report progress • team discusses newly perceived risks and adds them *:in advance of first meeting M: at meeting **: between meetings

  29. In-Class Exercise • Each group member takes 5 minutes to identify risks to project success • fill in probability, impact, retirememt method and costs on spreadsheet provided • One group member leads all to integrate and rationalize, and add any additional risks • Calculate priority (RBC, RAC) of risks • Rank priorities, determine most important • Suggest methods of retirement or mitigation and assign person responsible for follow-up

  30. 5. Choosing development toolsand support

  31. To support project management schedule work breakdown To support configuration management For managing requirements For drawing designs functional object-oriented use-case-based Tracing tools requirements to designs designs to code To support testing To support maintenance Potential CASE Tool Components Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Graphics reproduced with permission from Corel.

  32. Example of Build vs. Buy Decision-making: Game Graphics engine Build costBuy costComments (in thousands) multi-year costs not accounted for Supplies $ 0 $40 Purchase Ajax engine First-person perspective$ 5 $ 0 Ajax has this feature 3-D $10 $ 1 Customize Ajax application Light reflection $15 $10Customize Ajax application ___ ___ _________________ TOTALS $30$51 Build, do not buy Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  33. Factor Weight  (1-10) Benefit of Language 1 1 to 10=best Benefit of Language 2 1 to 10=best Internet-friendly 3 8 2 Familiarity to development team 8 3 9 Compilation speed 5 2 8 Runtime speed on processor p 1 7 3 Score 3*8 + 8*3 + 5*2 + 1*7 = 65 3*2 + 8*9 + 5*8 + 1*3 = 121 Table 2.4 Example of method for deciding language choice Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  34. 6. Creating schedules: high level planning

  35. High Level Task Chart with Fixed Delivery Date:Order of Completion Month 1 Month 2 Month 3 Month 4 Month 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 SCMP complete Begin system testing (2) SQAP complete Milestones (1*) Delivery SPMP rel. 1 complete (3) Freeze requirements (4) Iteration 1 (6) Iteration 2 Risk identification & retirement (5) Prep. for maintenance * Indicated the order in which the parts of this table were built Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  36. One way to ... Create an Initial Schedule 1. Indicate the milestones your must observe • usually includes delivery date 2. Back these up to introduce the milestones you need • e.g., begin system testing well before delivery 3. Designate a time at which all requirements frozen The remaining steps depend on the process used. Assume an iterative process. 4. Show first iteration: establishes minimal capability • usually: keep it very modest, even trivial, in capability • benefit: exercises the development process itself 5. Show task of identifying & retiring risks • starting from project inception • Show unassigned time (e.g., week) near middle, consider liberal estimates, add admin tasks/time 7. Complete the schedule Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  37. Level Labor Allocation for Fixed Labor Total Month 1 Month 2 Month 3 Month 4 Month 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Milestones Freeze requirements Complete testing Karen vacation Release to production 2 2 2 3 2 2 3 Iteration 1 Hal vacation 4 4 4 3 3 4 4 4 4 4 4 4 Iteration 2 2 2 2 1 1 1 4 To be assigned Risk ID & retire Given team size: 4 4 4 4 4 3 3 4 4 4 4 3 3 4 4 4 4 4 4 4 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  38. 11. The Software Project Management Plan

  39. IEEE 1058.1-1987 SPMP Table of Contents 3.2 Assumptions, dependencies & constraints 3.3 Risk management 3.4 Monitoring & controlling mechanisms (QA approach) 3.5 Staffing plan 4. Technical process 4.1 Methods, tools & techniques 4.2 Software documentation 4.3 Project support functions 5. Work packages, schedule & budget 5.1 Work packages 5.2 Dependencies 5.3 Resource requirements 5.4 Budget & resource allocation 5.5 Schedule (phases,milestones) 1. Introduction 1.1 Project overview 1.2 Project deliverables 1.3 Evolution of the SPMP 1.4 Reference materials 1.5 Definitions and acronyms 2. Project organization 2.1 Process model 2.2 Organizational structure 2.3 Organizational boundaries and interfaces 2.4 Project responsibilities 3. Managerial process 3.1 Managerial objectives & priorities

  40. SPMP for the Encounter video game

  41. Gaming Industries Consolidated President IV&V . . . VP Marketing VP Engineering Software Engineering Labs . . . Game Lab . . . Game 123 Encounter SQA Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  42. Member Team leader CM Leader QA leader Require-ments management leader Design leader Implementation Leader Liaison Respon-sibility VP Engineering Marketing Software engineering lab Document Responsi-bility SPMP SCMP SQAP STP SRS SDD Code base Table 2.9 Encounter Project Responsibilties Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  43. Program Monitoring & Control Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  44. Name Team Leader CM Leader. QA Leader Requ. Mngmnt Leader Design Leader Implemen- tation Leader Ed Braun X X Al Pruitt X Fern Tryfill X Hal Furnass X Karen Peters X Liaison with VP Eng. Marketing Soft. Eng. Lab Table 2.11 Encounter Staffing Plan Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  45. Work BreakdownStructureExcluding Secretarial Month 1 Month 2 Month 3 Month 4 Month 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 SCMP Complete testing SQAP Milestones Freeze requirements Delivery SPMP rel. 1 Iteration 1 Tasks Iteration 2 Risk I&R E. Braude 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 J. Pruitt 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 F. Tryfill 1 1 1 1 1 1 1 1 1 1 1 1 1 H. Furnass 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 K. Peters 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 F. Smith (tech support) .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 TOTAL 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 3.5 3.5 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  46. Estimation Method Min (K lines Java) Max Comment (1) 7.5 170 (2) 4.2 300 (3) 11.4 46 1.9-2.3 for two identified functions x 6-20 times as many in complete application Most conservative 11.4 300 Maximum of minimums and maximum of maximums. Least conservative 4.2 46 Minimum of minimums and minimum of maximums. Widest range 4.2 300 Minimum of minimums and maximum of maximums. Narrowest range 11.4 46 Maximum of minimums and minimum of maximums. Table 2.12 Very Rough Estimate of Application Size Prior to Requirements Analysis Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  47. High Level Task Chart with Fixed Delivery Date:Order of Completion Month 1 Month 2 Month 3 Month 4 Month 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 SCMP complete Begin system testing (2) SQAP complete Milestones (1*) Delivery SPMP rel. 1 complete (3) Freeze requirements (4) Iteration 1 (6) Iteration 2 Risk identification & retirement (5) Prep. for maintenance * Indicated the order in which the parts of this table were built Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  48. Likelihood 1-10 1 = least likely Impact 1-10 1 = least impact Retire-ment cost 1-10 1 = lowest retirement cost Priority computation Resulting priority Lowest number handled first The highest priority risk 10 (most likely) 10 (most impact) 1 (lowest retirement cost) (11-10) *(11-10) *1 1 The lowest priority risk 1 (least likely) 1 (least impact) 10 (highest retirement cost) (11-1) *(11-1) *10 1000 Table 2.2 A way to compute risk priorities Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

  49. Risk title (details given above) Like-lihood 1-10 1=least likely Im-pact 1-10 1=least impact Retire-ment cost 1-10 1=lowest retirement cost Pri-ority lowest number handled first Retirement / mitigation plan Respon-sible engineer Target com-pletion date 1 Super-imposing images 3 10 1 8 Experiment with Java images. P. R. 2/1/99  2 Deficient Java skills 9 6 8 80 H.T., K.M., V.I. and L.D. to attend training course beginning 1/5/99 at Ultra Training Corp, obtain Java level 2 certification by 3/1/99 and level 3 certification by 4/15/99 H. L. 4/15/99 3 Alan Gray may be pulled off this project 3 7 9 288 Susan Ferris to inspect all of Alan's work S.F. Contin-ual .. ... ... ... ... ... ... ... ... Table 2.3  Sample Risk Analysis for Encounter Case Study Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

More Related