Submitted by gregory on 2010/08/09 07:17
Managing projects using InfoQube

NB: This documentation is based on Mantis entries: 

 
Gantt Chart (first version)
Task Dependencies

Gantt chart enhancements (hours view, better date header display)

Gantt: Switching between tasks and milestones

Gantt: Add option to set non working days

Gantt: Scale not saved

Add overload capabilities to the Gantt

Gantt enhancements

Gantt charts - Show overview and histogram checkbox

Gantt chart: No need to set the End Date and Duration fields

Grid: Item color: add option to select which columns are shown in that color

Gantt chart: add option to set bar colors

It also incorporates material from the Wikipedia articles on project management and on work breakdown structure. 

 

What is Project Management anyway?

InfoQube is often used in the planning and monitoring of activities made up of constituent individual actions. An example of an action is a simple one-off task, such as "sell car". The action is fairly clear in scope, and any associated planning is probably quite simple. A typical way of doing this in InfoQube is to create an item called "Sell car", and to create child items in a hierarchy below that item, such as "Service car", "Advertise car", etc. 

Sometimes activities, made up of interdependent actions, are sufficiently complicated to merit being treated:

  1. Either as ongoing processes or operations - these are activities which are frequently repeated following a more-or-less well-defined process design or template. Thus if you collect cars and sell lots of them, it might be worthwhile to define an InfoQube form as a template for the repeated activity.
  2. Or as a one-off but perhaps complicated project.

As a working definition of a project, Wikipedia suggests the following (emphases mine):

"

A project is a temporary endeavour, having a defined beginning and end (usually constrained by date, although it can be by funding or deliverables), undertaken to meet unique goals and objectives, usually to bring about beneficial change or added value. The temporary nature of projects stands in contrast to business as usual (or operations), which are repetitive, permanent or semi-permanent functional work to produce products or services. In practice, the management of these two systems is often found to be quite different, and as such requires the development of distinct technical skills and the adoption of separate management.

 The primary challenge of project management is to achieve all of the project goals and objectives while honouring the preconceived project constraints. Typical constraints are scope, time, and budget. The secondary—and more ambitious—challenge is to optimize the allocation and integration of inputs necessary to meet pre-defined objectives.

"
Wikipedia discusses project management in general terms. The scope of a project which can effectively be managed using InfoQube is restricted to projects carried out only by a small number of people - frequently only one. Furthermore, IQ provides no explicit support for PERT or CPM approaches (which are used to analyse the shortest time in which a project can be completed, to establish the so-called critical path, and to analyse the impact of overruns in time and cost of individual tasks within the overall project).

 The diagram illustrates the main stages in managing a project:

Figure 1: Principal stages in managing projects

Source: Wikipedia Commons http://en.wikipedia.org/wiki/File:Project_Management_%28phases%29.png

 
This document concentrates on the Planning and Design; and the Monitoring and Controlling; sections - since these are where IQ is most useful.
 
Planning and designing projects

The management of any project should be planned in two stages. These are:

  1. Identify the Work Breakdown Structure – in essence, what are the outputs required from the project.
  2. Plan the Project Schedulehow and when the various actions required to create the outputs will be carried out.


The Work Breakdown Structure (WBS)

The first stage in the planning of a project should be the identification of its work breakdown structure (WBS). The Work Breakdown Structure is a tree structure, which shows a subdivision of what needs to be created (or sourced elsewhere) in order to achieve an objective; for example a program, project, or contract. The WBS tells us WHAT elements (outcomes, "deliverables") are necessary to plan, execute, control and close a project, while the (subsequent) project schedule will tell us HOW we plan on creating each of those deliverables and WHEN. In this context, the WBS should always represent exactly 100% of the scope (deliverables) of any project.

It is important to understand that the WBS shows only WHAT the deliverables are. It does not (or should not) show the structure of the deliverables, that is HOW they are individually constructed. (It makes perfect sense to do that too using IQ, but the initial WBS should not be confused with that product structure; in fact my practice is to make that subsequent structuring or design process a part of the product structure - I use outlining in PowerPoint and Word, for example, when a project deliverable is a document or a presentation.)

Nor should the initial creation of the WBS be confused with the subsequent stage of project scheduling, which identifies the schedule of tasks and their interdependencies – the HOW and the WHEN. It is considered poor practice to construct a project schedule before designing a proper WBS.

So the WBS is neither a complete project plan, nor a schedule, nor a chronological listing.

In a project or contract, the WBS is developed by starting with the end objective and successively subdividing it into manageable components in terms of size, duration, and responsibility (e.g., systems, subsystems, components, tasks, subtasks, and work packages). Thus it includes all deliverables necessary to achieve the objective. This should normally take the form of a tree structure.

