スマホアプリ開発のワークフ
ロー
おまけ:僕たちがGHEを手に入れて
変わったこと(仮)
株式会社ミクシィ ホームG 鈴木康平
自己紹介
• 鈴木 康平 (すずき こうへい)
– @kouheiszk
• 株式会社ミクシィ ホームG 新卒2年目
• 2024年に火星に移住する予定です
– Mars One
ホームGの仕事
• mixiといういにしえのウェブサイトの
スマートフォン版アプリを開発しています。
今日の内容
スマホアプリ開発のワークフローについて
• チーム構成
• 開発ワークフロー
チーム構成
チーム構成
• プロダクトオーナー 1人
• プランナー 1人
• スクラムマスター 0人(兼任)
• エンジニア 8人
• デザイナー 2人
• QAエンジニア 1人
開発ワークフロー
開発ワークフロー
• スプリント計画
• デザイン / 開発
• テスト
• コードレビュー
• QA
• レビュー (毎日)
• ドッグフーディング
• リリース
• スプリントの振り返り
スプリント計画
• プロダクトバックログの選択
• スプリントバックログの作成
デザイン / 開発
• デザイナーは開発に先行してデザイン
• エンジニアはデザインを元に実装
テスト
テスト
結果
通知
コードレビュー
• GitHubのプルリクで
• LGTMでレビュー通過
QA
• ガイドライン
– http://mixi-
inc.github.io/guidelines/qa/smartphone/guideline
.html
• 開発版のアプリを実機にインストールし
て確認する必要がある
– DeployGateでOTAインストール
スプリントレビュー
• 朝会(スクラム会議)で毎日行う
• リリース予定のビルドは
常にDeployGate配信している
ドッグフーディング / リリース
CrashlyticsDeployGate
スプリントの振り返り
• スプリントバックログをどこまで消費できたか
• 次はどこまで?
• KPTZ
開発ワークフロー
• スプリント計画
• デザイン / 開発
• テスト
• コードレビュー
• QA
• レビュー (毎日)
• ドッグフーディング
• リリース
• スプリントの振り返り
Thanks!!
僕達がGHEを手に入れて
変わったこと
おまけ
僕達がGHEを手に入れて変わったこと
• 導入前
– 企画 … Atlassian JIRA + Excel + PowerPoint
– バックログ … JIRAのチケット
– コードレビュー … gerrit
– テスト … Jenkins + gerritプラグイン
– QAとその進捗管理 … JIRA
– リリース管理 … JIRAのマイルストーン機能
僕達がGHEを手に入れて変わったこと
• 導入後
– 企画 … GHEのissue
– バックログ … GHEのissue
– コードレビュー … GHEのPR
– テスト … Jenkins + GHEのプラグイン
– QAとその進捗管理 … GHEのPRに記述
– リリース管理 … GHEのマイルストーン
メンバーの反応
____
/ \
/ ⌒ ⌒ \ 別に今もあまり良くない
/ (●) (●) \ 痒いところに手が届かない
| 、" ゙)(__人__)" ) ___________
\ 。` ⌒゚:j´ ,/ j゙~~| | | |
__/ \ |__| | | |
| | / , \n|| | | |
| | / / r. ( こ) | | |
| | | ⌒ ーnnn |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
まだまだ改善の余地がある
ホームGではiPhoneエンジニアを
募集しています!!
ご清聴ありがとうございました

スマホアプリ開発のワークフロー

Editor's Notes

  • #3 まず自己紹介させてください。鈴木康平で、株式会社ミクシィホームG所属です。 2年前に、オランダのMarsOneという団体が片道切符だけど火星に行きたい人いますか?ってのを募集していて、すぐに応募しました。 選考に無事通れば2年後から訓練が始まって、10年後に火星に向けて飛び立ちます。 ネタじゃないです。
  • #4 そんな僕の部署、ホームGの仕事なのですが、mixiという古のWebサイトのスマートフォン版アプリを開発しています。 ちなみにこの表現は上司の受け売りです。
  • #5 今日は、そのホームGの、スマホアプリ開発のワークフローについて話したいなと思います。 僕たちはスクラムという手法を開発に導入していて、リリースサイクルが2週間、スプリントは1週間とかなりの短期間で開発サイクルを回しています。 どういうツールを使っているかはもちろんなのですが、開発の一連の流れというのをこの場でさっくりと説明できればと思います。 本日はよろしくお願いします。 ちなみにこちら、Kindleの本にも似たようなことが書かれています。
  • #6 まず簡単にチーム構成を説明したいと思います。
  • #7 チーム構成はご覧のとおりで、、、、、、、。 スクラムマスターが0人となっているのですが、これはエンジニアが兼任したりしています。 デザイナーさんもエンジニアも、特にiOSやる人とかAndroidやる人というのは決まっていません。
  • #9 開発のワークフローをざっと挙げてみたらこんくらいありました。 スプリント計画から始まり、開発、QA、リリースで、最後スプリントの振り返りを行っています。 詳しく説明していきたいと思います。
  • #10 スプリント計画では、そのスプリントでどのぷ 午前中2時間、午後中3時間の開発の時間があるという想定で、バックログの作成を行っています。
  • #11 デザインでは、その前段階として、いろいろなアプリのUIをエンジニアとデザイナーで話し合って、使いやすいUIを元にデザインを作成する。 ただ、デザイナーさんはほとんどの方がiPhoneを普段使いしているため、iOSとAndroidで推奨されているUI/UXが異なるため、普段iPhoneしか使っていないと、なかなかAndroidのUI/UXが分からなかったりする。 ActionBarがまだ実装されてない…。 デザインの方向性が決まり、そこでプロトタイプが必要な場合はPOPなどで作ってもらう。 エンジニアはデザインを元に実装を行います。
  • #12 これは社内ペアプロしているシーンですね!いい笑顔ですね!
  • #13 開発が終了したら、GitHubでPRを投げるのですが、それをトリガーにして、Jenkinsでテストが走ります。 テストが終了したら、結果をPRのステータスに反映して、IRCにそれが通知されます。
  • #14 晴れてテストが通ったらコードレビューです。 レビュワーがLGTMと書かれた変な画像を貼り付けたら、そこでレビュー終了です。 マージします。
  • #15 機能単位の開発が終了したら、その部分に関して、QAエンジニアの動作確認が行われます。 QAに関するガイドラインは、弊社のgithubアカウントに上がっています。 QAでは開発版のアプリを実機にインストールして確認する必要があります。そのOTA配布に私達はDeployGateを用いています。
  • #16 本来のスクラムであれば、スプリントレビューというものをスプリントの終わりに行うのですが、私達は毎朝のスクラム会議でこれを行っています。 つまり成果物をPOに見せるのは朝会の時間です。スプリントが短く、1週間がまさに爆速ですぎるので、週次のスプリントレビューでここどうなの?的なロールバックが起こることを防いでいます。 また、チーム外の人にも常にDeployGateで最新版を配布していて、好きに利用できるようになっています。
  • #17 さて、リリースの前には必ず、最低3日間ほどDeployGateでOTA配布を行い、社内の人にアプリを使ってもらいます。 そこで出たクラッシュはCrashlyticsというサービスを用いて収集して、ドッグフーディングの3日間の間になおします。 3日間、無事にドッグフーディング期間を越したアプリが、ユーザの手元へとリリースされていきます。 リリースです。 iOSの場合はiTunesConnectにアクセスして、ApplicationLoaderからipaファイルをアップロード、 AndroidはGooglePlayのDeveloperConsoleにアクセスして、APKをアップロードします。 ここはみなさんおなじみだと思います。
  • #18 そうこうしているうちに、あっという間に一週間がすぎて、スプリントの振り返りの時間がやって来ました。 スプリントの振り返りでは、スプリントバックログをどこまで消費できたか、次はどこまでプロダクトバックログを消化するのかということを、バーンダウンチャートなどを基に判断します。 また、KPTZといい、今回のスプリントと良かったことをKeep、問題点をProblem、次回のスプリントで行いたいことをTry、その他思ったことをZakkanとして書いてもらい、次のスプリントのベロシティをより向上させようという話し合いも行われています。
  • #19 以上がスプリント計画から始まりスプリント計画で終わる開発ワークフローでした。 なんとなく、mixiのアプリがどういうフェーズを経てリリースされているかを分かっていただけていたら幸いです。 そして、これらフローを1週間で行うことを可能にしているのは、やはりDeployGateで簡単に開発しているアプリを確認でき、 それぞれのフェーズの手戻りを最小限にしているためだと思います。 ありがとう!!
  • #20 おまけで、僕達が、、、
  • #21 企画書はJIRAやExcelで管理されていました。僕なんかはExcel方眼紙はさっとみてすっと閉じます。 他にも、コードレビューはgerritというものを利用していました。
  • #22 GHE導入後は、それらすべてをGHE上で行うようになりました。 昔はJIRAにコメントがあればメールが送られてきていたのでメールのチェックが欠かせなかったのですが、今はエンジニアはGHEとIRCだけを見ていれば良い。 いい時代になったなぁ…。
  • #23 と思ったのですが、メンバーの反応はあまり良くない…。 チョックボックスがチェックできなかったり、マイルストーンのページが使いにくいとか、JIRAの方が使いやすいとか、そういう意見がありました。 個人的にはGitHubさんには負けずに頑張って欲しいなって思います。
  • #24 新しい仕組みを取り入れても、それだけではまだ足りなく、どんどん改善していく必要があるなと感じました。 今日、他社さんのお話を聞いていろいろと僕も勉強したいなと思いました。
  • #25 最後に! ホームGではiPhoneエンジニアを募集しています。いにしえのウェブサイトのiPhoneアプリを開発したいかた、もしくは開発したい人に心当たりがあるかたは是非お声がけいただければと思います! よろしくお願いします!
  • #26 ご清聴ありがとうございました。