5/23/10 31P5 Software Engineering


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

5/23/10 31P5 Software Engineering

  1. 1. 31P5: Software Engineering I Project Planning
  2. 2. Aims <ul><li>To understand the main management activities involved in Project Planning </li></ul><ul><li>To develop a behavioural model of Project Management and to use it to ask “What if” questions </li></ul><ul><li>To consider a number of project costing techniques </li></ul>
  3. 3. Management activities <ul><li>No standard job description for Software Manager </li></ul><ul><li>Generally involves the following activities: </li></ul><ul><ul><li>proposal writing </li></ul></ul><ul><ul><li>project planning and scheduling </li></ul></ul><ul><ul><li>project costing </li></ul></ul><ul><ul><li>project monitoring and reviews </li></ul></ul><ul><ul><li>personnel selection and evaluation </li></ul></ul><ul><ul><li>report writing and presentations </li></ul></ul>
  4. 4. Software project planning <ul><li>The project plan sets out the resources available, the work breakdown, and the schedule </li></ul><ul><li>The project plan may be: a single document including all the different types of plans such as: </li></ul><ul><ul><li>Quality plan : quality procedures and standards to be used for system validation </li></ul></ul><ul><ul><li>Validation plan : approach, resources and schedule for system validation </li></ul></ul><ul><ul><li>Configuration management plan : configuration management procedures and structures used </li></ul></ul><ul><ul><li>Maintenance plan : predicts maintenance requirements of system, maintenance costs and effort required </li></ul></ul><ul><ul><li>Staff development plan : describes how skills and experience of project team members developed </li></ul></ul>
  5. 5. Planning (cont’d) <ul><li>Or, a document concerned with the development process: </li></ul><ul><ul><li>Introduction : briefly, the objectives of project and sets constraints (e.g., budget, time, etc.) which affect project management </li></ul></ul><ul><ul><li>Project organisation : way in which development team are organised, the people involved and their roles in the team </li></ul></ul><ul><ul><li>Risk analysis : possible project risks, their likelihood of occurrence, and risk reduction strategies proposed </li></ul></ul><ul><ul><li>Hardware/software : support required for the development; if hardware to be bought, estimates of price and delivery schedule </li></ul></ul>
  6. 6. Planning (cont’d) <ul><ul><li>Work breakdown : breakdown of project into activities and tasks, and identifies milestones and deliverables associated with each task </li></ul></ul><ul><ul><li>Project schedule : dependencies between activities, estimated time required to reach each milestone, and allocation of people to activities </li></ul></ul><ul><ul><li>Monitoring and reporting mechanisms : management reports which should be produced, when, and the monitoring mechanism. </li></ul></ul>
  7. 7. An Integrative View <ul><li>Integrates: </li></ul><ul><ul><li>management-type functions of planning, controlling, staffing </li></ul></ul><ul><ul><li>production-type functions of designing, coding, reviewing, testing </li></ul></ul><ul><li>“ The behaviour of an individual subsystem in isolation may be different from its behaviour when it interacts with other subsystems.” </li></ul><ul><li>Software project management is a DYNAMIC and COMPLEX process. </li></ul><ul><li>Control of the process involves application of FEEDBACK CONTROL SYSTEMS principles </li></ul><ul><li>Feedback control may be positive or negative </li></ul>
  8. 8. Critical management decisions <ul><li>A project is behind schedule. Possible management actions include revising the completion date, holding to the planned completion date but hiring more staff, and holding to the planned completion date but working current staff overtime. What are the implications of the alternatives? </li></ul><ul><li>How much of the development effort should be expended on quality assurance and how does that affect completion time and total cost? </li></ul><ul><li>What is the impact of different distributions of effort among project phases (e.g., should the division of effort between development and testing be 80:20 or 60:40 percent)? </li></ul>
  9. 9. Critical management decisions (cont’d) <ul><li>What are the reasons for and implications of the differences among potential productivity, actual productivity, and perceived productivity? </li></ul><ul><li>Why does the “90% completion syndrome”, whereby a project appears to get stuck when it reaches the 90% completion point, chronically occur? </li></ul>
  10. 10. Simple Model: software project process
  11. 11. Simple Model: software project process <ul><li>Project resources: manpower, facilities, equipment </li></ul><ul><li>Work completed on project reported through project control system </li></ul><ul><li>Reports accumulate and are processed to create project’s forecast completion date by adding indicated time remaining to current date </li></ul><ul><li>Assessing remaining time: </li></ul><ul><ul><li>effort (person-days) to complete job </li></ul></ul><ul><ul><li>level of personnel working on project </li></ul></ul><ul><ul><li>perceived productivity of project team </li></ul></ul><ul><li>Original scheduled completion date </li></ul><ul><li>Feedback loop closed: difference (5-4) causes adjustments in magnitude or allocation of resources </li></ul>
  12. 12. Adding more people to a late project
  13. 13. Adding more people to a late project <ul><li>Model suggests direct relationship </li></ul><ul><li>Increase people resources Increase in work rate </li></ul><ul><li>Problem: </li></ul><ul><ul><li>more people higher communication, training cost </li></ul></ul><ul><ul><li>lower project team productivity </li></ul></ul><ul><ul><li>lower progress rates </li></ul></ul><ul><ul><li>delay to already late project </li></ul></ul><ul><ul><li>additional round of loop </li></ul></ul><ul><ul><li>more people </li></ul></ul><ul><ul><li>… .. </li></ul></ul><ul><li>Brook’s Law : adding more people to a late project makes it later </li></ul>
  14. 14. Adjusting schedule of late project
  15. 15. Adjusting schedule of late project <ul><li>Impact of project pressures (e.g., schedule pressure) on developers’ actions/decisions </li></ul><ul><li>Project behind schedule: </li></ul><ul><ul><li>developers work longer hours </li></ul></ul><ul><ul><li>concentrate on essential task </li></ul></ul><ul><li>Boehm experiment: found number of person-hours devoted to project increased by 100% </li></ul><ul><li>Schedule pressure affects Productivity </li></ul><ul><li>Problem: </li></ul><ul><ul><li>Schedule pressure increased error rate </li></ul></ul><ul><ul><li>rework on project: negative effect </li></ul></ul><ul><li>“ People under time pressure don’t work better, they just work faster … The first casuality [is] the quality of the software delivered” </li></ul>
  16. 16. Adjusting schedule of late project
  17. 17. Adjusting schedule of late project <ul><li>Impact of schedule pressure on workforce turnover rate: </li></ul><ul><li>Workforce turnover rate increases when scheduling pressure persists </li></ul><ul><ul><li>can be very costly </li></ul></ul><ul><ul><li>high turnover rate lower productivity on project </li></ul></ul>
  18. 18. How late is a late project?
  19. 19. How late is a late project? <ul><li>Difficult to assess real progress on a project because of the nature of software (intangible?); very few sensible and usable metrics </li></ul><ul><li>Therefore, </li></ul><ul><ul><li>Perceived progress rate =|= Real progress rate </li></ul></ul><ul><li>Errors in perceived cumulative progress + bias (overoptimism) + delay (in gathering and processing control information) distorts reported progress </li></ul>
  20. 20. Comprehensive Model <ul><li>Model so far too simple </li></ul><ul><li>It needs: </li></ul><ul><ul><li>significantly more depth and detail </li></ul></ul><ul><ul><li>a systematic way to organise the information </li></ul></ul><ul><li>To achieve this need to consider a number of subsystems, including HUMAN RESOURCE MANAGEMENT, SOFTWARE PRODUCTION, CONTROL, PLANNING </li></ul>
  21. 21. Single-Project Model
  22. 22. Overview of Single-Project Model <ul><li>Human Resource Management Deals with Hiring, Assimilation and Transfer of People </li></ul><ul><li>Workforce may be Newly Hired or Experienced </li></ul><ul><li>needed to capture differences in productivity, error proneness </li></ul><ul><li>allows the capture of training processes to assimilate new members: </li></ul><ul><ul><li>normally, veterans train newcomers </li></ul></ul><ul><ul><li>training overheads significantly affect project’s progress by utilising veterans’ productivity </li></ul></ul>
  23. 23. Software Production <ul><li>Includes Designing, Coding, Testing </li></ul><ul><li>Reviews to detect errors, e.g., quality assurance via structured walkthroughs </li></ul><ul><li>Some errors are caught by testing </li></ul><ul><li>Productivity = Potential productivity — Faulty process losses </li></ul><ul><li>Potential productivity depends on the nature of </li></ul><ul><ul><li>communication overheads </li></ul></ul><ul><ul><li>coordination overheads </li></ul></ul><ul><ul><li>low motivation </li></ul></ul>
  24. 24. Control <ul><li>As progress is made, it is reported </li></ul><ul><li>Information is often inaccurate! </li></ul><ul><ul><li>Problems to deal with </li></ul></ul><ul><ul><ul><li>information flow </li></ul></ul></ul><ul><ul><ul><li>time lags </li></ul></ul></ul><ul><ul><ul><li>distortion </li></ul></ul></ul><ul><ul><li>early in project: progress measured by resources used </li></ul></ul><ul><ul><li>later: progress measured by work actually accomplished </li></ul></ul>
  25. 25. Planning <ul><li>Project resources and schedule estimates are made and revised, e.g., </li></ul><ul><ul><li>project behind schedule </li></ul></ul><ul><ul><li>Workforce needed = Person-days remaining / Time remaining </li></ul></ul><ul><li>Time remaining is affected by workforce stability and workforce ceiling limitations (e.g., budget constraints) </li></ul><ul><li>Possible to extend our single-project model to multi-project model </li></ul><ul><ul><li>coupling between single-project models, e.g., at the human resources level with sharing of staff </li></ul></ul>
  26. 26. Project Planning Estimation <ul><li>The major issues which the project plan addresses are: </li></ul><ul><ul><li>Cost estimation </li></ul></ul><ul><ul><li>Schedule and milestones </li></ul></ul><ul><ul><li>Personnel plan </li></ul></ul><ul><ul><li>Team structure </li></ul></ul><ul><ul><li>Software quality assurance plans </li></ul></ul><ul><ul><li>Configuration management plans </li></ul></ul><ul><ul><li>Project minotoring plans </li></ul></ul><ul><ul><li>Risk management plans </li></ul></ul>
  27. 27. Major cost estimation techniques System level focus, efficient Less detailed basis; less stable Bottom-up More detailed basis More stable Fosters individual commitment May overlook systems costs Requires more effort Method Strengths Weaknesses Algorithmic Objective, repeatable, analysable formulae Efficient, good for sensitivity analysis Objectively calibrated to experience Subjective inputs Assessment of exceptional circumstances Calibrated to past, not future Expert judgement Assessment of representativeness interactions, exceptions No better than participants Biases, incomplete recall Analogy Based on representative experience Representativeness of experience Parkinson Correlates with some experience Re-enforces poor practice Price-to-win Often gets contract! Generally produces large overruns Top-down
  28. 28. Summary <ul><li>A number of management activities associated with project planning have been identified </li></ul><ul><li>A simple model of project management has been developed and used to discuss simple problems and their solutions </li></ul><ul><li>Cost/effort estimation approaches, their strengths and weaknesses considered </li></ul><ul><li>In the next section, a particular cost/effort/schedule technique will be highlighted </li></ul>