1 / 74

Software Project Management: Organizing, Planning, and Scheduling

This chapter provides an introduction to software project management, discussing its distinctive characteristics and the planning process. It also explores how graphical schedule representations and risk management are used in project management.

bkeller
Download Presentation

Software Project Management: Organizing, Planning, and Scheduling

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. Chapter 5 Project Management “…a huge topic.” See Part 6, “Managing People”.

  2. Project management • Organizing, planning and scheduling software projects

  3. Objectives • To introduce software project management and to describe its distinctive characteristics. • To discuss project planning and the planning process. • To show how graphical schedule representations are used by project management. • To discuss the notion of risks and the riskmanagement process.

  4. Topics covered • Management activities • Project planning • Project scheduling • Risk management

  5. Topics covered • Management activities • Project planning • Project scheduling • Risk management

  6. Software project management • Concerned with activities involved in ensuring that software is delivered on time, within budget and in accordance with the requirements of the organizations developingandprocuring the software. • Project management is needed because software development is always subject to budget and schedule constraints that are set by the organization developing the software.

  7. SE distinctions that make project management particularly difficult • The product is intangible. • In shipbuilding or civil engineering, managers can SEE the product being developed. • There are no standard software processes. • Engineering disciplines with a long history have tried and tested processes. • Large software projects are often “one-off”. • Lessons learned from previous projects may not be transferable to new projects. (one-of-a-kind)

  8. Management activities • Proposal writing (to fund new projects) • Project planning and scheduling(focus of this Chap) • Project costing and preparing bids(Chap 26) • Project monitoring and reviews • Personnel selection and evaluation(Chap 25) • Report writing and presentations • Attending lots and lots of meetings! • IBM Santa Teresa study, etc., …

  9. Management commonalities • These activities are not peculiar to software management. • Many techniques of engineering project management are equally applicable to software project management. • Technically complex engineering systems tend to suffer from most of the same problems as software systems.

  10. Project staffing • May not be possible to appoint the idealpeople to work on a project… • Project budget may not allow for use of highly-paid staff. • Those with appropriate skills / experience maynot be available. • An organization may wish to develop employee skills by assigning inexperienced staff. • Managers have to work within these constraints especially when there is a shortage of skilled IT staff.

  11. Topics covered • Management activities • Project planning • Project scheduling • Risk management

  12. Project planning • Probably the most time-consuming project management activity (or at least it should be). • Continuous activity from initial concept to system delivery. Plansmust be regularly revised as new information becomes available. • Different types of sub-plans may be developed to support a main software project plan concerned with overall schedule and budget.

  13. Types of project sub-plans (QA)

  14. Project planning “The plan is nothing – the planning is everything.” – Dwight Eisenhower, on the D-Day invasion plan (a bit of dramatic overstatement to make a point…)

  15. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  16. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  17. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  18. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  19. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  20. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  21. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  22. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  23. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  24. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  25. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  26. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  27. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  28. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  29. Project planning process Establish the project constraints Make initial assessments of the project parameters (e.g., structure, size, etc.) Define project milestones and deliverables WHILE( project has not been completed or cancelled )DO Draw-up project schedule Initiate activities according to schedule Wait for a while (this is NOT idle time…) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables IF( problems arise )THEN Initiate technical review and possible revision END-IF END-WHILE-DO

  30. The project plan • The project plan sets out: • The resources available to the project; • The work breakdown; • A schedule for the work.

  31. Project plan documentstructure • Introduction (goals, constraints, etc.) • Project organization • Risk analysis • Hardware and software resource requirements • Work breakdown • Project schedule • Monitoring and reporting mechanisms

  32. Activity organization • Activities in a project should be associated with tangible outputs for management to judge progress (i.e.,toprovideprocess visibility) • Milestones are the unequivocal end-points of process activities. e.g., “DR1 complete” versus “90% of design complete”

  33. Activity organization • (Customer) Deliverables are project results delivered to customers. (There are also internal “deliverables”.) • The waterfall model allows for the straightforward definition of milestones (“a deliverable oriented model”). • Deliverables are usually milestones, but milestones are not necessarily deliverables.

  34. Milestones in the RE process

  35. Topics covered • Management activities • Project planning • Project scheduling • Risk management

  36. Project scheduling • Split project into tasks and estimate time and resources required to complete each. • Tasks should not be too small or too large – they should last on the order of weeks for projects lasting months.(“Models should be as simple as possible, but no simpler.”) (cont’d)

  37. Project scheduling (cont’d) • Organize tasks as concurrentactivities to make optimal use of workforce. • Minimize task dependencies to avoid potential delays. • Dependent on project managers’ intuition and experience.(Good management is not a science.)

  38. The project scheduling process Review Progress

  39. Scheduling problems • Estimating the difficulty of problems, and hence the cost of developing solutions, is hard. • The unexpected always happens. Always allow for different contingencies in planning. (a.k.a. “Murphy’s Law”) • Progress is generally not proportional to the number of people working on a task. • Adding people to a late project can make it later (due to coordination overhead).(F. Brooks, The Mythical Man-Month)

  40. The problem with "Man-Months" more TIME PEOPLE less few many

  41. The problem with "Man-Months" more TIME What if time and people were perfectly interchangeable? PEOPLE less few many

  42. The problem with "Man-Months" 1 person/12 months more TIME What if time and people were perfectly interchangeable? PEOPLE less 12 persons/1 month few many

  43. The problem with "Man-Months" 1 person/12 months more TIME What if time and people were perfectly interchangeable? PEOPLE less 12 persons/1 month few many

  44. The problem with "Man-Months" more TIME K = time X people PEOPLE less few many

  45. The problem with "Man-Months" more TIME Can you think of an activity for which timeand people are perfectly interchangeable? PEOPLE less few many

  46. The problem with "Man-Months" more TIME Stuffing Envelopes PEOPLE less few many

  47. The problem with "Man-Months" more TIME Can you think of an activity for which time and people are not at allinterchangeable? Stuffing Envelopes PEOPLE less few many

  48. The problem with "Man-Months" Having a baby more TIME Stuffing Envelopes PEOPLE less few many

  49. The problem with "Man-Months" Having a baby more TIME What would the curve for Software Development look like? Stuffing Envelopes PEOPLE less few many

  50. The problem with "Man-Months" Having a baby more TIME Software Development Stuffing Envelopes PEOPLE less few many

More Related