Jester Project Plan

Winter Quarter 1996
Document Author: Michael White

Project Team:

Josh McCrary (Manager)
Zellyn Hunter (Architect)
Thierry Ways (Prog/Arch)
Roman Khramets (Programmer)
Michael White (Technical Writer)

Project Overview

As our use of computers for work and communication becomes more pervasive, we find it increasingly difficult to achieve a consistency that is not affected by geography. At work, we tend to become familiar with one computer and its own specific operating system, programs, file structure and interface. However, once we're at home, we use a different computer, with a completely different environment; and we have to change our habits. When we're travelling away from both work and home, we may encounter even more unfamiliar systems. The purpose of our project is to provide an essential service, reading mail, completely independent of location.

We hope to accomplish this by providing a fully functional mail reader that can be used almost anywhere, on a variety of systems. Written in Java, the mail reader will reside inside a page on the World Wide Web. All that will be needed to use this reader will be a Java-enabled browser and access to the Web.

As a platform-independent language, Java allows us to write a program that will eventually be able to run on all major systems. To provide the remote functionality that such a mail reader needs, we will use the IMAP mail protocol, which allows remote mailboxes to be manipulated as easily as local ones. The IMAP protocol also supports multiple folders, so that related mail can be organized.

In keeping with the rest of the web, we would also like the program to support multi-media email messages, so that it will not be confined to text alone. To this end, we intend to add MIME support, so that a single email message can contain several sections, each of a different type.

Eventually, we would like to see all of the tools we use every day re-written so that they can be used in a uniform manner, independent of geographic location. Our mail reader will be a step in that direction, providing one of the simpler, but also most important, of these services.


Current Projected Project Schedule


Activities description

Planning/Goals (10 hours)

Description

At first, all team members need to be familiar with the answer to the following questions. What are we trying to build, and how are we going to start? Most, if not all, of these hours will come at the beginning of the project, which will hammer out the basis for all future activities.

Roles

Architect (2 hrs.), Architect/Programmer (2 hrs.), Programmer (2 hrs.), Manager (2 hrs.), Writer (2 hrs.)


Requirements Gathering (15 hours)

Description

The team will meet with Ian Smith, who has already written a significant part of the mail reader and can help to identify the functions it should have. He might also give some ideas about desired interface features of the program. Information he provides will be shared with all the members of the group.

Roles

Architect (3 hrs.), Architect/Programmer (3 hrs.), Programmer (3 hrs.), Manager (3 hrs.), Writer (3 hrs.)


Writing (15 hours)

Description

The Architect and Technical Writer will be responsible for most of the requirements and design documents, especially the overall content and format. However, all of the team members can help by providing specific information they feel should be included concerning their parts of the project.

Roles

Architect (4 hrs.), Architect/Programmer (2 hrs.), Programmer (2 hrs.), Manager (2 hrs.), Writer (5 hrs.)


Training (30 hours)

Description

Since the prototype will be developed using the Java programming language, all team members should be familiar with it. The Architect, Architect/Programmer and Programmer will read information about Java and its class libraries, creating a number of sample programs using classes in those class libraries and forming the solid background in Java programming necessary to architect and implement the system. Afterwards, they will be able to hold a group training session on Java for the benefit of the remaining team members.

Roles

Architect (8 hrs.), Architect/Programmer (8 hrs.), Programmer (8 hrs.), Manager (3 hrs.), Writer (3 hrs.)


Architecting and Designing the System (60 hours)

Description

The Architect and Architect/Programmer will decide on the interface and functions for the program based on the results of the Requirements Gathering stage, filling in the requirements in detail. After they are done with preliminary architecting, the task will be partitioned among all of the team members, so that everyone has a piece to implement. In order for the system to be successful, the architecting and design procedures need to be completed as early in the quarter as possible, allowing plenty of time to attend to any problems.

Roles

Architect (20 hrs.), Architect/Programmer (15 hrs.), Programmer (15 hrs.), Manager (5 hrs.), Writer (5 hrs.)


Coding (30 hours)

Description

All team members will code the part of the project that they designed in the previous stage.

Roles

Architect (8 hrs.), Architect/Programmer (8 hrs.), Programmer (8 hrs.), Manager (3 hrs.), Writer (3 hrs.)


Debugging/Testing (60 hours)

Description

Since some errors can be discovered and fixed as the code is written, debugging and testing will overlap the coding process. However, this activity also involves larger scale system tests performed after all the components have been integrated; and handling any new problems that arise.

Roles

Architect (12 hrs.), Architect/Programmer (12 hrs.), Programmer (12 hrs.), Manager (12 hrs.), Writer (12 hrs.)


Back to Jester Home Page