Software Project Management

Slides:



Advertisements
Similar presentations
Project management.
Advertisements

Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
Planning for Risk and Change Geoff Leese Sept 1999 revised Sept 2001, Jan 2003, Jan 2006, Jan 2007, Jan 2008, Dec 2008 (special thanks to Geoff Leese)
Software project management (intro)
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
Project Management Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Don Cole Risk Assessment and Mitigation Project Management for ARA Engineers and Scientists.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 5 Slide 1 Chapter 5 Project Management Modified by Randy K. Smith.
Project management DeSiaMore 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Concerned with activities involved in ensuring that software is delivered: on.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
1 Project Risk Management Project Risk Management Dr. Said Abu Jalala.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management Lecture 10. Topics covered Management activities Project planning Project scheduling Risk management.
Chapter 3 Project Management Details Tracking Project Progress Project Estimation Project Risk Analysis Project Organization RUP Project Management Workflow.
Software Project Management Lecture 11. Outline Brain Storming session  Some simple discussion on questions and their answers  Case studies related.
© The McGraw-Hill Companies, Software Project Management 4th Edition Risk management Chapter 7.
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
Project monitoring and Control
©Ian Sommerville 2000 Slide 1 Project management l Organising, planning and scheduling software projects l Objectives To introduce software project management.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Pre-Project Components
Ch 10 - Risk Management Learning Objectives You should be able to: List and describe risk management processes, inputs, outputs, and tools List and describe.
Software Engineering, 8th edition. Chapter 5 1 Courtesy: ©Ian Sommerville 2006 Oct 13 th, 2008 Lecture # 6 Project management.
1 Project management. 2 Topics covered Management activities Project planning Project scheduling Risk management.
Software Project Management Lecture 5 Software Project Risk Management.
Chap 4. Project Management - Organising, planning and scheduling
University of Sunderland CIFM02 Unit 5 COMM02 Project Hazard Management and Contingency Planning Unit 5.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
Risk planning Risks can be dealt with by: Risk acceptance – the cost of avoiding the risk may be greater than the actual cost of the damage that might.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management 1/30/2016ICS 413 – Software Engineering1.
R i s k If you don’t attack risks, they will attack you.
Project management (2) By: Zhou Chunlin School of Tourism, Conference and Exhibitions Henan University of Economics and Law.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
1 Project management Organising, planning and scheduling software projects.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Project management Chapter 5. Objectives To explain the main tasks undertaken by project managers To introduce software project management and to describe.
Risk management Here’s my section for risk management! ~ Christopher Thornton.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Advanced Software Engineering Dr. Cheng
COMP201 Project Management.
Information Systems Development
RISK MANAGEMENT.
Assistant Professor of Computer Science Washington State University
IS301 – Software Engineering V:
Software Project Management
Software Engineering Fall 2005
Project management.
FMEA.
Software Processes (a)
Chapter 2 SW Process Models
Recognization and management of RISK in educational projects
IS442 Information Systems Engineering
Activity Planning.
Chapter 2: Project Management
Chapter 4 Systems Planning and Selection
Information Systems Development
Software Project Management
Software Project Management (SPM)
Chapter 2 – Software Processes
Project management Lecture 9
Risk management.
Chapter 8 Software Evolution.
Lecture 06:Software Maintenance
Risk management.
Software Testing Lifecycle Practice
Presentation transcript:

Software Project Management Software Project Risk Management

Overview Project risks Nature of risks Risk identification Risk estimation Risk evaluation Risk management Risk reduction strategies Software Project Management

Project Risks Factors that cause a project to be delayed or over-budget It is important that we want to build and deliver the product on time and within budget. Any factors that cause delay or over-budget are potential threats to the project. Software Project Management

Nature of Project Risks Planning assumptions Estimation errors Eventualities During the project evaluation (feasibility study), we have some estimations (e.g. size or time), which are based on some assumptions. Based on these estimations and assumptions, we decide whether to continue the project or not. Thus, anything that goes wrong with the estimations and assumptions are potential threats to the project. Software Project Management

Planning Assumptions Why assumptions Uncertainties in early stage of the project We all make assumptions due to uncertainties in the early stage of the project. What happen if the assumptions turn out to be invalid? Software Project Management

Planning Assumptions (cont’d) Common assumption: “Everything will go smoothly” Environment is reliable and fixed Design will be perfect first time Coding will be ‘nearly perfect’ Software Project Management

Planning Assumptions (cont’d) Guidelines List all the assumptions Identify the effects of these assumptions on the project if they are no longer valid Software Project Management

Estimation Errors Difficult to have accurate size or time estimations Lack of experience of similar tasks Lack of historical data Nature of the task These three factors (experience, history, nature) are interrelated. For example, if we are to document the user manuals and we have done this for a similar system, the estimation will be accurate to some extent. However, if we are to test and debug the system, it is then difficult to have a good estimate even if we have tested and debugged a similar system before. Software Project Management

