Submitted by Armando on 2010/08/07 19:06
I've been using the gantt for quite a while now, and the recent post about it gave me the incentive to discuss the taskID and NextTaskID fields and their usage.
 
 
Right now, a taskID is auto generated by the gantt when linking to tasks (drag & drop vertically in the gantt when items are already selected). These are simple numbers like 1, 2, 3, and more than one task can share the same ID. 
 
Question : Is that "number sharing" on purpose ? And what are the advantages ?

Thoughts : Why couldn't taskID / NextTaskID = IDtem with another number to facilitate sorting ? It seems like it have the advantage of not mixing up different tasks with the same task ID together.
However, sorting would become problematic (IDItem 1293 could be the NextTaskID of TaskID  2312, etc.). How could that be solved so that :
1- sorting tasks in the order they should be performed is possible
2- 2 tasks can't have the same ID
3- A Task can be the next taskID of several different tasks, but not necessarily in the same position/order ?
 
Any ideas ?

Comments

Here's a collateral problem I face : when I want to order tasks in the order they should be performed (taskID --> NextTaskID) it doesn't seem possible. Yes, if I don't add new tasks in between tasks I've already created, there isn't any problem since the taskID follow the order in which they were added etc. But it's often not the case. If I decide that a certain task is finally going to happen after that other task instead of another one etc., task Ids don't follow any kind of chronological order.

 
A solution would maybe be to set an extra (maybe virtual / an SQL request ) field and a function that would (re)number tasks following the taskIDs --> NextTaskIDs succession ? Not sure how to approach that problem.... Suggestions ?
 
Thanks

Pierre_Admin

2010/08/22 21:38

In reply to by Armando

Hi Armando,
 
This "simple" system of TaskID and NextTaskID was implemented rather quickly, to implement the display of lines. 3 questions for you (and others):
  1. Would sorting by TaskActStart help ?
  2. Sub-items can be manually ordered... could you not use this feature to re-order items to suit your needs ?
  3. How does MSProject handle this ?

Armando

2010/08/22 23:24

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Hi Armando,
 
This "simple" system of TaskID and NextTaskID was implemented rather quickly, to implement the display of lines. 3 questions for you (and others):
  1. Would sorting by TaskActStart help ?
  2. Sub-items can be manually ordered... could you not use this feature to re-order items to suit your needs ?
  3. How does MSProject handle this ?
[/quote]
 
Thanks for your answer
 
I tried to keep my previous post short and so I  skipped all the other sorting methods I use, etc.
 
1-  Yes, TaskActStart is one of the fields I use (together with Urgency, numerical priorities and ABCDpriorities, duedate, etc.). But, in the case of TaskActStart, this presupposes that tasks or next actions already have some predefined relatively fixed start state. However, because of their nature (they are not events in a calendar per se) tasks/projects are sometimes all lined up in the same day OR not even displayed in the gantt yet but do obey to a provisional order of execution (without any fixed date). I just place these tasks in the gantt as I see fit, following a somewhat logical order of execution. But this is where I'd like to be able to reorder them at will in the gantt, and be able to sort them in the grid following their taskIDs.
 
