Software Project Planning - PowerPoint PPT Presentation

About This Presentation
Title:

Software Project Planning

Description:

... successful on-time and within budget delivery of reliable software that meets ... Project scheduling and tracking. Configuration management ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 20
Provided by: Dona97
Category:

less

Transcript and Presenter's Notes

Title: Software Project Planning


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

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 clients needs, and
  • updating the plan as necessary throughout the
    project lifetime.
  • Planning is primarily the job of the Project
    Manager

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

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

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)

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

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)

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

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

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

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.h
    tml
  • 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
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
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
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 teams Project
    Plan?

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

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

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 clients 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
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
Write a Comment
User Comments (0)
About PowerShow.com