0 - don't even think about dividing the job.
1 - job can be divided depending on circumstances; discuss it.
2 - job is suitable for division.
3 - job should be divided.
Feasibility Programmer (dq=3)
On many projects, technical difficulties arise during the implementation
phase. Many of those problems (e.g. version problems, non-working device
drivers, interface incompatibilities, vaporware) should be caught
early in the project by the feasibility programmer.
Project Planner (dq=0)
The project planner coordinates the group's plan, ensures that it
is continually accurate and serves as the editor for the document.
The project plan will be presented at every group meeting with the
boss.
Researcher (dq=3)
There are many questions that may need to be answered, on a variety of
topics, in the course of a software project.
The researcher's job is to obtain those answers.
QA Specialist (dq=0)
This person plans and manages the verification and validation
work on all project phases.
Reviewee (dq=2)
The reviewee is the liaison person for a review. The reviewee normally
will require substantial help from other group members.
Reviewer (dq=0)
A reviewer examines the work of another work and writes a review
report. The examination is always guided by a checklist that is
prepared and discussed prior to a review. In some organizations (not CSC 308),
the reviewer assumes some responsibility for the reviewed work. Ask to hear
some of my reviewer stories....
Tester (dq=3)
Many people think this is a grunt job - it is in many companies.
In CPE 308, we will learn how testing should be done (or how it needs
to be redefined so we'll know what to do about it!). We will do testing
of our Requirements and other activities related
to testing of the product.
Toolsmith (dq=3)
The toolsmith takes responsibility for the tools used by a
project team. She installs, learns, teaches, patches, uses and
evangelizes tools. This is an important job; many projects fail
because everyone trys to learn all the tools at the expense of the real work.
Editor (dq=0)
The editor is responsible for producing a high quality professional
deliverable.
Data Dictionary Writer (dq=2)
The data dictionary writer documents all of the problem domain
entities in the system.
Functional Requirements Writer(dq=2)
The functional requirements are the heart of the document.
Everyone in the group should write some of the scenarios.
Non-functional Requirements Writer (dq=0)
The person who writes the non-functional requirements has a
global view of the system and enjoys that view.
Prototyper (dq=1)
The prototyper constructs a system prototype. Sometimes, the work
is done by a team comprising a toolsmith and a user; this is an
excellent way for the user to participate in a project.
UML Class Diagram Writer (dq=0)
This person draws a class diagram showing the class relationships
in the problem domain. It's a one person job but requires much
coordination with all members of the group.
UML Use Case Diagram Writer (dq=2)
This person determines the use cases for the system.
User Interface Architect (dq=0)
The architect designs the "look-and-feel" of the system and
ensures that an appropriate UI specification is created. A major
part of her job is to ensure the UI has conceptual integrity and
meets the user's interface requirements.
User (dq=0)
The user is the person who has commissioned the system under
construction. Users change their minds a great deal and drive
analysts crazy. Each group must identify a user for their project;
the user can be anyone outside the group. Normally, Professor Turner
will serve as the user for all groups.
Writer (dq=3)
There is considerable plain writing to do in a requirements document.
Lead Designer (dq=0)
This is the technical job that pays in 6 figures (except in CPE 308).
The lead designer knows everything about the software design. Some
companies use a management process that gives total authority to the
lead designer. (See Brooks Chapter 3)
Pattern Reseacher (dq=1)
This person finds appropriate design patterns for your design.
This work is not required except for groups that have members
with pattern design experience.
Software Architect (dq=0)
The architect determines the overall
software architecture . In CPE 308,
the boss will consult with each group to determine your architecture.
UML Class Diagram Modeler (dq=0)
This person transforms the problem state diagram to a software
diagram. The job requires good knowledge of the target
platform language and class libraries.
UML Interaction Diagram Modeler (dq=3)
Interaction diagrams describe the run-time behavior of your
software in great detail. Each member of the group is required
to write at least 1 interaction diagram.
Programmer (dq=3)
The grunt job. The foxhole digger. The nail pounder.
The programmer designs algorithms, determines data/file structures
and writes code.
UI Programmer (dq=0)
This person converts the prototype or storyboards to code. Too bad
we aren't using NeXts; they have the Interface Builder
which does this job automatically.