# # sample project with explanations: https://dev.to/turbopape/plan-like-a-pro-with-automatic-scheduling-in-taskjuggler-3a15 # project softdev "Software Development" 2020-08-16 +1m { timezone "Europe/Paris" currency "USD" } account cost "cost" account rev "payments" balance cost rev resource data_engineer "Data Engineer" { rate 200 } resource web_engineer "Web Engineer" { rate 200 } resource devops_engineer "Devops Engineer" { rate 200 } task work "Work"{ task data "Database Design" { chargeset cost allocate data_engineer effort 3d # This task takes 10 days effort } task web "Web App Design" { chargeset cost allocate web_engineer effort 3d # This task takes 10 days effort depends !data # This task needs task data to be complete } task deploy "Deployment" { chargeset cost allocate devops_engineer effort 3d # This task takes 10 days effort depends !web # This task needs task web to be complete } } task milestones "Milestones" { task db_milestone "Database Finish" { # A milestone has effort 0, it's represented as a little black square depends !!work.data } task web_milestone "Web Finish" { # A milestone has effort 0, it's represented as a little black square depends !!work.web } task deploy_milestone "Deploy Finish" { # A milestone has effort 0, it's represented as a little black square depends !!work.deploy } task project_end_milestone "Project End" { depends !!work.deploy } } navigator navbar { hidereport @none } 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<- == Toy Software Development Project == <[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} } # 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 days 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 day width 500 } timeformat "%Y-%m-%d" hideresource ~(isleaf() & isleaf_()) sortresources name.up } resourcereport resourceGraph "" { headline "Resource Allocation Graph" columns no, name, effort, rate, weekly { ${TaskTip} } loadunit shortauto # We only like to show leaf tasks for leaf resources. hidetask ~(isleaf() & isleaf_()) sorttasks plan.start.up }