無料ブログはココログ

« [#TiDD] チケット駆動開発によるプロセス改善(事例) -SPI Japan 2013 - | トップページ | 成長に必要なのは「失敗」ではなく「挑戦」 »

[#TiDD] 次世代のプロセスとしてのチケット駆動開発

先日のSPI Japan 2013から、チケット駆動開発が示すべきものが見えてきました。
それは、 次世代のプロセスとしてのチケット駆動開発です。

日本では、プロセスのトレンドが、QC、CMM、アジャイル、と移り変わっていきました。順を追いながら説明します。

QC => CMM レベル3

日本では、QC活動をはじめとして、それぞれの現場で改善によって部分最適が進められていました。その後、組織による全体最適として標準プロセスをベースにした改善活動が行われました。

このCMMブームの時には、レベル3シンドロームという言葉があり、組織が標準化されると、そこにとどまってしまい、最適化されない組織になってしまう状況を示していまし た。

これは、レベル3達成のために「標準に従う」という単純なゴールが与えられることによって、それ以外の改善について考えなくなるからではないかと思います。その結果、レベル5による全体最適に至らず、全体主義的な組織になってしまいました。

CMM レベル3 => アジャイル

そして、次に注目されたのがアジャイル開発です。組織的な全体最適に全体主義の危険性が伴ったので、ボトムアップに自律的な組織作りをするようになりました。

オブジェクト指向のように各チームに分散し、各々が自律的に改善するようになりました。そして必要なところでチーム間の協調に必要なインタフェースが取られるようになりました。

QCには7つ道具のような分析ツールがありましたが、アジャイルでは実践するためのプラクティスがあり、より標準化された部分最適が行われました。

しかし、チーム間の協調によって大規模開発への工夫が多く行われるものの、組織的な支援が行いにくくなりました。アナログな要素が多くなったからです。

アジャイル => 未来

アジャイル開発でも一定のチーム間の協調はありましたが、組織全体をうまく協調させるには、それなりの仕組みが必要だと思います。

つまり分散から分散協調システムへの移行です。組織的な協調システムには背骨のような柔軟さが必要で、チケット+バージョン管理+CI+(クラウド)が、今のところ近いと考えています。

チケット駆動会開発の様な方法は昔からあると言われたりしますが、全体主義的なトップダウンですること、自律的なボトムアップで導入され、他のツールと連携してプロジェクトの柔軟な背骨になること、という違いがあると思います。

この背骨は、内部の協調に方向性を与えると共に、外部との協調も可能にします。

自律協調プロセスの背骨としてのチケット駆動開発

組織的な支援を行うには、定性的な情報だけでなく定量的な情報、つまりメトリクスが必要になります。

しかし、その収集はなかなか難しく、トップダウンに集めようとしても、形骸化してしまったり、ごまかしが生まれる可能性があります。

2003年頃から文科省の産官学連携プロジェクトとしてEPM(Empirical Project Monitor)というものの研究開発に関わっていました(その後、IPAの支援で発展し、現在のEPM-Xにつながります。スライドはIPAの公募で開発していた頃のもの)。

書籍「チケット駆動開発」でも紹介しましたが、EPMはバージョン管理、障害管理、メーリングリストの履歴からメトリクスを収集する環境です。開発をしている状況を分析する事で、多くの開発者への負担が少なく、当時の先進的なツールの利用で、開発の効率化も図れました。

しかし、残念ながらあまり普及しませんでした。それは、導入をトップダウンに進めたこと、また、当時は各ツールが独立していて導入も大変で、Redmineやtracほど、便利ではなかったので、サーバー管理が負担に感じられたからだと考えています。

チケット駆動開発でコミュニケーションの背骨ができる

SPI Japan 2013の古石さんの発表にもありましたが、チケット駆動開発では情報にチケット番号というキーが与えられ、番号で会話されるようになります。

障害管理と同じような番号をキーとした会話で、それが、課題、仕様、 タスク、に拡張されます。これはJenkinsなど外部ツールとの連携でも同じです。様々なツールをチケット連携した柔軟なプロジェクトが作られ、それぞれの整理された情報にキーが与えられます。

このように整理された情報で、プロジェクト内だけでなくプロジェクト外とのコミュニケーションが容易になります。強制されたメトリクスではなく、開発で必要な情報がそのまま、組織からの支援のメトリクスとして使えるようになるのです。

自律協調の実現

チケット駆動開発によって、アジャイル開発におけるオブジェクトであるチームに、チケットというインタフェースが作られました。今後の課題は、全体最適に向けた事例の蓄積とパターン化だと思っています。

これから、チケット駆動開発で未来が開かれようとしているのです。


« [#TiDD] チケット駆動開発によるプロセス改善(事例) -SPI Japan 2013 - | トップページ | 成長に必要なのは「失敗」ではなく「挑戦」 »

チケット駆動開発」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [#TiDD] チケット駆動開発によるプロセス改善(事例) -SPI Japan 2013 - | トップページ | 成長に必要なのは「失敗」ではなく「挑戦」 »