2- Yes, I do manually reorder sub items, which works well if parents are displayed. When these sub items are set to appear as TLI though, this order is disrupted (this is when I recourse to TaskActStart, order, and other fields but it's not always easy...) . I do display context parents from time to time and it helps, and -- it's a bit off topic -- there's one thing I don't understand : how come the same contextual parent will sometimes appear more than once, instead of only once for all its children ?
 
3- No idea. I should probably do a bit of research on the matter, but Mark would probably know. I'll PM him tomorrow.
 
 
==========
 
I have the feeling that some kind of automatic renumbering of both taskIDs and nextTaskIDs or something like that would be the way to go.
 
.... Maybe is that not the best way to look at the problem...?  Maybe I should just forget about task Ids etc. My idea was mainly to use the gantt UI "intelligently" for what it's able to do.
 
In any case, being able to "renumber" any number field (with a "From ... To ... " kind of Dialog, accessible from the context menu) would be great  (and is greatly needed IMO). Then I guess I could just renumber any set of task without having to do it manually.
 

Pierre_Admin

2010/08/23 00:24

In reply to by Armando

I'll look into this in more details after releasing 0.9.25...
 
but as a start, you can now change TaskID and where referenced, the NextTaskID will update
 

gregory

2010/08/23 02:01

In reply to by Pierre_Admin

Sorry, no, I don't use Microsoft Project. I support all of Armando's comments on ordering tasks in IQ and would welcome the improvements that you (plural) suggest.
 
Pierre, have you got a few minutes to document your views on how to initiate a project in IQ - how for example to initially brainstorm a project (e.g. should one use TLIs or subordinate project tasks to one parent project?), and how to establish dependencies? I'm a bit stuck there in my write-up of projects. Many thanks!
 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Pierre_Admin

2010/08/23 02:24

In reply to by gregory

I'm no expert, but if using IQ, I would:
  1. In the Projects grid, create a TLI with the project name
  2. Under this item, create a bunch of sub-items, randomly entering tasks as they come to mind
  3. I'd order these and perhaps group related tasks under a parent task (FYI sub-items can be manually reordered by drag-drop or cursor keys)
  4. I'd put rough values for each in TaskEffort
  5. Large effort tasks could be broken down in sub-tasks, if need be
  6. If more than one person is involved, a pop-up list ActionOn field (text) could be used to split the work. A column filter (or a second "filtered" grid) could be used to view person-specific tasks
  7. Once this is fairly complete, I'd create Gantt bars for each task (click-drag). If overload could be an issue, I'd show the histogram and keep an eye on the workload level as bars are created
  8. You can also select multiple bars and move them as a group
  9. [edit] I really like the new bar color feature. One could set the bar color to red when a task is late (or expected late) [/edit]
Note: in doing this, I found a bug: When creating a bar, the TaskEffort is not checked first, so the histogram does not show the correct levels. A refresh is required. Fixed in 0.9.25
Note2: I've added the following 2 features to the Gantt: 1- Deleting the start date of a bar erases the bar. 2- Right-click>>Cut on a bar removes the bar

gregory

2010/08/23 08:36

In reply to by Pierre_Admin

Ah, for the first time, we have to disagree... I think you are very much the expert
 
Thanks for this, all very helpful.
 
Is it possible, with appropriate filtering, to have the histogram show the loading of specific individuals in a multi-person project? I know I'm being lazy here and can check this for myself...
 
Mark Gregory, Rennes, France - GMT +1/+2; EST +6

Pierre_Admin

2010/08/23 11:10

In reply to by gregory

> Is it possible, with appropriate filtering, to have the histogram show the loading of specific individuals in a multi-person project?
 
You can use filters for this:
 
- in the filter box, append:  | ActionOn="YourInitials"
 
(this sets a filter for sub-items)

Armando

2010/08/23 16:01

In reply to by Pierre_Admin

I created templates for different types of projects. I read a lot about project management a year ago and that's when I created these templates. But they'd need to be reworked again using something like Microsoft Project to make them more complete.
 
The templates I created are basically a hierarchy of predefined items which constitutes categories that I can fill etc.
 
Example (slightly simplified version) :
 
  • Projet (titre)

     
    • -- SOUS PROJETS --
       
    • -- Tâches --

       
    • A- Définition, description générale du projet (visions, circonstances...)
      • - Brainstorming (peut utiliser questions des autres sections)
      • a- But(s), objectif(s), vision
        • Qu'essaie-t-on d'accomplir avec ce projet ?
        • Pourquoi faire ce projet, pourquoi est-ce important ? À QUEL BUT/VALEUR/BESOINS RÉPOND-T-IL ?
          • Évaluation de la pertinence du projet
            • 1- Qualité-richesse de l'expérience (En accord avec certaines valeurs -- voir ci-dessous)
            • 2- Avantages procurés (convergence) (En accord avec certaines valeurs -- voir ci-dessous)
            • 3- relaxation (divergence)
      • b. Définition, description plus détaillée du projet
        • Quoi (vision, critères de réussite, priorités...) ?
          • Résolution/Résultats (vision du projet réussi)
            • i. Idéalement
            • ii. Suffisamment
          • Priorités et contraintes
            • a. Priorités
              • i. Titre
                • Description…
            • b. Contraintes
              • i. Titre
                • Description…
          • Équilibre habileté/défi
        • Qui (ou avec qui) ?
        • Où ?
        • Quand ?
        • Comment ?
           
    • B- Administration et Organisation (Calendrier, finances, stratégies, personnel…)
       
      • a. Qui (avec) : équipe, ressources , humaines, organisationelles
      • b. Quoi (avec) : finances, budget, ressources matérielles (pas spatiales) etc.
      • c. Quand (chronologie)
      • d. Où (Ressources « spatiales »…)
      • e. Comment / autres ... GÉNÉRAL SEULEMENT... stratégies, risques, etc. (en général il est mieux de garder le comments pour les catégories spécifiques...)
        • e. Récompenses et feedback
        • a. Efforts
        • Organisation interne (compagnie xyz) (Link)
        • c. Stratégies envisageables (comment…)
        • d. Risques, problèmes

    • C- MATÉRIEL DE TRAVAIL et documentation diverse (RÉFÉRENCES LONGUES, EXTRAITS WEB, ETC.)
      • Ressources (documents… )
      • Divers

    • D- Relations publiques
      • Correspondance
      • Contacts

    • E- Production (projet comme tel : résultats)

    • F- JOURNAL et rapports
      • a. Journal de travail quotidien (événements, travail effectué…)
      • b. Bilan de travail / résultats obtenus...
 
I know it looks complicated, but it's never all expander because I only work on one item at a time ;)
I haven't formatted anything here so it's a bit rough.
 
Pierre's process description fits well for the filling of the "tasks" section (second point in my tree) . I work pretty much the way he does, but I also just dump tasks anywhere in IQ, and just (once a week) relink them to the right project, which easy to do in IQ providing you use a system to name projects. Inheritance would certainly help in that.
 
In any case, I usually start with the big A., and slowly move my way down to each of its section. After I do the same for B, C, D, E and F, but these can happen relatively simultaneously or not, depending on the needs. F is the "journaling" section so I use it everyday. "B.d)" is the scheduling section so I usually display that section in a special gantt grid (with lots of space) where I can see when what will happen.
 
I have 4 types of relatively time bound items :
 
1- Events : displayed in the calendar and in the gantt : these are less prone to move.
2- Projects : displayed in the gantt when I see fit.
3- Phases/stages : they are not really projects per se, but larger chunks of tasks in a process.
4- Tasks/nest actions : .... No need to explain. But certain tasks can contain several others. I'm reluctant to call these "task containers" projects -- it makes everything confusing as my project list doesn't look like a project list anymore !
 
Usually when scheduling :
 
A- I decide on the big phases first.
 
These phases are marked with a field "Étape" in my own DB. An "Phase" is a bit like a task or a project as it it's uincluded in my various urgency, time etc. calculations.
 
Example :
  • Préparation
    • Définition et préparation du projet (mise en forme générale
    • Retour : Bilan  projet précédent
  • Pré-production & Création
    • Choix des collobarateurs
    • Établir lieu de répétition et de représentation
    • recherche et écriture
    • Les répétitions et le processus de création
    • Distribution des tâches, organisation du travail...
    • Tournée Organisation
    • Budgets
    • Recherche de financement, Levée de fonds...
    • Marketing
  • Production - représentations
  • Post production
    • Budget comparatif
    • Bilan
B- I then plan tasks chunks for each phase.
 
 
C- I add all the smaller tasks/ "next actions" as I work on the project. I pretty much follow the GTD methodology for that purpose. But I find that sometimes Allen is over simplistic (and at the same time fairly arrogant about his own "discoveries") when it comes to project management. 
 
That said, I often don't work directly in the project template for small tasks.
 
Note that all tasks are clearly identified with a specific project name when I create them so it's easy enough for  me to see all tasks related to a project in my task grid, or to even move them under the "task" section of my project tree when I see fit.
 
I stopped using inheritance on my my ProjectName (ProjetNom in fact...) field, as inheritance is too constraining. I just developed the habit of always writing the project name in each next action. I do have some "generic project names" (like "tgsPmain tgsPCoAc" (which means : Maison : Courses Achats) ) for those common daily tasks. To help me in that endeavour (naming tasks religiously), I use an AHK script... However, IQ's dropdown autolist would/should work as well (once you entered a name, you just reselect it in the drop down list is it was enabled for that field).
 
====
 
Apart from that, here are some things I do or use a lot, using the gantt and VB functions
 
- I move big chunks of tasks using the multiple selection available in the gantt.
 
- I use various scripts to either
1- block TaskActEnd/TaskActStart  values when something should not be moved -- that stuff can happen when you multiple select chunks of tasks
2- move a large quantity of tasks up or down the time line while preserving the taskduration (I use 2 fields : one to set the value, the other to set the unit)
3- calculate the amount of time left to complete the project, considering workable hours, days left, etc.
 
- I set recurrences for certain tasks.... I couldn't use IQ as a task/project manager without some form of recurrence management. I'm too used to it.

Armando

2010/08/23 15:20

In reply to by Pierre_Admin

[quote=Pierre_Admin]
I'll look into this in more details after releasing 0.9.25...
 
but as a start, you can now change TaskID and where referenced, the NextTaskID will update
 
[/quote]
 
Thanks, this seems like it's going to be helpful.

jan_rifkinson

2010/08/23 10:42

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Hi Armando,
 
This "simple" system of TaskID and NextTaskID was implemented rather quickly, to implement the display of lines. 3 questions for you (and others):[snip] [/quote]
Sorry I can't add any insights here as I don't use (& don't know how to use) TaskID & NextTaskID.  Sounds like a perfect tool for the next construction project on my house.