【実録】製造業のファクトリーIoTでアジャイル開発してみた:製造業のためのアジャイル開発入門(5)(3/3 ページ)
複雑性/不確実性に対応するためソフトウェア開発業界で広く採用されている「アジャイル開発」の製造業での活用法を紹介する本連載。第5回は、製造業のファクトリーIoTの開発で、どのようにアジャイル開発を導入し、活用したのかを紹介する。
アジャイル開発がうまくいくポイント
開発者が開発しやすい環境作り
プロジェクトルームにもこだわり、ほとんどの壁を壁面ホワイトボードにしたり、パーティション代わりにもなるホワイトボードを用意してタスクボードに使ったり、アプリケーションの設計を手書きで書いて検討したりしました。大きなモニターを用意し、大画面でモブワークを行うなど、タイムタイマーを用いた時間を区切ったメリハリのある仕事の仕方を導入しました。
集中して作業できる環境、モブワークをしやすい環境、メリハリをつけて仕事できる環境を自分たちで考え、自分たちで用意することで、チームの開発能力をフルに発揮し、プロジェクトを円滑に進めることができるようになります。
フルリモート移行後もGitLab、Miro、Web会議などのツールを使うことで、メンバー一人一人が開発しやすい環境を維持していますが、スクラムチームが協力していく上で非常に重要だと感じています。
アジャイル開発をやるのがツラい状況
「お隣さん」がアジャイル開発チームではない時の連携
ここまで、アジャイル開発でプロジェクト運営してきた体験を書いてきましたが、もちろん全てがアジャイルでうまくいくわけではありません。私たちのプロジェクトでは、私たちのチーム以外でアジャイル開発を行っているチームは多くありません。そのため、不具合が見つかり、その不具合を修正する責任が他チームにあった場合、素早い対応が困難になることがあります。他のチームでは原因の特定、対策方針、対策方法などが承認されるまで修正ができないといった影響もあります。
上記のように時間がかかりそうな場合でも、他チームと相談の上、暫定対応を次スプリントで実施するなど、アジャイル開発のメリットは発揮することができます。
製造業でアジャイル開発を実施するメリット
製造業の工場や設備には数多くのデータが眠っています。これらのデータを集め、活用することは工場のリソースを有効活用することにつながり、非常に大きな経営的なメリットがあり、多くの製造業でデータの利活用が広がってきています。
しかし、それらのデータをやみくもに集めたからといって、そのままでは情報量が多すぎてうまく活用することができません。そこで、私たちが作ったプラットフォームでは、データ利用者が必要な情報のみを取得できるAPIを提供しています。
初期のAPIを開発しリリースできると開発者としては「一山越えた〜」と思いたいのですが、真の本番はリリース後だったりします。データ利用者はAPIを使って各種情報にアクセスし利用し始めます。利用し始めたことで「あのデータも一緒に取得できるとうれしいな」といった、データ利用者本人も想定していなかったことに気付きます。
大量のデータを取り扱うことが多く、さまざまな観点で情報の分析を行う必要があり、工場や設備の変化が激しい、といった製造業では、新しいニーズに素早く対応することが必要です。
通常の開発手法では、改善要望から設計、開発、テストとある程度の期間が必要になってくると思いますが、時間をかけてしまっては競合他社との競争に負けてしまいます。その点、アジャイル開発を実践しているこのプロジェクトでは、早ければ翌週には改修版のAPIをユーザーに提供することができました。
このように、データ利用者が実際に動くソフトウェアを使うことで利用者自身のニーズを学び、新しく生まれてきたニーズに素早く対応していくができる、という点がアジャイル開発を実施するメリットだと思っています。
まとめ〜日々、改善〜
私たちのプロジェクトは、アジャイル開発宣言やスクラムガイドに完全にのっとったものではありません。スクラムマスターが不在だったり、通常1週間のスプリントが2週間に変更されたりする場合もあります。厳密にはスクラムチームとはいえないかもしれません。しかし、それでも私たちはアジャイル開発チームであると思っています。
動くソフトウェアをユーザーと協調しながら日々変化に対応するために自分たちのやり方を改善し続けています。これは、製造業はもちろん、どのような業界でも変化への対応が求められていると思います。アジャイル開発はそういった変化に対応していくというニーズに合致したやり方になります。実プロジェクトで数年間アジャイル開発を継続していますが、以前と比べるとより学びながら開発ができるようになってきたと実感しています。今後もスクラムとは違う方向に進む可能性はありますが、今後も私たちのチームに合ったやり方を模索していきたいと思っています。
今回紹介した以外にも、アジャイル開発事例を紹介したブログを公開していますので、ご興味あればぜひご覧ください。(連載完)
筆者プロフィール
松尾 俊佑(まつお しゅんすけ)
元インフラ系エンジニア。現在はフルスタックエンジニアを目指して奮闘中。2019年からアジャイル開発チームで開発者をしています。現在アジャイル開発4年生。まだまだ学び足りないことが多いですが少しでも世の中にアジャイル開発が広がればいいなと思い日々勉強しています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「製造業のためのアジャイル開発入門」バックナンバー
- 製造業にとってアジャイル開発の導入がどのような未来につながるのか
複雑性/不確実性に対応するためソフトウェア開発業界で広く採用されている「アジャイル開発」の製造業での活用法を紹介する本連載。第4回は、製造業でソフトウェア開発に従事していた筆者の経験を踏まえて、アジャイル開発の導入がどのような未来につながるかを説明する。 - 製造業のアジャイル開発導入における6つのポイント【2】アジャイルを広める
複雑性/不確実性に対応するためソフトウェア開発業界で広く採用されている「アジャイル開発」の製造業での活用法を紹介する本連載。第3回は、製造業のアジャイル開発導入における6つのポイントのうち「アジャイルを広めていく」という観点から残りの3つを紹介する。 - 製造業のアジャイル開発導入における6つのポイント【1】ユーザーが喜ぶものを作る
複雑性/不確実性に対応するためソフトウェア開発業界で広く採用されている「アジャイル開発」の製造業での活用法を紹介する本連載。第2回は、製造業のアジャイル開発導入における6つのポイントのうち「ユーザーに喜んでもらう」という観点から3つを紹介する。 - アジャイル開発とは何か、まずは基礎を知ろう
複雑性/不確実性に対応するためソフトウェア開発業界で広く採用されている「アジャイル開発」の製造業での活用法を紹介する本連載。第1回は、アジャイル開発の定義や向いている領域、アジャイル開発の各手法を中心に、基礎から解説する。 - アジャイル型製品開発の成功要因と落とし穴
製造業がサービス化を実現するためのポイントとしてサービスイノベーションの手法や事例について紹介する本連載だが、第3回となる今回はPoC(概念実証)など、ソリューション開発におけるアジャイル型の取り組みや、将来の実務適用を加味したアーキテクチャデザインについて、その有効性と方法論について紹介する。 - アウディが新型車にアジャイル開発を採用、まずは2024年導入のEVで
アウディは2020年5月29日(現地時間)、電気自動車(EV)向けの新技術や高度な自動運転技術を採用する新型車開発にアジャイル開発を取り入れるプロジェクト「Artemis(アルテミス)」を始めると発表した。 - なぜ自動車業界がアジャイル開発? 異業種のライバルと対等に渡り合う手段に
「第3回オートモーティブ・ソフトウェア・フロンティア」のセッションから、アジャイル開発の導入に関する講演を抜粋して紹介する。 - イノベーションを生み出す「デザイン思考」とは
現在、日本の製造業で求めらているイノベーションを生み出す上で重要な役割を果たすといわれているのが「デザイン思考」だ。本稿では、デザイン思考が求められている理由、デザイン思考の歴史、デザイン思考と従来型の思考との違いについて解説する。