> > |
Version 1.1 - Jul 1 2004
This is a plugin for planning projects and using collaborative maintenance to keep track of the status.
Description
Layout
There is a hierarchy of information here:
- Web - the TWiki web containing all the projects. It is strongly recommended to setup a separate web for project tracking. One web can be used to track multiple products.
- Project - the project being worked on for a delivarable. Each project has a home page, which contains an auto-generated summary of the project progress.
- Plan - a project is divided into various plans. Each plan can be thought of as a cohesive feature that can be planned and allocated together.
- Task - Task is the atomic unit of work. Each plan is divided into multiple tasks. Task is the granularity of work allocated to a developer and scheduled in terms of man days.
- Developer - a user who is allocated the task.
Usage
Creation of pages is recursive, each page has an html form that uses a template to create child pages or a table with defined columns:
- Projects. You can create a new project page using the html form on the home page for the planning web. You can add additional content to these pages if desired, but do not delete the existing content. This is used to provide high level overviews of schedule progress.
- Plans. Each Project page has a form for creating plans in addition to the summary of currently entered plans. The template for the Plan page has a table where tasks can be added, allocated and updated.
Note: Project and Plan names have to be WikiWord. Task names may or may not be. However, if Task names are specified as WikiWord, it provides links to add more info about the task and also provides a pretty printed version for online-challenged meetings.
The top level project creation form is displayed by adding the keyword % PPALLPROJECTS% in any page. The creation of plans and addition of tasks are performed in the resulting forms that are generated when a project is created.
Plugin settings are stored as preferences variables.
- One line description, is shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = This plugin is used for project planning
- Debug plugin: (See output in
data/debug.txt )
Advanced Settings
It is possible to customize the PlanTemplate to have a different layout for the Task Table. However, the Plugin does depend on the fields in the table for processing information for some of the tags. The plugin can tolerate some shuffling of the columns and can automatically parse the PlanTemplate topic file to figure which column is which field. However, the plugin depends on the exitence of the following required columns for the tasks:
Name |
Comment |
Task Name |
Name of the Task, can be a WikiWord to enable adding more info |
Summary |
brief summary for executive consumption |
Module |
a module that this task belongs to for Module based processing |
Developer |
developer assigned to task |
Priority |
possible priority values for task |
Status |
status of task (done and in progress are required values, others are not |
Est. Days |
estimate of man days for the task |
Spent Days |
number of man days already spent |
Est. Effort |
percentage of developer devoted to this task |
Results_Comments |
self-explanatory |
Date Added |
to keep track of dates |
Key |
default value of PPTASK (Important - required for searching the table) |
Note: It is advisable to setup a separate web for the project planner and create all projects and plans in that web. Whenever new data is entered into the web, the plugin crunches through all the files in the web to identify files which belong to various projects. This can be slow if the planner is used on a web with a large number of files.
Tags available for displaying status
This is a list of all the tags available. These tags can be placed at relevant places on the web to display the information.
Note: For any of the items below when the list of projects is not specified, all the projects in the current web are used to list the information.
Variable |
Parameters |
Comment<-- --> |
PPPROJECTPLANS |
project topic |
adds a form for plan creation |
PPALLPROJECTSINFO |
comma separated list of project topics |
creates a printable summary with all info from all tasks |
PPALLPROJECTS |
none |
|
PPALLPLANS |
none |
|
PPALLPROJECTSTASKS |
comma separated list of project topics |
|
PPALLPROJECTSPLANS |
comma separated list of project topics |
no plan creation form |
PPDEVSUMMARY |
comma separated list of project topics |
summary by developer |
Limitations
- Not rigorously error tested with all combinations of parameters for names.
Additional TWiki plugins/changes needed to get this plugin to work at its best
The plugin should work in a standard 01Dec2001 TWiki install, but it is easier to use with these additional plugins:
- TablePlugin is optional but useful as it allows you to sort tabulated information by column
- EditTablePlugin is used to simplify entering of tasks.
Plugin Installation Instructions
- This plugin has only been tested with the 01Dec2001 TWiki release.
- Download the ZIP file from the Plugin web (see below)
- the default ZIP installs in the TWiki common directory. it is advisable to create a separate web for the project planner and copy the Template files to that directory.
- Unzip
ProjectPlannerPlugin.zip in your twiki installation directory. Content:
File: |
Description: |
data/TWiki/ProjectPlannerPlugin.txt |
Plugin topic |
data/_yourweb_/ProjectTemplate.txt |
Page template for project |
data/_yourweb_/PlanTemplate.txt |
Page template for story |
data/_yourweb_/NewPageError.txt |
Page displayed when a new page creation operation failed |
lib/TWiki/Plugins/ProjectPlannerPlugin.pm |
Plugin Perl module |
Installation test
- If installed correctly you should see the following content between the two horizontal lines below - a title "All Projects" and a single cell table with the field containing the word "Project", and finally an html form to add a new project (dont use this form from here though!)
%PPALLPROJECTS%
Plugin Info
Related Topics: TWikiPreferences, TWikiPlugins, DefaultPlugin? |