アジャイルを全社的なプラクティスにするには?

凪瀬さんに、ITゼネコンをぶっつぶせ、のレポートをblogに書いていただきました。私のエントリーにも触れていただいたので、もうちょっと考察してみます。

「システム管理基準」について


そのまま使うのではなく必要に応じて独自に策定しろと推奨しているわけで、この基準に則らないと駄目だ!という代物ではないのですが、そのまま採用している会社であればやはりプログラミングファースト開発などの工夫にとっては障害となるのではないでしょうか。
「ITゼネコンをぶっつぶせ」レポート

ということで、これは全くそのとおりです。
「システム管理基準」はまだ出来たばかりで、運用が板についているとはいえないので、ここは歴史のある「ISO9001」の話をしたいと思います。(*1)

実は、ISO9001にも、


7.3.3 設計・開発からのアウトプット
 設計・開発からのアウトプットは、設計・開発へのインプットと対比した検証ができるような様式で提示されること。また、次の段階に進める前に、承認を受けること。
ISO9001規格コンテンツ

という表現があって、これをそのまま文面どおりに適用すると、プログラミングファースト開発なんてできないんですよね。

もちろん、ISO9001も、必ずこの基準を守らないと認証が下りないわけではありません。各企業でカスタマイズしてOKなんです。ここで、ISO9001はもともと製造業に適用することを念頭に置いている規格なので、製造業の事例を紹介したいと思います。


アメリカ・ボーイング会長兼CEO(最高責任者)フィリップ・コンデット氏のインタビュウについてのべている。
「トップから組織末端まで、すべてのレベルで顧客とかかわること。大型航空機777では航空会社と設計段階から協力したが、あらゆる段階で会話ができるようにした。末端に行けば些細な問題が多くなるが、その積み重ねがいい製品をつくる。例えば、航空設計者がある設計をする。製造責任者は無理だ、変更しろという。工作機械の担当者が加工困難だといって話が進まない。だから、最初から一緒のチームを作る。全員がいかに最高の作るか考える組織は強力だ」・・以上の内容を見ればボーイング社がCE活動を実践中であることが理解できる。
コンカレント・エンジニアリング(Concurrent Enginnring)NO.1 〜レポート〜

ここでいうCEというのは、「コンカレント・エンジニアリング」の略です。


品質やコスト,製造性,廃棄までのライフサイクル全体を設計者に最初から考慮させることを意図したもので,設計や生産,製造,サービスなどの各部門の視点を早期から開発に盛り込んでいく。
 企画に始まって構想設計,詳細設計,解析・試作というステップをシーケンシャルに処理する手法に比べ,前のステップが完了する前に次のステップの処理を進めていくことで,開発期間の大幅な短縮が期待できる。
コンカレント・エンジニアリングとは - ものづくり用語 - Tech-On!

見てのとおり、これはまさにISO9001の規定に真っ向から反するプラクティスです。なにしろ、ISO9001では、承認(レビュー)を受ける前に次工程に進むなと言っているわけですから。

ボーイング社の事例も、「航空設計者」を「SE」に、「工作機械の担当者」を「プログラマ」に置き換えて考えてみれば同じ問題を抱えていたのがわかるはずです。「航空設計者」は、工作機械の使い方などわからないので、加工が出来ないような設計(工具を入れる隙間がない、とかね)をしてしまっていたのです。「プログラムを書けないSE」と同じですね。

ここで大事なのは、そういうプラクティスを、ボーイング社の CEO という立場の人が承認した上で推進しているということです。ボーイング社だって ISO9001 は取得しているので、なんらかのカスタマイズをした上で適用しているのでしょう。

ここが大きな違いです。アジャイルでもプログラミングファースト開発でもいいですが、そういうプラクティスをちゃんと上が認めて、トップダウンでISO9001をはじめとする規定から見直していかないと、いつまでたってもアジャイラーの活動はボトムアップのゲリラ活動でしかありません。

こういう話をすると、製造業とシステム開発は違う!とかおっしゃる方をお見かけするのですが、むしろ製造業より(特にこういった規定類を消化して自社のプロセスを改善することについて)遅れている現状を認めて、改善していくべきなのではないでしょうか?

なにしろ、ISO9001自身にも、以下のように書いてあるのですから。


5.1 経営者のコミットメント
 トップマネジメントは、品質マネジメントシステムの構築及び実施、並びにその有効性を継続的に改善することに対するコミットメントの証拠を次の事項によって示すこと。
ISO9001規格コンテンツ
(下線は引用者(私)による)




(*1)なら最初からISO9001の話をしろといわれそうですが、システム管理基準のほうがシステム屋にわかりやすい「そのものズバリの表現」なので言及しやすいんですよね。