Project Plan
Introduction
Purpose of Plan
The purpose of this document is to describe
the plan for a software development project to be carried out
for CSc206.
Project Scope
This project involves creating a modular Java
application that allows a human language translator to edit resource
bundles. Please visit http://www.csc.calpoly.edu/~jdalbey/205/Plan/descriptions
for more information and the customer’s description of project.
Project Team
Name: Quartzware
Logo: Watch
Motto: Timeless
Software Solutions
Name
|
Job
|
Email
|
Phone
|
Tony
Tomarchio
|
Manager
|
atomarch@calpoly.edu
|
596-0210
|
Chris Perluss
|
CM
|
cperluss@falcon.calpoly.edu
|
784-0872
|
Albert Lee
|
QA
|
hghwired@netzero.net
|
545-8186
|
Tony
Johansen
|
Integration
|
tonyberne@pacbell.net
|
783-1368
|
Cliff Rowley
|
Designer
|
seyton@tcsn.net
|
784-0872
|
John Pham
|
Test
|
Jpham@calpoly.edu
|
(408) 316-2757
|
Ben Hill
|
Jack/Test
|
bhill@calpoly.edu
|
542-9790
|
Management
Organization
Since this
is a class, our management differs somewhat from most software
projects. Initially, any deliverables that are released will go
to our instructor Dr. Dalbey. From here, they are relayed to the
actual customer. Any information to or from the customer is sent
through our instructor.
Team Organization
Manager - Tony Tomarchio
Acts as the administrative
coordinator for all project activities and writes as well as monitors
the Project Plan. Writes (with assistance from Designer) product
size and programmer effort estimates, and maintains the project
schedule and provided visibility to project status via team Web
page.
Presents project
schedule and status to team each week during lecture.
Identifies, allocates, and tracks individual job assignments. Maintains Software Project Log throughout
the project and sets the agenda and schedule for lab time. Creates or selects Time Accounting procedures.
Coordinates creation of Team Expectations and Project Vision
statements.
Quality Assurance
(QA) – Albert Lee
Ensures that the
product meets the specifications and satisfies the product's release
criteria. Writes QA plan, and checklists, conducts
formal reviews, and takes responsibility for the quality of the
deliverables. Plans,
coordinates and monitors all Code Walkthroughs. Sets up appropriate
Defect Reporting and Tracking Software and procedures to track
defects by lifecycle phase. Presents weekly report on defects reported,
open, and fixed. Provides
visibility to these data on the team Web page. Cooperates with test group and supervises
testing. Specifices
Release Criteria and cooperates with Integration and Release Group
to administer and monitor Product Releases.
Configuration
Management – Chris
Perluss
Takes administrative
responsibility for the project's source code and documentation. Writes the configuration management plan
including the change control procedures, which govern every document
produced by the project.
Leads the change control board meetings.
Recommends and gets a team consensus for the configuration
management procedures to be used. Provides training to the entire
class on the principles of configuration management.
Provide tech support for the CM tools. Does backups
Designer/Architect
– Cliff Rowley
Creates and maintains
the high-level software design. Assists Project Manager in producing
product size and effort estimates.
Assists Integration in writing the Staged Delivery Plan. Maintains and defends the Design Issues and Rationale. Writes and maintains the Requirements
Traceability matrix. Supervises
programmers during implementation and unit testing.
Test – John
Pham
Writes and administers
the product's Test Plan and writes the test matrix. Writes or finds an assertion system for the target language.
Specifies the test tools required to perform tests. Obtains/develops
necessary test tools. Collaborates with QA and Analyst to determine
methods to test the non-functional requirements. Performs all integration and system testing.
Cooperate with customer for acceptance tests.
Integration and
Release – Tony
Johansen
Writes the Integration
and Implementation Plan, integration procedure, and build script. Performs all [daily] builds and informs
developers of check-ins that break the build. Presents daily build report during lecture. Presents weekly report on integration
status. Performs
all [daily] builds and contacts developers for check-ins that
blow the build. Writes Release Checklist and coordinates
product releases. Writes
Install program (if needed) and procedures and documentation.
Jack of All Trades
– Ben Hill
The Jack of All Trades is
responsible for the following jobs:
Risk
Officer
Writes/maintains top 10
risks list. Presents
weekly risk status report.
Training
Coordinator
Responsible that all project
personnel are trained to a level of competency that enables them
to perform their technical responsibilities.
Toolsmith
Provides training on all
development tools. Assists
team members in installations on their individual machines. Provides tech support for the target platform.
Obtains and installs Time Tracking Software.
Analyst Jobs (Requirements
and Prototype)
Maintains the project Specification
document (or User Manual) and serves as the system analyst and
customer liaison. Develops
or maintains the user interface prototype and related front-end
code. Negotiates
and administers the non-functional requirements, and negotiates
with all other team members and customer on product features.
Web Page Jobs
– All
Designs and administers
the project web page. Ensures
that all relevant team material are on the web page and are kept
current. Creates a bulletin board for Anonymous Feedback.
Maintains the
What's New history list.
Programmer –
ALL
Responsible for becoming
competent with the development tools. Follows
all established processes and adheres to all standards.Will
follow the PSP as described in the Project Constraints.
Meetings
Whenever the team
(or part of the team) meets, a formal status meeting agenda
is to be followed. This
includes both scheduled lab periods and also outside of
class meetings. The status meeting is NOT a problem solving session,
it is a concise
progress reporting meeting. It should take only 10 - 15 minutes.
The meeting format
is:
a)Report on tasks assigned at previous meeting
1. Accomplishments
2. Unfinished
tasks
b) Problems encountered/solved.
c) Revise or update schedule, if necessary.
d) Assign tasks (action items) for next period
The
manager (or whoever is leading the meeting) is to document the
status meeting by recording all the above items in the project
journal (see Reporting Plan, below).
Also record if anyone was absent or tardy.
When the status meeting is finished, the team can proceed
to their "working” meeting to discuss technical issues,
solve problems, coordinate tasks, and carry out portions of the
technical work that can not be done individually.
Deliverables Plan
Overall, this project will deliver a modular Java application that allows
a human language translator to edit resource bundles. This will
be delivered in a .jar file and installation software will be
included, along with a readme file. Our resource bundle editor
will be able to run with Sun's or IBM's implementation of Java
2. The initial version will be able read and write at least one
type of file. These files can be in Java property files, Java
class files, ICU format or XML. The program itself will also be
internationalized in at least one other language. In real life,
the customer usually doesn't want to see all of the items below
(e.g. design documents), but since this is a class, they are deliverables
to the instructor.
Specification Document
Purpose: To specify what will be built which meets the customer needs.
The two major parts of the Specification are:
The User Interface Prototype, which demonstrates the manner in which the
human user will interact with the software system.
The User Manual which describes the features and functionality of the system.
For Quartzware's User Manual, please visit the link directly above. To view
Quartzware's Specification Document please visit www.quartzware.net.
High Level Design
Purpose: Documents the software design. The high level design shows the software
structure, i.e. decomposition, as well as the interfaces between
the components of the decomposition. The data design describes
the data abstractions and operations required.
Detailed Design
Purpose: The detailed design shows the algorithm for each module.
Stage 0 Implementation
Purpose: Implement some minimal core functionality of the system.
Stage 1 Implementation
Purpose: Implement most functionality of the system.
Stage 2 Implementation
Purpose: Implement all functionality of the system.
To view Quartzware's design documents, please visit www.quartzware.net.
Reporting Plan
Individual
Status Reports
The status report is where each person documents their
accomplishments for the week.
It includes a timecard of hours spent and what activity they were
engaged in. Due each Friday at 5.p.m.. Submitted to quality assurance
and to the team leader.
Progress Reports
Produced weekly, by project
manager, and presented orally to the class.
Project Journal
The purpose of the journal
is to document the process the team went through in creating
their product. It is a record of all team activities. It can be
maintained by the manager or by a designated recorder.
Primarily it contains the
minutes from every status meeting. Also, it documents significant
management and technical
decisions made during the meeting.
3/12/01 |
Fixed wrong names/jobs |
Tony T |
2/27/01 |
Updated new jobs |
Tony T |
2/2/01 |
Revised Deliverables Plan
Removed SQA Metrics
|
Ben Hill |
1/11/01 |
Updated for 206 |
Ben Hill |
.