Software Project Management Plan

STARS Project

15-413 Software Engineering

Fall 1999

Carnegie Mellon University

Pittsburgh, PA 15213










Revision History:

Version R0.1 9/22/97 Robin Loh. Created

Version R0.2 9/16/99 Joyce Johnstone. Revised

Preface:

This document addresses the requirements of the STARS system. The intended audience for this document are the designers and the clients of the project.
Target Audience:
Client, Developers
STARS Members:
(List team members)

Table of Contents

1. Introduction

1.1 Project Overview

1.2 Project Deliverables

1.3 Evolution of the Software Project Management Plan

1.4 Reference Materials

1.5 Definitions and Acronyms

2. Project Organization

2.1 Process Model
 
2.1.1 Project Planning
2.1.2 Requirements Analysis
2.1.3 System Design
2.1.4 Analysis Review
2.1.5 Client Project Review
2.1.6 Functional Prototype Demonstration
2.1.7 Object Design Phase
2.1.8 System Integration Prototype Demonstration
2.1.9 Implementation
2.1.10 Unit Testing
2.1.11 System Integration
2.1.12 System Testing
2.1.13 Manual Integration
2.1.14 Client Presentation
2.2 Organizational Structure
 
2.2.1 Teams and Tasks
2.3 Organizational Boundaries and Interfaces
 
2.3.1 Electronic BBoard Communication
2.3.2 Meeting Times
2.4 Project Responsibilities
2.4.1 Project Management
2.4.2 Coach
2.4.3 Group Leader
2.4.4 Architecture Liason
2.4.5 Documentation Editor
2.4.6 Configuration Manager
2.4.7 Toolsmith
2.4.8 CASE Tool Manager
2.4.9 Webmaster

3. Managerial Process

3.1 Management Objectives and Priorities

3.2 Assumptions, Dependencies and Constraints
 

3.2.1 Assumptions
3.2.2 Dependencies
3.2.3 Constraints
3.3 Risk Management

3.4 Monitoring and Controlling Mechanisms
 

4. Technical Process

4.1 Methods, Tools and Techniques

4.2 Software Documentation

4.3 Project Support Functions

4.4 Work Elements, Schedule and Budget
 

4.4.1 Overall Project Plan
4.4.2 Team plans

Revision History:

Version 0.9 9/22/1998 Robin Loh. Created

Preface:

This is the controlling document for the STARS project. It specifies the technical and managerial approaches to develop the software product. As such it is the companion document to Requirements Analysis Document (RAD). Changes in either may imply changes in the other document. All technical and managerial activities required to turnover the deliverables to the client are included. This includes scheduling, identification of tasks, and factors that may impact the project and planning.
Target Audience:
This document is intended for the members of the STARS project, clients, designers, and project management.
Project Members:
Bernd Bruegge, Elizabeth Bigelow, Elaine Hyder, Robin Loh, Jack Moffett, Eric Stein, Keith Arner, Swati Gupta, Russell Heywood, Joyce Johnstone, Luis Alonso, Orly Canlas, Anthony Dilello, Kumar Dwarakanath, Yan Fu, David Garmire, Xuemei Gu, Jonathon Hsieh, Kyle Jennings, Yu-Ching Lee, Wing Ling Leung, Jianping Liu, Kent Ma, Georgios Markakis, Richard Markwart, Daniel McCarrira, Reynald Ong, Brian Paterson, Adam Phelps, Arnaldo Piccinelli, Natalya Polyakova, Euijung Ra, Qiang Rao, Pooja Saksena, Rudy Satiewan, Timothy Shirley, Michael Smith, Jeffery Stephenson, Barrett Trask, Ivan Tumanov, Anthony Watkiuns, Jonathon Wildstrom, Brian Woo, Stephane Zermatten, Andrew Zimdars

1. Introduction

List the central goal for the STARS project.
Example:JAMES Introduction.

1.1 Project Overview

Provide an overview of the project here.
Example:JAMES Project Overview
 
Table 1: Project Schedule 
Date  Project Phases  Project Milestones 
Jul 17 - Aug 24  Requirements Elicitation 
Aug 27  Project Presentation by Clients 
Aug 27 - Oct 1  Project Planning 
Sep 8 - Oct 20  Requirements Analysis 
Oct 22 - Oct 27  Analysis Review 
Oct 6 - Oct 27  System Design 
Oct 28 - Nov 13  Object Design 
Nov 5  Project Review with Client (via Internet &;video conference) 
Nov 3 - Nov 19  Implementation &;Unit Testing 
Nov 24  Object Design Revieww
Nov 17  Project Agreement 
Nov 22 - Dec 4  System Integration &;System Testing 
Nov 25  Internal Project Review (functional prototype) 
Dec 10  Project Acceptance by Client (via Internet &;video conference) 

