diff options
author | Jess VanDerwalker <washu@sonic.net> | 2011-11-20 10:48:27 -0800 |
---|---|---|
committer | Jess VanDerwalker <washu@sonic.net> | 2011-11-20 10:48:27 -0800 |
commit | 9eb642186a803f4dbe840fd223dc721d2290442b (patch) | |
tree | af2167f362ab78d815ec2afbfb6fdf08db552b3d /doc | |
parent | 32c88b889b1d8f831bf56b7d9297d51f7d6bbaa2 (diff) |
Moved the taskjuggler project file into a document subfolder.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/internal_docs/project_schedule/project_tasks.tjp | 598 |
1 files changed, 598 insertions, 0 deletions
diff --git a/doc/internal_docs/project_schedule/project_tasks.tjp b/doc/internal_docs/project_schedule/project_tasks.tjp new file mode 100644 index 0000000..4d254b8 --- /dev/null +++ b/doc/internal_docs/project_schedule/project_tasks.tjp @@ -0,0 +1,598 @@ +# Copyright (c) 2011-2012 Jess VanDerwalker +# +# Task Juggler Project for Team Euclid + +project euclid "X.org Project" "1.0" 2011-09-28 - 2012-05-24 { + + # Final date is March 24 - give or take a couple of days. + + timezone "America/Los_Angeles" + timeformat "%Y-%m-%d" + # Only plan to be working 2.5 hours per day + dailyworkinghours 2.5 + weekstartsmonday + workinghours mon - fri 13:00 - 16:00 + workinghours sat, sun off +} + +# Set up the vacations +vacation "Winter Break" 2011-12-10 - 2012-01-09 +vacation "Veterans Day" 2011-11-11 +vacation "Thanksgiving Day" 2011-11-23 +vacation "Day after Thanksgiving" 2011-11-24 +vacation "Martin Luther King Jr." 2012-01-16 +flags team + +# Macro for all team +macro allocate_team [ + allocate bwooley + allocate bhuddle +# allocate jvanderw + allocate carrbs + allocate askomra + allocate dsnyder +] + +# Macro for Arch and Design team members +macro allocate_a_and_d [ + allocate dsnyder + allocate bwooley +] + +# Marco to assign V&V developers +macro allocate_v_and_v [ + allocate bhuddle +] + +# Macro to assign IT team members +macro allocate_it [ + allocate carrbs +] + +# Define resources +resource devs "Developers" +{ + resource bwooley "Braden Wooley" { + } + resource bhuddle "Ben Huddle" { + } + resource jvanderw "Jess VanDerwalker" { + } + resource carrbs "Ben Carr" { + } + resource askomra "Aaron Skroma" { + } + resource dsnyder "David Snyder" { + } + flags team +} + +# Shifts so we can have recurring weekly tasks. Have them on Monday +shift one_hr_weekly "One hour per week" { + workinghours mon 13:30-14:30 + workinghours tue, wed, thu, fri, sat, sun off +} + +shift two_hr_weekly "Two hours per week" { + workinghours mon 13:30-15:30 + workinghours tue, wed, thu, fri, sat, sun off +} + +# Specify the work packages. These are the tasks for the team + +# Project Documentation tasks +task documentation "Documentation" { + + task project_docs "Project" { + note "Documents generated for the use of the team in development." + + task proj_plan "Project Plan" { + # The start date for the plan + start 2011-11-07 + end 2011-11-26 + # The number of days to + # effort 60d + # Allocate the whole team to the task + ${allocate_team} + } + + task usrd "User requirements" { + note "Specification of the user requirements for the project." + + task id_usr_reqs "Identify user requirements." { + note "Correspondence / meetings with sponsors to determine requirements." + effort 4h + allocate bhuddle + allocate jvanderw + complete 50 + } + task write_usrd "Write document" { + note "Write the user requirement document." + } + } # end usrd + + task a_and_d_doc "Architecture and Design document" { + note "Architecture and design document detailing structure and implementation of project." + depends documentation.project_docs.proj_plan + depends a_and_d.a_and_d_research + + task init_decom "Initial decomposition" { + note "First pass on the decomposition of components." + effort 3h + ${allocate_a_and_d} + } + task init_arch_doc "Initial document version" { + note "Write the first version of the architecture and design document." + effort 4h + ${allocate_a_and_d} + } + task arch_doc_maint "Document maintaince" { + note "Maintain the document with changes and updates to the architecture and design." + priority 750 + effort 22h + shift two_hr_weekly + ${allocate_a_and_d} + } + } # end a_and_d_doc + + task v_and_v_doc "Validation and verification document" { + note "Document explaining methodology of validation, verification, and testing" + depends !proj_plan + + task v_and_v_tools_research "Tool research" { + effort 4h + ${allocate_v_and_v} + } + task v_and_v_framwork_research "Framework research" { + effort 4h + ${allocate_v_and_v} + } + task init_v_and_v_doc "Initial version of document" { + effort 3h + ${allocate_v_and_v} + } + task v_and_v_doc_maint "Document maintaince" { + start 2012-1-9 + priority 750 + effort 22h + ${allocate_v_and_v} + shift two_hr_weekly + } + } # end v_and_v_doc + + } # end of project_docs +} # end documentation + + task research "Research" { + note "Team wide research tasks." + # Depends on completing the project plan + depends !documentation.project_docs.proj_plan + + task code_bases "Existing code bases" { + + task learn_xcb "Learn XCB basics" { + effort 36h + ${allocate_team} + } + task lightpipe "Examine lightpipe code" { + effort 24h + ${allocate_team} + } + } + + task xcode "Learn XCode" { + effort 12h + ${allocate_team} + } + task osx_learn "Become familiar with OS X enviornment" { + effort 12h + ${allocate_team} + } + task obj_c "Basic Objective-C familiarity" { + effort 24h + ${allocate_team} + } + task dev_env_installed "Working Development Envionment" { + effort 24h + ${allocate_team} + note "Get a working development environment working on OS X systems." + } + task learn_apple_api "Learn Apple windowing API" { + effort 54h + depends !dev_env_installed + ${allocate_team} + } + } + + +# Arch and Design tasks +task a_and_d "Archicture and Design" { + depends !documentation.project_docs.proj_plan + ${allocate_a_and_d} + + # Research task associated with Architecture and Design + task a_and_d_research "Research" { + + task interface "External Interface" { + + task xcb_lib_research "XCB library" { + effort 4h + ${allocate_a_and_d} + } + task xlib_lib_research "Xlib library" { + effort 4h + ${allocate_a_and_d} + } + task xtest_lib_research "XTest library" { + effort 4h + ${allocate_a_and_d} + } + task comp_lib_research "Composite library" { + effort 8h + ${allocate_a_and_d} + } + task damage_lib_research "Damage library" { + effort 8h + ${allocate_a_and_d} + } + } # end interface + + task examples_research "Code examples" { + + task lighpipe_a_and_r "Lightpipe" { + effort 8h + ${allocate_a_and_d} + } + task xcomp_manager "XComp Manager" { + effort 4h + ${allocate_a_and_d} + } + task misc_win_managers "i3 and awesome" { + effort 4h + ${allocate_a_and_d} + } + } # end examples_research + + task id_comps_research "Identify Components" { + effort 6h + ${allocate_a_and_d} + } + + } # end of a_and_d_research + + task library_a_and_d "Module design" { + + task damage_interface "Interface with Damage" { + effort 4h + ${allocate_a_and_d} + } + task compositing "Interface with manual compositing" { + effort 4h + ${allocate_a_and_d} + } + task io_interface "Interface with I/O libraries" { + effort 4h + ${allocate_a_and_d} + } + + task module_a_and_d "Module archictecture and design" { + note "Archicture and design of module that are going to be specifically written by our team." + depends a_and_d.a_and_d_research + task a_and_d_mile1 "Milestone 1" { + task mile1_identify "Identify modules" { + effort 4h + ${allocate_a_and_d} + } + task mile1_relations "Module relationships" { + note "Identify and manage indentify relationships between modules" + effort 4h + ${allocate_a_and_d} + } + task mile1_api "API design" { + note "Design APIs for requires modules" + effort 4h + ${allocate_a_and_d} + } + } # end a_and_d_mile1 + + task a_and_d_mile2 "Milestone 2" { + task mile2_identify "Identify modules" { + effort 4h + ${allocate_a_and_d} + } + task mile2_relations "Module relationships" { + note "Identify and manage indentify relationships between modules" + effort 4h + ${allocate_a_and_d} + } + task mile2_api "API design" { + note "Design APIs for requires modules" + effort 4h + ${allocate_a_and_d} + } + } # end a_and_d_mile2 + + task a_and_d_mile3 "Milestone 3" { + task mile3_identify "Identify modules" { + effort 4h + ${allocate_a_and_d} + } + task mile3_relations "Module relationships" { + note "Identify and manage indentify relationships between modules" + effort 4h + ${allocate_a_and_d} + } + task mile3_api "API design" { + note "Design APIs for requires modules" + effort 4h + ${allocate_a_and_d} + } + } # end a_and_d_mile3 + + task a_and_d_mile4 "Milestone 4" { + task mile4_identify "Identify modules" { + effort 4h + ${allocate_a_and_d} + } + task mile4_relations "Module relationships" { + note "Identify and manage indentify relationships between modules" + effort 4h + ${allocate_a_and_d} + } + task mile4_api "API design" { + note "Design APIs for requires modules" + effort 4h + ${allocate_a_and_d} + } + } # end a_and_d_mile4 + } # end module_a_and_d + } # end library_a_and_d + + task app_a_and_d "Application" { + + task proc_arch "Process / control flow" { + effort 2h + ${allocate_a_and_d} + } + task osx_interface_a_and_d "Interface with OS X" { + effort 3h + ${allocate_a_and_d} + } + task app_interface "Interface with our API" { + effort 2h + ${allocate_a_and_d} + } + + } # end app_a_and_d +} # end of arch_design + +# Development task - specifically these are implementation tasks +task dev "Development" { + + task dev_mile0 "Milestone 0 development" { + start 2011-11-26 + + task env_setup "Setup Environment Development" { + note "Setup a working development environment in OS X" + effort 36h + ${allocate_team} + } + task render_simple_mac_win "Simple window in OS X" { + note "Render a simple window in OS X" + effort 24h + ${allocate_team} + } + + } # dev_mile0 + + task dev_mile1 "Milestone 1 development" { + note "Basic rooted window" + depends project_milestones.mile0 + depends a_and_d.library_a_and_d.module_a_and_d.a_and_d_mile1 + + task dev_mile1_code "Coding" { + effort 105h + ${allocate_team} + } + task dev_mile1_doc "Documentation" { + effort 12h + ${allocate_team} + } + task dev_mile1_v_and_v "Testing" { + effort 6h + ${allocate_team} + } + + } # end dev_mile1 + + task dev_mile2 "Milestone 2 development" { + note "Basic rooted window with input from keyboard and mouse" + depends project_milestones.mile1 + depends a_and_d.library_a_and_d.module_a_and_d.a_and_d_mile2 + + task dev_mile2_code "Coding" { + effort 105h + ${allocate_team} + } + task dev_mile2_doc "Documentation" { + effort 12h + ${allocate_team} + } + task dev_mile2_v_and_v "Testing" { + effort 6h + ${allocate_team} + } + + } # end dev_mile2 + + task dev_mile3 "Milestone 3 development" { + note "Rootless window without input" + depends project_milestones.mile1 + depends a_and_d.library_a_and_d.module_a_and_d.a_and_d_mile3 + + task dev_mile3_code "Coding" { + effort 105h + ${allocate_team} + } + task dev_mile3_doc "Documentation" { + effort 12h + ${allocate_team} + } + task dev_mile3_v_and_v "Testing" { + effort 6h + ${allocate_team} + } + + } # end dev_mile3 + + task dev_mile4 "Milestone 4 development" { + note "Rootless window with input" + depends project_milestones.mile2 + depends project_milestones.mile3 + depends a_and_d.library_a_and_d.module_a_and_d.a_and_d_mile4 + + task dev_mile4_code "Coding" { + effort 105h + ${allocate_team} + } + task dev_mile4_doc "Documentation" { + effort 12h + ${allocate_team} + } + task dev_mile4_v_and_v "Testing" { + effort 6h + ${allocate_team} + } + + } # end dev_mile4 +} # end dev + +task v_and_v "Validation and Verfication" { + + task v_and_v_mile0 "Milestone 0" { + note "Validate the verify the first Milestone" + depends dev.dev_mile0 + effort 2h + ${allocate_v_and_v} + } + + task v_and_v_mile1 "Milestone 1" { + note "Validate the verify the first Milestone" + depends dev.dev_mile1 + effort 2h + ${allocate_v_and_v} + } + task v_and_v_mile2 "Milestone 2" { + note "Validate the verify the second Milestone" + depends dev.dev_mile2 + effort 2h + ${allocate_v_and_v} + } + task v_and_v_mile3 "Milestone 3" { + note "Validate the verify the third Milestone" + depends dev.dev_mile3 + effort 2h + ${allocate_v_and_v} + } + task v_and_v_mile4 "Milestone 4" { + note "Validate the verify the fourth Milestone" + depends dev.dev_mile4 + + task req_check "Check against requirements" { + note "Check the final milestone against the requirements that have been established" + effort 9h + allocate jvanderw + ${allocate_a_and_d} + ${allocate_v_and_v} + } + + task doc_check "Check documentation" { + note "Check that the documention to be supplied when deployed is complete." + + task readme_check "README review" { + note "Make sure the README gives accurate build and usage instructions." + effort 2h + allocate askomra + allocate jvanderw + } + task api_doc_check "API documention review" { + note "Make sure the API doxegen documention for API is correct and complete." + effort 2h + ${allocate_a_and_d} + } + } # end doc_check + + task deploy_check "Deployment Check" { + note "Make sure that code can be built on virgin machine per the instructions in the README." + effort 6h + allocate jvanderw + } + } # end v_and_v_mile4 +} # end validation and verfication + + +# Project Milestones +task project_milestones "Milestones" { + + task init_project_plan "Initial Project Plan Complete" { + milestone + depends documentation.project_docs.proj_plan + end 2011-11-29 + note "Initial Project Plan submitted to Bart Massey for review" + } + + task mile0 "Milestone 0" { + milestone + note "Setup and first window" + depends v_and_v.v_and_v_mile0 + } + + task mile1 "Milestone 1" { + milestone + note "Rooted window" + depends v_and_v.v_and_v_mile1 + } + + task mile2 "Milestone 2" { + milestone + note "Rooted window with input" + depends v_and_v.v_and_v_mile2 + } + + task mile3 "Milestone 3" { + milestone + note "Rootless window" + depends v_and_v.v_and_v_mile3 + } + + task mile4 "Milestone 4" { + milestone + note "Rootless window with input" + depends v_and_v.v_and_v_mile4 + } +} # end milestones + +# A traditional Gantt chart with a project overview. +taskreport overview "euclid_project_overview" { + formats html + headline "Team Euclid Project Overview" + columns bsi { title 'WBS' }, + name, start, end, effort, + chart + # 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 hours + hideresource 0 + caption 'All effort values are in human hours.' +} + +taskreport development "euclid_dev" { + formats html + headline "Development and Resource Allocation" + columns bsi {title 'WBS'}, name, start, end, effort, duration, chart {scale day width 1000} + timeformat "%Y-%m-%d" + hideresource ~(isleaf() & isleaf_()) + loadunit hours + sortresources name.up +} |