The most obvious way in which to model a tree structure in InfoQube is of course as a hierarchical outline. However, this is not actually necessary in order to plan a project nor – subsequently - to represent it as a Gantt chart.

The Work Breakdown Structure provides a common framework for the natural development of the overall planning and control of a project or contract and is the basis for dividing work into definable increments from which the statement of work can be developed and technical, schedule, cost, and labour hour reporting can be established.

A work breakdown structure permits summing of subordinate costs for tasks, materials, etc., into their successively higher level “parent” tasks, materials, etc. See www.sqlnotes.net/drupal5/index.php for how to create such hierarchy or column equations.

For each element of the work breakdown structure, a description of the task to be performed is generated. This technique is used to define and organize the total scope of a project.

The WBS should initially be organised around the primary products of the project (or planned outcomes) instead of the work needed to produce the products (planned actions). Since the planned outcomes are the desired ends of the project, they form a relatively stable set of categories in which the costs of the planned actions needed to achieve them can be collected.

 

The Project Schedule

An outcome determines a so-called terminal element of the project, that is, an activity which delivers that outcome. A well-designed WBS makes it easier to assign each project activity to one and only one terminal element of the WBS, which is desirable in phased projects which deliver multiple outcomes and for which – for example – separate costings / billing items are required or desirable as part of the process of accounting for project costs.

A Gantt chart is a type of bar chart that illustrates a project schedule. InfoQube has a Gantt view, which includes a Gantt chart.

Gantt charts illustrate the start and finish dates of the terminal elements and summary elements (intermediate elements) of a project. Terminal elements and summary elements derive from the work breakdown structure of the project. Gantt charts can also show the dependency (i.e. precedence network) relationships between activities. Gantt charts can be used to show current schedule status using percent-complete shadings. Gantt charts have become a common technique for representing the phases and activities of a project which carries out a work breakdown structure (WBS), so they can be understood by an audience which is wider than the person who is planning the work.

 

Assumptions and Limitations

InfoQube cannot pretend to the advanced project management capabilities present in dedicated project management software such as Microsoft Project. However, IQ does include powerful work management capabilities which, crucially, can easily be integrated with the other information management needs of individuals. This documentation assumes that InfoQube is being used to manage the activities associated with one person carrying out a complete project. The size of an action is measured in person-days of effort. Normally, its duration is determined by its start date and its end date; however, it is no longer required to set the Gantt chart End Date and Duration field. When only the Start Date field is set, this can be used to get a timeline-type view. An action which takes zero time is called in IQ a milestone; it is represented not as a line in Gantt view, but as a lozenge.

In a project schedule, dependencies between actions are identified. Where one action cannot start until one or other earlier actions have been completed, the action has a dependency upon those actions.
 

Projects in InfoQube

The implementation of projects in IQ usually involves a combination of specific IQ features. These are:

  1. Gantt View. This can be enabled for any grid, although typically it is used with a Projects grid. To toggle Gantt view on or off for a given grid, use Grid / View Gantt. To set the Gantt-related properties for a grid, use Grid / Properties and open the Gantt Chart properties for that grid.
  2. A set of system fields. These are together used intended to represent Projects.


The system fields include:

Field N°.
Field name
Type
Caption in grids
90
TaskActStart
Date
TaskActStart
91
TaskActEnd
Date
TaskActEnd
94
TaskDuration
Number
Nb Days
95
Task%Complete
Number
% Done
96
TaskEffort
Number
TaskEffort
97
TaskID
Number
TaskID
98
NextTaskID
Text
NextTaskID
 Table 1: System fields used to represent projects

Part of the flexibility of IQ is that it is not necessary to stick to a strictly hierarchical breakdown of work. Thus an element of one project may equally be used as an element of a second project.

Thus one thing which is essential to effective project planning in IQ is grouping together tasks which together constitute a project. It might therefore be sensible to represent the project as a tree structure of hierarchically-linked tasks and their sub- and sub-sub- tasks. However, this is not in fact the way in which IQ shows how tasks are related. Instead, IQ permits task dependencies to be represented and stored explicitly. One task can depend on more than one other task, and one task can precede more than one subsequent, dependent, tasks. Thus, it is only by convention that tasks and sub-tasks are represented as a hierarchy, and IQ ignores the tree structure when considering dependencies. Instead, it relies upon the use of the two system fields TaskID and NextTaskID to show how each task relates to others.

Traditionally in project management, project tasks are labelled using letters. However, IQ uses the numerical system field TaskID to identify individual tasks which participate in dependencies and the system field NextTaskID to store dependencies. In fact, the NextTaskID field can be used to identify several “next” (dependent) tasks since it takes the form of a comma separated list. It should be noted that when a dependency is established, completely new values are created for TaskID and NextTaskID - they have nothing to do with the IDItem field associated with all IQ information items.

 

