プログラマでありたい

おっさんになっても、プログラマでありつづけたい

WEB+DB PRESS Vol.88でモバイル開発の話を書きました

f:id:dkfj:20150821003002j:plain

 2015/8/22発売のWEB+DB PRESS Vol.88にモバイル開発の話を寄稿しました。内容としては、クラウドサービスを利用して、楽に開発しようよという話です。白状すると私が書いたのは最初の1章だけで、後は会社の後輩の@yanayanalteに書いてもらいました。

目次



 今回の特集は、5章構成です。背景のところから、ビルド・テスト・デプロイと一通りの工程を取り扱っています。

  1. いまどきのモバイルアプリ開発事情 〜クラウドの活用でプロダクトの改善に注力する〜
  2. CircleCIを使った自動ビルド 〜ヒューマンエラーを防ぎ安定した開発を実現する〜
  3. Scirocco Cloudを使ったE2Eテスト 〜他機種・多端末での検証を省力化する〜
  4. DeployGateを使ったデプロイ 〜ストレスなくα版アプリを配布する〜
  5. Crashlyticsを使った障害検知 〜運用中のクラシュ情報を見える化する〜

特集の内容



 内容については、以下の特集説明のとおりです。

■特集1
モバイル開発最前線 ―― ビルドもテストもデプロイもクラウドで加速!
昨今、AndroidやiOSなどのモバイルアプリ開発におけるビルドやテスト、デプロイといったフェーズを省力化するためのクラウドサービスが多数登場しています。そこで本特集では、「いかに高速に開発するか」「設計や実装に注力するためにはどうするか」といった視点から、CircleCI、Scirocco Cloud、DeployGate、Crashlyticsといったクラウドサービスを組み合わせ、モバイルアプリ開発を効率化するための方法を余すことなく紹介します。

 最初の企画の段階では、クラウドサービスを利用することに特化せず、Jenkinsなどインストール型のツールなどの紹介や、バージョン管理や開発スキル向上の話まで盛り込もうとしてました。その企画案では、個々の内容が薄く特徴がなくなるという指摘を編集者さんに頂きました。それではということで、クラウドサービスを利用するということに特化した構成にしてみました。
 モバイルの場合、MacOSの問題やスマホ実機の問題があり、開発環境をクラウドに持っていくのは難しいと思われていました。しかし、最近ではその辺りの課題については殆ど解消されていて、逆にクラウドサービスを利用する方が便利になってきています。その辺りを書いているので、興味があれば読んでみてください。

執筆の背景にある狙い



 ここ1年くらいの仕事での関心事は、モバイルアプリチームの生産性の向上でした。生産性向上というのは、色々な尺度があるので一概には言えないのですが、私としては次の目標を立てて実現する方法を模索していました。

チーム全体として、1ヶ月あたりでリリースできるアプリの数を増やす


 その為には、以下のことを考えていました

  • 個々のメンバーが、設計・コーディングなど開発の本質部分の時間に割り当てられる時間を最大化する
  • 新規参入メンバーの習熟コストを最小限に出来るようにして、チームのスケールアウトを容易にする
  • 技術向上の為の効率的な学習方法


 まぁざっくりと言うと、長い時間を掛けて個々人の生産性を極限まで上げることを目指すのではなく、人を増やしてもよいからチーム全体のアウトプットを増やす方向性です。その為には、コンピュータが出来る部分はコンピュータにやらせて、設計・コーディングといった人間にしか出来ない作業に集中できるようにするということです。そうすると、面倒くさい手順的な部分は覚えずに済むし、量をこなせるので習熟も早くなるということが期待できます。
 改めて考えると、根本的にはSIerの発想ですね。ただSIerの陥りがちな罠である、最低限のスキルに達していない人間を前提としたコーディングルールやフレームワークでガチガチで固めるという方法は取りませんでした。ルールではなくシステムやコードレビューを前提とすることで、チームの拡大にともなって個々人の生産性が落ちるといったことは発生しませんでした。結果としては、チームの規模としては2倍程度の拡大に対して、アウトプットとしては4倍近くまで達しているので概ね上手くいったのではないかと考えています。

 そんなこんなで試行錯誤したことのうち、主にシステム面の部分を記事化しました。技術の習得やスキルトランスファーの話も、いつかまとめてみたいものですね。

感想



 雑誌の寄稿というのは初めてで、その雑誌がWEB+DB PRESSでした。他の執筆者陣はそうそうたるメンバーで、その中に並んで名前が載り非常に光栄です。また私の方は企画と序文を書くだけで、あとの部分は全部@yanayanalteがやってた訳ですが、申し訳ないなぁと思いつつ、やれば出来るだろうと思ってました。実際、頭で思い描いてた通りに実現してくれて非常にありがたいです。今年はもう一冊本を書こうと思っているので、是非また巻き込もうと思います。

WEB+DB PRESS Vol.88

WEB+DB PRESS Vol.88

  • 作者: 佐々木拓郎,高柳怜士,鶴原翔夢,小野侑一,中村俊介,佐藤春旗,長野雅広,佐々木健一,久保達彦,若山史郎,佐藤太一,伊藤直也,道井俊介,佐藤歩,泉水翔吾,坪内佑樹,海野弘成,西尾泰和,中島聡,はまちや2,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/08/22
  • メディア: 大型本
  • この商品を含むブログを見る


See Also:
『Rubyによるクローラー開発技法』を書きました
『Amazon Web Services パターン別構築・運用ガイド』を書きました