こんにちは、hachi8833です。今回はBPSのアプリチームをご紹介いたします。
BPSの開発は、Ruby on Railsを中心とするWebチームと、Android/iOSなどスマホ向けの電子書籍アプリを中心としたアプリチームの2大体制になっています。普段のTechRachoではWebチーム寄りの記事が多いのですが、今回はBPSアプリチームをインタビュー形式でご紹介いたします。
2016年12月にTechRacho編集部のインタビューにお答えいただいたのは、アプリチームでマネージメントを担当しているPM清水さん(写真左)とPM原山さん(写真右)のお2人です。
インタビューはmorimorihoge(Webチームリーダー)と私hachi8833(TechRacho編集部)が行いました。
Q: アプリチームについてざっくり概要を教えてください
原山(以下H): 現在のアプリチーム編成は大きく分けてiOS開発、Android開発、マネージメント系ですね
清水(以下S): あとCTOのbabaさんを中心とするR&Dもあります
S: BPSの製品「超縦書」はR&Dも含めてアプリチーム全体でやっています
H: マネージメントはPMと顧客窓口を担当します
S: 今度iOSチームからJavaScriptチームが新たにできそうです(注: 2017年1月よりJavaScript専任メンバーが入社しました)
S: もちろん製品リリース前のQAを担当するテストチームもいますし、Webチームにテストの応援を頼むこともあります
S: テストチームができたことで随分やりやすくなりました
1人が複数言語を担当することも
H: 一人でiOSとJavaScript両方やったりもするので、チームというより役割という方が近いですね
S: 配分としてはiOS担当者が一番多く、次がAndroid、マネージメント、そしてR&Dですかね
morimorihoge(以下M): チームは全部で6つということですね
まとめ: アプリチームの編成(役割)
- 技術面統括: baba(CTO)
- Android
- Androidアプリの開発(Android Studioを使用): 主に超画像ビューアとそのカスタマイズ
- iOS
- iPhone/iPadアプリの開発: 主に超画像ビューアとそのカスタマイズ
- JavaScript
- ブラウザアプリの開発: 主に超画像/超縦書ブラウザビューア
- R&D
- 超縦書やPDFのレンダリングエンジンの研究開発、W3CのCSS仕様へのコミット
- マネージメント
- プロジェクト管理と顧客窓口
- テスト
- アプリのテスト・QA
Q: アプリチームの業務を教えてください
BPSのコア製品「超シリーズ」の開発が中心
S: まずBPSのコア製品「超シリーズ」があり、それを求めるお客様がいらっしゃるので、お客様に合わせてカスタマイズして出すのがメインです
S: あるお客様からはビューアーアプリを受託していますが、BPSのビューアーをコアに使ったトータルなカスタムビューアー製品を提供しています
M: この種の製品ではよそから買ってきて売る代理店タイプをよくみかけますが、そうではなく、BPSの超シリーズは自社開発かつカスタマイズも引き受けるということですね
S: そうです
研究開発(R&D)の受託も
S: 開発以外では、お客様のR&Dに協力することもあります
M: 今後はそういったR&D案件も増やしますか?
S: VRやデータ解析などアプリチームに技術を蓄積できる案件があれば、電子書籍以外の案件もできるだけ増やしたいです
Q: W3C仕様へのコミットについて
M: BPSアプリチームのもうひとつ重要な仕事として、W3C1の仕様策定への協力・コミットがありますが、どなたがやってますか?
H: 役員のskk(下写真)さんにやっていただいていることが多いですが、私ももともと総務省のプロジェクトで参加したので、W3Cでの成果を私が総務省で報告したりしてます
S: W3C関連事業はskkさん、Hさん、skhrさん(下写真)の3人が中心です
H: skkは海外でのW3Cの会合にしばしば参加していまして、これまでは動向の把握やコアメンバーとの親睦が中心です
H: 電子書籍事業との関連で日本側の縦書き系CSS(CSS Writing Modes)の提案をRecommendation(勧告)まで進めたいというのがありますので、それを目指してがんばっているところです
H: 2017年4月半ばには、慶應義塾大学に会場・設備等でご協力いただき、BPSがホストとなってCSS Working Group F2F2を開催することになっています
S: TPACではスポンサードの会合がありましたが、CSSで企業として関わるのは新しい取り組みだと思います
H: GoogleやMicrosoftのような大企業が多数参加していますが、BPSももっと意見を述べるようにしていきます
M: そういったW3Cの仕様レベルからBPSと超縦書がかかわっているということですね
まとめ: アプリチームの主な業務
詳しくはBPSのEPUB電子書籍のご案内をどうぞ。
- 超シリーズ販売
- BPSの独自製品である「超シリーズ」の開発・販売
・超画像
・PDFビューア
・超画像 for ブラウザ
・超縦書
・超縦書コンバータ
・Guardian(電子書籍コンテンツ配信サーバ)
・本棚アプリ - 超シリーズカスタマイズ
- 超シリーズをカスタマイズし、製品テストを経てお客様に提供する
- R&D
- 研究・開発: 縦書きビューアー、画像ビューアー、W3Cの仕様策定へのコミットなど
Q: 作業分担はどんな体制でやってますか?
開発に専念できる体制
S: 開発に専念できるよう、顧客窓口は私たちマネージメントがすべて引き受けています
S: お客さんと打ち合わせた要件定義を持ち帰りますが、もちろん作れないものを受けるわけにはいかないので、持ち帰ったら必ずチェックしますけどね
H: 今どきはサーバーと連携するアプリがほとんどなので、アプリとサーバーでどう役割分担するかをお客様と打ち合わせることが増えました
S: BPSからGuardian3のサーバーだけ提供したりとか
仕様決めの段階からお客様とかかわる
M: 保守系案件や下請け的案件はやっていますか?
S: いえ、むしろお客様と直接打ち合わせて、お客様と深くかかわりながら進めます
M: 仕様をBPS側で決めることはあります?
S: はい、お客様の側でざっくりとだけ仕様を決めてこちらで詳細を詰めることが多いですね
M: RFPをお客様からいただくことはあります?
S: あります
M: どちらがやりやすいor得意ですか?
S: こちらで決める方が多いのですが、サービスはあくまでお客さんが決めるものなので、私たちがサービス内容に踏み込むことは普通はありません
Q: 仕事の進め方は?アジャイル?ウォーターフォール?
S: あまり意識してませんが、ウォーターフォールが多いかな、0.5人月とか
S: 「この機能を追加して欲しい」という依頼を繰り返しお受けすることもあります
M: スパイラルに近い?
S: 製品レベルではそうかもしれません
Q: 主に使ってるツールやコミュニケーションのコツを教えてください
Redmine、Slack、GitLabが中心
S: Redmineはお客様とのやりとりにも社内でのやりとりにも多用されています
S: 細かなやりとりはSlackやSkypeを使っています
M: お客様との間でもSlackを使うんですか?
H: ですね、社内ではRedmine、通信手段はいろいろです
M: 他にはどんなツールを使ってます?
S: 最近だと自社内のGitLabでコミット&デリバリーとかソースチェックとかを行うことが多いです
Q:ソースコードレビューはどんな体制ですか?
H: iosチームはu-ichiさん、Androidチームはkawawaさんが主にレビューしています
H: babaさんチームではbabaさんとskhrさんですね
Q: 開発環境は?
S: 開発環境についてはu-ichiさんとkawawaさんに自由にやってもらっています
S: Xcodeはもちろんありますし、Android Studioも使っています
S: 超縦書だけは開発環境がちょっと特殊ですね
Q: アプリチームの雰囲気やチームのコミュニケーションについて教えてください
技術の話をするのが大好き
S: みなさん技術の話題が大好きで、喜々として話しています
M: 開発の話自体が「お楽しみ」ということですね
S: 仕様に関してもどしどし意見を述べてくれますし、議論が白熱するのもしょっちゅうです
M: そういう議論はどうやって落とし所を見つけてますか?
S: ひたすらがんばりますw
S: PMとしては案件のために開発者を説得することもあれば、お客様を説得することもあります
呑み会よりランチパーティ指向
H: 呑みを強要する文化はそもそもBPSにまったくありませんが、Webチームと比べると明らかに呑みの頻度が少ないですね
S: 最近アプリチームって歓迎呑み会やったっけ?
M: www
S: 呑み会があればみなさん来るんですけどね
S: お酒弱い人多いですし、ランチパーティの方が中心かな
Q: アプリチームではどんなスキルセットの人を求めてます?
S: 高い専門性を備えて、かつ自分の仕事を完成させられる人ですかね
M: どんな専門性が求められてます?
S: そのときによりますが、やはりAndroid、Javaができる方が欲しいです
Q: 特定のフィールド(画像処理、圧縮、ハードウェアなど)に強い方はどうでしょう?
S: それでいうと、まずCSSの仕様やブラウザの挙動に詳しい人、超縦書に参加できるスキルのある人が欲しいです
H: コーディング以外にも、フォントの詳細仕様に詳しい方、組版・印刷・出版関連の知識や経験ある方もよいですね
M: 英語は必要ですか?
H: 英語資料を読む機会は多いです
S: みなさんだいたい普通に各種英語資料を読んでますしね
Q: コードの品質については?
M: アプリチームはソースコード品質に対して特に意識が高い印象がありますが
H: そうですね、皆さん「動けばいい」ではなく常に美しい設計を目指してます
M: CSSの基礎的な部分をきちんと押さえている方が望ましいですよね?
S: もちろんです、Javaの仕様に詳しい方は大歓迎です
S: kawawaさんは公式資料を読まないひとにはブチ切れますねw
Q: スキルセットとは別に、どんな気質の方がアプリチームに向いてますか?
S: ただ言われたとおりにやるのではなく、PMにどんどん意見を出してくれる方がよいです
H: お客様のために開発していることを押さえたうえであれば、技術にとことんこだわるのはもちろんOKです
Q: 新卒の方や転向志望者へのメッセージをどうぞ
M: Androidをこれからやってみたい新卒の方や、Webからアプリに転向したい方にお伝えしたいことがありましたらお願いします
H: どんなものでもよいので、実際に動く成果物を見せてください
H: 転向はまったく問題ありません、AndroidからiOSへの転向とか
S: 実はAndroid枠で応募される方が意外に少なくて、AndroidとiOS両方できる方となるともっと少ないので、大歓迎です
M: Xamarinできる方も歓迎ですか?
S: もちろんです、babaさんはXamarinも使っています
H: Macアプリ開発者がぜひ欲しいです!今はほぼbabaさんが一人でやっていますので
S: Macアプリがメインでなくてもよいので、書ける方・書いたことのある方を求めています
Q: 最後に志望者のみなさんにお気楽なメッセージなどありましたらどうぞ
S: 呑み会幹事の好きな方、レクリエーションに参加したい方、歓迎しますw
H: 恒例のBPSゲーム大会は今のところWebチームの方が多いので、アプリチームからの参加者が増えるととってもうれしいです
H: BPSは成果さえ出せていれば余暇活動は自由ですので
M: 本日はお忙しい中お時間をいただきありがとうございました
- BPSはW3Cの日本代表メンバーとして2014年度よりCSSの仕様策定に参加しています ↩
- CSS Working Groupが行う、対面での仕様議論ミーティング(詳細: https://wiki.csswg.org/planning/tokyo-2017 -- 随時更新されます) ↩
- Guardianはブラウザビューアー用の暗号化コンテンツ配信サーバーです ↩