なぜ、いま、アジャイルなのか?
日本のソフトウェア開発の現場になかなか定着しなかったアジャイル開発。現在、この開発手法に対する関心が改めて高まっているという。
では、なぜいま、アジャイル開発なのか─。
この問いかけに、日立ソリューションズでアジャイル開発の導入支援サービス「アジャイル開発ソリューション」を展開している東 大介氏は、次のように答える。
「市場の変化が激しい今日では、大多数のビジネスシステムに“完成形”なるものが存在しなくなっています。システムのローンチ後も、“顧客中心”の考え方で、改善のサイクルを高速に回していかなければなりません。言うまでもなく、そのような継続改善のサイクルを形成するには、アジャイル開発手法の活用が不可欠です。つまり、私たちのようなSIerはもとより、多くの日本企業にとって、アジャイル開発手法の取り込みは時代の変化に対応するために避けて通れない道のりであるということです」
東氏が所属する日立ソリューションズは、単独で4,700名強の従業員を擁する(2019年9月末時点)SIerであり、日立グループの情報・通信システム事業の中核を担うIT企業でもある。
同社では、アジャイル開発のマニフェスト(「Manifesto for Agile Software Development」)が発表され、日本で最初に注目を集め始めた2002年ごろから、その手法の取り込みに着手し、2000年代後半にはウォーターフォール型の大規模システム開発にアジャイル開発を取り込む独自の手法を確立した。以降、2つの方向性の下で、“アジャイル開発手法による変革”に取り組んできたという。
そのうちの一つは、アジャイル開発の手法によって社内のソフトウェア開発のあり方を発展させるという“内なる変革”の取り組みだ。もう一つは、アジャイル開発手法を日本の企業全体に定着させる取り組みであり、その目的の下、前出の「アジャイル開発ソリューション」を2014年から展開している。
以下、これら2つの取り組みの現状について見ていくことにする。
アジャイル開発の手法を活かした協創プラットフォームの創出へ
周知のとおり、SIerによる従来型のソフトウェア開発ビジネスはウォーターフォール型の開発を前提にしており、顧客の要件に従って仕様を固めてから実装(開発)を行い、テストを経て納品に至り、それによって収入を得るというものだ。開発チームのメンバーもプロジェクトごとに組織され、システムの「設計」「開発」「テスト」の各フェーズでメンバーが入れ替わることも珍しくない。
実のところ、このようなビジネスモデルと、少人数のチームでスクラムを組み、システムを継続的に改善していくアジャイル開発の手法とは決して相性のよいものではない。そのため、日立ソリューションズでも、ソフトウェア開発案件におけるアジャイル開発手法の活用で幾度かの失敗を経験したという。
この点について、アジャイル開発手法の社内への浸透を推進している平岡 嗣晃氏は次のように振り返る。
「例えば、アジャイル開発において、開発とテストのチームを別々に組織してフェーズごとにメンバーを入れ替えたりすると、仕様書の不足からテストメンバーによるテストが行えず、足りない仕様書をテスト段階で書き起すといった作業が発生することがあります。このような作業は大抵は想定外のもので、プロジェクトの収支を悪化させる要因となります。また、アジャイル開発だからと言って、顧客の要求に応じて当初の計画にない機能をむやみに追加したことにより、工数が膨らみ、収支の悪化を招いた案件が当社でも見られました」
ただし、こうした案件は数年前から全くといっていいほど見られなくなり、今日では過去の経験も糧にしながら、アジャイル開発の実績を着実に積み上げているという。
また、アジャイル開発の手法は、同社が力を注ぐSaaS型ソフトウェア製品の開発・提供や、顧客企業との“協創”の取り組みでも有効に機能しているという。
このような顧客企業との協創やSaaS型ソフトウェア製品の開発・提供は、従来型のSI事業とは一線を画すもので、SIプロジェクトにアジャイル開発を取り組むこととは別種類の変革でもある。そうした変革を推進する必要性について、平岡氏はこう話す。
「クラウドサービスの普及・発展などによって、SIerが受託してきた新規開発案件は今後目減りしていく可能があり、当社としても、これまでどおりの事業を続けるだけではなく、新しい事業やビジネスモデルの立ち上げ/確立を急ぐ必要があります。ソリューションの協創やSaaS製品の展開は、そうした考え方に基づく取り組みで、アジャイル開発はその試みを支える重要なピースということです」
ミッションは意識改革
これは、アジャイル開発に関する同社の豊富な知見とノウハウを活かしたコンサルティングサービスだ。現行のプロセスを改善するためのサービスから、アジャイル開発を円滑に進めるための「人材教育」「アジャイルコーチ」「プロジェクト評価」「開発環境整備」に至るサービスが体系化され、提供されている(図2)。
このソリューションの状況について、前出の東氏は次のように説明する。
「アジャイル開発ソリューションの特徴は、アジャイル開発の導入に必要なサービスが、経験とノウハウに基づいて明確に定義され、しっかりとメニュー化されている点です。そうしたソリューションの透明性や具体性が多くのお客さまの支持を集め、非常に数多くの採用につながってきました。加えて最近では、総務・人事・経理・マーケティングなど、ソフトウェア開発以外のプロセス改善を目的にアジャイル開発ソリューションを採用するお客さまも増えています」
そんなアジャイル開発ソリューションの展開で、東氏が重要視している一つは「人材教育」であるという。
「アジャイル開発が失敗する原因のほとんどは、アジャイル開発手法に対する理解不足によるものです。理解が足りないままに、小手先だけでアジャイル開発を実践しても絶対にうまくはいかず、その失敗が“アジャイル開発はダメだ”という間違った認識へとつながっていきます。ですから、アジャイル開発ソリューションでは、アジャイルの概念的理解を徹底的に深めていただくことに重きを置いています」(東氏)。
また、東氏によれば、アジャイル開発ソリューションを採用する顧客企業の目的はさまざまで、ときには、顧客企業へのアジャイル開発の定着に相当の苦労を強いられる場合もあるという。
「アジャイル開発が現場に定着するかどうは、現場で働く方々が、これまでのやり方を変えなければならないことに気づけるかどうか、あるいは、やり方を変える意志を強く持てるかどうかにかかっています。ところが、お客さまによっては、従来手法からアジャイル開発への転換に強い抵抗感を示す方が開発の現場にいらっしゃる場合があります。そうした方に意識を変えていただくことは難しいのですが、それを成しえないと、アジャイル開発を現場に定着させることはできません。ですので、メンバー全員の意識を改革することは、アジャイル開発ソリューションにおける最も重要で難度の高いミッションと言えます」(東氏)。
もちろん、アジャイル開発手法が、あらゆるタイプのシステム開発に有効とは限らない。例えば、一度開発すれば、10年は機能追加や拡張が必要とされないようなシステムもあり、そのようなシステムにアジャイル開発を適用する必要はない。
とはいえ、本稿冒頭部分の東氏の発言にもあるとおり、大多数のビジネスシステムは、顧客ニーズの目まぐるしい変化への対応やサービス競争に打ち勝つために、継続的な改善が必要とされている。「だからこそ、多くの企業にとってアジャイル開発の導入は必須と言えますし、その導入を後押しすることが大切だと考えています。これからも、アジャイル開発の重要性と、それによって成果を上げるための正しい手法をしっかりと伝えていくつもりです」と東氏は意気込む。
同氏によれば、アジャイル開発に抵抗感を持つ方は存在しつつも、全体の傾向としては、従来手法からアジャイル開発への転換を図ろうとする企業は確実に増えており、そう遠くない将来、アジャイル開発が企業システム開発の標準手法として浸透し、そこからDevOpsの取り組みが本格的に始まる可能性が高いという。
そうした近未来に向け、アジャイル開発による社内外の変革を推し進めていく─。日立ソリューションズの取り組みは今もなお続いている。