1.2 Project Deliverables

The project will a produce a running system that allows intelligent and reliable dissemination of information from Daimler-Benz to their dealers worldwide.

The following items will be produced by the STARS System:

The STARS System documentation will describe the principles of operation. The delivery consists of a presentation of the system, a demonstration of the working system and the successful passing of the acceptance test.The client expects the acceptance test to be successfully demonstrated remotely via the Internet on Dec. 10, 1998 from 8:30 pm to 10:20 pm. All work deliverables will be provided online on a project homepage. The work products will also be delivered on a CD-ROM, Dec 12, 1998.
Provide more information as needed.
Example:JAMES Project Deliverables

1.3 Evolution of the Software Project Management Plan

The software project management plan is under version control. Proposed changes and new versions of the plan are announced on the course bulletin board 15-413 announce and are made available to all the project members.
Provide more information as needed.
Example:JAMES Evolution of the Software Project

1.4 Reference Materials

Provide a bibliography of the references used in JAMES.
Example:JAMES Reference Materials

1.5 Definitions and Acronyms

 
API Applications Programming Interface
CASE Computer Aided Software Engineering
CVS C??? Version Software
GUI Graphical User Interface
STARS Sticky Technology for Augmented Reality Systems
JDK Java Development Kit
ODD Object Design Document
OMT Object-Oriented Modeling Technique
RAD Requirements Analysis Document
TOGETHER-J Visual modeling tool for Java
SDD System Design Document
SPMP Software Project Management Plan
UML Unified Modeling Notation
Insert more acronym explanations as necessary.
Example:JAMES Definitions and Acronyms

2. Project Organization

2.1 Process Model

The project is initiated on Aug 26, 1998 and terminated with the end of the semester on Dec 10, 1998. Major milestones are the Client Project Review on Nov 5, 1998 and the Client Acceptance Test on Dec 10, 1998.

The project uses an object-oriented design methodology based on the Objectory lifecycle process and uses UML for the development of the software. The development process is organized in several activities. The members of the project are organized in teams. At the end of each activity up to and including testing, each team submits documents describing the achievement of the activity. The individual approved documents produced by the teams are considered work products and are part of the software documentation. The team documents are under version control using CVS running on a PC platform. Links to the team documentation are available from the team homepages and the course electronic bulletin boards. The links to the major documents on the CVS server are also available from the project home page. The activities and milestones are described in the next following sections.
Provide more information as necessary.
Example:JAMES Process Model

2.1.1 Project Planning

Project planning includes description of project tasks, activities and functions, dependencies, resource requirements and a detailed schedule. This activity results in the software project management plan for the STARS System. Another output of the planning phase is the project agreement, which is issued after the design activity is completed.
Provide more information as necessary.
Example:JAMES Project Planning

2.1.2 Requirements Analysis

The requirements analysis activity takes the problem statement and reviews it in terms of consistency, completeness and feasibility. During this activity, a set of models of the proposed system is determined by interacting with the clients resulting in the requirements model. The main part of the requirements model are four models: the use case model describing the complete functionality of the system, the object model, the functional model and the dynamic model.
Provide more information as necessary.
Example:JAMES Requirements Analysis

2.1.3 System Design

The purpose of the system design activity is to devise a system architecture that maps the analysis model to the chosen target environment. The major part of the system design phase is the design of subsystems, that is, the decomposition of the system with respect to the chosen target platform. The system design activity also refines the use cases from the analysis model and describes in terms of interaction diagrams how the objects interact in each specific use case.
Provide more information as necessary.
Example:JAMES System Design

2.1.4 Analysis Review

Review of software project management plan, requirements analysis and design. The meetings will take place on Oct 16 from 9:00- 10:20 in WeH 5409. The Analysis Review consists of a set of presentations given by members of the STARS project. Project Management will review these slides and post their comments on the 15-413 discuss bboard.
Provide more information as necessary.
Example:JAMES Analysis Review

2.1.5 Client Project Review

Review of project plan, requirements analysis and design decisions. The client liaison will be present at the meeting. The meeting will take place on Oct 30 from 9:00-10:20 in WeH 5409. The Client Project Review presentation slides will be made available to the client.
Provide more information as necessary.
Example:JAMES Project Review

2.1.6 Functional Prototype Demonstration

This activity involves successful execution of a functional prototype of the STARS System using stubs. The functional prototype of the STARS system will be presented during the internal review Nov 25 1998.
Provide more information as necessary.
Example:JAMES Functional Prototype Demonstration

2.1.7 Object Design Phase

