1 / 19

Software Project Planning

Software Project Planning. CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002. Outline. Definition and Objectives Scope Resources Estimation Methods To Build or Not to Build? The Project Plan Project Management Summary.

armani
Télécharger la présentation

Software Project Planning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  4. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  5. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  6. 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) CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  7. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  8. 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) CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  9. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  10. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  11. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  12. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  13. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  14. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

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

  16. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  17. 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 management • However, there are some aspects of software project management that are unique to the management of software CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  18. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

  19. 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 CS 414 Software Engineering I - Software Project Planning - December 12, 2002

More Related