UCLA Extension

Managing and Estimating Software Projects

Many software-intensive projects are delivered late and over budget. These projects often do not meet the original requirements; have an unacceptable number of defects; and may not even function properly. This course shows you how to manage software-intensive development and maintenance projects to avoid large schedule and cost overruns, whether the project is a few thousand dollars or tens of millions of dollars, as well as how to recognize and overcome potential software development failures.The course presents practical techniques and tools to estimate, plan, lead, organize, control, and complete high-quality projects that are on budget and schedule, and that meet the needs of the customer. You are encouraged to bring real project management problems to class for analysis and discussion.

This course is designed to prepare you to (1) be an informed consumer of software estimates that are developed by others for you, and (2) become a competent practitioner able to develop reliable software cost and schedule estimates.

Designed for

  • Technical and business managers and business analysts
  • Senior technical staff
  • Project and program managers and project leaders
  • Members of Independent Project Teams (IPTs)
  • Systems and application programmers
  • Software, hardware, and quality engineers
  • Contractors and other information technology personnel
  • Professionals who plan, implement, control, and track software development or maintenance projects in industry, government, and university systems
  • Cost and schedule estimators

The course also is for managers and technical staff who must understand process and product metrics, as well as collect and use them to improve software project planning, estimation, acquisition, deployment, and control.

Course Objectives

  • Successfully managing software-intensive projects and avoiding common project management mistakes
  • Understanding the advantages and disadvantages of different software development process models
  • Starting a software metrics program to support planning, estimation, and control
  • Understanding the importance of new software development concepts and paradigms
  • Recognizing 10 key factors to prevent software project failure
  • Dealing with emerging management issues, such as rapid prototyping, concurrent development, object-oriented approaches, COTS (commercial-off-the-shelf) software, re-use driven approaches, quality assessments and certifications (ISO 9001 and SEI capability maturity model), reengineering, web development, outsourcing, partnering, moving software abroad, and cloud computing
  • Increasing your organization’s “batting average” for successful software development projects
  • Interacting with software professionals from industry, government, and universities
  • Introducing rules-of-thumb and reference sources

The course consists of lectures, discussion, and individual and group exercises.

Course Materials

Lecture notes are distributed on the first day of the course. These notes are for participants only and are not otherwise available for sale or unauthorized distribution.

Coordinator and Lecturer

Donald S. Remer, PhD, PE, Cofounder and President, Claremont Consulting Group, Claremont, California; and Oliver C. Field Professor of Engineering, Harvey Mudd College of Engineering and Science, Claremont, California. Dr. Remer has been managing projects, performing cost estimation and project feasibility studies, and doing technical and economic evaluations for over 30 years. He has managed over 70 projects ranging from tens of thousands of dollars to hundreds of millions of dollars. His industrial and consulting experience includes aerospace, automotive, biotechnology, chemical, computer software and hardware, electronics, medical products, oil shale, paper and pulp, and petroleum companies; design, construction, and legal firms; local, regional, and federal agencies; water, gas, and coal-fired power generation utilities and railroads; research and development laboratories; and energy conservation, environmental, sustainability, and renewable energy projects, including solar hot water heating and photovoltaics.

Dr. Remer’s clients range from small entrepreneurs to Fortune 500 companies and government agencies, including clients such as Beckman-Coulter, Boeing, Booz-Allen & Hamilton, DIRECTV, eCivis, GEC Marconi and Lear Astronics (now BAE Systems), Hewlett-Packard, TRW, Disney, the FAA, Sequent Computer (now IBM), JPL, 20th Century Fox, Amgen, QAD, Raytheon, Northrop Grumman, St. Jude Medical, Lawrence Livermore and Lawrence Berkeley National Laboratories, Los Alamos National Laboratory, Sandia National Laboratories, U.S. Coast Guard, U.S. Air Force, County of San Bernardino, and the City of Tucson, Arizona. He has also served as a task force and project manager and division coordinator for Exxon, and director of the Energy Institute at Harvey Mudd College. He has presented short courses in project management, managing and estimating software projects, and project cost estimation and economic evaluation to over 12,000 practicing professionals.

