summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJess VanDerwalker <washu@sonic.net>2011-11-20 10:48:27 -0800
committerJess VanDerwalker <washu@sonic.net>2011-11-20 10:48:27 -0800
commit9eb642186a803f4dbe840fd223dc721d2290442b (patch)
treeaf2167f362ab78d815ec2afbfb6fdf08db552b3d /doc
parent32c88b889b1d8f831bf56b7d9297d51f7d6bbaa2 (diff)
Moved the taskjuggler project file into a document subfolder.
Diffstat (limited to 'doc')
-rw-r--r--doc/internal_docs/project_schedule/project_tasks.tjp598
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
+}