The Project Management Discipline Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki Purpose It does not cover :  Managing people: hiring, training, coaching  Managing budgets: defining, allocating  Managing contracts with suppliers and customers 2 Purpose This discipline focuses on:  Planning an iterative project through the lifecycle and planning a particular iteration  Risk management  Monitoring the progress of an iterative project and measurements 3 Purpose plans to be realistic must have a very good understanding of what will be built Therefore:  Must have stable requirements and  A stable architecture, and  Must have built a similar system from which  you can derive a detailed work breakdown structure (WBS). 4 Planning and Iterative Project In an iterative process, the development is based on two kinds of plans:  A coarse-grained plan  the phase plan  A series of fine-grained plans  the iteration plans 5 Purpose 6 The Concept of Risk  Direct risk  a risk over which the project has a large degree of control  Indirect risk  a risk over which the project has little or no control 7 The Concept of Risk Risk important attributes:  The probability of occurrence (its likelihood)  The impact on the project (its severity) 8 The Concept of Risk Strategies: How to Cope with Risks The key idea in risk management: You dont wait passively until a risk becomes a problem 9 The Concept of Risk Main routes:  Risk avoidance  Reorganize the project so that …  it cannot be affected by the risk.  Risk transfer  Reorganize the project so that someone or something else bears the risk.  For example: the customer, vendor, bank, or another element  Risk acceptance  Decide to live with the risk as a contingency.  Monitor the risk symptoms and  determine what to do if the risk materializes. 10 The Concept of Risk When accepting a risk, you should do two things:  Mitigate the risk  steps to reduce the probability or the impact of the risk.  Define a contingency plan  Determine the action to take if the risk becomes an actual problem 11 The Concept of Measurement  Measuring key aspects of a project adds a non-negligible cost  We must set precise goals for a measurement effort and  Collect only measurements that allow us to satisfy these goals. 12 The Concept of Measurement Two kinds of goals:  Knowledge goals  Assess product quality,  Monitor test coverage or  Monitor requirements changes.  Change goals  They express an interest in seeing how things change or improve over time,  from one iteration to another, and  from one project to another. 13 The Concept of Measurement Goals examples:  Monitor progress relative to the plan.  Improve customer satisfaction.  Improve productivity.  Increase reuse. 14 The Concept of Measurement Goals Action goals For example: "Improve customer satisfaction"  Define customer satisfaction.  Measure customer satisfaction over several releases.  Verify that satisfaction improves. 15 The Concept of Measurement Goal Sub-goals Example: "Improve productivity"  Measure effort.  Measure progress.  Calculate productivity over several iterations or projects.  Compare the results. 16 Roles and Artifacts 17 18 Workflow Staff/Schedule Trade-off Cannot trade staff for schedule. COCOMO (Constructive Cost Model) 19 Workflow 20 Workflow Some heuristics: 1) Stretch the inception phase  If need a long time to  scope the project,  find the funding,  conduct market research, or  build an initial proof-of-concept prototype, 21 Workflow 2) Stretch the elaboration phase  If  No architecture in place,  Using new and unknown technology,  Have severe performance constraints,  Have a number of technical risks, and  Have a lot of new staff,. 22 Workflow  If this is the second generation of a product or  if you will make no major changes to the architecture, shrink the inception and elaboration phases. 23 Workflow  If you must hit the market quickly  because you are late or  because you are creating the market  If you must plan to finish the product gradually,  you can shorten the construction phase and  lengthen the transition phase 24 Duration of an Iteration Workflow-  An iteration starts with planning and requirements and ends with a release, either internal or external.  Ideally, an iteration should span from two to six weeks, but this varies from project to project. 25 Duration of an Iteration Workflow- How quickly you can iterate depends on:  Size of the development organization.  Degree of the organization's familiarity with the iterative approach;  Level of automation used by the team to manage code  Testing and automation of it. an iteration has some fixed overhead for planning, synchronizing, and analyzing the results. 26 Number of Iteration In inception phase: Workflow-  there will be no real iteration;  no software is produced, and  there are only planning and marketing activities. In some cases, an iteration for:  Building a prototype 27 Number of Iteration Workflow- In elaboration phase:  Should plan at least one iteration.  If have no architecture must accommodate a lot of new factors  New people,  New tools,  New Technology,  New Platform, or  New programming language  Then should plan two or three iterations.  Cannot tackle all the risks at once.  May need to show a prototype to the customer or end users  Need an iteration to correct early mistakes on the architecture. 28 Number of Iteration Workflow- In construction phase  Should plan at least one iteration.  Two is more reasonable for a better integration and testing.  For more ambitious projects, three or more iterations are even better 29 Number of Iteration Workflow- In transition phase  At least one iteration,  Too often,  The realities of the market or  The (poor) quality of the initial release will force you to do more iterations. 30 Number of Iteration Workflow- Over the entire development cycle [I, E, C, T]:  Low: three iterations [0, 1, 1, 1]  Typical: six iterations [1, 2, 2, 1]  High: nine iterations [1, 3, 3, 2] 31 Building an Iteration Plan Follow these four steps: 1) Define objective criteria for the success of the iteration.  These criteria will used in an iteration assessment review 2) Identify the artifacts that will need to be developed or updated and the activities that will be required to achieve this. 3) Beginning with a typical iteration work breakdown structure (WBS) , and aarange it to take into account the actual activities that must take place. 4) Use estimates to assign duration and effort to each activity, keeping all numbers within your budget. 32 Building an Iteration Plan Objective drivers of an iteration in elaboration phase: 1) Risk 2) Criticality 3) Coverage 33 Objective Drivers Building an Iteration Plan- 1) Risk  For damaging risks, identify a scenario in one use case that would force the development team to "confront" the risk.  Examples:  If there is an integration risk, such as "database D working properly with OS Y," be sure to include one scenario that involves some database interaction even.  If there is a performance risk, such as "excessive time to compute the trajectory of the aircraft," be sure to include one scenario that includes this computation, at least for the most obvious and frequent case. 34 Objective Drivers Building an Iteration Plan- 2) Criticality  Select scenarios from the use cases that represent the most common or the most frequent form of the service or feature offered by the system. 3) Coverage  Include scenarios that touch areas you know will require development even if these scenarios are neither critical nor risky 35
© Copyright 2025 Paperzz