AgileJapan2010:DAY2-キーノートセッション「アジャイルの現状と未来、次に来るもの。〜リーン開発への展望〜」

DAY2のキーノート、Alan Shalloway氏の話。

アメリカでのAgile

leanの先にある、価値の流れを作って、顧客への価値の流れを作る。
AgileではKanbanがはやっている。
看板に付箋を張って、価値の流れを作る。

  • Lean&Kanban 2009 Miami
  • UK Lean & Kanban conference

アジャイルの歴史

  • Agileはステージを繰り返していく活動。それをチームレベルで繰り返していく。
  • ソフトウェア開発は、歴史を繰り返している。
    • 60年代のソフトウェアクライシス。
    • 70年度のソフトウェア開発プロセス開発
    • 80年代はPC
      • 安価にシステムを作れるようになった
    • 90年代構造化
    • 00年アジャイル

マネジメントが硬いもの、やわらかいものを行ったりきたりしている。
アジャイルはいいものだが、構造が無い。

第1世代の方法論

  • XPは技術的アプローチ
    • developerにフォーカス。
    • XPには、顧客という言葉がたくさん出ているが、開発者にとどまる。
  • Scrumはプラクティスベースの方法論で、導入しやすい。
    • マネジメントとチームを切り離す方法論
    • チームと、その顧客重視
    • Scrumはひとつのプロジェクトにフォーカスしている。
  • アジャイルは良いもので、成功しているが、企業としては(エンタープライズレベルで)一貫性が無い。
  • 私たちに必要なのは、ビジネス・アジリティであり、チームアジリティではない。
  • 足りないもの
    • 企業で一貫したビジョン。暗黙知にとどまっている。

早く提供する=遅れをなくす

  • 効果的に早く動くということは、Delayがない
  • どうやったら早く前に動けるのか、何が我々を遅くしているのかを見つける。
  • ソフトウェアはクリエイティブなものだが、ルールがある。
    • ルールを守るということは、開発を阻害するものではない。
    • リーンは、その仕組みを提供する。
    • 人に間違いを見つけるのではなく、システムの問題を見つける。

カスタマーを含めた、システム全体に着目する。

  • プロジェクトだけではない。
  • 価値の流れを作る。
  • リーンはトヨタで生まれたが、そこから離れて成長を続けている。
  • 切り離して考えたほうが、使いやすい。

リーンの原則

  • 「Work-In-Progress(WIP)」
    • 仕掛かりに着目する。
  • 生産性に焦点を当てると、逆に遅れが生じる。
  • 「忙しい」というのは、生産性が高いのではない。
    • 開発者は、開発しているときに、マネージャーを待たせている。
    • 人を忙しくするのがマネージメントではない。
  • 遅れをなくす、無駄をなくす。流れを作るのがリーンである。
    • もし、何かが出てくるのが遅れているのであれば、何かを待たせている。
    • いらないものを作らないようにする。
    • リーンでは、無駄取りというが、本質は、無駄なものを作らないようにする。
  • 要求の再確認、バグさがし、統合時のエラー。
    • これらは、本来やら無くてもいいこと。この無駄な作業に時間をとられてないか。
  • 生産性に注目するのではなく、遅れを作り出してる仕事を減らすことだ。
    • Scrumではこれをやってる。
  • ひとつのチームでうまくやっても、他のチームではうまくいかない。
  • エンタープライズレベルで、全体のバリューストリームで考えると、チームに降りかかる無駄をなくす。それが、管理者の役割。

ここでQ&A

ビジネスケーパビリティの分割

  • Epicはテーマ、MMF(MinimamMacketableFeature=最小顧客価値)への分割。
  • 分割したものも、ビジネス価値につながるようにする。これを統合して、リリースしていく。
  • プロダクトの中から、最も重要なものを先にリリースしていく。

コーチングと教育をすることがマネジメント。

  • これが、生産性を最大限に高める。
  • 実は、デミングが60年前に日本に伝えたこと。
  • フローを作ること、チームをモチベートすること。障害を取り除いて、流れを作ること。
  • Kanbanは仕掛品を見えるようにする。

「無駄の排除」とは言わず、「遅れをなくす」というようにしている。

  • 無駄を定義するのは難しいが、遅れを定義するのは簡単。
  • トヨタ」という名前を出さないのも理由がある。
    • そもそも、製造業では無駄が限定しやすいが、ソフトウェアは無駄が何かさえもわからない。
    • ソフトウェアにおいては、時間の遅れのほうがわかりやすい。
    • Alanは、製造業の言葉を、ソフトウェアの言葉に置き換える作業をしている。