注意: |
この表記方法は、利用条件を満たす場合でもEnterprise Architectのインストール直後の状態では利用できません。 利用する方法についてはこちらのページをご覧ください。 |
カンバンが必要な背景
カンバンは、設計開発の効率を高めるための操作方法です。技術者の大野耐一氏がトヨタで働いていた時代に開発しました。大野氏は、スーパーマーケットの棚の在庫を分析し、その教訓を工場フロアに適用し、これまでにない効率性を実現しました。カンバン方式は、戦略計画・営業・マーケティングなどのあらゆる分野に適用できますが、最近では、ソフトウェア中心のソリューションを開発するプロセスに適用されています。顧客ができるだけ早く価値を得るようにする必要のある情報技術産業では、計画を過ぎて予算を超過するプロジェクトが多くその改善を挑戦してきましたが、従来の方法ではビジネスとして妥当な期間内に顧客に価値を提供することができませんでした。これらのソフトウェア・システムに固有の問題は、デジタル混乱と前例のない変化が支配的な現代のビジネスにおいて、対処が必要な要素となっています。
カンバンの基礎
カンバンの基礎はとてもシンプルであり、少数のルールのみがあります。以下の内容は、そのルールのうち、広く知られているものです。
多くのプロジェクト管理の手法では、作業項目が可視化されていませんでした。カンバンは、そのチームに所属する人全員が、すべての作業項目を確認できるように可視化されます。これにより、他の人の作業項目を把握し、場合によっては支援できるようになります。
プロジェクト管理者やチームリーダーは製品を完成させることやより多くの機能を追加することを要求され、その結果としてチームメンバーにより多くの作業項目を実施させることがあります。この結果、複数の作業項目を並行して実施することで効率が悪くなり、作業中の項目が数多く残ることになります。カンバンでは各工程の作業項目の上限を設定することを推奨しています。これにより、効率的に作業項目を実施することが可能となり、結果的に効率が向上します。同時に実施する作業項目の数を減らすことで、作業項目に集中できます。
伝統的なプロジェクト管理の手法では、ボトルネックになっている問題や作業者の特定が容易ではなく、予定より遅れて製品の出荷を完了させた後や搭載機能を削減した後に表面化できることもあります。カンバンを利用すると作業項目を可視化することが可能となり、同じ状況のまま留まっている作業項目の発見が容易になります。下の画像では、設定されている上限を超えているレーンについて、見出し部分の色が変わっています。また、上限値と現在配置されている作業項目の個数が数値で表示されています。これにより、チームメンバー全員が状況を把握し、項目数を減らし問題を解決するための対策を考えることができます。
例1
優先度の高い、'Backlog'のレーンにあるユーザーストーリー要素を'In Progress'のレーンに移動します。そして、開発者はその移動された要素についての実装を行います。その作業は、ビジネスルールのコーディング・詳細な要求のレビュー・データベーススキーマの変更・要素の追加・情報スキーマへの属性の追加・実装環境への変更などを引き起こすかもしれません。
こうした影響に関係する要素は、すべて同じモデルの中で定義されています。そのため、他のツールを起動して変更する必要もなく、また他のツールに定義されている情報を参照する必要はありません。こうした影響関係はEnterprise Architect内で定義し、追跡することが可能です。下の図は、こうした関係がモデルで表現されている一例です。
例2
次のダイアグラムは、2ステージあるいは3ステージのバックログを示しています。ダイアグラム自身はバックログの項目の管理に利用しています。レーン内で項目を移動してレーン内での優先度を調整したり、レーン間で項目を移動して優先度の値を変えたりできます。
カスタマイズ
Enterprise Architectはこのカンバン機能を標準機能として取り込み、利用できます。プロジェクトの規模や対象にかかわらず利用できる機能です。採用するプロセスによらず、このカンバン機能を組み合わせて利用できます。
Enterprise Architectのカンバン機能は自由にカスタマイズ可能であり、チーム・プロセスにあわせて変えられます。アジャイルプロセスだけでなく、イテレーティブ・インクリメンタル・ウォーターフォールのどのプロセスであっても活用できます。看板を利用する際の障壁は高くありませんので、容易に導入できます。カンバンは、ダイアグラムをいくつかのレーンに区切り、そのレーンに作業項目を示す要素を配置します。設計で利用している要素をそのまま配置することもできますし、Enterprise Architectが提供する独自要素であるユーザーストーリー・ユーザー機能・バグ・変更点や、ユースケース要素などを配置し利用できます。配置した要素は、ドラッグ&ドロップで自由にレーン間を移動できます。通常は、ダイアグラムの左から右へ、プロセスの進捗に合わせて移動していきます。それぞれのレーンは、プロジェクト管理において指標となるプロパティ、例えば状態やフェーズなどと結びつける場合もあります。この場合、レーンを移動すると要素のプロパティの値は自動的に更新されます。
リソースの割り当て
カンバンに配置する要素には、その作業項目を担当する担当者や必要となる機材などの「リソース」を割り当てることができます。割り当てたリソースに進捗率などの情報がある場合、その情報も可視化できます。可視化する場合、要素の最下部にグラフとして表示できます。このリソースの割り当ては、Enterprise Architectの既存の機能をそのまま利用します。1つの作業項目に複数のリソースと役割を割り当て、それぞれの進捗率を可視化できます。また、開始日・終了日・想定される作業時間などの情報を付加できます。
表示されているプログレスバーの内容は、割り当てられている作業の進捗率を変更することで表示内容も更新されます。カンバンのダイアグラムも、形式をガントチャートや一覧形式に変更できますので、異なるビューで内容を確認できます。
設定
カンバンに配置される作業項目には項目名(要素名)の他に、アイコンや色・プログレスバーなどいくつかの情報が表示されます。表示するプロパティについては、種類・状態・バージョン・フェーズ・優先度・ステレオタイプ・作者を表示できます。
レーンの色・数・名前はカスタマイズできます。また、レーンごとの項目の上限数やサブレーンの定義なども自由に設定できます。レーンや配置される要素の書式もいくつかの点でカスタマイズできます。また、「手書き風」の表現にすることで、物理的なカンバンに付箋紙を貼ったような雰囲気にして親しみやすくできます。また、Enterprise Architectではいくつかのレーンが設定されているモデルテンプレートをいくつか準備し、すぐに利用できるようになっています。具体的には、カンバンが1枚・2枚・3枚の場合の3通りのモデルテンプレートを提供しています。複数枚のカンバンの場合、カンバン間で作業項目を移動させやすいように、次のカンバンへのリンクも配置されています。
他のカンバン機能が利用できるツールではなくEnterprise Architectのカンバン機能を利用する優位点として、Enterprise Architectが包括的なモデリングツールであり、業務分析や設計・画面定義・データベース設計・実装など幅広い範囲で利用できるツールであることが挙げられます。つまり、カンバンに配置する項目として、設計などで利用している要素をそのまま配置したり、カンバンに配置される作業項目と設計などで利用している項目との関連付けを定義したりすることができる点がメリットになります。
チャート
Enterprise Architectには、チャートを作成しモデルの情報を可視化する機能もあります。この機能を活用し、カンバンとして表現されている内容について、棒グラフや円グラフなど別の形式で状況を把握できます。特に、プロダクトオーナーや他のチームメンバーが、全体の概要を効率的に把握するために有用です。チャートの表示内容や表示形式は自由にカスタマイズできます。
適用
カンバンによるプロジェクト管理は、プロジェクトの設計開発のステージごとの進捗状況を簡単・視覚的に把握できる便利な手段です。それぞれのステージはカンバンではレーンとサブレーンで表現されます。Enterprise Architectでは、このカンバンの仕組みをダイアグラムとして取り入れ、管理対象の領域についての作業の流れを視覚化・管理できます。
設計開発のステージは、要素のプロパティと結びつけて定義できます。例えば、要素のフェーズ・バージョン・状態などの既存のプロパティや、独自のタグ付き値と結びつけることができます。タスクや対象の設計要素などについて、最初はカンバン内のレーンの初期段階を示すレーンに配置します。そして、作業の進捗に応じてその要素を別のレーンに移動していきます。もし、要素のプロパティやタグ付き値とレーンを結びつけている場合には、ダイアグラム内のカンバンで要素をドラッグ&ドロップして別のレーンに移動すると、該当する値も自動的に更新されます。
通常、新規のタスクは最も左端のレーンに配置されます。また、最も右端のレーンはタスクの完了を示すレーンとなり、通常は左から右へすべてのレーンを経由していきます。多くの場合には、右側のレーンから自分が担当し対処可能な項目があるかどうか確認していき、実行するタスクを決定します。レーン内に対処可能な項目がない場合、順次左のレーンの内容を確認していきます。