Estimation Error (cont’d) Estimation can be improved by analyzing historic data for similar tasks and similar projects Keep historic data of your estimation and the actual performance Compare your estimation and the actual value Classify the tasks that are easy or difficult to give accurate estimation In order to improve the estimation, you need to have lots of historic data and need to analyze your estimation with the actual performance. The CMM proposed by SEI, Carnegie Melon, provides an answer to this. Software Project Management

Eventualities Unexpected and unimaginable events Common unexpected events Hardware cannot be delivered on time Requirements specification needs to be rewritten Staffing problem Point out in real life that unexpected events always occur Software Project Management

Boehm’s Risk Engineering In Boehm’s Tutorial on Software Risk Management, IEEE Computer Society, 1989 There are many different models, but they are very similar. A task breakdown structure for Boehm’s risk engineering is introduced here. Software Project Management

Risk Identification Identify the hazards that might affect the duration or resource costs of the project Hazard  Problem  Risk A hazard is an event that might occur and will create a problem for the successful completion of the project, if it does occur Examples of hazard: a team member is ill; late delivery of a hardware component; system down Software Project Management

Hazard, Problem, and Risk Hazard: Mary’s baby may be born early Problem: Modules P and Q will have no coder Risk: Milestone 7 will be delayed, or extra budget will be needed to hire another coder Software Project Management

Risk Identification (cont’d) Type of risks Generic risk (common to all projects) Standard checklist can be modified based on the risk analysis of previous projects Specific risk (only applies to individual projects) More difficult to find Need to involve project team members Need an environment that encourages risk assessment Generic risks are those risks relevant to all software projects. Examples are misunderstanding of the requirements and key staff being ill. Specific risks are those risks relevant to an individual project only. Team members of the project are the frontline of identifying these potential risks. Need to set up an encouraging risk-identification environment so that team members are willing to share their findings. “Assuming that the problems will not occur does not prevent their occurrence.” Software Project Management

Risk Identification (cont’d) Guideline Use checklist that lists the potential hazards and their corresponding factors Maintain an updated checklist for future projects Typical checklists may have many hazards and factors. Software Project Management

Common Risk Factors Application factors Staff factors Project factors Hardware and software factors Changeover factors Supplier factors Environment factors Health and safety factors Boehm’s Top Ten Risk Items Personnel shortfalls Unrealistic schedules and budgets Developing the wrong software functions Developing the wrong user interface Gold Plating Continuing stream of requirements changes Shortfalls in externally performed tasks Shortfalls in externally furnished components Real-time performance shortfalls Straining computer science capabilities Software Project Management

Application Factors Nature of the application A data processing application or a life-critical system (e.g. X-ray emission system) Expected size of the application The larger is the size, the higher is the chance of errors, communication problems and management problems Nature of the application: It is a critical factor to the success of the project. Expected size of application: The larger is the size, the higher is the chance of errors, communication and management problems. Software Project Management

Staff Factors Experience and skills Appropriateness of experience Staff satisfaction Staff turn-over rates Experience and skills: Experienced programmers are less likely to make errors. Appropriateness of Experience: Experience in structural design (using JSD) may not be related to OOD in UML. Experience in coding COBOL may not be related to coding in C++ or Java. Staff satisfaction: Dissatisfied or Unmotivated staff may cause a project to fail. Staff turn-over rate: Key personnel leaving unexpectedly would cause a project to fail. High turn-over rate would cause much communication overhead and may delay a project. Software Project Management

Project Factors Project objectives: Project methods: Ill defined Unclear to every team member and user Project methods: Ill specified methods Unstructured methods Software Project Management

Hardware and Software Factors New hardware Stability of the new hardware system Cross platform development Development platform is not the operation platform Does the language used support cross platform development? New hardware: Usually, new hardware systems are not so stable at their early stage. Cross platform development: Platform Issue: Normally, the development platform and the operation platform are not exactly the same. Adjustment is needed to cater for the operation platform. This leads to extra time and effort. Problems may only occur in the operation platform. Language Issue: Availability of languages in the development platform as well as the operation platform High portability languages should be used such as C, C++, and Java. This also relates to the skills of the staff. Integration issues of different development off-the-shelf components such as VB, ODBC, Java, and JDBC. Software Project Management

Changeover Factors ‘All-in-one’ changeover The new system is put into operation Incremental or gradual changeover Adding new components to the system by phases Parallel changeover Both the existing system and the new system are used in parallel All-in-one: Too risky. It minimizes operation costs if everything is OK. Incremental: Minimizes the risk involved. However, it is not always practical because it involves too many issues such as the order of integration of the components, the scheduling of the components, the interface between the replaced components and the replacing components, and training of operation personnel. Parallel: A safety net, no risk at all during the parallel phases. Too costly. Sometimes, it is impossible. Software Project Management

Supplier Factors Late delivery of hardware Instability of hardware Late completion of building sites Software Project Management

Environment Factors Changes in environment such as hardware platforms Changes in government policies Changes in business rules Restructuring of organizations Software Project Management

