Software Engineering Economics SE 361 Lecture-23,24 By Muhammad Waseem Awan Project management The application of knowledge skills, tools, and techniques to project activities to meet project requirements. (PMI) to meet or exceed stakeholder needs and expectations from a project!!! Managing a project includes: Identifying requirements Establishing clear and achievable objectives Balancing the competing demands for quality, scope, time and cost Adapting the specifications, plans, and approach to the different concerns and expectations of the various stakeholders. PMBoK – Knowledge Areas 3 Integration Management Develop Project Charter Developing the project charter that formally authorizes a project or a project phase. Develop Preliminary Project Scope Statement Developing the preliminary project scope statement that provides a high-level scope. Develop Project Management Plan Documenting the actions necessary to define, prepare, integrate, and coordinate all subsidiary plans into a project management plan. Direct and Manage Project Execution Executing the work defined in the project management plan to achieve the project’s requirements defined in the project scope statement. Monitor and Control Project Work Monitoring and controlling the processes used to initiate, plan, execute, and close a project to meet the performance objectives defined in the project management plan. 4 Scope Management A subset of project management that includes the processes required to ensure that the project includes all the work required, and only the work required, to complete the project successfully. Scope Planning – creating a project scope management plan that documents how the project scope will be defined, verified, controlled, and how the work breakdown structure (WBS) will be created and defined. Scope Definition – developing a detailed project scope statement as the basis for future project decisions. Create WBS – subdividing the major project deliverables and project work into smaller, more manageable components. Scope Verification – formalizing acceptance of the completed project deliverables. Scope Control – controlling changes to the project scope. 5 Time Management A subset of project management that includes the processes required to ensure timely completion of the project Activity Definition : identifying the specific schedule activities that need to be performed to produce the various project deliverables. Activity Sequencing : identifying and documenting dependencies among schedule activities. Activity Resource Estimating : estimating the type and quantities of resources required to perform each schedule activity. Activity Duration Estimating: the number of work periods that will be needed to complete individual schedule activities. Schedule Development: analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule. Schedule Control controlling changes to the project schedule. Cost Management A subset of project management that includes the processes required to ensure that the project is completed within the approved budget. Cost Estimating developing an approximation of the costs of the resources needed to complete project activities. Cost Budgeting: aggregating the estimated costs of individual activities or work packages to establish a cost baseline. Cost Control :influencing the factors that create cost variances and controlling changes to the project budget. 7 Quality Management A subset of project management that includes the processes required to ensure that the project will satisfy the needs for which it was undertaken. Quality Planning Identifying which quality standards are relevant to the project and determining how to satisfy them Quality Assurance applying the planned, systematic quality activities to ensure that the project employs all processes needed to meet requirements. Quality Control Monitoring specific project results to determine if they comply with relevant quality standards and identifying ways to eliminate causes of unsatisfactory performance 8 Human Resource Management A subset of project management that includes the processes required to make the most effective use of the people involved with the project. Human Resource Planning Identifying and documenting project roles, responsibilities, and reporting relationships, as well as creating the staffing management plan. Acquire Project Team: Obtaining the human resources needed to complete the project. Develop Project Team: Improving the competencies and interaction of team members to enhance project performance. Manage Project Team: Tracking team member performance, providing feedback, resolving issues, and coordinating changes to enhance project performance . 9 Communication Management A subset of project management that includes the processes required to ensure timely and appropriate generation, collection, dissemination, storage, and ultimate disposition of project information. Communications Planning determining the information and communications needs of the project stakeholders. Information Distribution making needed information available to project stakeholders in a timely manner. Performance Reporting collecting and distributing performance information. This includes status reporting, progress measurement, and forecasting. Manage Stakeholders managing communications to satisfy the requirements of and resolve issues with project stakeholders 10 Project Risk Management Project Risk Management includes the processes concerned with conducting risk management planning, identification, analysis, responses, and monitoring and control on a project; most of these processes are updated throughout the project. Risk Management Planning deciding how to approach, plan, and execute the risk management activities for a project. Risk Identification determining which risks might affect the project and documenting their characteristics. Qualitative Risk: Analysis prioritizing risks for subsequent further analysis or action by assessing and combining their probability of occurrence and impact. Quantitative Risk: Analysis numerically analyzing the effect on overall project objectives of identified risks. Risk Response Planning developing options and actions to enhance opportunities, and to reduce threats to project objectives. Risk Monitoring and Control tracking identified risks, monitoring remaining risks, identifying new risks, executing risk response plans, and evaluating their effectiveness throughout the project life cycle. 11 Procurement Management Project Procurement Management includes the processes to purchase or acquire the products, services, or results needed from outside the project team to perform the work. The organization can be either the buyer or seller of the product, service, or results under a contract. Plan Purchases and Acquisitions determining what to purchase or acquire and determining when and how. Plan Contracting documenting products, services, and results requirements and identifying potential sellers. Request Seller Responses obtaining information, quotations, bids, offers, or proposals, as appropriate. Select Sellers reviewing offers, choosing among potential sellers, and negotiating a written contract with each seller. Contract Administration managing the contract and relationship between the buyer and seller, reviewing and documenting how a seller is performing or has performed to establish required corrective actions and provide a basis for future relationships with the seller, managing contract related changes and, when appropriate, managing the contractual relationship with the outside buyer of the project. Contract Closure completing and settling each contract, including the resolution of any 12 open items, and closing each contract applicable to the project or a project phase. RISK MANAGEMENT IN SOFTWARE ENGINEERING What is Risk? Risk is an uncertainty. We don’t know whether a particular event will occur or not An example would be that team is working on a project and the developer walks out of project and other person is recruited n his place and he doesn’t work on the same platform and converts it into the platform he is comfortable with. Now the project has to yield the same result in the same time span. Whether they will be able to complete the project on time. That is the risk of schedule . Definitions of Risks Risk is the probability of suffering loss. Risk provides an opportunity to develop the project better. There is a difference between a Problem and Risk Problem is some event which has already occurred but risk is something that is unpredictable. Risk management The Risks we encounter in a project should be resolved so that we are able to deliver the desired project to the customer. The project should be managed in such a way that the risks don’t affect the project in a big way. The art of managing of the risks effectively so that the WIN-WIN situation and friendly relationship is established between the team and the customer is called Risk Management. By using various paradigms, principles we can manage the risks. The Principles of Risk Management 1.Global Perspective: In this we look at the larger system definitions, design and implementation. We look at the opportunity and the impact the risk is going to have . 2.Forward Looking View: Looking at the possible uncertainties that might creep up. We also think for the possible solutions for those risks that might occur in the future. 3.Open Communication: This is to enable the free flow of communication between in the customers and the team members so that they have clarity about the risks. 4.Integrated management: In this phase risk management is made an integral part of project management. 5.Continous process :In this phase the risks are tracked continuously throughout the risk management paradigm. Risk management paradigm 1.Identify: Search for the risks before they create a major problem 2.Analyze: understand the nature , kind of risk and gather information about the risk. 3.Plan: convert them into actions and implement them. 4.Track: we need to monitor the necessary actions. 5.Control: Correct the deviation and make any necessary amendments. 6.Communicate: Discuss about the emerging risks and the current risks and the plans to be undertaken. Risk Management in Project management: Basically project management deals with following : 1. Planning: Looking for the desired results, the strategies to be applied. 2. Organizing: Getting all the things together so that the desired results are obtained. By organizing the efficiency is increased and lot of time is saved. 3. Directing: Communication takes place and exchange of ideas is formatted in this phase. 4. Controlling: In the last phase feedback and evaluation is done. Team Risk Management Principles The two principles are: 1. Shared Product Vision: The common goal between the team and the supplier is established so that the vision is very plain. 2. Team work: Working collectively towards achieving a common goal. Risk Management In Small Project: 1.Preparing for Risks: Looking for the external and internal Risks : Uncertain requirements Unknown technology Infeasible Design Cost And Schedule uncertainty. 2.Identify and Analyze Risks: We need to identify the risks and understand the nature of risks and prioritize the risks and try to solve the risks. 3.Mitigate the risks: In this phase we have risk acceptance, risk transfer, risk avoidance, risk control. We implement them in this phase so that we can mitigate the risks. Software Risk Management Risk Identification Risk Assessment Risk Analysis Risk Prioritization Risk Management Risk mgmt Planning Risk Control Risk Resolution Risk Monitoring ©USC-CSE 10/14/05 Checklists Decision driver analysis Assumption analysis Decomposition Performance models Cost models Network analysis Decision analysis Quality factor analysis Risk exposure Risk leverage/power Compound risk reduction Buying information Risk avoidance Risk transfer Risk reduction Risk element planning Risk plan integration Prototypes Simulations Benchmarks Analyses Staffing Milestone tracking Top-10 tracking Risk reassessment Corrective action 22 Risk Identification Techniques Risk-item checklists Decision driver analysis Comparison with experience Win-lose, lose-lose situations Decomposition 80 – 20 phenomena • 80% of consequences had root in 20% of the causes. Task dependencies Uncertainty areas 23 ©USC-CSE 10/14/05 Top 10 Risk Items: 1989 and 1995 1995 1989 1. Personnel shortfalls 1. Personnel shortfalls 2. Schedules and budgets 2. Schedules, budgets, process 3. Wrong software functions 3. COTS, external components 4. Wrong user interface 4. Requirements mismatch 5. Gold plating 5. User interface mismatch 6. Requirements changes 6. 7. Externally-furnished components Architecture, performance, quality 7. Requirements changes 8. Externally-performed tasks 8. Legacy software 9. Real-time performance 9. Externally-performed tasks 10. Straining computer science 10. Straining computer science 24 ©USC-CSE 10/14/05 The Top Ten Software Risk Items Risk Item Risk Management Techniques 1. Personnel Shortfalls Staffing with top talent; key personnel agreements; incentives; team-building; training; tailoring process to skill mix; peer reviews 2. Unrealistic schedules and budgets Business case analysis; design to cost; incremental development; software reuse; requirements descoping; adding more budget and schedule 3. COTS; external components Qualification testing; benchmarking; prototyping; reference checking; compatibility analysis; vendor analysis; evolution support analysis 4. Requirements mismatch; gold plating Stakeholder win-win negotiation; business case analysis; mission analysis; ops-concept formulation; user surveys; prototyping; early users’ manual; design/develop to cost 5. User interface mismatch Prototyping; scenarios; user characterization (functionality, style, workload) 25 ©USC-CSE 10/14/05 The Top Ten Software Risk Items (Concluded) 6. Architecture, performance, quality Architecture tradeoff analysis and review boards; simulation; benchmarking; modeling; prototyping; instrumentation; tuning 7. Requirements changes High change threshold; information hiding; incremental development (defer changes to later increments) 8. Legacy software Design recovery; phase-out options analysis; restructuring 9. Externally-performed tasks Reference checking; pre-award audits; award-fee contracts; competitive design or prototyping; team-building 10. Straining Computer Science capabilities Technical analysis; cost-benefit analysis; prototyping; reference checking 26 ©USC-CSE 10/14/05 END 27 ©USC-CSE 10/14/05