The object design phase specifies the fully typed API for each subsystem. New classes are added to the analysis object model if necessitated by the system architecture. Attributes and methods for each object are fully typed.
Provide more information as necessary.
Example:JAMES Object Design Phase

2.1.8. System Integration Prototype Demonstration

This activity involves the demonstration of a fully functional system prototype based on the subsystem decomposition. Each subsystem is represented by its service. All service operations can be called by other subsystems using remote method invocation. The implementation of the services can be stubbed out.
Provide more information as necessary.
Example:JAMES System Integration Prototype Demonstration

2.1.9 Implementation

The focus of this activity is on coding the individual objects described in the object design document.
Provide more information as necessary.
Example:JAMES Implementation

2.1.10 Unit Testing

During unit testing, test suites are designed and executed for objects or collections of objects in each subsystem. Unit testing enables the individual subsystems to be tested independent from the status of the other subsystems. The result of this activity is part of the test manual that describes how to operate the test suite and how to interpret the test results.
Provide more information as necessary.
Example:JAMES Unit Testing

2.1.11 System Integration

During this activity an integration strategy is devised, that specifies the order in which the subsystems of the STARS system are integrated and tested with respect to the use cases defined in the analysis model. The system integration strategy and the subsystem tests are described in the Test Manual.
Provide more information as necessary.
Example:JAMES Unit Testing

2.1.12 System Testing

Structural Testing: This activity tests the major data paths in the complete STARS System.
Functional Testing: Tests the major functionality (use cases) with the complete STARS System.
The basis for the functional testing activity is the test manual which is revised according to the results of the system testing phase.
Alpha-test (Client Acceptance Test): The system is tested to make sure it passes the client acceptance criteria as defined in the project agreement.
Provide more information as necessary.
Example:JAMES System Testing

2.1.13 Manual Integration

During this activity, the project deliverables are revised. As a result, a complete set of documents consisting of the software project management plan, requirements analysis document, software design document, test manual and source code is made available on the project home page. The system documentation will also be printed on a CD. Each of the students taking the course as well as the clients will receive a CD.
Provide more information as necessary.
Example:JAMES Manual Integration

2.1.14 Client Presentation

At the Client Presentation, a slide presentation and software demonstration will be given in the Intelligent Workplace at Carnegie Mellon University. The software developed during the project will be demonstrated for the client acceptance test. The clients will attend the client acceptance test in person or via video conference.
Provide more information as necessary.
Example:JAMES Client Presentation

2.2 Organizational Structure

Below is the organizational chart of the people involved in the development of the STARS system:
Insert Organizational Chart Here
Figure 1: Organization Chart for STARS Project

Insert information of all the project participants here.
Example:JAMES Organizational Structure

2.2.1 Teams and Tasks

This section describes the teams working on STARS subsystems and their tasks. To be filled in by the individual teams.
Example:JAMES Teams and Tasks

2.3 Organizational Boundaries and Interfaces

2.3.1 Electronic BBoard Communication

The Lotus Notes Databases shown in Table 1 will be used for electronic communication in the STARS project. Note that these databases are intended to replace Andrew bulletin boards academic.cs.15-413 that have been set up for this course (The Andrew bboards are neither used nor read by project management).
Table 2: Electronic Bboards for STARS Project 
Announcements  Lecture and project announcements 
Discuss  Group discussion 
Issues  Structured discussion providing for Issues, Proposals, Arguments, and Resolutions 
Client Discuss  Primary forum for interchange with the clients 
Handin  For electronic submission of homework 
Review  For electronic sequencing of document reviews 
Help  Request for assistance in course material, software applications 
Architecture Team Discuss  Discussion about the Architecure 
Augmented Reality Team Discuss  Discussion about the Augmented Reality Assistant 
Authoring Team Discuss  Discussion about the Authoring 
Inspection Team Discuss  Discussion about the Inspection 
Model Team Discuss  Discussion about the Modeling 
Repair Team Discuss  Discussion of the Repair 
Workflow Team Discuss  Discussion of Workflow 
Every team member has to: Communication with the client is primarily via the Client BBoard. As the need arises direct e-mail and/or telephone contact is set up with specific consultants within the client organization.
Provide more information as necessary.

2.3.2 Meeting Times

There is a weekly project meeting for each group. Insert the initial project meeting times here.
Example:JAMES Meeting Times

2.4 Project Responsibilities

Management of the STARS System is done with the following roles: project management, coach, group leader, Architecture liaison, documentation editor, configuration manager, toolsmith, CASE tool manager, webmaster.
Provide more information as necessary.

2.4.1 Project Management

The project management function has the following responsibilities:

2.4.2 Coach

The coach has the following responsibilities:

2.4.3 Group Leader

