Submitted by gregory on 2010/08/05 17:48
Hello and sorry for a long silence on my part.
 
I'm back with a simple question: where are the Gantt view and project management facilities documented? And why are they so hard to find?
 
There's a linked issue: when I search the manual using the term gantt view (or similar), I am informed that there are several pages of entries. However, I can only access the first page of such entries. Clicking on next or page 2, etc. returns the first page again.
 
Mark

Comments

[quote=gregory]
Hello and sorry for a long silence on my part.
 
I'm back with a simple question: where are the Gantt view and project management facilities documented? And why are they so hard to find?
 
There's a linked issue: when I search the manual using the term gantt view (or similar), I am informed that there are several pages of entries. However, I can only access the first page of such entries. Clicking on next or page 2, etc. returns the first page again.
 
Mark
[/quote]
 
Welcome back, Mark.
 
The gantt view isn't documented simply because no user had the time to do it yet. Same for project management.
 
Are you talking about the online manual or the CHM one ?

As Armando correctly stated, not much was done. Most of it is in Mantis though (albeid in bits and pieces) :
 

1037UIGantt chart: add option to set bar colorsNew featureminorresolved0.9.25 plan 04/092010-08-03 00:41PPL

1036UIGrid: Item color: add option to select which columns are shown in that colorNew featureminorresolved0.9.25 plan 04/092010-08-02 23:45PPL

1004UIGantt chart: No need to set the End Date and Duration fieldsNew featureminorresolved0.9.25 plan 04/092010-06-29 14:06PPL

0642UIGantt: Add option to set non working daysNew featureminorclosed0.9.24 rel 2009/11/042010-03-30 19:12PPL

0594GanttGantt: Switching between tasks and milestonesBugminorclosed0.9.24 rel 2009/11/042010-03-30 19:12PPL

0574UIGantt chart enhancements (hours view, better date header display)New featurefeatureclosed0.9.24 rel 2009/11/042010-03-30 19:12aisberg

0803GanttGantt enhancementsBugaverageclosed0.9.24 rel 2009/11/042010-03-30 19:12PPL

0705UIGantt: Scale not savedBugminorclosed0.9.24 rel 2009/11/042010-03-30 19:12PPL

0873UIGantt charts - Show overview and histogram checkboxBugaverageresolved0.9.25 plan 04/092010-02-03 18:53Armando

0768GanttAdd overload capabilities to the GanttNew featureminorresolved0.9.25 plan 04/092009-12-18 13:19PPL

0331GanttTask DependenciesNew featureaverageclosed0.9.23.3 rel 05/232008-05-26 21:15viking

0053GanttGantt Chart (first version)New featureaverageclosed0.9.23 rel 04/292008-04-29 23:22viking
 
HTH
 

