ここまでのまとめ

最後に、ここまでの内容を振り返り、実際の開発で気付いた点を共有させて頂きます。

はじめに、無駄のないチーム開発を実現する4つのツール、「youRoom」「Pivotal Tracker」「Heroku」「TestFlight」のそれぞれについて、全体像をご説明しました。「youRoom」と「Pivotal Tracker」は、プロダクトオーナーと開発者の無駄のないコミュニケーションを実現するためのツールです。プロダクトオーナーと開発者は「動くソフトウェア」を元に「youRoom」と「Pivotal Tracker」を通じて開発を行っていくのですが、この「動くソフトウェア」を素早く実現する手段として、次に「Heroku」と「TestFlight」をご紹介しました。

この連載では、上記で挙げた4つのツールを実際に使うことができるようになることを第一の目標としていたため、少し詳細に立ち入りつつツールの説明をしてきましたが、最後に開発の振り返りとして気付いた点をいくつか共有させて頂きたいと思います。

「動くソフトウェア」を元にした開発ではこまめなアクセプトが重要

「動くソフトウェア」を元にした開発では、チケットのこまめなアクセプトが重要になります。こまめなアクセプトによって以下のようなメリットを得ることができます。

  • チケットがどんどんアクセプトされていくと、アクセプトする側もされる側も開発がどんどん前進して行っていることが分かり、プロジェクトを楽しく進めることができる。
  • こまめにアクセプトされるためにはこまめにリリースする必要があるため、リリース作業が軽量化され、リリース時の不具合が極小化される。
  • 特に外部連携が必要なプロダクトでは、こまめなリリースによって連携時の不具合の特定が容易になる。

今回もチケットのこまめなアクセプトにより、開発を円滑に進めることができました。

インターフェース仕様はGoogle Spreadsheetで共有した

基本的にドキュメントは作成せずに開発を進めますが、インターフェース仕様はGoogle ドキュメントのSpreadsheetにてアプリ・サーバサイドの担当者間で共有しました。インターフェース仕様はプロダクトの成長に応じてどんどんアップデートしていくため、アプリ側の挙動、サーバサード側の挙動はその都度明確にしておく必要があったためです。

Google Spreadsheetでは変更履歴の管理も行えるため、いつ誰がどこに手を入れたかが簡単に分かる仕組みになっています。このため「この仕様はいつ決まったんだろう?」といった問題に悩まされることなく、円滑にインターフェース仕様を共有することができました。

サーバサイドはHerokuの30秒制限を意識する

Herokuで気をつけなければいけない制約として、以下の制約があります。

  • リクエストを受け付けてから30秒以内にレスポンスが返らない場合はタイムアウトになる。
  • 1Dynoにつき同時に受け付けることのできるリクエストは1つだけである。

1リクエストにまるまる30秒使える訳ではなく、リクエストが集中した場合は実際に処理されるまでの待ち時間も含めてカウントされるため、より素早いレスポンスを心がける必要があります。

サーバサイドのパフォーマンスチューニングによって対応する手段もありますが、より効果的なのは、リクエスト自体を細かく分割する方法だと思います。「AnkiBlank」ではデッキの同期時に全てのカードの情報をアプリ・サーバ間で同期しますが、この同期を1リクエストで行ってしまうとカードのデータ量に応じてタイムアウトの発生する確率は高くなります。そのため、同期の際は1カードずつリクエストを分ける手段をとることで、タイムアウトの発生を抑えました(カード同期中に途中で失敗した場合はトランザクションとして誤ったデータがサーバにストアされてしまうため、その場合の実装は別途行う必要があります)。

さらに細かく、アップロードとダウンロードとでリクエストを分ける手段も検討しましたが、現状ではカード単位のリクエストでタイムアウトを抑えることができています。

1リクエスト単位のデータ量と処理量については意識して設計する必要があります。

拡大するスマホアプリ開発に向けて

これまで全4回にわたり、ツールを活用した無駄のないチーム開発についてご紹介しました。スマホアプリとサーバサイドを連携させる仕組みはポピュラーではありますが、インターフェース仕様等様々な取り決めを行う部分があるため、プロジェクトを推進していく上で問題が起こりやすい仕組みであるとも思います。ぜひ、ご紹介させて頂いたツールを活用して、無駄のないチーム開発に取り組んでみてください。

ここまで読んで頂き、ありがとうございました。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30