/* * このファイルはTaskJugglerの基本的な内容を記述した * プロジェクトファイルのサンプルです。 * あなたの最初のプロジェクトのベースとして使ってください。 * あなたは自分のテンプレートを下記に置くことができます。 * * ${KDEHOME}/share/apps/taskjuggler/Templates/${LANG}/ * * いかなる制限もなしに、このファイルを読み、変更し、配布することを * 許可しなければなりません。 * * 記述方法のより詳細についてはTaskJugglerマニュアルを読んでください。 * TaskJugglerのさらなる情報は "http://www.taskjuggler.org" * で見つけられます! */ /* * プロジェクト設定 */ # プロジェクトのプロジェクトID, 短い名前、バージョン番号、 # 開始と終了日時を示します。 # 開始と終了日時は正確である必要はありませんが、全てのタスクはこの範囲内に # ある必要がありますので、そのための十分な大きさにしてください。 # しかしスケジュール計算の時間と、メモリ消費に関係しますので、 # 大きくしすぎないようにしてください。 project yourID "Your Project" "1.0" 2006-12-16 2007-04-31 { # 時間フォーマットは"年-月-日" 例:2006-12-29 # 時、分、秒、タイムゾーンも表示することができるが省略 timeformat "%Y-%m-%d" # 全ての金額は円が単位 currency "円" # 基本シナリオより少し遅れた場合のものと比較したい scenario plan "Plan" { #minslackrate 10.0 # 全ての工程の遅れが10%以下だと指定する scenario delayed "Delayed" # projection { sloppy } } } # ここにあなたのマクロを記述してください。 # 何度も同じ内容を記述する場合に利用すると便利です。 # マクロは${macro_name}で利用することができます。 # パラメータなしのマクロ: # macro foo [ # task foo { } # ] # 1つのパラメータ付きのマクロ: # macro bar [ # task ${1} { } # ] # 開発者全員で作業するが、tanakaだけは1日4時間しか # 割けない場合を記述するマクロ macro allocate_developers [ allocate yamada allocate tanaka { limits { dailymax 4h } } allocate suzuki ] # ここにあなたのフラグを記述してください。 # フラグは、レポートを生成する際に判定条件フィルターとして利用するために、 # タスクやリソース、アカウントに付加することができます。 # flags important, dontcare flags team # プロジェクトの簡単な利益・損益分析のためにアカウントを定義します。 # 開発コストのために1つ、ドキュメント作成コストのために1つ、 # 顧客支払いのために1つのアカウントを定義します。 # アカウントはID, 名前, cost(支出)またはrevenue(収入)を指定します。 # アカウントはネストすることができますが、その場合にはcost/revenueは # 指定しません。親から継承します。 account dev "Development" cost account doc "Documentation" cost account rev "Payments" revenue # プロジェクト全体の休暇をここに記述します。 # vacation "Labor Day" 2007-09-05 # 2 days Christmas break (27th not included!) # 2日間のクリスマス休暇(27日は含まないことに注意!) # vacation "Christmas" 2007-12-25 - 2007-12-27 # 個々のリソース定義で各自の休暇を追加することができます。 #vacation "天皇誕生日" 2007-12-23 vacation "年末" 2006-12-28 - 2007-01-01 vacation "正月" 2007-01-01 - 2007-01-04 vacation "成人の日" 2007-01-08 vacation "建国記念日(振替)" 2007-02-12 vacation "春分の日" 2007-03-21 vacation "昭和の日(振替)" 2007-04-30 vacation "憲法記念日" 2007-05-03 vacation "みどりの日" 2007-05-04 #vacation "こどもの日" 2007-05-04 vacation "海の日" 2007-07-16 vacation "敬老の日" 2007-09-17 vacation "秋分の日(振替)" 2007-09-24 vacation "体育の日" 2007-10-08 #vacation "文化の日" 2007-11-03 vacation "勤労感謝の日" 2007-11-23 vacation "天皇誕生日(振替)" 2007-12-24 vacation "年末" 2007-12-28 - 2008-01-01 # 全てのリソースのデフォルトの日給を指定します。 # 個々のリソース定義で上書きすることができます。 # これを指定することで、プロジェクトのコストを計算することができます。 rate 40000.0 # ここにリソース定義を記述してください resource dev "開発者" { # 山田さんは他人の1.2倍の速さで仕事をこなし、日給は5万円 resource yamada "山田 太郎" { rate 50000.0 efficiency 1.2 } resource tanaka "田中 次郎" # 鈴木さんは2/1, 2/2, 2/3, 2/4に4連休を取る resource suzuki "鈴木 三郎" { vacation 2007-02-01 - 2007-02-05 } # このようにフラグを後に書くとサブリソースには適用されない # サブリソースにも適用したければ、そのリソースより前に書くこと flags team } resource misc "その他" { resource test "井上 花子" { limits { dailymax 6.4h } rate 30000.0 } resource doc "加藤 志郎" { rate 38000.0 } flags team } # このリソースは物質的なもので、何も仕事をしない resource confRoom "会議室" { efficiency 0.0 } /* * タスク設定 */ # タスクを記述します。 # プロジェクト全体はサブタスクを含んだタスクとして記述します。 # これらのサブタスクはさらに小さなタスクとして分割されていきます。 # 最内部のタスクは実際の仕事を記述し、リソースを割り当てます。 # 多くのタスク属性が親タスクから継承されますので、 # うまく利用することで記述量を減らせるでしょう。 task myProject "My Project" { start 2006-12-16 # 全ての仕事はdevアカウントに組み入れられます。 # サブタスクに継承されるので、サブタスクには記述する必要はありません。 account dev task spec "仕様策定" { # 作業時間を設定できる。effort, length, durationを利用できる。 # effortは人月指定、lengthは営業日指定、durationはカンレンダー期間指定。 # hは時、dは日、wは週, mは月 effort 20d # 20人日 # 担当者 ${allocate_developers} # マクロ # 依存(ここに記述した物が終わるまで開始できない) # IDの前の!は、1つ上のスコープであることを表す # (つまりファイルパス表現の際の"../"みたいなもの) depends !deliveries.start complete 100 # 95%完了 } task software "ソフトウェア開発" { # 優先度を最大に設定。デフォルトは500で設定可能範囲は1から1000 priority 1000 task database "データベース結合" { effort 20d depends !!spec allocate yamada, tanaka } task gui "GUI作成" { effort 35d # 実際には予定より遅れて40人日かかることがわかった delayed:effort 40d depends !database, !backend allocate tanaka, suzuki } task backend "バックエンド関数群" { effort 30d depends !database, !!spec allocate yamada allocate tanaka } } task test "ソフトウェアテスト" { task alpha "Alphaテスト" { effort 1w depends !!software allocate test, tanaka } task beta "Betaテスト" { effort 4w depends !alpha allocate test, yamada } } task manual "マニュアル作成" { effort 10w depends !deliveries.start allocate doc, suzuki # コストはドキュメント作成費用として計上 account doc } # マイルストーンをグループ化する task deliveries "マイルストーン" { account rev # 収益 task start "プロジェクト開始" { milestone # これはマイルストーン start 2006-12-16 delayed:start 2007-01-20 startcredit 4000000.0 # この時点で400万円 } task prev "技術プレビュー" { milestone depends !!software.backend startcredit 1500000.0 # ここまでで追加150万円 } task beta "Betaバージョン" { milestone depends !!test.alpha startcredit 1500000.0 # ここまでで追加150万円 } task done "顧客にリリース" { milestone maxend 2007-04-31 # 2007/4/31が〆切 depends !!test.beta, !!manual startcredit 2000000.0 # 残りの200万円 } } } # 帳簿記入はここへ # 完了した仕事が実際にどのように行われたかを記入する supplement resource yamada { # 今までにyamadaが完了させた仕事 # sloppyは無駄にした時間?、overtimeは残業時間 booking 2006-12-20 2006-12-25 myProject.spec { sloppy 2 } } /* * 表示設定 */ # TaskJugglerUIでの伝統的なガンチャート taskreport "ガンチャート" { headline "プロジェクトのガンチャート" # 何を表示するか columns hierarchindex, name, start { title "開始日" }, end { title "終了日" }, effort { title "労働時間(日)" }, duration { title "期間(日)" }, completed { title "進捗" }, chart # 時間フォーマット 例: 2006-12-19(Fri) timeformat "%Y-%m-%d(%a)" # 労働時間(effort)や期間(duration)の表示単位 loadunit days hideresource 1 } # 各タスクへアサインされているリソースを表示するタスククリスト taskreport "タスクのコスト" { headline "Task Usage Report" columns hierarchindex, name, start { title "開始日" }, end { title "終了日" }, effort { title "労働時間(日)" }, duration { title "期間(日)" }, cost { title "コスト" }, revenue { title "収益"} timeformat "%Y-%m-%d" loadunit days hideresource 0 } # リソース割り当てを表すグラフ resourcereport "リソース割当" { headline "Resource Allocation Graph" columns no, name, rate { title "日給" }, utilization { title "稼働率" }, freeload { title "空き時間(日)" }, cost { title "コスト" }, chart loadunit days hidetask 0 } # 全リソースのリスト。人的なものと物質的なもの両方とも。 resourcereport "リソース一覧" { headline "Resource Sheet" columns no, name, efficiency { title "作業効率" }, id, maxeffort { title "最大稼働時間" }, rate { title "日給" } loadunit days hidetask 1 } # This report looks like a regular calendar that shows the tasks by # their dates. htmlweeklycalendar "Calendar.html" { } # This report is a status report for the current week. It also # provides an outlook for the next week. htmlstatusreport "Status-Report.html" { } # A P&L report for the project. htmlaccountreport "Accounting.html" { # Besides the number of the account and the name we have a column # with the total values (at the end of the project) and the values # for each month of the project. columns no, name { title "分類" }, scenario { title "シナリオ" }, total { title "合計" }, monthly headline "プロジェクトの損益" caption "この表はプロジェクトのキャッシュフロー(利益と損失の分析)を表しています。" # Since this is a cashflow calculation we show accumulated values # per account. accumulate scenarios plan, delayed }