タスクジャグラー

タスクジャグラー
開発者クリス・シュレーガー
安定版リリース
3.7.2 / 2023年2月25日 ( 2023-02-25 )
リポジトリ
  • github.com/taskjuggler/タスクジャグラー
書かれたC++、ルビー
オペレーティング·システムクロスプラットフォーム
タイププロジェクト管理ソフトウェア
ライセンスGPL
Webサイトwww.taskjuggler.org

TaskJugglerは、LinuxおよびUnixオペレーティングシステムで動作するGPLライセンス(フリーソフトウェアのプロジェクト管理ソフトウェアで、 QtツールキットKDEライブラリ を使用してC++でプログラミングされています。Windowsでも動作します。TaskJugglerプロジェクトは2001年にChris Schlägerによって開始されました。初期のリリースでは、 HTMLレポートを生成するコマンドラインツールが提供されていました。2005年8月から2010年7月までは、KDEライブラリに基づくグラフィカルユーザーインターフェイスも提供されていました。

TaskJuggler IIIは2010年7月5日にリリースされました。これはTaskJuggler 2.xシリーズの完全な再実装バージョンであり、Rubyで書かれています。[1] 2.xバージョンのグラフィカルユーザーインターフェイスはまだTaskJuggler 3.xに移植されていません。プレーンテキストファイルであるTaskJuggler 3ドキュメントはテキストエディターで編集され、コマンドラインで処理されます。

アプローチ

TaskJugglerプロジェクトは、ドメイン固有の宣言型プログラミング言語で記述された1つ以上のプレーンテキストドキュメントで構成されます。ドキュメントは、ルートプロジェクトファイルと、キーワード( TaskJuggler用語ではプロパティ)によってルートに1つ以上の階層まで組み込まれたオプションのサブファイルで構成されます。TaskJuggler言語リファレンスでは、プロジェクト定義ソースドキュメントを「TJPファイル」とやや緩く呼んでいます。この説明では、プロジェクト定義ソースドキュメントを単に「TJP」と呼びます include

TJPは宣言型の文書です。中心となるオブジェクトは、タスク、リソース、レポート、シナリオ、そしてタスクとリソースに適用されるスケジュール制約です。また、アカウントを記述し、コストと経費を計上するための基本的な機能も備えています。プロジェクトの進捗状況は、タスク完了度プロパティ(パーセンテージ)や、特定の期間のリソースをタスクに関連付けるリソース予約プロパティを宣言することで追跡でき、これによりスケジュール予測を作成できます。

TaskJugglerはレポート作成ツールとして機能します。TJPプログラムの作成後、プログラム上でTaskJugglerコンパイラを実行することで、プロジェクトの状態に関するレポートが生成されます。TJPコンパイラには、ヒューリスティックアルゴリズムに基づくスケジューリングコンポーネントが含まれています。TaskJugglerは、TJP内のレポート宣言に基づいて、ガントチャートを含む多様なレポートを生成できます。TaskJugglerコンパイラは、10,000を超えるタスク、1,000を超えるリソース、そして複雑な制約を持つ大規模プロジェクトにも対応可能です。

非増分投影

TaskJuggler が使用するコンパイルツールの共通の特徴として、入力が非常に類似している場合でも、将来のコンパイル(レポート)が必ずしも過去の出力を反映するとは限らないことが挙げられます。TJP で宣言されたプロジェクトの状態に変更があると、全く新しいスケジュール割り当てが生成される可能性もあります。

TaskJuggler には現在(バージョン 2.3.0 時点)、仮説的な入力(例えば「ボブに 4 時間、ドキュメンテーションタスクを割り当てたらどうなるか?」など)に基づいて、既存のスケジュール予測から最小限のスケジュール変更を生成する機能は搭載されていません。ただし、ある予測出力から必要な要素を、スケジュール予測の更なる改良に関する固定的な仮定として、追加の制約として TJP にフィードバックすることは可能です。反復的な制約改良は強力な手法ですが、財務予測ツールと同様の用途で使用する場合、 スプレッドシートでの増分再計算のような即時性はありません。

利点

TaskJugglerの設計により、プロジェクトマネージャーはプロジェクトのどの段階でも、プロジェクトに関する既知の情報に集中することができます。TaskJugglerは、これらの情報を有益なレポートやグラフに変換します。初期のアイデアから、工数の見積もり、予算編成、ステータスの追跡まで、プロジェクトのあらゆる段階でプロジェクトマネージャーをサポートします。

TaskJuggler は、テキストによるプロジェクト記述という点で他のプロジェクト管理プログラムとは一線を画しています。ユーザーは、作業の内訳、タスクの優先度と依存関係、利用可能なリソースとその可用性に重点的に取り組むことができます。また、指定された制約に基づいて、TaskJuggler は指定されたタスク項目のスケジュールを計算します。内蔵のロードバランサーは、作業時間を考慮し、リソースの使用率を自動的に平準化します。TaskJuggler は、タスク間隔、各リソースの割り当て時間、そしてプロジェクトの損益分析を計算します。これらの結果は、フィルタリング機能を用いて必要な情報のみを表示することで、多数のレポートにまとめることができます。

デメリット

プレーンテキスト形式のプロジェクト記述は、階層的な宣言型プログラミング言語で記述されます。この言語では、プロジェクト内の順序や制約、そしてプログラム自体の構造について抽象的に考える必要があります。典型的なプロジェクトは以下のセクションから構成されます。[2]

  • プロジェクトヘッダー
  • マクロ定義
  • 旗の宣言
  • シフト定義
  • アカウント定義
  • リソース定義
  • タスク定義
  • 予約
  • レポート

強力ではありますが、この複雑さにより、TaskJuggler の使用に習熟するまでの学習曲線が急峻になる可能性があります。

参照

参考文献

  • ジャグリングの芸術、(PDF) Linux Magazine、第 61 号、2005 年 12 月、p. 52-55。
  • TaskJuggler: The Best Laid Plans Archived 2018-10-24 at the Wayback Machine (PDF)、Linux Magazine、2004 年 1 月、p. 75-77。
  • Software Projects による TaskJuggler のレビュー。

注記

  1. ^ 「インストール」。
  2. ^ Schlaeger, Chris. 「TaskJuggler Workshop」(PDF) . 2012年12月19日閲覧
「https://en.wikipedia.org/w/index.php?title=TaskJuggler&oldid=1304586748」から取得