monthlymax limit seems not fulfilled

29 views
Skip to first unread message

emvee

unread,
Apr 20, 2021, 11:00:59 AM4/20/21
to TaskJuggler Users
Hi,

I am a new user and a new subscriber to the group. I have a toy project (just for understanding) with three tasks and three resources, say pa, sr and ds, with assignment pa -> task1, sr->task2 and ds->task3. The project lasts 36 months, from Sept 2019 to Aug 2022.

Now, task1 has  limits {monthlymax 10.42h}. However, in the resource allocation graph the effort of ap is 551h while it should not exceed 10.42h x 36= 375h (approx) according to my understanding. Further, I don't get why in Aug 2022 the scheduler provides a substantial boost while I expect that, without further constraints, the working hours should be evenly distributed across months (in my case since I set the limit).

Below you find my code. (For the other tasks similar things happen).

Am I missing something?

Thank you all.


project p1 "NiceProj" 2019-09-01 +36m {
 timezone "Europe/Paris"
 currency "EU"
 timingresolution 5 min
}

account cost "cost"
account rev "payments"
balance cost rev

resource fp "FP" {
 rate 68
}

resource ap "AP" {
 rate 44
}

resource sr "SR" {
 rate 24
}

resource ds "PS" {
 managers fp, ap, sr
 rate 12
 resource ps1 "ps1" {
 email "p...@domain.com"
 }
}

task work "Main Tasks" {
 task t1_x "T1.x" {
 chargeset cost
 allocate ap
 #priority 83
 limits {monthlymax 10.42h}
 start ${projectstart}
 #effort 3m
 #end ${projectend}
 duration 36m
 }
 task t4_2 "T4.2" {
  chargeset cost
  allocate sr
  #priority 250
  limits {monthlymax 51.13h}
  start %{${projectstart} + 4m}
  #effort 9m
  #end %{${projectstart} + 26m}
  duration 22m
  }

 task t6_2 "T6.2" {
 chargeset cost
 allocate ds
 #priority 666
 limits {monthlymax 150h}
 start %{${projectstart} + 10m}
 #effort 24m
 #end %{${projectstart} + 30m}
 duration 20m
 }
}

task deliverables "Deliverables" {
 task D4_1 "D4.1" {
  start 2021-01-01
  milestone
  }

 task D4_2 "D4.2" {
  start 2022-02-28
  milestone
  }

 task D6_1 "D6.1" {
  start 2021-07-01
  milestone
  }
 }

navigator navbar {
 hidereport @none
 }

# the next is for reporting
macro TaskTip [
 tooltip istask() -8<-
  '''Start: ''' <-query attribute='start'->
  '''End: ''' <-query attribute='end'->
  ----
  '''Resources: '''

  <-query attribute='resources'->
  ----
  '''Precursors: '''

  <-query attribute='precursors'->
  ----
  '''Followers: '''

  <-query attribute='followers'->
  ->8-
]

textreport frame "" {
  header -8<-
    == Comp4Drones ==
    <[navigator id="navbar"]>
  ->8-
  footer "----"
  textreport index "Overview" {
    formats html
    center '<[report id="overview"]>'
  }

  textreport development "Development" {
    formats html
    center '<[report id="development"]>'
  }

   textreport "ResourceGraph" {
    formats html
    title "Resource Graph"
    center '<[report id="resourceGraph"]>'
  }
}

taskreport overview "" {
  header -8<-
    === Project Overview ===

    The project is structured into 3 phases.


    # <-reportlink id='frame.development'->


    === Original Project Plan ===
  ->8-
  columns bsi { title 'WBS' },
          name, start, end, effort, cost,
          revenue, chart { ${TaskTip} scale month width 500 }
  # For this report we like to have the abbreviated weekday in front
  # of the date. %a is the tag for this.
  timeformat "%a %Y-%m-%d"
  loadunit months
  hideresource @all
  balance cost rev
  caption 'All effort values are in man days.'

footer -8<-
    === Staffing ===

    All project phases are properly staffed. See [[ResourceGraph]] for
    detailed resource allocations.
  ->8-
}

taskreport development "" {
  headline "Development - Resource Allocation Report"
  columns bsi { title 'WBS' }, name, start, end, effort { title "Work" },
          duration, chart { ${TaskTip} scale month width 500 }
  timeformat "%Y-%m-%d"
  loadunit months
  hideresource ~(isleaf() & isleaf_())
  sortresources name.up
}

resourcereport resourceGraph "" {
  headline "Resource Allocation Graph"
  columns no, name, effort, rate, monthly { ${TaskTip} width 500 }
  loadunit hours
  # We only like to show leaf tasks for leaf resources.
  hidetask ~(isleaf() & isleaf_())
  sorttasks plan.start.up
}

Reply all
Reply to author
Forward
0 new messages