There's nothing in the manual yet. I'll see if I can gather enough to start up a page. (I haven't really used gantt much)
Mark, get the chm version when you get a chance, it's great for quickly searching, and it's updated frequently enough that it differs little from the online version.

gregory

2010/08/06 00:04

In reply to by KeithB

Thanks everyone. I did try the .chm version, but of course in this case there's only the same stub as in the online manual.
 
I'll work with the Mantis stuff and I'll put together some documentation as I go. Then maybe Keith can work his magic to bring it up to some standard of usability. More later!
 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Pierre_Admin

2010/08/06 01:34

In reply to by gregory

Thanks !
 
I'm working on the Gantt right now... namely adding support for the mouse wheel:
  1. No modifier: Up/Down
  2. Shift: Zoom In/Out
  3. Ctrl: Left-Right
Items 1 and 3 are built-in. Item 2 (zoom) is new.
 

gregory

2010/08/06 17:08

In reply to by Pierre_Admin

Very much first draft - but here is what I've done so far. I'm going to bed now and wonder if I'll wake up to noisy comment from my North American friends?
All I've done so far is to try to summarise what I currently understand. The next step will be to use the documentation and to refine it as I really understand what is going on!
 
 
 
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. 

 

InfoQube is often used in the planning and monitoring of activities made up of constituent individual actions. Sometimes these activities, made up of interdependent actions, are sufficiently complicated to merit being treated as a project.

Project Management: a Two Stage planning process

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 Schedule – how 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 effort required to achieve an objective; for example a program, project, and contract. The WBS tells us WHAT elements ("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. In this context, the WBS should always represent exactly 100% of the approved 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 WBS should not be confused with that product structure. 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 WHEN. It is considered poor practice to construct a project schedule before designing a proper WBS. So the WBS is neither a project plan, 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 may 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.

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 (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. 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 a milestone; it is represented not a line in Gantt view, but as a lozenge.

In a project schedule, dependencies between actions are identified.

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, used 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 intended to represent Projects. These fields include:

Field N°.
Field name
Type
Caption in grids
Notes
90
TaskActStart
Date
TaskActStart
 
91
TaskActEnd
Date
TaskActEnd
 
94
TaskDuration
Number
Nb Days
 
95
Task%Complete
Number
% Done
 
96
TaskEffort
Number
 

In a future release you'll be able to enter the Effort and duration for each of your task and the Gantt will show you when you're in the red (i.e. when you'll need to do overtime). In the current implementation, it is possible to schedule two activities in parallel, stretching them over a longer elapsed time so as to keep time utilisation manageable.

97
TaskID
Number
TaskID
 
98
NextTaskID
Text
NextTaskID
 
 

Part of the flexibility of IQ is that it is not necessary to stick to a strictly hierarchical breakdown of work. Thus a sub-project of one project may equally be used as an element of a second project. Similarly, a task which is a sub-task of one task can be a sub-task of another task.

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 two system fields to show how one task relates to others.

Traditionally, project tasks are labelled using letters. However, IQ uses the numerical system field TaskID to identify individual tasks 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.

The standard sample database contains a project called Somiro. The screenshots which follow are taken from such a sample database.

 


 

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.

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, 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 left-right; using the page scroll buttons makes larger left and right centred movements.

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

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 color is set to all columns. This is sometimes not desired (in particular with the new Gantt chart bar color). 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 bar colors. 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 colors (using ItemColor field is easy because IQ has context menus to set this field)

The bars will be colored.
Setting Grid Properties

These are set using Grid / Properties, then opening the Gantt Chart properties, which are:

Field
Default values
Notes
Start Date Field
TaskActStart
 
End Date Field
TaskActEnd
 
Duration Field
TaskDuration
 
Percent Done Field
Task%Complete
 

Effort (in days) Field

TaskEffort

TaskEffort exists as a system field, but is not yet used

Show Overview
Yes
 

Show Oveview zoom buttons

Yes
 
Show Histogram
Yes
 
Non Working Days
 

Used to select days of the week which are not worked (e.g. Saturday and Sunday)

Non Working Hours
 

Used to select hours of the day which are not worked (e.g. 12AM to 08AM, implying that the working day starts at 09:00)

 

If you set your grid source to your Gantt Start date field (normally TaskActStart), the DateFilter toolbar can then be used to limit the items displayed. This is useful to view just what you want, to reduce crowding in the overview area and it also helps when printing.

 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

gregory

2010/08/07 00:18

In reply to by KeithB

Thanks, Keith. I will now use that Books entry as my working document. That does mean that it will be subject to frequent change (whether by me or by other kind contributors!). I've already made some, largely cosmetic, changes. My next step is to use the documentation as I put a large existing plan into IQ. I can then use my experience to add some more practical elements to the book entry. Specifically, I need to document things like how to move tasks, and how to make one task dependent on others.
 
Two questions to anyone who can answer them:
  1. When I edit the Books entry, I can see the image, a Project Somiro screenshot, which I uploaded as part of the entry - but it doesn't display. What have I done wrong?
  2. Is it possible in this Drupal-based Forum to take a copy of the entry, work on it offline using an editor - such as Microsoft Word - and then re-post it?
 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Pierre_Admin

2010/08/07 00:27

In reply to by gregory

Hi Mark !
 
Re 2. : You can try grabbing the page using IQ, editing it and pasting it back. I don't recommend using Word as it creates horrible HTML
 
Also, can you reduce the width of the IQ window when doing a screen capture. Best to keep it to < 800px or so.
 
Thanks for your work on the Gantt documentation !
 
(Thanks to other too !)

gregory

2010/08/07 00:37

In reply to by Pierre_Admin

I'll try using IQ as my editor - that should be instructive. As no doubt you can see from the "horrible HTML", my original document was created using Word. The Drupal "Paste from Word" button did a reasonable job, but created a document which was too wide.
 
When Keith put my work into Books, he kindly reformatted it so that it fitted into a narrower screen. Thanks, Keith! Sorry to sound like an idiot, though - but how do I get the page width down to 800 px?
 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Tom

2010/08/07 08:38

In reply to by gregory

[quote=gregory]When Keith put my work into Books, he kindly reformatted it so that it fitted into a narrower screen. Thanks, Keith! Sorry to sound like an idiot, though - but how do I get the page width down to 800 px?
[/quote]
 
I'm possibly out of my depth here, but AFAIK the page width is fine so long as the images arent wider than 800 pixels.
The text then normally flows to the width of the browser window. 

KeithB

2010/08/07 17:26

In reply to by Tom

[quote=Tom]
 
I'm possibly out of my depth here, but AFAIK the page width is fine so long as the images arent wider than 800 pixels.
The text then normally flows to the width of the browser window. 
[/quote]
 
I believe that is the case.
 
I swapped out the picture for one closer to 800 wide.
 
For the record, I just copied and pasted Mark's post out of Onenote.

KeithB

2010/08/07 17:31

In reply to by gregory

[quote=gregory]
When I edit the Books entry, I can see the image, a Project Somiro screenshot, which I uploaded as part of the entry - but it doesn't display. What have I done wrong?
 
Is it possible in this Drupal-based Forum to take a copy of the entry, work on it offline using an editor - such as Microsoft Word - and then re-post it?
 
[/quote]
 
Make sure the screenshot file name doesn't have special characters or blanks in it
 
Also, from About using MSWord in posts, which I believe is applicable to books:
MSWord is a great word processor, but generates horrible HTML
 
If at all possible, please:
  • Use the build-in rich text editor, or
  • Use the Paste from Word button on the toolbar and check Ignore Font and Remove Styles
  • Use MSWord but save it as Web Page, Filtered
In my case, I either use copy and paste from plain text out of a text editor, or from IQ, or from Stickies or from Onenote.
 

@Mark, FYI, the TaskEffort field works fine (at least in the coming version... in the current, I think one needs to do a refresh to see the changes)
 

Armando

2010/08/07 01:49

In reply to by Pierre_Admin

 
[quote=Pierre_Admin]
@Mark, FYI, the TaskEffort field works fine (at least in the coming version... in the current, I think one needs to do a refresh to see the changes)
 
[/quote]
 
Task Effort field works fine here too.**
 
There are a few things I don't understand fully (like the black lines vs the blue ones).
 
One other thing :
 
The taskID - nexttaskID fields are supposed to be related to the black arrows in the gantt, right ? However :
1- the black arrows always disappear after a refresh
2- Since taskID with the same number can co-exist, it makes it hard to differentiate between 2 taskIDs... What am I not getting right ?
 
Why not using the a mix of a simple number + IDitem, separated by a dot ? (e.g. 1.29839   then  2.29842 )
 
 
=========================
 
**I changed the formula a bit as I prefer to have an effort value which is calculated in terms of hours/day instead of just days. It gives a much better idea of how much I'm overloaded or not in the course of day, week, month...
 
For that I need to establish a "durée quotidienne" (daily duration) as a parameter for a task effort. I also have to reajust the total of my effort calculation as the gantt calculates the effort in terms of days, as I said just before (1 = 100%).
 
You should get the idea with this :

[EDIT : the effort is calculated taking into account that a day of work - for me ! -  = 10 hours) ]
 
Function ValTaskEffort(DureeQuot,TaskDuration)
 
  If TaskDuration = 0 then TaskDuration = 1
  If Dureequot > 0 Then
    ValTaskEffort=dureequot/10 * TaskDuration
  Else ValTaskEffort = 0
  End If
 
End Function
 
 
It works very well.
 
And here's the "DureeQuot" (durée quotidienne) function.... it's long and a bit messy. Involves some personal parameters but maybe will you able to get what it does. Basically : calculates how much time per day one needs to work at a task, providing : the total time it'll take to finish it (DureeTot), how many days a week you want to work at it (NbrJrSem), how much has been done already (Pdone), how many days are left (taskduration,TaskActEnd, taskActStart) before the due date.
 
' La durée quotidienne restante
Function calcDureeQuot(DureeQuot,dureetot,taskduration,NbrJrSem,Pdone, TaskActEnd, taskActStart,task, projet, etape)
   
    ' Déclaration des variables
    Dim today, dureeRestante, NbreJrRestant, RealtimeLeft
   
    If  (task=False And projet=False And etape = False) Then Exit Function
   
    'Initialisation des variables 
    today = CDate(Now)
    todayINT=Int(Now)
    taskactendINT=Int(taskactend)
    dureeRestante = dureetot-(dureetot * Pdone/100)        ' Ajuste le nombre d'heure par jour en fontion du travail effectué et du temps restant
   
   
    ' Gestion des erreurs
    If (dureeTot=0 Or IsNull(DureeTot)) Then Exit Function    ' Pas besoin calculer DureeQuot si DureeTot est nulle
    If IsNull(Pdone) Then Pdone = 0                           ' Pour éviter erreurs
    If taskduration < 1 Then TaskDuration = 1.0               ' pour éviter erreur de calcul (division par 0)
   
   
    ' Calcul du nombre de jours restants pour calcul du temps réel pour effectuer la tâche
   
    If todayINT < TaskActStart Then            ' tâche pas commencée, donc reste le max de jours.
        NbreJrRestant = TaskDuration
    Else
        NbreJrRestant = taskactendINT-todayINT          ' Réajuste le nombre de jours en fonction de la date d'aujourd'hui et du temps qui reste pour compléter tâche
    End If
   
    If NbreJrRestant = 0 Then NbreJrRestant = 1          ' Pour éviter division par 0.
   
   
    'Calcul du temps réel restant pour effectuer la tâche (RealtimeLeft)
   
    If IsNull(NbrJrSem) Or NbrJrSem = 0  Then NbrJrSem = 7    ' Lorsqu'un nombre de jour par semaine pas établi, donne valeur par défaut de 7 jours/semaine (i.e. : On y travaille tous les jours))
    If (NbreJrRestant <= 7 And  NbreJrRestant >= NbrJrSem) Then
        RealtimeLeft = NbrJrSem
    ElseIf NbrJrSem > NbreJrRestant Then
        RealtimeLeft = NbreJrRestant
    Else
        RealTimeLeft = ((NbreJrRestant/7)*NbrJrSem)
    End If
   
    ' Calcul de la duree quotidienne de la tâche
    If TaskActEnd <= today Then
        calcDureeQuot = dureeRestante              'Duree restante établie dès le début en fonction du % complété.
    Else
        calcDureeQuot = (CDbl(dureeRestante)/ RealtimeLeft)
       
    End If
   
End Function

gregory

2010/08/07 03:12

In reply to by Armando

I do like the approach, which is far more realistic about how individuals use and manage their own time than crude assumptions about person-days. Here's an alternative approach, based on a consideration of my working year (an academic year because I’m a teacher).

 

What I'm currently planning is the remaining stages of a Ph.D. that I'm (I hope!) about half-way through. I'm doing the Ph.D. part-time. My "day job" is teaching in a grande école. My teaching workload varies wildly through the year; thus from June to August I do no teaching (but take some holidays); in September to December teaching and related activities fully occupy a 50+ hour working week (don't tell the authorities! we're supposed by law to work a 35-hour week here...); in January to May my teaching workload reduces considerably and I have more time for research.

 

So the approach I'm adopting initially is as follows:

 

1.      I'm setting Saturday and Sunday as non working days, and I'm setting the working day as 08:00 to 12:00 and 14:00 to 20:00 (for simplicity - in fact I tend to work 05:00 to 12:00, 14:00 to 18:00, but get distracted by Google News, so let's say I work ten hours a day for five days a week).

2.      I'm scheduling large tasks labelled "Non-Research", corresponding to June to August, September to December, and January to May. The number of days I allocate to Non-Research will be 3 days (I take some holidays in this period!), then 4 days (I can still squeeze a day for non-teaching activities), then 1 days:

 

 

Non-Research

Research

June to August (13 weeks)

3 days per week = 13 * 3 = 39 days

2 days per week = 13 * 2 = 26 days

September to December (17 weeks)

4 days per week = 17 * 4 = 68 days

1 days per week = 17 * 1 = 17 days

January to May (23 weeks)

1 day per week = 23 * 1 = 23 days

4 days per week = 23 * 4 = 92 days

TOTALS

130 days

135 days

 

 I'm using these assumptions as I transfer my research plan from Excel to IQ. Once I've done that, I'll upload the resultant IQ file. More later!

Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Armando

2010/08/07 02:12

In reply to by Pierre_Admin

BTW, Pierre, are the  "Non Working Hours" now working  ? They used to freeze IQ. ( Gantt : after setting non-working hours, IQ freezes when tryin to open the Gantt panel. )
 
But I'm now working with the prevous ExG2antt.dll so I'm not sure. Actually, it'S possible that the arrow problem i experience (for taskIDs) is fixed in the new gantt version... But I couldn't use it because of some grid refresh problems as you probably remember.
 
 
Mark : I went through your "draft" : thanks. It's great.