An example of an IQ project

The standard sample database contains a project called Somiro. The screenshot which follows is taken from such a sample database.

 
 


 Figure 2: An example project: Project Somiro

In the screenshot we can see the following elements:

1.      A TLI (top level item) ‘Project Samiro’ and its constituent tasks, here labelled 1.1 to 1.11; this grid shows the principal fields needed to implement a Gantt chart in IQ; these fields are discussed below.

2.      Above the grid is shown the project overview – this extends over the whole length of the project, which is here all of May and most of June 2008; it is shown if the Gantt Chart property Show Overview is set; the scale of the display can be set to one of Min, Hr, Day, Wk, Mo (minutes, hours, days, weeks, months).

3.      To the right of the main grid is shown the magnified detail Gantt view of the tasks which are active in a particular seventeen day period; the part of the project which is currently displayed is indicated by orange shading in the project overview described in the previous element.

4.      Below the detail Gantt view is the resource utilisation histogram; it is shown if the Gantt Chart property Show Histogram is set.

Right-clicking the date line at the top of the Gantt view displays a menu which permits the Show Overview, Show Histogram and Zoom parameters to be changed; Gantt properties are also accessible from this menu. In general, IQ synchronises what is shown visually in the Gantt View and the corresponding fields in the grid; it is therefore a matter of user choice whether to change grid values using primarily the keyboard, or Gantt view values using the mouse.

 

Setting up a project grid in IQ

When a new IQBase is established with sample data, a 'Project Samiro' is established together with a Projects grid. The Projects grid has most of the necessary system fields showing in the grid, together with a full Gantt view (see next section). If there isn't already one established, it's a good idea to create a new grid specifically for projects, since it will be necessary to use Gantt View described in the next section; by contrast, it is pointless wasting valuable screen space displaying Gantt view when the project fields are not relevant.

Ensure that the system fields relevant to projects are in the grid; see Table 1. Use Figure 2 above as an initial model. In fact, the easiest way to get started is to create Project Samiro and to experiment with it. Once you have got the hang of how a project and its constituent tasks work: delete irrelevant items and replace them with items that are relevant to you project.

 

Using Gantt View in IQ

Gantt charts are good for project management, but they can also be used for other things, since:

  1. The amount of scaling is under user control.
  2. The current time is shown as a green vertical bar in the minute, hour and day scales.
  3. If you double-click on the header, that is, the dates bar, the chart is centred to the current date/time.
  4. If you double-click on the chart on an item line, the chart is centred on that item bar.

5.      Using the mouse-wheel when over the Gantt scrolls the chart:

  1. No modifier: Up/Down
  2. Shift: Zoom In/Out
  3. Ctrl: Left-Right

6.      As the user moves the mouse, a Date Ticker (a grey open bar) is shown just below the date headers.

 
Manipulating items in Gantt View
 
The Gantt View enables the user to manipulate items using the mouse. This may involve any or all of:
  1. Mouseover - positioning or hovering the mouse above an item in the Gantt view; note that the mouse cursor may change shape, for example to a pair of vertical bars, or to a percentage sign, depending on where the mouse is positioned over an item and what the existing grid values are for the item;
  2. Select - when the user clicks on the left mouse button; the exact behaviour depends on what the cursor is showing when the item is selected;
  3. Drag - when the user, having selected an item and keeping the mouse button down, moves the mouse, an item may be extended in length, or another property may change; again, the exact behaviour depends on what the cursor was showing when the item was selected.
The mouse cursor: As you mouseover an item in Gantt view, the mouse cursor changes form. If the item has no value or zero value for Task%Done, then the cursor first takes the form %> before changing to a pair of vertical bars. If the item already has a non-zero Task%Done,  
Ajusting the length of items: To extend or shorten the elapsed time of an action, mouseover (position the mouse over) the left-hand or right-hand edge of the item until the cursor becomes a double vertical bar. Click then drag to change; the TaskActStart or TaskActEnd in the grid change accordingly.

Creating items in Gantt view: To create a task, position the cursor on an existing item in either the grid or in the Gantt view. Right click and select the New Item button. In the main grid, give the item a name. In the Gantt view, left-click at the desired start date and time of the task, then drag to the right. Release the mouse button at the desired end date and time. The TaskActStart and TaskActEnd fields in the main grid are established accordingly. This process is inevitably rather approximate, but it is easy subsequently to adjust the length of the newly-created task as just described under Adjusting the length of items.

Adjusting the percent done of items: To adjust the percent done of an item, there must aready be a non-zero percentage showing in the grid.

Moving items: To move items, you must be very careful to select the bar in the middle and move left or right, etc.

