プロジェクトルームにもこだわり、ほとんどの壁を壁面ホワイトボードにしたり、パーティション代わりにもなるホワイトボードを用意してタスクボードに使ったり、アプリケーションの設計を手書きで書いて検討したりしました。大きなモニターを用意し、大画面でモブワークを行うなど、タイムタイマーを用いた時間を区切ったメリハリのある仕事の仕方を導入しました。
集中して作業できる環境、モブワークをしやすい環境、メリハリをつけて仕事できる環境を自分たちで考え、自分たちで用意することで、チームの開発能力をフルに発揮し、プロジェクトを円滑に進めることができるようになります。
フルリモート移行後もGitLab、Miro、Web会議などのツールを使うことで、メンバー一人一人が開発しやすい環境を維持していますが、スクラムチームが協力していく上で非常に重要だと感じています。
ここまで、アジャイル開発でプロジェクト運営してきた体験を書いてきましたが、もちろん全てがアジャイルでうまくいくわけではありません。私たちのプロジェクトでは、私たちのチーム以外でアジャイル開発を行っているチームは多くありません。そのため、不具合が見つかり、その不具合を修正する責任が他チームにあった場合、素早い対応が困難になることがあります。他のチームでは原因の特定、対策方針、対策方法などが承認されるまで修正ができないといった影響もあります。
上記のように時間がかかりそうな場合でも、他チームと相談の上、暫定対応を次スプリントで実施するなど、アジャイル開発のメリットは発揮することができます。
製造業の工場や設備には数多くのデータが眠っています。これらのデータを集め、活用することは工場のリソースを有効活用することにつながり、非常に大きな経営的なメリットがあり、多くの製造業でデータの利活用が広がってきています。
しかし、それらのデータをやみくもに集めたからといって、そのままでは情報量が多すぎてうまく活用することができません。そこで、私たちが作ったプラットフォームでは、データ利用者が必要な情報のみを取得できるAPIを提供しています。
初期のAPIを開発しリリースできると開発者としては「一山越えた〜」と思いたいのですが、真の本番はリリース後だったりします。データ利用者はAPIを使って各種情報にアクセスし利用し始めます。利用し始めたことで「あのデータも一緒に取得できるとうれしいな」といった、データ利用者本人も想定していなかったことに気付きます。
大量のデータを取り扱うことが多く、さまざまな観点で情報の分析を行う必要があり、工場や設備の変化が激しい、といった製造業では、新しいニーズに素早く対応することが必要です。
通常の開発手法では、改善要望から設計、開発、テストとある程度の期間が必要になってくると思いますが、時間をかけてしまっては競合他社との競争に負けてしまいます。その点、アジャイル開発を実践しているこのプロジェクトでは、早ければ翌週には改修版のAPIをユーザーに提供することができました。
このように、データ利用者が実際に動くソフトウェアを使うことで利用者自身のニーズを学び、新しく生まれてきたニーズに素早く対応していくができる、という点がアジャイル開発を実施するメリットだと思っています。
私たちのプロジェクトは、アジャイル開発宣言やスクラムガイドに完全にのっとったものではありません。スクラムマスターが不在だったり、通常1週間のスプリントが2週間に変更されたりする場合もあります。厳密にはスクラムチームとはいえないかもしれません。しかし、それでも私たちはアジャイル開発チームであると思っています。
動くソフトウェアをユーザーと協調しながら日々変化に対応するために自分たちのやり方を改善し続けています。これは、製造業はもちろん、どのような業界でも変化への対応が求められていると思います。アジャイル開発はそういった変化に対応していくというニーズに合致したやり方になります。実プロジェクトで数年間アジャイル開発を継続していますが、以前と比べるとより学びながら開発ができるようになってきたと実感しています。今後もスクラムとは違う方向に進む可能性はありますが、今後も私たちのチームに合ったやり方を模索していきたいと思っています。
今回紹介した以外にも、アジャイル開発事例を紹介したブログを公開していますので、ご興味あればぜひご覧ください。(連載完)
松尾 俊佑(まつお しゅんすけ)
元インフラ系エンジニア。現在はフルスタックエンジニアを目指して奮闘中。2019年からアジャイル開発チームで開発者をしています。現在アジャイル開発4年生。まだまだ学び足りないことが多いですが少しでも世の中にアジャイル開発が広がればいいなと思い日々勉強しています。
Copyright © ITmedia, Inc. All Rights Reserved.