|(28 intermediate revisions by 2 users not shown)|
= Caltech Project Management Toolset (CPMT) Status Chart =
= Caltech Project Management Toolset (CPMT) Status Chart =
Updated: 19 Jun 04
Design Specification ==
Team Meetings ==
GOTChA Chart ==
Status Chart ==
Timeline Chart ==
== Design Reviews ==
== Design Reviews==
== Tests/Demos ==
Bugzilla Task Lists ==
Wiki Documentation ==
Caltech Project Management Toolset (CPMT) Status Chart
The chart below shows the status of the tools and processes that are being developed for CS/EE/ME 75.
- Green: well defined, documented, and implemented.
- Yellow: available, but needs work. Documentation may be missing.
- Red: not well defined and/or implemented
The sections below give the current status of the component. Clink on the component title for a description of the component. Note: need to transfer descriptive text to information pages
Need to copy over GOTChA chart info from TeamCaltech wiki.
- Design Specification: objectives should reflect level 1 specifications
- Status Chart: approach should correspond to status chart
- Timeline Chart: objectives/approach should be reflected on timeline chart
- Design Reviews: GOTChA charts for the basis for design review presentations
The status chart serves several purposes. It documents the system architecture, defines interfaces, assigns responsibilities, sets priorities, and communicates this information in an easy-to-read format. It's a simple idea, but very effective. Here's an example of a status chart used for the 2004 DARPA Grand Challenge.
On a status chart, the entire system architecture is depicted. Each component of the architecture is drawn as a block, with arrows between the blocks indicating the interfaces. In this example, the "vehicle" and "path planning" architectures are drawn as single blocks to simplify the chart (their architectures are detailed on separate status charts). For this status chart, each of the components (hardware and software) of the embedded systems architecture is drawn as a block. Each block (component) and arrow (interface) has assigned to it a color which designates the status of that component/interface. Red means "this component is in trouble - need help!". Green means "everything is ok - nothing to be done here" and yellow is somewhere inbetween.
Each block and interface is also assigned an owner (indicated by the small white boxes with the owner's initials in it). Cross-hatched blocks denote a block that is not a high priority at the moment.
Note the creative use of colors (yellow + red is not exactly yellow and not exactly red, but something in between), and the presence of the “Vehicle” and “Path Planning” blocks (which were detailed on separate status charts for those teams).
- GOTChA chart: approach should be reflected on this chart
- Timeline chart: status should be relative to timeline (milestones)
- Bugzilla task lists: subsystem blocks should be represented as components in bugzilla.
- Project/team meetings: status chart should be used in team meetings to guide discussion of current status
Need to create description of timeline chart. Should link to project meetings.
- GOTChA chart: approach should be reflected in timeline
- Project/team meetings: missing
- Status chart: status should be reflected in timeline; arrow may be one way?
Fairly well defined process here. Need to copy over information on how to use Bugzilla from Team Caltech Wiki
- Status chart: products specified by teams, components specified by status chart blocks
- Project/team meetings: use Bugzilla in team meetings to look at critical and blocker tasks. Team and project meeting action items should get entered into bugzilla by note taker
- Design reviews: record design review action items in bugzilla
- Demos/tests: record actions from demos and tests in bugzilla
Need to write down how the Wiki is supposed to be structured and used. Can copy a lot of this from TeamCaltech site.
- Technical work: only documented work will be graded
- Design reviews: all work presented at reviewes should be documented
- Tests/demos: all results from tests should be documented
Project meetings are typically held once a week. The content of these meetings varies from week to week, but two items are always covered:
- Goals: what is to be acheived during the timeframe of the meeting (e.g., decide on next steps, create test plan, present system architecture options).
- Agenda: a sequential, prioritized list of tasks that will be covered during the meeting. The most important item should be covered first. Each agenda item lists
- a starting and ending time,
- a brief description, and
- the name of the speaker(s).
The agenda should include
- GOTChA chart presentation and discussion (beginning and end)
- Status updates with status chart
- Review of blocker items in Bugzilla
- Review of timeline with upcoming events highlighted.
The following are best practices for meetings:
Before the meeting
- One person (the driver) is assigned to drive the meeting. They reserve the meeting place and send out an e-mail (at least 8 hours before the start of the meeting) to all participants including the meeting time (starting and ending), goals, and agenda.
- The driver ensures all tools needed for the meeting are in working order (e.g., whiteboard, dry erase markers, laptop projector, etc.) prior to the start of the meeting.
- The driver assigns a notetaker. This is preferably done before the meeting so the notetaker can come prepared (e.g., with a laptop). The best way to take notes is to create the wiki page during the meeting (if it exists for a particular project). The next best options are to create non-wiki webpage, type the notes in an e-mail, or hand-write the notes and transcribe them to an e-mail.
- The driver makes copies of notes or slides prepared for the meeting, enough for everyone attending.
During the meeting
- The driver hands out copies of the notes or slides to everyone in the meeting.
- The driver puts up a prepared slide with the goals and agenda listed (or writes the goals and agenda on a white board).
- The driver walks through each of the agenda items, making sure the meeting ends on time.
After the meeting
- All presenters (including the driver) notifies the notetaker where to find the meeting slides and other prepared material. It is the notetaker's responsibility to obtain these materials (in case the presenters forget).
- The notetaker publishes the notes (preferably on wiki) and the presenters' slides (also on wiki, along with the notes) and sends an e-mail to all interested parties. All published material should be in either .pdf or ASCII format. The same material in two formats (e.g., .pdf and .ppt) is ideal.
- GOTChA charts: Meetings should start and end with GOTChA charts
- Status charts: Meeting status updates should use status chart to organize discussion
- Bugzilla: Meetings should review blocker items in bugzilla and new actions should be recorded in bugzilla
Need to figure out how design reviews should be held. Probably having a couple of different types: working meetings, preliminary design review, critical design review. Use MVWT II review on 28 July for RFA, assessment templates.
- Design specification: design specs should be the basis for the review
- Technical Work: technical work should be driven by design reviews and new actions from design reviews should be reflected in technical work
- Wiki documentation: not sure what the link is here yet. Define or delete.
Preparation for review
- Ask each time to request the amount of time needed for their section, rather than using a fixed time for each team
- Send read-ahead material on the project (documentation)
Team presentation outline
Chart #1: Team name + members
- Assign/identify notetaker for presentation
Chart #2: System overview
- Provide "high level" view of system (w/ pictures)
- Define key terms defined in GOTChA, status charts
Chart #3: GOTChA chart
Chart #4: Status chart
Charts 5-N: technical description
- Description of major elements
- Provide enough detail to evaluate technical approach and progress
Chart N+1: plan for rest of project/term
Other best practices
- Provide printed copies of charts for review team
Need to define some processes around tests and (field) demonstrations. These include pre-demo checklists, test matrices, test manager, etc.
- Wiki Documentation: results of demos should be documented
- Bugzilla task lists: action items from demos should be entered in Bugzilla
- Technical work: technical work should be driven by demo milestones
Don't currently have any formal way of specifying system requirements or propogating them through the design. Need to think through how requirements will be specified at both project and team level.
- GOTChA chart: requirements should be reflected in objectives
- Design reviews: reviews should demonstrate requirements are met