Linking items:  This needs be done with care also. In order to link one item to another so that it becomes a predecessor to another item, you press the Shift when you first click on the bar of what is to be come the predecessor item:
  1. Press Shift

  2. Click on the first bar, and start to move vertically; the cursor will change to indicate a linking operation

  3. Let go Shift (if you hold the Shift key too long, it stops linking)

  4. Drag to the second bar; a dependency arrow should appear (and survive a refresh)

 
Changing the effort associated with a task :  This cannot be achieved in the Gantt view - the field TaskEffort should be made visible in a grid and the value changed there.
 
Formatting items in Gantt views

Grid: Item colour: an option has been added to select which columns are shown in that colour.

Currently, the item back colour is set to all columns. This is sometimes not desired (in particular with the new Gantt chart bar colour). The new option permits setting the list of fields which show the color; it should be left blank to color the whole item:

Grid>>Properties>>Options>>Item color applies to fields:

Additionally, in a Gantt chart:  an option has been added to set Gantt item bar colours. The steps necessary are these:

1.      Grid>>Properties>>Gantt Chart>>Bar color field : set it to field containing the color (by default, the ItemColor field is used)

2.      Set the values for the bar colours (using ItemColor field is easy because IQ has context menus to set this field)

The bars will be coloured.
 
How to use InfoQube to Plan and Schedule a Project
 
Firstly establish the Work Breakdown Structure.
 
Summarising what was said above, the steps are:
 
Identify the main project Objectives
For each objective, identify the necessary Deliverables; note that there are often multiple deliverables needed for an objective to be achieved - notably,the development of a product needs documentation and the introduction of a service needs the delivery staff to be trained
For each deliverable, identify the Structure of the deliverable; for a software product this may be its modules or components, for a book, its chapters, and for a service, the separate steps needed to deliver the service
 
How is this best done in InfoQube? To a large extent, this is a question of individual preference. Here are some suggestions:

  1. In the Projects grid, create a TLI with the project name
  2. Under this item, create a bunch of sub-items to the project deliverables, randomly entering deliverables as they come to mind - they can easily be re-ordered subsequently, either by drag-drop or cursor keys
  3. For each deliverable, create sub-items for the tasks necessary to create the deliverables
  4. Put the deliverables into some sort of order
  5. Order the tasks and perhaps group related tasks under a parent task
  6. Estimate rough values for each task and enter this in TaskEffort
  7. Large effort tasks can be broken down in sub-tasks, if need be
  8. If more than one person is involved, a pop-up list ActionOn field (text) can be used to split the work. A column filter (or a second "filtered" grid) can then be used to view person-specific tasks
 
Secondly plan the Project Schedule.
 
  1. Once the work breakdown schedule is fairly complete, create Gantt bars for each task (click-drag). If overload could be an issue, show the histogram and keep an eye on the workload level as bars are created
  2. You can also select multiple bars and move them as a group
  3. Consider using the new bar color feature. For example, you can set the bar color to red when a task is late (or expected late)
 
Monitoring and adjusting overall workload
 
Bear in mind that it is often necessary ...

Projects involving more than one person
 
Section to follow!

Comments

Hi Mark -
I'm not sure what the problem is - do the images disappear when you save the page?
 
Normally they will show even if you simply copy & paste them - from within the forum I think that's okay. Or you can use the url
 
I had a look at the manual page copied here.
Here's the link for the IQ screenshot (I right-clicked the image when editing and check the properties)
/drupal5/files/16/images/gantt01.png
if I click add image and simply use that as a url it should work -
Actually what happens is it tries to open a dialog/window which shows a detail-list of images that you have uploaded (or where you can upload images) - you need to close that and click ok on the dialog with the url
 
Hope that makes sense or helps, Tom

gregory

2010/08/09 09:05

In reply to by Tom

Hi Tom.
 
This is all very strange. In your post as it displays on my computer, there are no images and no hyperlinks. What can you see?
 
I'm using Firefox on Win 7.
 
I'm going off to try another browser...
 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Tom

2010/08/09 10:04

In reply to by gregory

[quote=gregory]
Hi Tom.
 
This is all very strange. In your post as it displays on my computer, there are no images and no hyperlinks. What can you see?
 
I'm using Firefox on Win 7.
 
I'm going off to try another browser...
[/quote]
 
oohh . . . I'm embarrassed now - I didnt add any images to my last post and there weren't any links either!
 
Here I'll add an image using the link from my previous post (/drupal5/files/16/images/gantt01.png)
 
 
and here I'll copy paste the image from your post above:

 

I see from this thread: How can I insert an image in a post? that you had trouble before uploading images

 

EDIT: after posting this I can see the first image (posted using the url) but I cannot see the second. Oddly enough I can see the second picture now - while I'm editing the post