410 likes | 553 Views
Chapter 3 Project Management . Parts of this presentation is extracted from Ian Sommerville’s slides located at http://www.pearsoned.co.uk/sommerville Sommerville SE 8: Chapter 5, Chapter 26. Objectives. Know the principal tasks of software managers
E N D
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at http://www.pearsoned.co.uk/sommerville Sommerville SE 8: Chapter 5, Chapter 26
Objectives • Know the principal tasks of software managers • Understand the need for planning in all software projects • Understand how graphical presentations can be used for project schedules • Understand the risk management process in software projects
Overview • Why Software project management? • Project Management Activities • Team formation • Project planning and scheduling • Cost estimation
Do you Agree or Disagree Good management guarantees project success Bad management usually result in project failure
Why? Project management is needed because software development is always subject to budget and schedule constraints.
Software project management is difficult than other engineering project management because: • The product is intangible. • The software development process is not standardised. • Many software projects are 'one-off' projects
Project Management Activities • Proposal writing/ Report writing and presentations. writing and communication skills (covered in other courses) • Team formation ( personal selection and evaluation) • Project planning and scheduling. • Project cost estimation. • Project monitoring and reviews. (covered in QA chapter) • Report writing and presentations
Team Formation • A project manager success starts with creating the best team possible and having the right people in the right roles. • May not be possible to appoint the ideal people to work on a project • Project budget may not allow for the use of highly-paid staff; • Staff with the appropriate experience may not be available; • An organisation may wish to develop employee skills on a software project. • Managers have to work within these constraints especially when there are shortages of trained staff. • More on people management in Chapter 25.
Project Planning • Probably the most time-consuming project management activity. • Continuous activity from initial concept through to system delivery. Plans must be regularly revised as new information becomes available. • Various different types of plans may be developed to support the main software project plan that is concerned with schedule and budget.
Objective of project plans • The project plan sets out: • The resources available to the project; • The work breakdown; • A schedule for the work. • It’s all about estimation, how much..
Structure of a project plan • Introduction ( objectives, constraints) • Project organisation (team organisation) • Risk analysis. • Hardware and software resource requirements. • Work breakdown (project activities, milestones and deliverables of each activity) • Project schedule.(dependencies between activities, time needed to reach each milestone and the allocation of people to activities) • Monitoring and reporting mechanisms.(define the reports that should be produced, when they should be produced and the project mechanism used)
Risk Management • Risk identification: • what can go wrong • Analyze the risk: • determine the likelihood that it will occur and • the damage it will do if it does occur • Prioritize risks by • probability and impact • Develop plan and monitor • to manage risks with high probability and high impact
Risk Planning and Monitoring • Consider each risk and develop a strategy to manage that risk. • Avoidance strategies • The probability that the risk will arise is reduced; • Minimisation strategies • The impact of the risk on the project or product will be reduced; • Contingency plans • If the risk arises, contingency plans are plans to deal with that risk;
Work breakdown • Activities in a project should be organised to produce tangible outputs for management to judge progress. • Milestones are the end-point of a process activity. • Deliverables are project results delivered to customers. • To establish milestones the software process must be broken down into basic activities with associated outputs.
Milestones and Deliverables Deliverables
Activity : Work breakdown • As a team • Project :Organizing a party Identify the milestones and the deliverables of this project
A milestone is something that identifies the end of a task, a deliverable is something delivered to the customer or beneficiary.
Project Scheduling • Split project into tasks and estimate time and resources required to complete each task. • Organize tasks concurrently to make optimal use of workforce. • Minimize task dependencies to avoid delays caused by one task waiting for another to complete. • Dependent on project managers intuition and experience.
Bar charts and activity networks • Graphical notations used to illustrate the project schedule. • Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two. • Activity charts show task dependencies and the critical path. • Bar charts show schedule against calendar time.
T1 T3 T5 start T2 End T4
Activity • Calculate the start and the finish of each activity in the activity network shown in the previous slide • Compare your answer with the text book p 102 • More explanation can be found in the following site (some figures used in this slides are taken from this site) http://syque.com/quality_tools/toolbook/Activity/do.htm
Project Cost Estimation (chapter26) • There are three parameters involved in computing the total cost of a software development project • Hardware and software costs including maintenance • Travel and training costs • Effort costs (paying software engineers) • For most projects, the dominant cost in software development is effort cost.
Project cost estimation techniques • Algorithmic cost modeling • Expert judgment • Estimation by analogy • Parkinson’s law • Pricing to win For large projects it is advisable to use several cost estimation techniques and compare the results