Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.

Similar presentations


Presentation on theme: "Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002."— Presentation transcript:

1 Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002

2 CS 414 Software Engineering I - Software Project Planning - December 12, 20022 Outline Definition and Objectives Scope Resources Estimation Methods To Build or Not to Build? The Project Plan Project Management Summary

3 CS 414 Software Engineering I - Software Project Planning - December 12, 20023 Definition and Objectives Software project planning is the process of –determining what the scope and available resources for a project, –estimating the costs, total effort and duration of the project required to develop and deliver the software, –determining the feasibility of the project, –deciding on whether or not to go forward with project implementation, –creating a plan for the successful on-time and within budget delivery of reliable software that meets the client’s needs, and –updating the plan as necessary throughout the project lifetime. Planning is primarily the job of the Project Manager

4 CS 414 Software Engineering I - Software Project Planning - December 12, 20024 Scope The scope of the project describes the desired functionality of the software, and what constraints are involved Therefore, project scope is determined as part of the analysis process by the requirements team The project manager then uses the scope that has been defined in order to determine project feasibility, and to estimate what costs, total effort and project duration will be involved in engineering the software

5 CS 414 Software Engineering I - Software Project Planning - December 12, 20025 Scope (continued) So does that mean that planning should come after requirements? –No. Project planning is actually an iterative process, which starts at the beginning of the project, and continues throughout

6 CS 414 Software Engineering I - Software Project Planning - December 12, 20026 Resources Human Resources –Includes “overhead” –By far the most dominant aspect of software costs and effort Software Resources –COTS –In-house developed software and tools –Reusable artifacts (e.g. design patterns) –Historical data (helps with cost/effort estimation) Note that there is usually not much involving physical resources (except as it relates to overhead)

7 CS 414 Software Engineering I - Software Project Planning - December 12, 20027 Estimation Methods Estimation may be the most difficult task in an entire software project Almost all software cost estimation is related to human resources This is different from other engineering disciplines, which have to deal with more physical resources

8 CS 414 Software Engineering I - Software Project Planning - December 12, 20028 Estimation Methods (continued) Estimation Techniques –Using historical data –Decomposition techniques –Empirical models –A combination of any or all of the above Many estimation techniques use some estimate of size, such as –KLOC (Thousands of lines of code) –FP (Function points) –OP (Object points)

9 CS 414 Software Engineering I - Software Project Planning - December 12, 20029 Estimation Methods (continued) Historical Data –Pretty self-explanatory –Uses track record on previous projects to make estimates for the new project –Main Advantage: Is specific to that organization –Main Disadvantages: Continuous process improvement is sometimes hard to factor in Some projects may be very different than previous ones

10 CS 414 Software Engineering I - Software Project Planning - December 12, 200210 Estimation Methods (continued) Examples of Decomposition Techniques –Problem-based: Use functional or object decomposition, estimate each object, and sum the result Estimates either use historical data or empirical techniques –Process-based: Estimate effort and cost for each task of the process, then sum the result Estimates use historical data –Main advantage of decomposition techniques: Easier to estimate smaller parts –Main disadvantage: More variables involved means more potential errors

11 CS 414 Software Engineering I - Software Project Planning - December 12, 200211 Estimation Methods (continued) Empirical Models –Uses formulae of the form g = f(x) where g is the value to be estimated (cost, effort or project duration) and x is a parameter such as KLOC, FP or OP Most formulae involving KLOC consistently show that there is an almost linear relationship between KLOC and estimated total effort –Main advantage of empirical models: Easy to use –Main disadvantage: Models are usually derived from a limited number of projects, but are used in a more generalized fashion

12 CS 414 Software Engineering I - Software Project Planning - December 12, 200212 Estimation Methods (continued) COCOMO –The most well-known empirical model –First introduced by Barry Boehm in 1981 –Has since evolved into a more comprehensive model named COCOMO II http://sunset.usc.edu/research/cocomosuite/index.html –COCOMO II has a variety of formulae For various stages of the project For various size parameters (KLOC, FP, object points) For various types of project teams

13 CS 414 Software Engineering I - Software Project Planning - December 12, 200213 To Build or Not to Build? During early stages of planning, critical decisions must be made due to estimation results e.g. –Whether or not to bid on a contract, and if so, for how much –Whether or not build software, or to purchase existing software that has much of the desired functionality –Whether or not to subcontract (outsource) some of the software development

14 CS 414 Software Engineering I - Software Project Planning - December 12, 200214 The Project Plan Actual description of –The tasks to be done –Who is responsible for the tasks –What order tasks are to be accomplished –When the tasks will be accomplished, and how long they will take The Project Plan is updated throughout the project

15 CS 414 Software Engineering I - Software Project Planning - December 12, 200215 The Project Plan For this course –CS 414 Project Plan TemplateCS 414 Project Plan Template –The Project Plan should be consistent with the Weekly ReportsWeekly Reports –What tasks should go into your team’s Project Plan?

16 CS 414 Software Engineering I - Software Project Planning - December 12, 200216 Project Management Project planning is only part of the overall management of the project Other project management activities include –Risk analysis and management –Assigning and organizing project personnel –Project scheduling and tracking –Configuration management

17 CS 414 Software Engineering I - Software Project Planning - December 12, 200217 Project Management Project Management (across disciplines) is actually considered a whole separate field from software engineering The Project Management Institute (http://www.pmi.org) has actually developed a entire Body of Knowledge for project managementhttp://www.pmi.org However, there are some aspects of software project management that are unique to the management of software

18 CS 414 Software Engineering I - Software Project Planning - December 12, 200218 Summary The primary objective of software project planning is to plan for the successful on-time and within budget delivery of reliable software that meets the client’s needs Project scope should be determined through requirements analysis and used for planning by the project manager The primary resources needed for a software project are the actual developers

19 CS 414 Software Engineering I - Software Project Planning - December 12, 200219 Summary (continued) Various techniques are available for the estimation of project cost, total effort and project duration Early on in a project decisions must be made on whether or not to proceed with a project, and whether or not to buy or build the software The project tasks, schedule and resource allocation is all part of the Project Plan Project planning is only part of the project management process


Download ppt "Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002."

Similar presentations


Ads by Google