Software Project Management Lecture # 6. Outline Recap Remaining Topics of Chapter 23 Project Scheduling (Chapter 24)

Slides:



Advertisements
Similar presentations
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Advertisements

The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Lecture 9: Scheduling (Chapter 27) Mehran Rezaei.
Chapter 26 Estimation for Software Projects
1 Chapter 7 Project Scheduling and Tracking. 2 Write it Down! SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy.
W5HH Principle As applied to Software Projects
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 24 Project Scheduling and Tracking
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Project Scheduling and Tracking
Project Tracking and Scheduling Infsy 570 Dr. R. Ocker.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Project Management and Scheduling
1 Project Planning CIS 375 Bruce R. Maxim UM-Dearborn.
Software Engineering: A Practitioner’s Approach
Software Project Management
Lecture 7 Project Scheduling and Tracking
Software Project Management Lecture # 7. Outline Project Scheduling.
Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.
Software Engineering Lecture 7: Scheduling & Tracking.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Chapter 24 Software Project Scheduling - Introduction - Project scheduling - Task network - Timeline chart - Earned value analysis (Source: Pressman, R.
Project Scheduling 1. Why Are Projects Late? An unrealistic deadline established by someone outside the software development group Changing customer requirements.
Lecture 18: Chapter 27 Project Scheduling
Project Scheduling & Tracking. Why Software Is Delivered Late? An unrealistic deadline Changing but unpredicted customer requirements Underestimation.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,
Software Engineering Lecture 5 Software Project Planning 1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Information System Project Management.  Some problems that org faced with IS dev efforts include schedule delays, cost overrun, less functionality than.
Software Engineering (CSI 321) Project Planning & Estimation 1.
Monitoring Risk Factors General attitude of team members based on project pressures The degree to which the team is jelled Interpersonal relationships.
Project Management Why do projects fail? Technical Reasons
PROJECT SCHEDULING AND TRACKING
Chapter 23 Estimation Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Project Management
Software Engineering (CSI 321) Project Scheduling 1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Project Scheduling. Why Are Projects Late? an unrealistic deadline established by someone outside the software development group changing customer requirements.
Chapter 33 Estimation for Software Projects
Chapter 34 Project Scheduling
For University Use Only
Software Project Management
Software Engineering Fall 2005
Software Project Management
For University Use Only
Software Engineering (CSI 321)
Software Engineering (CSI 321)
Software Project Sizing and Cost Estimation
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
REKAYASA PERANGKAT LUNAK
Software Project Management
Software Cost estimation
Assessing Risk Impact Factors affecting the consequences Nature Scope
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 27 Project Scheduling
Chapter 34 Project Scheduling
Chapter 26 Estimation for Software Projects.
Information system analysis and design
Presentation transcript:

Software Project Management Lecture # 6

Outline Recap Remaining Topics of Chapter 23 Project Scheduling (Chapter 24)

Recap – “Software Estimation” Software project planner must estimate the following important things before the project begins  How long it will take?  How much effort will be required?  How much money will be involved?  How many resources will be required? People Reusable software Software/hardware  Risk consideration In the beginning, project’s scope and feasibility are determined. The scope helps develop estimates using one techniques that fall into 2 broad categories  Decomposition  Empirical modeling

Recap – “Software Estimation” Decomposition involves identifying major software function followed by estimates for each Empirical techniques use empirically derived expressions for effort and time estimation Software estimation can never be an exact science but use of good historical data and systematic techniques can improve estimation accuracy

The Software Equation Suggested by Putnam & Myers It is a multivariable model It assumes a specific distribution of effort over life of s/w project It has been derived from productivity data collected for over 4000 modern-day s/w projects E = [LOC x B / P] 3 x (1/t 4 )  E = effort in person-months or person-years  B = special skills factor  P = productivity factor  t = project duration (months or years)

The Software Equation (Cont.) Typical values of P  P= for a real-time embedded s/w  P= 10,000 - for telecomm. & systems s/w  P= 28,000 for business applications P reflects  Overall process maturity  Management practices  Extent to which good s/w engg practices are used  Level of prog. Languages used  State of s/w environment  Skills & experience of team  Application complexity

The Software Equation (Cont.) Software equation has two independent parameters  LOC  t Minimum dev. Time equations derived from software equation  t min = 8.14 (LOC/P) 0.43 in months for t min > 6 months  E = 180 Bt 3 In person-months for E>= 20 person-months

The Make/Buy decision Often it is more cost effective to acquire rather than develop a software Software managers have following options while making make/buy decisions  Software may be purchased (or licensed) off the shelf  “Full experience” or “partial experience” software components may be acquired and then modified as needed  Software may be custom-built by an outside contractor to meet specifications Software criticality to be purchased and the end cost also affect acquisition process

The Make/Buy decision (Cont.) For each of the discussed acquisition options, the Make/Buy decision is made based on following conditions  Will he software product be available sooner than internally developed software?  Will the acquisition cost plus cost of customization be less than cost of developing the software internally?  Will the cost of outside support (e.g., maintenance contract) be less than the cost of internal support?

Decision Tree Estimated path cost Means 30% probability

Expected value of cost computed along each branch of the decision tree is: Decision Tree (path probability) x (estimated path cost) (path probability) x (estimated path cost) expected cost =

Outsourcing Acquisition of software (or components) from a source outside the organization Software engineering activities are contracted to a third party who does the work at lower cost and (hopefully) at higher quality Software work within the company is reduced to contract management activity Outsourcing is often a financial decision Positive side  Cost saving can usually be achieved by reducing own resources (people & infrastructure) Negative side  Company loses some control over the software and bears the risk of putting its fate in hands of a third party

Project Scheduling (Chap. 24 )

Background After the following have been achieved…  Process model selection  S/w engg. tasks identification  Estimation of amount of work & people  Risk consideration and knowing deadline … the task is to create a setup for achieving the software engineering tasks. This setup is called ‘software project scheduling and tracking’

What is scheduling? An activity that distributes estimated effort across the planned project duration by allocating the effort to specific software engineering task Creating a network of software engineering tasks to complete the project and assign responsibilities of tasks and timing of tasks

What is Tracking? Tracking is the process to make sure that all tasks are completed according to assigned responsibility and schedule.

Overview – Proper Scheduling Proper Project Scheduling requires  All tasks should appear in the network  Interdependencies between tasks are indicated  Effort and timing are intelligently allocated to tasks  Resources are allocated to tasks  Closely spaced milestones are provided for progress tracking

Reasons for late software delivery Unrealistic deadline established by some one outside the software development group & enforced Changing customer requirements that are not reflected in schedule change An honest underestimate of the amount of work and/or resources required Risks that were not considered at project commencement Technical difficulties not foreseen in advance Miscommunication among project staff A failure by project management to recognize that the project is falling behind schedule and a lack of action to correct the problem.

Dealing With Project Deadlines Aggressive (actually unrealistic) deadlines are a fact of life in software business If best estimates indicate that deadline is unrealistic Project Manager should “Protect his/her team from undue (schedule) pressure… and reflect pressure back to its originators.” Recommended steps for such situations: 1. Perform a detailed estimate using historical data from past projects. Determine effort and time required. 2. Use incremental model, develop a strategy that will deliver critical functionality within imposed deadline, but delay other functionality until later. Document the plan.

Dealing With Project Deadlines 3. Meet the customer and explain why deadline is unrealistic. Explain what is the new time required to complete this project. 4. Offer incremental development strategy as alternative. Offer some options. We can increase the budget and have bring resources to get this job done in due time. But this contains increased risk of poor quality due to tight timeline. We can remove some software functions, and provide remaining functionality later. Dispense with reality and wish to complete software in due time. By presenting solid estimates and references to past projects, it is likely that, negotiated version option 1 and 2 will be accepted by customer.

Project Schedule (Evolution) Project schedules evolve over time During early stages of project planning, a macroscopic schedule is developed This schedule identifies all major process framework activities and the product functions to which they are applied As the project proceeds, each entry on the macroscopic schedule gets refined into detailed schedule Specific tasks are identified to achieve each activity and are scheduled

Project Scheduling - Basic Principles Compartmentalization  Both the product and the process are decomposed into a number of manageable activities/tasks Interdependency  Interdependencies among decomposed activities must be identified.  Some tasks can be performed in sequence and other can be done in parallel.  Some activities can not be performed without completion of another and some can be totally independent Time Allocation  Each task must be allocated work units (person-days of effort)  Start and end time must be allocated considering interdependencies

Project Scheduling - Basic Principles Effort validation  Project manager must ensure that no more than the allocated no. of people have been scheduled at any given time Defined responsibilities  Every scheduled task must be assigned to a specific team member Defined outcomes  Work products must be defined for every scheduled task Defined milestones  Every task/group of tasks must be associated with a project milestone. A milestone is accomplished after one or more related work products has been reviewed for quality and approved

Relationship of People and Effort Common Myth …  “If we fall behind schedule, we can always add more programmers and catch up later in the project!” Doing so is often disruptive rather than productive causing further delays. Reasons:  learning time  teaching takes time away from productive work  added communication paths – increased complexity

Relationship of People and Effort Putnam-Norden-Rayleigh (PNR) Curve indicates the relationship between effort applied and delivery time for a software project. PNR curve was used to derive the software equation