開発ツールの本来の目的を考える

2010年4月1日(木)
藤井 智弘

ALMが開発で果たす役割とは?

「そもそも開発ツールとは、開発者の作業負担を軽くするツールである」という、筆者が冒頭に掲げた視点から見た場合、ALMツールは「作るものの妥当性を担保する仕組み」であるということが言えます(ALMツールは、さまざまな機能を含んでいるので、ひとことでまとめるのはちょっと乱暴な気もしますが、より広範な議論は別記事のほうも合わせてご覧ください…と、逃げる私)。

今日のソフトウエア開発では、「当初計画通りに物事が進む」ことはまずありません(うまく行ったかのようにうたった“事後“報告書はたくさん見受けられますが^^;)。開発者は開発の途上でさまざまな判断をする必要に迫られます。

しかし、現在の開発スタイルでは、体制や役割、工程が明確に定義されていて、ともするとプロジェクト自体の目的や目標、今どこで何が行われているかがまったくわからない状態におかれがちです。

このような状態では、満足な判断などできるわけがありません。個々の開発者にとってALMの価値のひとつは、各種の成果物や情報が一元管理されることで、プロジェクトの文脈(位置づけ、意味合い、現在の状態)を知ることで各自がより適切な判断をできるようになるということです。

「ツールを使いこなして、高い生産性を実践しながら、まとはずれなアプリケーションを作る」なんて、こんなむなしい話があるでしょうか?それを避けるためにALMはあるのです。

「協調的(Collaborative:コラボラティブ)である」という次の波

ご多分に漏れず、IBMも個人の生産性からチーム/組織のALMと、これまで概観してきたラインアップをそろえています。しかし、今Jazzテクノロジーと称して、次世代のプラットホーム構築に投資しており、すでに複数製品をリリースしています。

このJazzテクノロジーの背骨とも言える世界観、それは、「開発者が協調的(Collaborative)であること」です。世界規模で見ると、アジャイル開発は小規模プロジェクト向きとしての評価は確立され、より大規模寄りの分散体制への適用に向けてチャレンジされるフェーズに入っています。

規模の大小にかかわらず、アジャイルスタイルでは開発者のコラボレーションが重視されますが、 “協調的”であるとは具体的にはどういうことなのか?そのために開発ツールに求められることは何か?という点では具体的なイメージが持ちづらいものです。

次回以降、具体例を見ながら、「開発者にとってのコラボレーションとは?それを支える開発ツールの方向性とは?」をひもといていきます。お付き合いください。

日本ヒューレット・パッカード株式会社

日本アイ・ビー・エム株式会社を経て、現職は日本ヒューレット・パッカード株式会社でHPソフトウェア事業統括 テクニカル・コンサルタントを務める。
いまだ誤解の多い”ちょっと新し目の技術”を、きちんと咀嚼しお伝えして何ぼのこの世界、「アジャイルは品質が…」という若干の誤解に基づく不安にも、きちんと丁寧に答えをだしていこうと思う毎日。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています