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.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.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.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.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:
-
A Software Project Management Plan defining the technical and managerial
processes necessary for the development and delivery of the STARS system
(This document)
-
Agreement between client and developers, representing a contract
between the client and the developers of what is going to be delivered.
-
A Requirements Analysis Document describing the functional and global
requirements of the system as well as 4 models - the use case model, the
object model, the functional model and the dynamic model. This document
is created in interaction with the application domain experts.
-
A System Design Document describing the design goals, tradeoffs
made between design goals, the high level decomposition of the system,
concurrency identification, hardware/software platforms, data management,
global resource handling, software control implementation and boundary
conditions. This document forms the basis of the object design. This document
is read by the analyst as well as the object designer.
-
A Object Design Document is which is composed of two documents.
The first document is an updated RAD. The code related data will be in
the form of JavaDoc output from the code from each team.
-
A Test Manual describing the unit and system tests performed on
the STARS system before delivery along with expected and actual results.
This document is used by the developers and maintainers.
-
Source code for all subsystems of 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:
-
Bookmark the Announcements, Discuss, Client, Handin, and Help Bboards
-
Bookmark the team specific bboard
-
Check these bboards at least twice a day
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:
-
Schedule and prepare meetings with clients
-
Assign presentations (In-class Project meetings, client review, client
acceptance test) to project members
-
Listening to gripes from the team members
-
Resolve conflicts if they cannot be resolved otherwise
2.4.2 Coach
The coach has the following responsibilities:
-
Review weekly team progress
-
Attend weekly team meetings
-
Insist that guidelines are followed
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:
-
Responsible for intragroup communication
-
Run the weekly project meeting
-
Define, post and keep track of action items (who, what, when), i.e the
agenda
-
Measure progress and enforce milestones
-
Deliver work packages for the tasks to project management
-
Deliver project plan and accomplishment for project phase to project management
-
Coordinate and schedule use of resources needed by team (lab, tools,...)
-
The group leadership position has to be rotated on a regular basis among
the team members.
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:
-
Responsible for intergroup communication
-
Make available public definitions of each subsystem service ("API") to
the other teams (ensure consistency, etc.)
-
Coordinate tasks that overlap subsystems with the teams
-
Responsible for team negotiations, that is, resolve technical issues spanning
more than one subsystem
-
Defines the software architecture for STARS
-
Defines the class library for STARS
2.4.5 Documentation Editor
The editor in each team is responsible for producing the documentation
of the current project phase and:
-
Collect, proofread and distribute team documentation to the Architecture
team
-
Interaction with the Architecture team
-
Writes minutes and provides them to team Webmaster
2.4.6 Configuration Manager
The responsibilities of the configuration manager in each team are:
-
Coordinate change requests
-
Provide version control for group's working directory
-
Coordinates configuration management issues with other groups
-
Installation of group specific software and hardware
2.4.7 Toolsmith
The responsibilities of the toolsmith in each team are:
-
Familiarize with all the software/applications used in this project
-
Serve as a guide for his/her team regarding the tools
2.4.8 CASE Tool Manager
The responsibilities of the CASE tool manager in each team are:
-
Familiarize with CASE Tool
-
Serve as a guide for his/her team regarding CASE Tool usage
2.4.9 WebMaster
The responsibilities of the webmaster in each team are:
-
Maintain the Team Homepage
-
Coordinate team page with course Webmaster
-
Link Meeting Agendas, Minutes, Action Items and Issues to the team homepage
-
Maintain links to team documentation under version control
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.