Home IDS 405

Notes Index

3 Project Management

Charles E. Oyibo


Project management: The process of planning and controlling the development of a system within a specified time frame at a minimum cost with the right functionality.

Identifying Project Size

Estimation: the process of assigning projected values for time and effort.

Two basic ways to estimate the time to build a system:

  1. use the amount of time spend in the planning phase to predict the time required for the entire project; industry standards suggest that a "typical" business application spends 15% of its effort in the planning phase, 20% in the analysis phase, 35% in the design phase, and 30% in the implementation phase. (of course, this approach has obvious shortcomings.)

  2. use the Function Point Approach:

    1. The project manager estimates the size of the project in terms of the number of lines of code the new system will require using function points. (A function point is a measure of program size that is based on the system's number and complexity of
      • inputs,
      • outputs,
      • queries,
      • files, and
      • program interfaces.)
    2. Convert the size estimate into the amount of effort required to develop the system in terms of the number of person-months
    3. Convert the estimated effort into an estimated schedule in terms of the number of months from start to finish.

Creating and Managing the Workplan

Workplan: a dynamic schedule that records and keeps track of all the tasks that need to be accomplished over the course of the project. Usually, this is the main component of the project management software.

Creating a Workplan

  1. Identify tasks
  2. Determine the duration of each task
  3. Organize taks using Gantt and PERT charts--both graphical ways of representing the work plan.
  4. Refine Estimates (of costs, time, and functionality)
Phase Deliverable
Planning Phase
  1. System Request
  2. Project Plan
Analysis Phase System Proposal
Design Phase System Specifications

Scope Management

  1. Keep scope creep (when new requirements are added to the project after the original scope project scop was defined and "frozen") to the barest minimum.
  2. Keys: Identify requirements as well as possible in the beginning of the project and apply analysis techniques effectively.

Timeboxing: a development perspective that emphasizes a time-oriented approach over tasks-accomplished-driven one. Timeboxing is a philosophy that places meeting a deadline above delivering functionality.

Timboxing sets a fixed deadline for a project and delivers the system by that deadline no matter what, even if functionality needs to be reduced. Timeboxing works well with the rapid application development (RAD) methodology.

  1. Set the date for system delivery
  2. Prioritize the functionality that needs to be included in the system
  3. Building the core of the system (the functionality ranked as the most important)
  4. Postpone functionality that cannot be provided within the time frame
  5. Deliver the system with core functionality
  6. Repeat steps 3 through 5, to add refinements and enhancements.

Staffing the Project

Deliverable: Staffing plan.

CASE Tools

Computer-aided software engineering (CASE): a category of software that automate all or part of the development process.

Some CASE tools

Important: Repository.

Standards

When a team forms standards and follow them, the project can be completed faster because task coordination becomes less complex. Standards can include formal rules for naming files, forms that must be completed when goals are reached, programming guidelines, etc.

Documentation

Managing Risk

Risk management: The process of assessing and addressing (the) risks (that are associated with developing a project).

Factors that can cause risk:

Risk assessment: tacking and documenting potential risks along with an evaluation of the likelihood of those risks, their potential impact on the project, as well as potential ways such risks can be addressed.

 

Top of Page

Charles E. Oyibo
IDS :: CBA :: UIC