スクラムによるアジャイル開発の実践記

学部3年次に「ICTを活用するIoT時代のイノベーション人材育成のためのビジネスアプリケーション / システムデザイン実践教育ネットワークenPiT-BizSysD」を修了しました。

bizsysd.enpit.jp

enPiTビジネスシステムデザイン分野(通称:BizSysD)は、社会やビジネスニーズに対する実用的なソリューションとしてのビジネスアプリケーションやシステムデザインを自ら提案、開発し、顧客の潜在的要求を満たすことのできる人材育成を目指します。


私のチームは大学内の渋滞問題を解決するべく、相乗りアプリを作りました。

私が在籍する大学は、学内に大きな池があるせいで橋がかかっていたり、信号機があったりと、全国的に敷地面積が大きい大学です。

そんな大学内は移動がとても大変なので、車やバイクでの移動がほとんどです。

自転車に乗る人もいますが、坂が多いのであまり向きません。

そんな中、車もバイクもないという学生は、移動に大変苦労しています。

こうした学内の移動に苦労している学生の声を元に、このアプリを考案しました。

このアプリは、移動に悩んでいる学生と、それを助けてあげたい学生ドライバーをつなぎます。

このアプリを使うことで、同じ目的地に向かう学生ドライバーを見つけることができ、車やバイクを持っていなくてもスムーズな移動が可能になります。

プロダクトの紹介1

プロダクトの紹介2


このアプリ開発を行う中で、スクラムによるアジャイル開発を学びました。

アジャイル開発とは、小さな単位で動くソフトウエアを作っていく考え方(概念)で、スクラムはその手法の一つです。

スクラムスクラムマスター1人、プロダクトオーナー1人、複数人の開発者で構成されるチームです。

機敏な開発を行えるための十分な小ささと、作業を完了できる十分な大きさが必要で、一般的に10人以下で構成されます。

スクラムマスター
  • スクラムチームをまとめるリーダー

  • スクラムの理論や活動をチームメンバーに理解してもらえるように支える

プロダクトオーナー
  • プロダクトの価値を最大限に引き出すことを責務とする責任者

  • プロダクトゴールを決定する

  • プロダクトバックログ(プロダクトの改善に必要なものに優先順位をつけたリスト)を作成する

  • プロダクトバックログアイテムを並び替える

開発者
  • プロダクトの価値を生み出し、品質を守り抜く専門家

  • スプリントバックログ(スプリントで行う作業リスト)を作成する

  • スプリントゴールに向けて計画を実行する

スクラムを組み、スプリントと呼ばれる1ヶ月以内の決まった期間に4つのスクラムイベントをこなすことで、「無駄を省き、本質に集中する(リーン思考)」ことができます。

スプリントプランニング
  • スプリントで実行する作業の計画を立てる
デイリースクラム
  • 計画された今後の作業と、スプリントゴールに対する進捗を確認し、必要に応じてスプリントバックログを調整する

  • スプリント期間中は毎日同じ時間に開催する

スプリントレビュー
  • スプリントの成果を確認し、今後の活動を決定する

  • スクラムチームは、ステークホルダー(利害関係者)に成果を示し、プロダクトゴールに対する進捗について議論する

スプリントレトロスペクティブ
  • スクラムチーム内で、今回のスプリントがどのように進んだかを確認する

  • スプリント中にうまくいったこと、発生した問題、そしてそれらの問題がどのように解決されたか、されなかったかについて議論する

  • スクラムチームの効果を高めるために必要な改善点を特定する

私のスクラムチームはスクラムマスター1人、プロダクトオーナー1人、開発者2人の計4人で構成されており、私はプロダクトオーナーを務めました。

大変だったこと
  • 限られた時間の中で、どの機能を優先すべきかを決めること

授業の一環として取り組んだ内容だったので、チームとして定期的に集まれるのは限られていました。

そんな中で、どの機能を実装すればリリースできるかといった線引きが難しかったです。

  • ユーザーの視点になって物事を考え、最大の価値を提供する機能を選ぶこと

ユーザーのニーズを理解し、それらを満たす機能を特定することは困難でした。

相乗りアプリのユーザーは「車を運転する人」と「車に乗せてもらう人」に分かれます。

「車を運転する人」がアプリを利用するメリットを見出すことに苦労しました。

工夫したところ
  • タスク管理ツールTrelloの導入

私はプロダクトオーナーとして、「プロダクトバックログを可視化し、理解しやすくする」ことを意識しました。

可視化と並べ替えのしやすさを考慮して、タスク管理ツールTrelloを導入しました。

活動のほとんどが遠隔だったこともあり、Trelloを導入したことで、コミュニケーションが一段と取りやすくなりました。

タスク管理ツールTrello

  • ユーザーに使ってもらうこと

私の身近に、学内の移動に苦労している学生がいたので、定期的にアプリの使用レビューをしてもらいました。

実際に使ってもらうことでユーザーの需要がわかり、私が考えるユーザーの視点と、実際に使ったユーザーの視点のギャップを埋めることができました。

おわりに

授業の一環で、スクラムによるアジャイル開発を体験しました。

私はこの期間で「振り返りの大切さ」を再認識しました。

授業という細切れの作業時間では、目標に対してどこまで進んでいて、どこから始めないといけないということが把握しにくいです。

そこでスクラムイベントに従ってチーム活動をすることで、意識的に振り返りをすることができ、チームの状況を客観的に見つめ直し、今後の活動の方向や今何をすべきかを明確にすることができました。

もっと実装したかった機能もありましたが、短いスパンで一連の開発工程を繰り返すことで、ユーザーのニーズに対応したプロダクト開発やスクラムチームのコミュニケーションの改善がしやすく、最終的に相乗りアプリとして形になりました。

スクラムが基づくリーン思考はさまざまな領域で活用できるアプローチだと思うので、鍛えていきたいと思います。

enPiT修了証