Dr. Remer is a registered Professional Engineer in California and Michigan. He is the former director of the American Society of Engineering Management and is currently on the editorial board of the International Journal of Production Economics. He was recently selected to be a charter member of the new Engineering Management Honor Society that was started by the American Society of Engineering Management. He has produced over 50 publications on cost estimation, capital investment evaluation, and engineering and project management. The International Society of Parametric Analysts named his paper on cost modeling the outstanding paper of the year in the Journal of Parametrics. Dr. Remer was case study editor of The Engineering Economist and has been on the editorial boards of Engineering and Process Economics and Engineering Costs and Production Economics. He has a BS in engineering from the University of Michigan and MS and PhD in engineering and business economics from Caltech.

Course Program

Introduction

  • Overview of course
  • Why software-intensive projects are often late, over budget, and/or canceled
  • Group exercise

Nature of Software Project Management

  • Success rate of software projects
  • Challenges with software projects
  • Brook’s Law
  • Four major functions of a project manager

Planning for a Software-Intensive Project

  • Rule of three for project manager selection
  • Percent of total software project time spent on planning
  • Checklist of major plans
  • Work breakdown structure (WBS)

Introduction to Estimation

  • Fantasy factor
  • Top-down estimating
  • Bottom-up estimating
  • Parametric estimating
  • Three-point estimating or range estimating
  • Price-to-win estimating

Software Development Estimation

  • Factors that influence a software estimate
  • Development costs vs. maintenance costs
  • Why software estimates are often inaccurate
  • Estimation models: COCOMO II; SLIM; PRICE-S; SEER; function/feature points; other models
  • Development time-cost tradeoff
    — Minimum development times
  • Schedule estimation
    — Critical path scheduling
    — How to reduce critical path
  • Estimating web development projects

Software Staffing and Productivity Estimates

  • Productivity of software developers
  • Labor costs, including overhead and fringe benefits
  • Documentation estimates
  • Productivity increases from new development methods
  • Productivity and error density vs. project size

Managing the Software Development Process

  • Nine key initial questions
  • Contingency policy and contingency algorithms
  • Example of why contingency is needed
  • Two fantasy factor case studies
  • The 90% syndrome
  • Postmortem analysis
  • Challenge requirements
  • Look for hidden requirements
  • Investment guidelines for deciding to pursue or kill a software-intensive project
  • Software projects are growing in size and importance

Measuring and Tracking Technical, Schedule, and Cost Performance

  • Size and function-oriented metrics
  • Metrics development and collection caveats
  • Starting a metrics collection program
  • Example of simple and complex databases
  • Two metrics case studies

Managing Software-Intensive System Development

  • Software development process models
    — Code and fix
    — Waterfall (classic life cycle)
    — Incremental
    — Iterative (spiral or evolutionary)
    — Prototyping
    — COTS (Commercial-Off-the-Shelf)
    — Agile
  • How to select the best model for your project
  • Cost impact of software defects
  • Computer hardware costs

Control of Software Projects

  • Key problem areas in project control
  • Controlling changes
  • Change control processes

Software Project Organizational Structures

  • Functional
  • Project- or team-based
  • Matrix
  • Comparing structures
  • Conflict in various structures

Software Project Staffing and Working with Contractors

  • Staffing a successful software team
    — Seven characteristics of effective software team members
  • Software labor pool is changing
  • Using contractors
    — Benefits
    — Drawbacks
    — Addressing drawbacks
    — Performance incentives
    — Measuring the contractor

Evaluating a Software-Intensive System’s Chance of Success

  • Cancellation rate as a function of project size
  • 10 key criteria
  • Case studies
  • Evaluating your current project

Emerging Issues in Software Project Management

  • Rapidly changing environment
  • Effect of reengineering, reorganizing, and Mergers and Acquisitions (M&A) on software projects
  • Moving software development abroad
  • Software outsourcing and partnering
  • Quality and process standards: ISO 9001/9000-3; SEI’s Capability Maturity Model (CMMI)
  • Increased training demands
  • New software development techniques: object-oriented approaches, software reuse
  • Shared resource conflicts
  • Cost estimation and project management professional certifications

Summary and Wrap-Up

  • Key ideas and challenges to take back to your organization
  • Tips for applying what you learned when you return to work

Information Sources for Software Project Management, Software Development, and Software Estimation

For more information contact the Short Course Program Office:
shortcourses@uclaextension.edu | (310) 825-3344 | fax (310) 206-2815

image_print