The group leader leads an individual team. The main responsibility of the group leader is to manage the action items of the group. In addition he or she has the following responsibilities:

2.4.4 Architecture Liaison

The liaison interacts with the liaisons of the other teams and with the project management. Each team has a liaison to the Architecture Team. The responsibilities of the liaison are:

2.4.5 Documentation Editor

The editor in each team is responsible for producing the documentation of the current project phase and:

2.4.6 Configuration Manager

The responsibilities of the configuration manager in each team are:

2.4.7 Toolsmith

The responsibilities of the toolsmith in each team are:

2.4.8 CASE Tool Manager

The responsibilities of the CASE tool manager in each team are:

2.4.9 WebMaster

The responsibilities of the webmaster in each team are: Insert 2 tables here. One Table describes the group leader assignments. The other Table indicates the other team assignments.
Example:JAMES Group Leader Rotation Table and Role Assignment Table

3. Managerial Process

3.1 Management Objectives and Priorities

The philosophy of this project is to provide a vehicle for students to get hands-on experience with the technical and managerial aspects of a complex software problem. The emphasis is on team work and encouraging individual teams to work together towards the goal of implementing the STARS system completely.
Provide more information as necessary.

3.2 Assumptions, Dependencies and Constraints

The functionality of the STARS System is achieved when the client acceptance test can be executed.

Each software development activity results in one or more documents to be submitted to the project management before the deadline. Each document is reviewed at least once by the project management before it is accepted and becomes a baseline document.

The following documents will be graded: SPMP, RAD, SDD, ODD, TM and are worth each 10 points. The agenda, minutes, action items and issues for each weekly team meeting have to be posted. The complete set of these is also worth 10 points. We will give a project A to everybody who participates in the project if all the project deliverables are delivered and the STARS system passes the client acceptance test as defined in the requirements analysis document.

The STARS System is a project that puts emphasis on collaboration, not competition between the students. We will not accept a system that is done by one team alone.
Provide more information as necessary.

3.2.1 Assumptions

To be filled in by the individual teams.
Example:JAMES Assumptions

3.2.2 Dependencies

To be filled in by the individual teams.
Example:JAMES Dependencies

3.2.3 Constraints

To be filled in by the individual teams.
Example:JAMES Constraints

3.3 Risk Management

To be filled in by the individual teams.
Example:JAMES Risk Management

3.4 Monitoring and Controlling Mechanisms

For each project meeting each team produces an agenda and the minutes of the meeting. The minutes have to contain explicitly the action items assigned during the meeting. The agenda and minutes are posted on team specific bulletin boards by the minute taker of the meeting.

The baseline documents are reviewed by the project management. It is expected that each document undergoes one or more iterations.
Provide more information as necessary.
Example:JAMES Monitoring and Controlling Mechanisms

4. Technical Process

4.1 Methods, Tools and Techniques

Our development methodology is based on a combination of use cases (from the OOSE methodology) [Jacobsen 92] combined with the OMT methodology [Rumbaugh 1991].The following tools are available to support the management and development of the STARS project:
 
Netscape Communicator Internet browser
Framemaker + SGML wordprocessor that generates SGML
Together-J CASE tool for UML by Object International
Adobe Acrobat 3.0 Portable Document Format Software Reader
Powerpoint 4.0 Slide Presentation program
Lotus R5 Groupware

Provide more information as necessary.

4.2 Software Documentation

The following activities result in a project deliverable:
Project Planning: Software Project Management Plan (SPMP)
Requirements Analysis: Requirements Analysis Document (RAD)
Analysis Review: Analysis Review Slides
System Design: System Design Document (SDD)
Client Review: Client Review Slides
Object Design: Object Design Document (ODD)
Reviews: Review Presentation Slides
Implementation and Unit Testing: Code
System Integration and System Testing: Test Manual
Delivery: Client Acceptance Test Slides

4.3 Project Support Functions

Provide more information as necessary.

4.4 Work Elements, Schedule and Budget

Provide more information as necessary.

4.4.1 Overall Project Plan

The overall project plan follows the sawtooth model, a modified waterfall model. 3 prototypes have to be delivered: A graphical user interface, a functional prototype and a system integration prototype. Analysis is started before Project Planning is finished. System Design is followed by Object Design. Important Milestones are the Analysis Review Oct 16, the Project Status on Oct 23, the Project Review on Oct 30 and the Object Design Review on Nov 13 and Nov 15. Implementation and Unit Testing are scheduled to overlap significantly. System Integration is scheduled to immediately follow Unit Testing. System Testing starts immediately after system integration and leads to the Client Acceptance Test on Dec 10.
(Provide correct dates from course schedule) Provide more information as necessary.

4.4.2 Team plans

Provide more information as necessary.