Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.

Similar presentations


Presentation on theme: "Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus."— Presentation transcript:

1 Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus

2 Work break down structure Large, complex projects are organized and comprehended by breaking them into progressively smaller pieces until they are a collection of defined "work packages" that may include a number of tasks

3 Work break down structure Work breakdown structure (WBS) is a technique to decompose the project for the purpose of management and control. A project may be divided into subprojects. Subprojects are subdivided into smaller, more manageable work components (work packages) at the lowest level. The work packages may be further decomposed to project activities.

4 STAGE of WBS The WBS is commonly used at the beginning of a project for defining project scope, organizing Gantt schedules and estimating costs. WBS includes activities like management, procurement, installation, software development etc

5 WBS-What is it? WBS is a definition of a project in terms of its work or a deliverable- oriented grouping of project elements that organizes and defines the total scope of the project. It’s an outline of the work of the project, not the work itself

6 WBS- What it contains? Maps all contractual obligations (SOW) regarding deliverables Details project objectives Detailed enough to meet performance (measurable) objectives Contains built-in WBS and Project Plan review and update

7 WBS- When is it produced? The WBS is produced following the development of the scope statement, before the schedule. It is a “bridging” document between the Scope and Schedule. (what and when) USES of WBS Defines 100% of the scope and can communicate the scope of the project without the presence of the scope statement or document. Communicates effectively to all stakeholders Defines and clarifies Boundaries (Life cycle of the project – not the product) Deliverables Refines Scope

8 Estimation of effort and cost (Expert Judgment) Watts Humphrey in his book, Managing the Software process, has said. If you don’t know where you are, a map won’t help. Estimation of factors such as cost, effort, risks, and resources is crucial. It gives you a fair idea of the size of the project.

9 Estimation of effort and cost (Expert Judgment) Effective software project estimation is one of the most challenging and important activities in software development

10 Estimation of Effort and cost To achieve reliable cost and effort estimates, a number of options arise. Delay estimation until late in the project (obviously, we can achieve 100% accurate estimates after the project is complete!). Base estimates on similar projects that have already been completed. Use relatively simple decomposition techniques to generate project cost and effort estimates. Use one or more empirical models for software cost and effort estimation.

11 Estimation of Effort and cost The four basic steps in software project estimation are: Estimate the size of the development product. This generally ends up in either Lines of Code. Estimate the effort in person-months or person-hours. Estimate the schedule in calendar months. Estimate the project cost in dollars (or local currency)

12 Estimating size An accurate estimate of the size of the software to be built is the first step to an effective estimate Your source(s) of information regarding the scope of the project should, wherever possible, start with formal descriptions of the requirements - for example, a customer’s requirements specification or request for proposal, a system specification, a software requirements specification.

13 Estimating size Two main ways you can estimate product size are: By analogy. Having done a similar project in the past and knowing its size, you estimate each major piece of the new project as a percentage of the size of a similar piece of the previous project. Estimate the total size of the new project by adding up the estimated sizes of each of the pieces. By counting product features and using an algorithmic approach such as Function Points to convert the count into an estimate of size. Macro-level “product features” may include the number of subsystems, classes/modules, methods/functions. More detailed “product features” may include the number of screens, dialogs, files, database tables, reports, messages, and so on.

14 Estimate effort Once you have an estimate of the size of your product, you can derive the effort estimate. There are two main ways to derive effort from size The best way is to use your organization’s own historical data to determine how much effort previous projects of the estimated size have taken. This, of course, assumes your organization has been documenting actual results from previous projects that you have at least one past project of similar size (it is even better if you have several projects of similar size as this reinforces that you consistently need a certain level of effort to develop projects of a given size)

15 Estimate effort ……….That you will follow a similar development lifecycle, use a similar development methodology, use similar tools, and use a team with similar skills and experience for the new project If you don’t have historical data from your own organization because you haven’t started collecting it yet or because your new project is very different in one or more key aspects, you can use a mature and generally accepted algorithmic approach such as Barry Boehm’s COCOMO model or the Putnam Methodology to convert a size estimate into an effort estimate.

16 Estimating schedule The third step in estimating a software development project is to determine the project schedule from the effort estimate. This generally involves estimating the number of people who will work on the project, what they will work on (the Work Breakdown Structure), when they will start working on the project and when they will finish (this is the “staffing profile”). Once you have this information, you need to lay it out into a calendar schedule. Again, historical data from your organization’s past projects or industry data models can be used to predict the number of people you will need for a project of a given size and how work can be broken down into a schedule.

17 Estimating schedule If you have nothing else, a schedule estimation rule of thumb [McConnell 1996] can be used to get a rough idea of the total calendar time required: Schedule in months = 3.0 * (effort-months) ^1/3

18 Estimating Cost There are many factors to consider when estimating the total cost of a project. These include labor, hardware and software purchases or rentals, travel for meeting or testing purposes, telecommunications (e.g., long-distance phone calls, video-conferences, dedicated lines for testing, etc.), training courses, office space, and so on. The simplest labor cost can be obtained by multiplying the project’s effort estimate (in hours) by a general labor rate ($ per hour). A more accurate labor cost would result from using a specific labor rate for each staff position (e.g., Technical, QA, Project Management, Documentation, Support, etc.).

19 Project Estimation

20 Some Estimating Tips Allow enough time to do a proper project estimate – rushed estimates are inaccurate, high-risk estimates! For large development projects, the estimation step should really be regarded as a mini-project. Where possible, use documented data from your organization’s own similar past projects. It will result in the most accurate estimate. If your organization has not kept historical data, now is a good time to start collecting it. Use developer-based estimates. Estimates prepared by people other than those who will do the work will be less accurate. Use at least one software estimation tool. Estimation tools implement complex models that would take significant time to learn to apply manually. They also make sure you don’t forget anything, and allow you to tune an estimate quickly and relatively painlessly

21 Some Estimating Tips Focus some effort on improving your organization’s software project estimation process. As each project is completed, compare actuals to estimates – how well did you do in predicting the project’s effort and schedule? What did you miss? Where could you improve?


Download ppt "Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus."

Similar presentations


Ads by Google