今日からアジャイルで開発します! 〜7年間続いたWaterFall型受託開発をAgileに転換〜「Agile Japan 2019 セッションレポート」

  • テクノロジー

2019年7月18日、東京TOC有明コンベンションホールで「アジャイルでつなぐビジネスとIT」をテーマに「Agile Japan 2019」が開催されました。
富士通ラーニングメディアは、富士通ソフトウェアテクノロジーズと共にイベントに参加し、富士通グループによるアジャイル開発への取り組みを紹介しました。

アジャイル開発の研修への参加者は1年で3倍に

セッションではまず、富士通ラーニングメディアが提供しているアジャイル開発のための教育研修について説明しました。

富士通ラーニングメディア 第一ラーニングサービス部の森近佑次は、デジタルトランスフォーメーションを実践してイノベーションを起こす企業では、人々が使いたいと思うもの、使って楽しいと思うもの、また使いたくなるものを作れるエンジニアが求められていると言います。そして顧客が使いたくなるものを生み出せるようになるには、デジタル思考が必要だとも指摘します。

morichika_500.jpg

富士通ラーニングメディア 森近佑次

また、クラウド、AI、アナリティクス、セキュリティなど、新しい技術と既存の技術を使いこなし革新的なシステムを迅速に作る必要もあります。現状はユーザーニーズの変化も激しく、従来のやり方では市場の変化についていけません。「デジタルプロセスで、継続的に開発する。それができる人材が求められています」と森近は言います。

実際にニーズを掴みユーザーの求めるものを開発するには、最初によく観察することが大事です。これにはフィールドワークなどを行い、業務現場を知ることが必要です。その上で、価値を見出しそこから具体的なアイデアを導き出します。次のステップではアイデアに基づき試作を行い、価値の検証を行います。これなら市場に出せると判断できれば、サービスを実装します。そしてデジタルプロセスでフィードバックを受けながら、継続的に開発します。この一連のプロセスの中の、デジタルプロセスで継続的に開発する部分がアジャイル開発です。

アジャイル開発のニーズは、確実に増えています。富士通ラーニングメディアが開催するアジャイル開発関連コースの受講者を見ても、2018年度は前年度の3倍になっています。富士通ラーニングメディアでは、アジャイル開発人材の育成コースを用意し、入門から実践的な内容まで豊富なラインナップを揃えています。

組織の中にアジャイル化の文化を定着させる

とはいえこれら研修コースに参加して、アジャイル開発の代表的な方法論である「スクラム」や「エクストリームプログラミング(XP)」を学んでも、すぐにアジャイル開発を実践できるわけではありません。他にも必要なスキルがあります。継続的インテグレーションやバージョン管理を行うためにツールを使用する場合は、ツールの理解も必要です。
さらに実践ではプログラムのリファクタリングもしなければなりません。短いサイクルで機能開発を続ければソースコードは複雑化します。そこでリファクタリングでソースコードの整理を行い、適宜部品化なども実施しプログラムの再利用性を高める必要もあるのです。

もう1つ森近が指摘したのが、毎週のように開発してリリースしていると「エンジニアが疲れてしまうこと」です。そのため、開発メンバーのメンタル面への配慮も必要です。

その上で一番肝心なのが「社内にアジャイル開発の文化を築くことです」と森近は言います。知識やスキルは教育研修などでも獲得できますが、アジャイル開発の実践は組織に文化がないと上手くいかないのです。そのため、アジャイル開発のための振る舞いは、継続して行わなければなりません。何度も繰り返すことで、組織に文化としてアジャイル開発が定着すると、森近は説明します。

しっかりとした事前の準備段階を経ることでアジャイル化をスムースに

続いて富士通ソフトウェアテクノロジーズ IoTテクノロジーサービス部 マネージャーの内田 済が、顧客のアジャイル化の事例を紹介しました。既に富士通グループでは、開発のアジャイル化に取り組んでいます。そのノウハウは富士通ラーニングメディアの教育研修などに反映され、ノウハウを使い顧客案件のアジャイル化も支援しています。

