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:
- 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.
This page is hosted by the Chair for Applied Software Engineering of the Technische Universität München.
Imprint (Impressum)