170 likes | 301 Views
Software Project Management. Lecture # 7. What are we studying today?. Chapter 24 - Project Scheduling Effort distribution Defining task set for the software project Project types (related topic) Factors that influence task set selection in a project A task set example
E N D
Software Project Management Lecture # 7
What are we studying today? • Chapter 24 - Project Scheduling • Effort distribution • Defining task set for the software project • Project types (related topic) • Factors that influence task set selection in a project • A task set example • Defining a task network • Project Scheduling • Timeline charts • Schedule tracking • Earned Value Analysis
Effort Distribution • A recommended distribution of effort across software process is often referred to as 40-20-40 rule • 40% allocated to analysis & design • 20% allocated to coding • 40% allocated to testing • Use the above as a guideline only as each project dictates its own distribution effort
Defining Task Set For The Software Project • Task set is a collection of software engineering work tasks , milestones and deliverables that must be accomplished to complete a particular software project. • Task sets are different for different types of projects • Most organizations encounter following types of projects • Concept development projects • Explore some new business concept or application of new technology
Defining Task Set For The Software Project (Contd.) • New application development projects • Undertaken as a consequence of specific customer request • Application Enhancement projects • Involve modification to functions, performance or interfaces (observable by end-user) in existing software • Application maintenance projects • That correct, adapt or extend existing software in ways that may not be obvious to end user • Reengineering projects • Undertaken for rebuilding an existing system in whole or part
Factors Influencing Task Set Selection in Projects • Size of project • Number of potential users • Mission criticality • Application longevity • Stability of requirements • Ease of customer/develop communication • Maturity of applicable technology • Performance constraints • Embedded, non embedded characteristics • Project staff • Reengineering factors • These factors also provide an indication of the degree of rigor with which the software process should be applied
A Task Set Example • Consider software engineering tasks for a Concept Development project. • Such projects are approached by applying the following major tasks: 1.1 Concept scoping • determines overall project scope 1.2 Preliminary concept planning • Establishes the organization’s ability to undertake work implied by project scope 1.3 Technology risk assessment • Evaluates risk associated with the technology to be implemented 1.4 Proof of concept • Demonstrates the viability of a new technology in the software context
A Task Set Example (Contd.) 1.5 Concept implementation • Implements the concept representation in a manner that can be reviewed by a customer and is used for marketing purposes when a concept must be sold to other customers or management. 1.6 Customer Reaction • Concept solicits feedback on a new technology concept and targets specific customer applications
Refinement of Major Tasks • The major tasks described earlier may be used to define a macroscopic schedule for project. • The macroscopic schedule must be refined to create a detailed schedule. • For this each major task is decomposed into a set of subtasks (with related work products and milestones) • As an example consider task 1.1 – concept scoping. The refinement is shown on next slide:
Refinement of Major Tasks (Contd.) • See page 715
Defining a Task Network • Also known as activity network • It is a graphic representation of the task flow for a project • Displays interdependencies and parallelism • Project manager should be aware of those tasks that lie on the critical path
1.1 Concept Definition 1.5 Integrate & Test A task set network for ‘concept development’ Enables the team to see the essentially serial nature of the project, but take advantage of parallelism where possible. 1.4a Module A Des/Dev 1.2 Project Planning 1.6 Concept Demo 1.4b Module B Des/Dev
Scheduling • Two Project Scheduling methods that can be applied to software development: • Program evaluation and review technique (PERT) • Critical Path Method (CPM) • Both are driven by Info already developed: • Estimates of effort • A decomposition of product function • The selection of appropriate process model and task set • Decomposition of tasks
Timeline Charts • When creating software project schedule, the planner begins with a set of tasks (work breakdown structure) • If automated tools are used, the work breakdown is input as a task network • Effort, duration and start date are then input for each task • As a result of this input, a timeline chart or Gantt chart is generated
Tracking Schedule • Accomplished in a no. of ways • Conducting periodic project status meetings in which each team member reports progress & problems • Evaluating results of all reviews conducted throughout the s/w engg process • Determining whether formal project milestones have been accomplished by scheduled date • Comparing actual start date to planned date for each project task • Meeting practitioners to get their assessment of progress to date and problems encountered • Use earned value analysis to assess progress quantitatively
Earned Value Analysis (EVA) • A quantitative approach for progress analysis of project • Earned value is a measure of progress • Steps to determine earned value: • The budgeted cost of work scheduled (BCWS) is determined for each work task represented in schedule • The BCWS values for all work tasks are summed to derive the budget at completion, BAC • BAC = ∑(BCWSk) for all k tasks • Next the value for budgeted cost of work performed (BCWP) is computed. • Its value is sum of the BCWS values for all work tasks that have actually been completed by a point in time on the project schedule
EVA (Continued) • According to ‘Wilkens’ • BCWS represents the budget of activities that were planned to be completed • and BCWP represents the budget of activities that were actually completed • Important progress indicators can be computed based on BCWS, BAC, BCWP values • SPI = BCWP/BCWS • Schedule performance index indicates efficiency with which project is using scheduled resources. SPI value 1.0 indicates efficient execution of project schedule • SV = BCWP – BCWS • Schedule variance, is simply an absolute indication of variance from planned schedule • CPI = BCWP/ACWP • Cost performance index value close to 1.0 indicates project is within its defined budget • Actual Cost of Work Performed is sum of effort actually expended on work tasks that have been completed by a point in time on project schedule • CV = BCWP – ACWP • Cost Variance is an absolute indication of cost savings or shortfall at a particular stage of project