uchida_500.jpg

富士通ソフトウェアテクノロジーズ 内田 済

そんな中、富士通ソフトウェアテクノロジーズでは、アジャイル開発の実践で取得したノウハウを「Agile+」という形で体系化しています。このAgile+を使い、7年間WaterFall型で開発してきた案件をアジャイル化したのです。これは顧客が利用するWebベースの社内向けシステムの開発で、さまざまな部門から機能の改良や追加要求が継続的にありました。それを顧客からの要望もあり、アジャイル化したのです。

WaterFall型で開発していた際は、開発に着手した後にも仕様変更がありその度に計画を修正して開発を行うので、開発が戸惑うこともありました。顧客にも、検討から新しい機能を入手するまでに時間がかかる問題がありました。さらに顧客側では優先順位の高いものをどんどん開発して欲しいのですが、開発側は効率化のためになるべくまとめて開発したく、このやり方は顧客には開発側が後ろ向きに見えるデメリットもありました。

そのような状況の中、アジャイル開発に体制を変更します。プロジェクトメンバーのほとんどは、アジャイル開発の経験はありませんでした。手探りの部分もありましたがアジャイル化をスタートさせ、まずは顧客の要望とのギャップ分析から行います。ヒアリングを行い、結果を開発チームに持ち帰りワークショップを開催、ディスカッションを行い、ギャップを踏まえ提案書にまとめます。

現状に合わせ役割も定義しアウトプットも明文化、さらに管理部分のルールも顧客と調整しました。開発だけでなく保守も同じチームで担当していたので、保守運用も含め調整しました。これらしっかりした事前準備は、その後のプロジェクトを上手く進めるには重要でした。

準備段階を経て2週間でスプリント開発を行い、その後の2週間でスプリントリリースをするサイクルで開発がスタートします。アジャイル化の結果、従来四半期に1回のペースが毎月の新機能リリースに変わります。開発チームメンバーの残業は、WaterFallでは月に50時間を超えていましたが、アジャイルでは平均で20時間以下、ピークでも25時間程度と大きく削減したのです。

その上で案件ごとに提案書や見積書を作る手間がなくなり、管理業務の負荷も軽減されます。顧客側も契約や稟議書の作成工数が削減されたのです。アジャイル化が上手く進んだのは、このように顧客側、開発側の双方に具体的なメリットがあったからでしょう。

アジャイル開発では顧客が喜ぶことで開発者も喜ぶ関係性を作る

今回の開発チームでは、2018年4月1日に「今日からアジャイル開発で開発します」と告げられ、かなりのショックを受けました。そこでまずはメンバーの教育を行い、その不安を払拭します。この部分は3日ほどの短期間で行い、まずは実践することにします。

小さい部分から2週間のスプリント開発を行い、顧客とともに振り返りを行いました。顧客と一緒に進めたことで顧客との距離も縮まり、やりたいことの理解も早くなります。開発者は持ち帰って検討するのではなく、その場で提案ができるようにもなりました。また以前は別々に作業していましたが、メンバー同士で助け合いながら開発するようになり、連帯感も生まれます。

内田は、アジャイルは開発の1つのやり方であり全てをアジャイルで行えば良いわけではないと言います。重要なのは、開発者が作ったもので顧客に喜んでもらうこと。そして顧客が喜んでくれれば、開発者も嬉しくなることです。そういう関係性の中で開発が行えることが、アジャイルの成功では重要だと締めくくりました。

関連情報

アジャイル人材を育成する研修コースをご紹介します。

現場で使えるノウハウを修得したい方
「Agile+ Studio Dojo」
富士通グループが培った技術とノウハウを凝縮したアジャイル開発の体験学習をとおして、変化の激しい時代の要求に追従できる開発者となるためのスキル修得をサポートします。

アジャイル関連研修コース
アジャイル開発手法の考え方やすすめ方を押さえる基礎コースから、アジャイルを疑似体験するコースや事例から学ぶプロジェクトマネジメントコースなどの応用・実践コースまで幅広いラインアップを取り揃えています。

(2019/09/05)