制作物紹 ▷ webapp|読書記録サイトreadnote
目次:
| 制作のきっかけ | 苦労したこと | 試行錯誤 | 工夫 | 完成品について | 今後について |
実はこの開発が、私にとって初めてのチーム開発でした。そこで、アイデア出しもなかなか慣れておらず、上手く決まらなかったので、使用したい技術の話から入りました。「APIとか使ってみたい」というメンバーの声と、全員が使用できるjsを用いたウェブアプリケーションなら均等に分担して開発ができるだろうという判断で、readnoteを制作するに至りました。
最初に設定したテーマは「生活に根差したシステム」で、読書好きのメンバーが「本好きなら感想とかを書けるようなものがあるといいだろう」という案を出してくれました。せっかくなら読んだ時間を計測して、電子書籍ならそこから連携できたらいいのではないかという話にまとまり、こういったシステムになっていきました。
きっかけのところでも少し触れていますが、これが初めてのチーム開発だったということで、右も左も、何から始めていいのかわからない状態での開発スタートでした。10日間という短い期間で、技量にもばらつきがあり、全員チーム開発は未経験、プログラミング経験も全員半年ほどというなかなかに厳しいハッカソンでした。
しかしだからこそ大きな学びになりましたし、個人開発では得られないような達成感も得られました。私は始めてマネジメントを担当し、何をしていいかもわからない中、ヤフー株式会社様の社員の方々(サポーター)にアドバイスをいただきながら、がむしゃらに完成させた記憶が大きいです。
私は主にPMを担当したわけですが、いったい何をしていいかさっぱりでした。とりあえずインターネットや本でマネジメントとは何かを学習し、IPAの基本情報の学習をしていた時に学んだ知識をフル活用して試行錯誤しながら行いました。
まずはチームメンバーそれぞれの技量や得意分野から分担をしてタスクを割り振り、ガントチャートやToDoリスト等を用いてスケジュール管理を行いました。またその他にも、開発の遅れを早めに見つけてフォローアップを行ったり、全体での進捗共有(ハッカソンではサポーターの方とSlackでやりとりをしていました)やトラブル対応等も代表して行ったりしました。
PMを担当するにあたって、リーダーシップはもちろんのこと、知識や技術もチーム内でトップレベルに持っている必要がありました。firebaseは私も含めて全員が無知でしたので、コーディングリーダーと共に学習を行い、更にはVSCodeとGitの連携、GitHubでのプルリクエスト等の技術も身に着けました。その後メンバーと共有したり、実際に届いたプルリクエストに対してレビューやテストをしたりと、技術面でもチーム内で貢献できたと考えております。その他、プレゼンテーションの資料や権利関係の確認や資料も並行して制作し、最終日のプレゼンテーションも担当致しました。
技術的な工夫点として、導線とタイマー機能の2つがあります。
前者の導線については、サポーターの方のアドバイスが基になっています。私たちは最初、メニュー画面があり、そこから各機能を選択して遷移していって使えるようなシステムを想定していました。しかし、ユーザが最も使う機能は何か、ログインしてすぐに触りたいものは何かを考えた時、書籍の一覧が必要なのではないかというアドバイスをいただきました。更にSNSにあるような、その上に書籍の検索や追加ができるようにし、極力ユーザが求めている機能を1画面に収め、そこから小さな各機能を使えるような画面遷移構成にしました。
実際のユーザの立場に立って考えるというのは重要なことであり、それを頭でわかっていながらも上手くできていなかったことを痛感した開発でした。
後者のタイマー機能については、今回のシステムで一番こだわったポイントです。サポーターの方にも、「システム一番の強み、他のシステムと差別化するポイントは明確にするべき」というアドバイスをいただいており、チームで話し合った結果このタイマー機能がそれにあたるという結論になりました。手動でどれくらい読んだ、と記録をつけるのではなく、システム側で最後に読んだ日付と統計時間を記録してくれるというのは、単純ながら良い機能だったのではないかという話になりました。また、それを分かりやすくするためにも、プレゼンテーションで強調して伝えることを意識しました。
こちらから実際にお使いいただけます。
大会のリンクはこちら
発表会の動画はこちら(47:00頃)
[GitHubリポジトリ]
開発した当初、ログイン機能が備わっていなかったということもあり、その後改善として、メンバーの一人が実装してくれました。
今後readnoteでシステムをバージョンアップしていく予定は特にありません。