TaskHeap User Manual
TaskHeap is a tool for workgroup task management. Think of
it as a shared outline providing a common reference for everything
going on in a project.
A tutorial heap demonstrating basic functionality is automatically
created for you when you sign up. The tutorial takes only a few
minutes to complete and will familiarize you with basic TaskHeap
functions.
Motivation:
TaskHeap was created to address the needs of distributed teams
working on dynamic projects where a dedicated project manager may or
may not be available. In these situations simple "to do" lists fail
to provide adequate overview, traditional project management
techniques tend to require too much overhead to be effectively
maintained, and incident tracking systems may not adequately support
planning structure. TaskHeap provides a unique blend of capabilities
that has been developed and proven through actual project work.
The primary goals of TaskHeap as a tool are to
Provide a consistent common reference view of the state of a
project without excessive maintenance effort.
Enable easy capture of new work definitions as they occur, and
support project planning.
Facilitate analysis of project evolution over time, and enable
re-use of project knowledge.
Features:
- Work item triage: New work is created
within Immediate, Near or Future to automatically
provide basic project prioritization on an ongoing basis.
- Hierarchical task organization: Work items are grouped into
plans to create a work breakdown description.
- Time rollups: Remaining work and total work time is
calculated based on the outline. Plans can calculate sequences of
work items or concurrent parallel work.
- Deadlines: Work items can have fixed deadlines or deadlines
relative to other work or the heap as a whole.
- Activity chromacoding: Recent changes are color coded to
highlight activity:
modified within past 24 hours
modified within 2 days
modified within 7 days
modified within 14 days
modified within 30 days
last modified over 30 days ago
- View filtering: The heap can be depth filtered to show only
the top level plans, or you can drill down into a plan to focus on
work details. You can also show only remaining work.
- Individual assignment: Work items can be assigned to a specific
person. Work assigned to you is indicated so you can see which work
items are yours.
- Role responsibilities: Work assigned to a general role which
falls under your assigned responsibilities is indicated so you can see
what work items you are generally responsible for.
- Reference document: The heap is published to a single web
page for general reference. The page can be downloaded for offline
reference.
Associating other users:
You allow other TaskHeap users to access one of your heaps by
creating a heap association for them. The association maps their
account to your heap with the access you specify.
Creating a heap association is by invitation. As a heap admin, you
create a new association specifying the email address of the person
you want to invite. After they log in to their TaskHeap account with
a matching email address, they can access your heap through the new
association you have set up. Once a heap is accessed via a new
association, that invitation is automatically accepted.
To remove an association, change the access to none.
Linking to information:
To provide a link to an external document, enter the URL directly into
the description. So for example text like
http://www.mysite.com/mydoc.pdf
will be translated into a hyperlink in the display. It is recommended
that you set up a discussion group for your heap using your favorite
online group service. By including the URL for a discussion thread
within the work item description you can reference additional
information or uploaded files.
When you click on an item in the heap overview, the URL that's
displayed can be used to uniquely identify that work item either from
another item or an outside document.
Fractional or ongoing tasks:
Fractional hour time estimates are not supported in TaskHeap, so
for example it is not possible to enter a value of "0.5" as a time
estimate for a task. The reasoning behind this is twofold:
- Even integer hours are easier to read and manage
- Heaps full of tiny tasks are harder to manage
But tiny tasks certainly do exist, and often they need to be
recorded. The main strategy for handling this is to create a general
task and then write down each of the tiny tasks within the work
description for it. For example the description of a task to add a
new field to an existing struct might say "add field definition,
update unit test, verify and deploy to staging server". Each step in
the work description could be thought of as a separate 10-20 minute
task, but to reduce overall heap complexity they are gathered together
into a single work item.
Tracking ongoing work can be handled in a similar fashion. Create
a general task where the description and time estimate are updated on
an ongoing basis as needed. For example a planned development phase
might include a "bug fixes" task whose description is updated as
needed during that development phase. The task is marked as finished
when the phase completes and another general task is opened for the
next phase. For planning these placeholder tasks can be used to
capture overhead work and increase time estimate accuracy.
Reducing clutter:
As your project moves forward, the finished work starts to take up
a lot of screen space. Hiding this work gets it out of your way while
still allowing you to go back and reference it if you need to. To
hide some finished work create a hidden Plan to hold it:
- Create a plan called "Archived work" or whatever name you want,
and set the visibility to "hidden". Your new hidden plan will not
show up in the heap display, but you can get to it by clicking on its
parent plan, then following the arrows through to the actual Plan
display and from there to your hidden plan.
- While viewing your hidden plan, click the "Set As Current" button
to select your hidden plan as the place to move things to.
- Use the arrows on the main heap display to move older work into
your hidden plan to reduce clutter.
External Plans:
If part of your project depends on work being done in another
project, you can represent the outside project work in your own heap
using an External Plan. Please note that External Plans consume
system resources as they are checked periodically by the system.
An External Plan is a reference to a Plan in another heap. To
create an External Plan you will need access to the published heap you
are referencing, so have that URL, username and password
handy. Then
- Select the plan from your own heap overview that will hold the
external plan. From the summary display click the "Edit Component"
button.
- Under the components field, click the "New" button. Choose
"External Plan" as the type of plan component and click "ok".
- Fill out the name and description fields, then fill out the URL,
username and password fields for the published heap. For the
sourceID, use out the uniqueID of the Plan from the published heap
that you want to reference. If you select the plan from the published
heap, this is the number at the end of the URL.
- Click save to record your External Plan. The time estimate for
the External Plan will be updated according to the refresh interval
you specified.
Parallel work:
If your project has several areas of work going on at the same
time, then you want the estimated completion to be calculated from the
maximum time across these ongoing efforts rather than the total time
that would occur if the work items were done one after the other.
To reflect parallel efforts, create a Plan that holds the parallel
work items, and set the execution to "parallel" rather than
"sequential". This tells the rollup calculations to use the maximum
time of the contained work items, rather than the sum total when
calculating the estimated completion time. The total time in hours
for the project remains the same.
Task Types and Phases:
TaskHeap provides work classifications as Task Types, with
completion stages defined as Task Phases. The predefined "to do",
"development", and "bug" types are adequate for many things, but
your project can also define additional types with their own
completion steps.
When defining a custom type, first consider the phases it will
have. It is recommended that any type you create should include the
"finished" and "closed" phases, since these are referenced by the time
calculation to indicate a task whose time no longer contributes to the
estimated completion. For consistency, you may also want to have the
initial phase be "pending", although this is not required. When you
have determined which phases your custom type should have, create any
new phases you need using the "Task Phases" tab on the Resources
screen.
Once your phases have been created, use the "Task Types" tab on the
Resources screen to create your new custom type. Use the find button
next to the phases field to find the work phases your new type will
have. When you are done adding phases, save your new Task Type. The
next time you edit a Task, you can choose your new type as one of
the type options.
Heap strategies:
The immediate triage of new work items based on the top level plan
definitions has been demonstrated to provide significant help with
managing projects over time. To maximize this leverage, we recommend
the following supplemental strategies to consider when working with
your heap:
Limit the contents of everything under Immediate to
approximately two weeks of team effort. This will keep the size
manageable both visually and mentally for everyone involved. Anything
outside that scope should be moved down into Near.
Take the time to organize the contents of the Near plan to
reflect the work breakdown so you can easily read it and move things
around to reflect changing priorities. As Immediate work is completed
and moved to Finished you can move things up from Near
according to plan.
Organize Future work based on conceptual categories so
you can find things when the time is right. If future items are no
longer under consideration, close them out and move them
to Finished.
You may find it helpful to subdivide Finished into
three sub plans:
- Recently completed is where all work is first moved to when
it is finished.
- Reference is for all completed work that is referred to on
a regular basis for answering questions, modeling, or other
purposes.
- Archive is a hidden plan for old work used to reduce general
clutter.
Use good names! The few additional seconds spent creating a
concise descriptive name for a work item will save many minutes of
reading over the course of a project.
Every couple of weeks or so, save a copy of your published heap.
You can compare the versions over time to see how your project has
progressed, improve estimates and look for patterns that might be
useful in the future.
Project Management terms:
Here's a glossary of a few project management terms and how they
relate to TaskHeap:
Work item recording is the process of creating new work in
response to situations as they come up, without getting bogged down in
planning at the time. Sometimes this is handled through a separate
incident tracking system, in TaskHeap this is handled by simply
creating a new Task.
Planning refers to creating the overall structure of the
project and organizing the work to be done. In TaskHeap this is
handled by creating Plans and moving work items around. It may also
consist of creating placeholder work items to be fleshed out later.
Milestones can be recorded as higher level organizational plans with
optional deadlines.
Progress reporting refers to updating task status as work
is completed, and providing an overview of the state of the project to
everyone who needs it. TaskHeap handles this through it's interactive
interface and published heap documents.
Work Breakdown Structure (WBS) refers to a hierarchical
view of all defined work for a project, represented either as an
outline or a graphical display. The heap outline in TaskHeap provides
a concise, functional WBS.
Program Evaluation and Review Technique (PERT) is a method
for managing projects based on probability where all tasks have a
best, nominal, and worst case time estimate. Developed in 1958 by the
DoD Navy Special Projects Office to help measure and control the
progress of the Polaris Fleet Ballistic Missile program, PERT
calculates an expected duration and a standard deviation for all work.
TaskHeap does not support PERT because of the additional task entry
overhead and complexity associated with entering and managing
multiple time estimates.
Gantt is a technique developed by Henry Laurence Gantt in
the 1920s and used for projects like the Hoover dam and the interstate
highway network. Each logical unit of work is tracked as separate
horizontal line against the timeline at the top of the report.
TaskHeap does not support Gantt because the amount of display real
estate required, and the decreasing accuracy of work definitions the
further out in time things get.
Critical Path Method (CPM) was invented by the DuPont
Corporation in the 1950s and uses single number time estimates to
compute a total time based on the longest path through all the work.
TaskHeap does not directly support CPM, although you can place several
work items under a parallel plan to track which will take
longest.
Agile Development describes a wide range of specific
techniques, but generally refers to iterative software development
model that can be described as a "release early, release often"
approach. TaskHeap generally supports agile development.
Support:
Support for TaskHeap is available by email. Send a complete description
of your question, problem or suggestion to
support@TaskHeap.com.
We are committed to keeping costs low in order to make TaskHeap
accessible to everyone, and we've found that email is the most
effective way to do this. Premium support, consulting, custom
development, custom installations and other services are available on
a retainer fee basis. TaskHeap is an
open source
component of Structs and Nodes Development.
TaskHeap is developed using TaskHeap, and has been in use since
2002. It has helped us a lot and we hope it helps you also.
|