Health and Safety Factors Health and safety of staff and environment Staff sickness, death, pregnancy etc. Any tragic accident to staff Software Project Management

Boehm’s Top Ten Risk Items Personnel shortfalls Unrealistic schedules and budgets Developing the wrong software functions Developing the wrong user interface Gold plating “Gold plating” means putting some things on the application so as to make it good looking. However, these things are totally unnecessary. Software Project Management

Boehm’s Top Ten Risk Items (cont’d) Continuing stream of requirements changes Shortfalls in externally performed tasks Shortfalls in externally furnished components Real-time performance shortfalls Straining computer science capabilities Software Project Management

Risk exposure = risk likelihood × risk impact Risk Estimation Recall that Hazard  Problem  Risk Risk estimation is to assess the likelihood and impact of each hazard Risk exposure (risk value) It is the importance of the risk Risk exposure = risk likelihood × risk impact Software Project Management

Risk Estimation (cont’d) Risk likelihood The probability that a hazard is going to occur Risk impact The effect of the problem caused by the hazard Risk likelihood: how likely a hazard is going to occur? Risk impact: Ideally, it should be estimated in monetary terms. However, the estimated value is normally used as a guideline on the order of importance of the items rather than the actual dollar need to rectify the problem unless you are a real good estimator. What is the cost of the problem? This may include the following: The cost of delays to scheduled dates for deliverables. The cost overruns caused by using additional or more expensive resources. The costs incurred or implicit in any compromise to the quality or functionality of the system. Advantages: To be consistent with the measures in the cost-benefit analysis Easy to compare the relative importance of risk exposure of various risk Can be directly compared with the costs and likelihoods of success of various contingency plans. Software Project Management

Risk Estimation (cont’d) Advantages The only way to compare or rank the risks To have a good quantitative estimate, the extra effort can provide a better understanding of the problem Disadvantages Estimation is difficult, subjective, time-consuming and costly Software Project Management

Risk Estimation Techniques Risk likelihood Rank from Low, Medium to High Rank from 1 (least likely) to 10 (most likely) Risk Impact Rank from 1 to 10 Software Project Management

Risk Evaluation Ranking the risks Determining the corresponding risk reduction strategies Ranking only shows the order of importance of the risks not their relative sizes. Software Project Management

Ranking Risks Ranking the risks based on their risk exposures Ranking shows the order of importance In practice, also consider factors like Confidence of the risk assessment Compound risk The number of risks Cost of action Other factors: Confidence: need to re-assess those risks that we have low confident in more detail Compound: combine risks that depend on each other to form a single risk Number: limit the size of the priority list Cost: Risk with low fixing costs can be incorporated into the project. Risk with high fixing costs should be considered whether the cost of action will outweigh the benefits of reducing the risk. Software Project Management

Risk Reduction Leverage (RRL) RRL is used to determine whether it is worthwhile to carry out the risk reduction plan. The higher is the RRL value, the more worthwhile is to carry out the risk reduction plan. RE stands for Risk Exposure. Guidelines: If RRL > 1, there is a gain from enacting the plan. Go ahead. Software Project Management

Risk Management Risk planning Risk control Risk monitoring Risk directing Risk staffing Software Project Management

Risk Planning Making contingency plans Where appropriate, adding these plans into the project’s overall task structure Software Project Management

Risk Control Minimizing and reacting to problems arising from risks throughout the project Software Project Management

Risk Monitoring It is an ongoing activity throughout the whole project to monitor the likelihood of a hazard; and the impact of the problem caused. Software Project Management

Risk Directing and Staffing These concerns with the day-to-day management of risk. Risk aversion strategies and problem solving strategies frequently involve the use of additional staff and this must be planned for and should be considered. Software Project Management

Risk Reduction Strategies 5 different types in a generic sense Hazard prevention Likelihood reduction Risk avoidance Risk transfer Contingency planning Distinctions among them are fuzzy Software Project Management

Hazard prevention Prevent a hazard from occurring or reduce its likelihood to an insignificant level Lack of skilled staff can be prevented by employing staff with appropriate skills Unclear requirements specification can be prevented by using formal specification techniques Software Project Management

Likelihood reduction Reduce the likelihood of an unavoidable risk by prior planning Late change to the requirements specification can be reduced by using prototyping Software Project Management

Risk avoidance Some hazards cannot be avoided but their risks may A project can be protected from the risk of overrunning the schedule by increasing duration estimates. Sometimes, it is difficult to have clear classification. The risk of developing bad user interface can be avoided by prototyping and user involvement. Software Project Management

Risk transfer The impact of the risk can be transferred away from the project by contracting out or taking out insurance The risk of shortfalls in external supplied components can be transferred away by quality assurance procedures and certification, and contractual agreements. Software Project Management

Contingency planning Contingency plans are needed to reduce the impact of those risks that cannot be avoided The impact of any unplanned absence of programming staff can be minimized by using agency programmers Software Project Management