CircleCI Meetup #1 開催レポート

こんにちは。SWET(Software Engineer in Test)の栗田です。

弊社SWETグループは、

  • DeNAサービス全般の品質向上
  • DeNAエンジニアの開発生産性向上

の2つのミッションのもと、ソフトウェアテストの自動化や、エンジニアの生産性向上のためのツールの開発・導入などを行うソフトウェア・エンジニアの集団です。

これらの取り組みの一環として、弊社では開発プロセスに継続的インテグレーション(Continuous Integration、以下CI)を早くから導入してきました。
近年、プロダクトの開発サイクルがどんどんと短くなっていくにつれ、その中で品質を担保する手段の一つであるテスト自動化と、それを開発プロセスに含めるCIは、開発に必須の要素となっています。

CIを実装するCIツールは世の中に数多くありますが、その中でもJenkinsは、フリーかつオープンソースであることや、豊富なプラグインによる柔軟性などから、CIの世界ではデファクトと言っていいほど広く使われています。
弊社でも、これまでJenkinsを利用して数多くのプロダクトのCIを実装してきました。

しかし社内のプロダクトが多様化することにより、開発プロセスそのものも多様化し、かつ開発サイクルが短期化するにつれ、Jenkinsを利用する上でのデメリットも顕在化してきました。

1.Jenkins構築の大変さ

Jenkinsはその柔軟さにより、様々な開発プロセスにおいてCIを実装可能です。反面、インストールした初期の状態から、実際に使い始められる状態にするまで、数多くの設定を行わねばなりません。この設定の多さが、素早くCIを始めたいプロジェクトでは障害となっており、開発開始と同時にCIを導入できない原因の一つとなっていました。

2.Jenkins運用の大変さ

開発プロセスが多様化すると、1台のJenkinsですべての開発プロセスに対応することが困難になります。
そのため、各プロジェクト向けにJenkinsを構築し、運用することになります。Jenkinsの運用では、プロダクトのビルド・テストに使うミドルウェア・フレームワークを定期的にバージョンアップする必要があります。
特にスマホアプリ開発では、android-sdkやXcodeなどを新バージョンが出るたびにインストールし、かつ古いバージョンも維持しておく場合がほとんどです。こういった作業は、ほぼすべてのプロジェクトで行う必要があり、そのコストはバカになりません。

これらの問題を解決すべく、SWETグループでは、

  1. Jenkinsへの機能追加を基本とした、新しいCIツールの開発
  2. クラウドCIツールの導入

の2つを進めています。

今回は、2. のクラウドCIツールの導入について、様々なツールの評価を行った結果、CircleCI Enterpriseを導入することとなりました。

CircleCIは、Githubと連携できるコンテナ型のCIツールです。ここでのコンテナ型とは、近年急速に普及しているコンテナ仮想化技術を使い、ビルドごとにコンテナを割り当てることで、各プロジェクトに独立したビルド環境を提供するタイプのツールを指します。
CircleCIでは、コンテナのベースとなるOSイメージに、よく利用されるミドルウェア群があらかじめインストールされており、初期セットアップが不要です。またデフォルトのミドルウェア群に含まれていないものでも、circle.ymlとよばれる設定ファイルに追加ミドルウェアを記述し、Githubのリポジトリに含めることで、容易に追加できます。
また社内に1台セットアップし、各プロジェクトで共有するため、管理コストを集約することもできました。

CircleCI Meetup 当日の様子

今回、CircleCI社のメンバが来日することに合わせ、弊社でのCIツールに対する取り組み紹介や、日本国内のCircleCIユーザの交流・技術共有などを目的に、弊社主催という形でCircleCI Meetupを開催いたしました。

Meetupでは、まずCircleCIエバンジェリストKevin Bell氏より、CircleCIの便利な機能の一つである、ビルド実行コンテナへのSSHログイン機能についてや、実行したテストの情報を閲覧するテストメタデータな機能などについてご紹介頂きました。
他CircleCIの機能については、公式ドキュメントがございますので、そちらをご覧ください。

次に、私から弊社でのCircleCI導入に至る経緯をお話させていただきました。

その後、CyberAgent社よりstormcat24さんにお越しいただき、同社でのCircleCI導入後、どのように活用されているかなどについてお話頂きました。弊社より先に導入されていることもあり、社内での導入推進や、その際に気をつける点など、頷くところが多く、今後の参考にしていきたいと思いました。

上記3つのセッションのあと、乾杯を挟んでLTがありました。事前応募のLT枠の方に加え、当日飛び込みのLTもあり、大変盛り上がりました。

  • はてなブログへの自動投稿
  • GCP/GKEへのデプロイ
  • CircleCIクライアントアプリ「CI2Go」(iOS)
  • 何台ものサーバへのセキュリティアップデートの適用
  • CentOSへのCircleCI Enterprise構築 ...など

どのテーマもこれまで見たことがない事例ばかりで、非常に興味深かいものでした。
当日の発表資料は、こちらのイベントページよりご覧いただけます。

circleci_meetup_1_1.JPG

満員のセッションの様子

circleci_meetup_1_2.JPG

会場で配られたCircleCIステッカー

circleci_meetup_1_3.JPG

参加者からの質問に答える Kevin Bell 氏(写真中央)

今回は130名の参加枠にかかわらず、キャンセル待ちが出るほどの応募があり、当日残念ながらご参加頂けなかったみなさまには大変申し訳ありませんでした。
しかしながら、これほどの多くの応募があり、改めてCircleCIの人気を実感いたしました。
また懇親会の中で、Jenkinsに対する課題や、CIをどうやって社内で広めていくかなどについて、参加者の方からたくさんの質問を頂き、私自身、企業内開発におけるCIについて、改めて考える機会をいただきました。

終わりに

SWETグループでは、CIだけでなく、プロダクトの品質向上・エンジニアの開発生産性向上に日々取り組んでいます。また、この役割に積極的に取り組んでくれる仲間を探しています。興味のある方は、ぜひこちらの募集をご覧ください!

最後に、今回のMeetup主催に快く協力いただいたCircleCI社メンバ、また会を盛り上げていただいた発表者の方に、厚く御礼申し上げます。
ありがとうございました!!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2016のセッション動画を公開しました!

dena_techcon_2016_logo

TechCon 2016のセッションをスライド・動画アーカイブでご覧いただけます!

こんにちは。Iketakiです。

1/29に開催されました DeNA TechCon 2016 の動画アーカイブを公開いたしました! (※DeNA TechCon 2016については、こちらの記事などをご覧ください)

イベントの公式HP内の「SCHEDULE」より、各登壇者の当日のスライドと、動画アーカイブをご覧いただくことができます。

スライド・動画へはこちらから!

capture

(公式HPに遷移します)

また、動画は、YouTubeのDeNA Channelからもご覧いただけます。

当日ご来場することができなかったみなさまや、セッションにご興味のあるみなさまは、ぜひスライドや動画をご覧いただければと思います。

イベントレポートはこちらから!

当日の会場の様子や各セッションの要点を、以下の開催レポートにまとめております。 こちらもぜひご覧ください。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2016 開催レポート【4】

こんにちは。SWETの加藤です。

1月29日、DeNAは技術カンファレンス「DeNA TechCon 2016」を開催いたしました。 DeNAエンジニアブログでは数回に渡りその内容を振り返り、発表がどのようなものだったかをご紹介します。

第4回となる本記事は、以下の講演についてのものになります。

DeNAが取り組む Software Engineer in Test

品質向上と開発生産性向上を目的とした、SWETという部署が紹介されました。

登壇者はSWETの NAKAGAWA MASAKI ( @ikasam_a )です。

3A4A4959.JPG

GoogleでのSET(Software Engineer in Test)に由来するSWET(SoftWare Engineer in Test)の役割や、DeNAでSWETが発足してから現在までの歩みが語られました。

SWETではブラウザテストを自動的に実行するSeleniumがよく使われており、Seleniumを実際のアプリケーションテストに導入する手順やTIPSを解説するSelenium実践入門にSWETのメンバーが執筆に参加しているそうです。

また、SWETが扱っている最新の案件として、スマートフォンアプリのテストを管理・実行する、STFというデバイスファームが説明されました。このSTFはCyberAgent社発のオープンソースのプロジェクトで、Android端末を管理し、ブラウザから操作できるという機能を持っています。SWETではこれをモバイル自動テストに導入するため、v2.0.0で追加されたAPIを実装しました。

最後は、SWETというキャリアパスについての話題となりました。SWETはまだ認知度は高くないが、開拓すべき新技術が多く、アーキテクトに繋がるひとつの道である、という見解が述べられました。

スライドはこちらからどうぞ: DeNAが取り組む Software Engineer in Test

DeNAの分析を支える分析基盤

DeNAのサービスにおいてユーザの志向や反応を分析する分析推進部から、弊社の YAMADA KENSHINが登壇しました。

IMG_8837.JPG

アナリストに求められる役割や、現在のDeNAの分析体制、分析基盤のこれまでの歩みについてが話されました。DeNAではもともとサービスの開発チームが評価・分析を行っていたのですが、モバゲーが急成長するにつれて、分析の専門チームが必要とされるようになってきたそうです。2010年に専門組織が発足し、大量のログからユーザ行動を分析するために、HadoopやVerticaなどを導入しながら、増大するデータに対処してきたのだとか。

さまざまなサービスの分析を行う全体構成についても説明されました。ログの回収と監視、集計バッチのフロー、分析結果の可視化のために、CassandraやStorm/HBaseを組み合わせて使っているとのこと。また、KPIレポートを作成するために、Argusという内製のレポートツールを開発したそうです。

また、分析にとどまらないデータ活用の取り組みとして、ハッカドールのような推薦システムが紹介されました。ユーザーの行動から、趣味にあったゲームを推薦したり、ファッションのテイストが似ている商品に誘導する仕組みに応用できるそうです。

スライドはこちら: DeNAの分析を支える分析基盤

これからの Microservices

理想的なMicroservicesの実現に求められるAPIやそのプロトコル、サービスのアーキテクチャがトピックとなりました。

弊社の YAMAGUCHI TORU (@zigorou)の発表です。

3A4A5470.JPG Microservicesの概念と、その目的、利点と欠点、実現するために必要な要素などが説明されました。

MicroservicesとMonolithicなアーキテクチャの違いや、RESTという制約が現実の課題にどこまで有効かなど、現実のアプリケーションとRESTの思想がどう結びつくのかが語られました。また、Content Negotiation、JSON SchemaとJSON Hyper Schema、API Gateway、Access tokenなどについて、Microservicesのアーキテクチャでアプリケーションを実装する観点からの見解が述べられました。

スライドはこちらです: これからの Microservices

結びに

DeNA TechCon 2016の紹介記事は今回が最後となります。

わずか1日間のイベントでしたが、非常に濃密な時間でした。高度な内容が多く、私個人としても学ぶことが大きかったと感じます。興味を持たれたかたは、ぜひ発表のスライド資料もご覧ください。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2016 開催レポート【3】

こんにちは。IT基盤部の安武です。

1月29日に行われた「DeNA TechCon 2016」から、早2週間余りが経ちました。
2月16日現在、上の公式サイトでは、一部セッションを除くスライド資料が公開されております。
セッション動画の方はもう少し時間が掛かるようです。気になる方は公式ツイッターからの案内をチェックしてみて下さい。

さて、今回は筆者が聴講した以下の2セッションについて、かいつまんで内容を振り返って行きます。

Webを速くするためにDeNAがやっていること 〜HTTP/2と、さらにその先〜

本セッションでは、DeNA が行っている Web 基盤技術の研究開発について、特に HTTP/2 と H2O を主軸に発表を行いました。
登壇者は、H2O の主開発者 OKU KAZUHO (@kazuho) です。

発表の導入として、Web システムにおけるパフォーマンス向上の2つのアプローチが紹介されました。即ち、スループットの最適化とレスポンスタイムの高速化です。
スループット最適化の例としては、弊社の HIGUCHI (@ahiguti)が開発した HandlerSocket for MySQL についても触れられました。

3A4A4734.JPG

その後、HTTP/2 誕生の背景を示し、HTTP/2 におけるスループットの最適化とレスポンスタイムの高速化の仕様について説明しました。

OKU KAZUHO が開発する H2O は、現時点で世界最速の HTTP/2 実装と言われています。 発表では、H2O がどのように HTTP/2 を実装して、最適化・高速化を達成しているか解説しました。

発表の最後に、HTTP/2 が約束する Web の未来は明るいこと、DeNA が H2O 開発の成果を社会に還元し、HTTP/2 サーバ実装の分野で競争をリードしていることを述べました。

DeNAインフラの今とこれから

本発表は前後半の2部構成でした。
前半の「今編」では、DeNA の現在のシステム・インフラストラクチャーの概況とその運用について。 そして後半の「これから編」では、今後そのインフラ構成をどのように変えていくかと、そのねらいや意義について、発表しました。

前半 〜今編〜

登壇者は、入社4年目のインフラエンジニア KABE TOMOYA (@limitusus)です。

発表ではまず、DeNA のサービスを支えるシステム基盤のサーバ構成や台数といった概況、及びそれらを管理する人的体制について紹介されました。
その後は、主にシステム運用で使われる数々のツールや、それらの利用方法の説明に多くの時間を割きました。

最後に、DeNA インフラにおける AWS を中心としたクラウド活用の事例を紹介し、オンプレミスとの比較について見解を述べました。

3A4A4990.JPG

後半 〜これから編〜

後半には、IT基盤部部長の ONO ATSUSHI が登壇しました。

発表の導入には、2つの数字を紹介しました。 1つ目は、IT基盤部が2015年に関わった新規案件の数、そして2つ目は、IT基盤部が関わる事業ドメインの数です。

3A4A5008.JPG

多くの案件を少人数で運営していくには、Deep なものを Deep にしていくだけでなく、Easy なものを Easy に運用するための工夫が必要になります。
本発表では、主に後者の点にフォーカスした今後の取り組みについて紹介しました。

具体的には、OpenStack、Ceph、LBaaS といった要素技術を組み合わせて、オンプレミス上にプライベートクラウド環境を構築し、既存システムをリプレースしていく取り組みを行っていく方針です。

結びに

今回、紹介した2セッションは、現在の私の業務範囲にも非常に近いものです。
上手く紹介できたかわかりませんが、ご興味を持たれた方は是非、スライド資料や、今後公開される発表動画も合わせてご覧ください。

来週もまた、別セッションの振り返り記事が投稿される予定です。
そちらも、どうぞお楽しみに。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2016 開催レポート【2】

こんにちは。SWETの加藤です。

1月29日、DeNAは技術カンファレンス「DeNA TechCon 2016」を開催いたしました。 DeNAエンジニアブログでは数回に渡りその内容を振り返り、発表がどのようなものだったかをご紹介します。

第2回となる本記事は、以下の講演についてのものになります。

カンファレンス全体を紹介する、前回の記事はこちらです

DeNAのゲーム開発を支える技術クライアントサイド編

弊社の BONO HIRONORI による、HTML5のブラウザゲームの基盤技術の発表です。

DeNAがパートナーに提供している、CreateJSベースのゲームエンジン CreateJS-Lite(仮)と、さらにネイティブAPIを使うことにより高速化したCreateJS-Lite Acceleratorが紹介されました。

CreateJS-Lite(仮) Acceleratorは近日リリース予定のラプラスリンクに使われています。

ちなみに、CreateJSはオープンソースのJS製ゲームエンジンで、CanvasなどHTML5の機能を利用したブラウザゲームを開発できるものです。

発表概要

3A4A4616.JPG

CreateJS-Lite(仮)と CreateJS-Lite Acceleratorは、ネイティブアプリ並の品質を、ブラウザゲーム並の開発費で作るために作られているとのこと。

なお、CreateJSの実行速度を10倍にする(!)というミッションで作られたそうです。

CreateJSはもともとCanvas 2Dで画像を描画しているが、CreateJS-Lite(仮)ではCanvasではなくWebGLやNative OpenGL ESを使うことで高速化したらしいです。また、サウンドも、CreateJSで使われるWeb AudioやHTML Audioだけでなく、OpenSL ESも使うようにしているのだとか。

さらに、CreateJS-Lite(仮)では、キャッシュにIndexedDBを利用しているそうです。IndexedDBはバイナリを扱えるので、それを使って画像や音声をキャッシュしているんですね。

ただ、CreateJS-Lite(仮)はCreateJSの100%互換ではなく、バグもあるそうです。たとえば、メモリ使用量が多くなり、CSSアニメーションみたいなCPUを使う機能と同時に使いにくいなど課題もあるのだとか。そういった事情から、CreateJSアニメーションの負担を軽くしたり、不要なCreateJSオブジェクトを削除するなどの工夫をゲーム開発者にしてもらっているそうです。

CreateJS-Lite(仮) AcceleratorはCreateJS-Lite(仮)を更に高速化したものです。こちらはネイティブAPIを直接呼び出しているため、理論上はネイティブアプリと同等の処理速度が出せるようになっています。

感想

スピーカーのユニークな人柄が表れた発表でした。「CreateJSの速度を10倍にする」と聞いたときは本気かこの人はと思ったものですが、やろうと思えばネイティブアプリレベルまで高速化はできるんですね。驚きました。

スライドはこちら: DeNAのゲーム開発を支える技術 (クライアントサイド編) from denatech2016

DeNAのゲーム開発を支えるGame Backend as a Service

Sakashoという、社内で開発・運用しているBaaSについての発表です。Sakashoはネイティブアプリゲーム開発のサーバサイドを担当するもので、これさえあれば、ゲーム開発者がサーバ側の開発をほぼしなくてもよくなります。

Sakashoという名前が表に出るのは今回初めてとのこと。妙なネーミングですが、これは日本酒のプロフェッショナルを意味する「酒匠」からとったようです。

なお、当初は弊社の YOKOTA TAKEHIKO (@i_am_skirnir) が発表する予定だったのですが、スピーカーを交代して HARUYAMA MAKOTO (@Spring_MT) の発表となりました。

発表概要

IMG_8648.JPG

Sakashoはゲームのサーバサイドを担当するが、それをクライアントで利用するためのSDKも提供しており、課金・Push通知などOS依存の機能も用意しているそうです。ランキング、掲示板、ギルド、ログインボーナス......。「スマートフォン向けゲームならあるだろう」という機能が一通り揃っているとのこと。

Sakashoを開発するにあたり、最初からMicroservices的な設計で開発していったのですが、そのことを今は後悔しているそうです。

まず、Microservicesは運用工数がけっこうかかるとのこと。Sakashoチームは10人前後で構成されているのですが、担当を細かくわけてはおらず、全員が全部を見る状態になっていて、結局管理工数が大きくなってしまったのだとか。今では「最初はモノリシックな作りにして、あとで必要になってから分けたほうがよかった」と考えているそうです。

また、Sakashoの開発言語にはRubyを選択したそうです。DeNAはPerlの会社のイメージが強かったが、Rubyで開発、運用をこなしているメンバーが多かったし、フォローできる人材もいたため、Rubyを採用できると考えたのだとか。

ただ、Perlで作られた資産をRubyに移行するにはそれなりの苦労もあったようです。たとえば、DeNAで使っているdaemontoolsでRubyのWebアプリケーションを管理するための仕組みを作ったこと(詳しくは 「Server::Starterに対応するとはどういうことか」の補足 に書かれています)や、社内でのPerl Webアプリケーションと同様の運用体制を実現するために、UnicornのWorker状態監視ライブラリやUnicornのデバッグ用ライブラリを作ったことなどが話題になりました。ほかにも、社内Rubygemsサーバーを構築したり、社内アプリ配信ツールのIotaをRailsで作って、社内での実績を作ってRubyへの信頼を高めていったそうです。

感想

Sakasho便利そうですよね。これがあったら、面倒な、それでいて必要不可欠な作業がかなり省略できて、ゲーム開発が楽になりますね。

Microserviceの失敗について、率直な振り返りがなされたのが印象的でした。開発の初期段階ではモノリシックに作ったほうが効率が良くなってしまうのですよね。設計をMicroservices的にするかはよく考えてからのほうがよく、もしもMicroservicesにするのなら、軌道に乗ってからにすべき、という教訓が得られました。

そういえば、先日開催されたCookpad TechConf 2016で、巨大なモノリシックアプリケーションとなったサービスの分割に関する発表がありました。こちらの発表では、モノリシックなアプリケーションを分割するのに苦労したという話だったのですが、開発効率の観点からすれば、開発の初期ではモノリシックに作ったほうがよく、最初期にモノリシックなサービスにしたのはむしろ大正解だったのではないかなと思いました。

また、開発言語にRubyを採用した結果、自分たちでRubyのライブラリをたくさん作ることになったというエピソードも興味深いです。Webアプリケーションの開発といえばいまや「とりあえずRubyでRails」と考えてしまいがちですが、案外、PerlにあってRubyにないライブラリがあったりするのですよね。欲しいライブラリがRubyにないとき、自分たちでライブラリを作れる技術力がSakashoチームの強みになっていることがわかりました。

スライドはこちら: DeNAのゲーム開発を支える Game Backend as a Service from Makoto Haruyama

他の来場者の方のまとめ

DeNA TechCon 2016をブログ記事にまとめてくださった方もいます。ぜひこちらもご覧ください。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2016 開催レポート【1】

こんにちは。IT基盤部の安武です。
去る1月29日、DeNA で初となる技術系カンファレンス「DeNA TechCon 2016」を開催いたしました。
当日は雨天にも関わらず、のべ1000人以上の方々にご来場いただきました。ありがとうございました!

さて、本エンジニアブログでは、これから数回に分けて「DeNA TechCon 2016」の内容を振り返り、紹介していきます。
第1回となる今回は、カンファレンス全体の進行や内容を、ざっと振り返りたいと思います。

進行

カンファレンスは、以下のような流れで進行しました。

  • オープニング
  • 講演(4トラック×4〜8本)、及び カジュアルトーク
  • クロージング
  • 懇親会

前日までの準備やリハーサルを積み重ねたおかげで、特に大きなトラブルもなく、スムーズに会を進行することができました。

内容

まず、オープニングでは、弊社の執行役員システム本部長である木村から、カンファレンスの概要と意気込みをお伝えしました。

IMG_8531.JPG

続くメインの講演の内容について、各トラックのコンセプトを簡単に紹介します。

  • 会場A「DeNAが切り拓く最前線」 ... HTTP/2 や Software Test など、業界の中でも比較的新しめの技術トピックについて、DeNA の直近の取り組みを発表しました。
  • 会場B「DeNAの新しい挑戦」 ... VRサービスや自動運転など、DeNA の様々なサービスにおける技術的挑戦について紹介しました。
  • 会場C「DeNAを支える技術」 ... DeNA の数多くのサービスを支えるインフラや技術基盤について発表しました。
  • 会場D「DeNAのゲーム開発」 ... DeNA の主力事業であるゲームについて、開発技術の変遷や要素技術に関するセッションを行いました。

一部を除く発表の動画や資料は、追って「DeNA TechCon 2016」のサイト上で公開される予定です。

講演の裏では、会場の1部屋を使ってカジュアルトークの発表を行っていました。
「新卒エンジニアから見たDeNA」「シニアエンジニアから見たDeNA」という2つのお題で、何名かのエンジニアに各々のテーマでトークを行ってもらいました。

IMG_8441.jpg

IMG_8744.jpg

そして、クロージングでは弊社取締役の川崎から、本カンファレンスの総括と謝辞を述べました。

3A4A5563.JPG

その後は、会場のレイアウトを一部変更して、懇親会が催されました。
お寿司やビールなどの飲食物が提供され、和やかな雰囲気で交流が行われました。

簡単でしたが、以上で今回の振り返りは終わりです。

次回以降は、私や他の社員が実際に聴講したセッションについて、ピックアップして内容を紹介します。

紹介するセッションを直にお聞きになった方には、新しい内容はないかと思いますが、「気になっていたけど見られなかった」というものがありましたら、次回以降の記事もご覧いただければ幸いです。

おまけ

カンファレンス当日の様子がわかるような写真を、何枚か掲載しておきます。

20160129_110852.jpg
通路の展示物
IMG_8353.JPG
会場で配布したノベルティの一部
IMG_8385.JPG
ロボットタクシー実験車両
IMG_8498_m.jpeg
会場Aのオープニング前の様子
IMG_8919.JPG
会場Bでの発表のグラフィック・レコーディング
IMG_8301_m.jpeg
スタッフ集合写真

多数のご来場をいただき、ありがとうございました!!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

Global Scrum Gathering Prague参加レポート#1

こんにちは。貝瀬です。 ヒューマンリソース部門で、組織開発や人材企画を担当しています。もともとはエンジニア畑の出身でして、4年ほど前に自部門の開発プロセスを改善することを目的にスクラムを導入しました。現在は、社内でスクラムを導入したい人たち、スクラムを実践するなかで困っている人たちをサポートする立場でスクラムに関わっています。

11/16〜11/18の3日間、国際学会派遣制度を利用して、プラハで行われたGlobal Scrum Gatheringに参加してきました。今回のブログでは、1日目に出席したセッションについてレポートします。

Scrum Gathering について

スクラムギャザリングは、大きく分けて、トーク型セッション、ワークショップ型セッション、オープンスペースから構成されるイベントです。Globalを冠するスクラムギャザリングは、ヨーロッパ、アメリカ、その他の地域でそれぞれ1回ずつ、年間3回開催されています。私見ですが、ヨーロッパはスクラムを取り巻く組織や人のテーマが多く、アメリカはスクラムフレームワークそのものやスクラムと相性の良い技術のテーマが多いようです。

ギャザリングが行われたホテルはこんな雰囲気でした。プラハの旧市街という場所にある、観光に便利なロケーションです。 IMG_2221.JPG

メイン会場です。場所が遠いせいか、アジア圏から参加した方は少なめでした。 IMG_2211.JPG

Organizing for Complexity

Evernote Camera Roll 20151124 200238_1.jpg

Speaker : Niels Pflaeging氏 Session : Opening Keynote

1日目のオープニングキーノートです。ダイナミックに変化する複雑な市場環境において、ビジネスで成功を収めるためにどのような組織であるべきかという話がされました。

Evernote Camera Roll 20151125 173042_1.jpg Evernote Camera Roll 20151125 173042_2.jpg

従来の組織の形を左側の図(Industrial Age)とすると、Niels氏の提唱する組織の概念は右側の図(Knowledge Age)となります。Knowledge Ageの組織では、意思決定の権限と顧客とのコミュニケーションを中央層(マネジメント)から外層(現場)に非中央化しています。外層に所属する人たちが市場とのコミュニケーションを通じて学習しながら、意思決定を行っていきます。中央層の人たちは、外層の人たちを必要に応じてサポートします。外層と中央層の人たちの役割は、動的にスイッチします。

Evernote Camera Roll 20151124 200238_2.jpg

このモデルでは、意思決定をするためのナレッジと権限が組織の隅々に分散され、ハイパフォーマンスな組織が実現できるそうです。概要は理解できたのですが、どのようにして実現するのかはまだイメージができていません。書籍も頂いたので、じっくり読み込んで理解を深めたいと思います。

SlideShareにスライドも公開用されています。

From Non-Violent Communication to Potential-Focused Communication

Speaker : Ralph Miarka氏 Session : Talk

コミュニケーション手法に関するトークセッションです。Non-Violent Communication(非暴力コミュニケーション:NVC)とソリューションフォーカスという2つのコミュニケーション手法を組み合わせたものが、Ralph氏の提案するPotential-Focused Communication(ポテンシャルフォーカスコミュニケーション:PFC)ということでした。

NVCでは4つの要素に着目してコミュニケーションを行う手法です。

  1. 観察(Observation)
  2. 感情(Feeling)
  3. ニーズ(Need)
  4. リクエスト(Request)

PFCでは、より解決策に焦点をあてるため、以下のようなコミュニケーションになるようです。

  1. Preferred Observation
  2. Preferred Feeling
  3. Need
  4. Solution-Focused Question

例が示されないと分かり難いですね。ということで、Ralph氏が紹介していたサンプルも掲載します。

  1. When I'll see that {preferred observation}
  2. Then I'd be {preferred feeling}
  3. Because I value {need}
  4. {Open question} e.g. How could we manage that?

※ 適当な日本語訳が用意できずすみません...

相手との関係性改善、問題の早期解決促進に有用なコミュニケーション手法だということです。色々な方と1on1ミーティングをすることが多いので、今回紹介した4つの要素を意識したコミュニケーションも実践してみようと思います。

Looking Beyond Agile - Using Customer Experience Management (CEM) to Build the "Right" Product

Speaker : De Gregorio, Biase氏 Session : Talk

Evernote Camera Roll 20151207 132158_1.jpg

スクラムでは、 Build the right thing(正しいモノを作る)のはプロダクトオーナーの役割、Build the thing right(正しくモノを作る)のは開発チームの役割と定義されています。本セッションでは、正しいモノを作るための方法論として、CEM(Customer Experience Management:顧客経験管理)、特にSCO(Successful Customer Outcome)についての紹介がなされました。

SCOはリーンキャンバスと似た用途で用いられるようで、SCOにアラインするようにフィーチャーを定義したり、MVP(Minimum Viable Product)を定義したりするようです。

Evernote Camera Roll 20151207 132158_2.jpg Evernote Camera Roll 20151207 132159_3.jpg

こちらも資料が公開されています。

まとめ

1日目に参加した3つのセッションを、簡単にレポートさせていただきました。次回は残りのセッションをお届けします。

雑記

チェコは個人的に大好きな国の一つです(縁あって、プラハは今回で二度目の訪問となります)。あまりなじみのない国かもしれませんが、日本人に親しみの深いラガービールやピルスナービールは、チェコが発祥だと言われています。ビールに合わせて作っているせいなのか分かりませんが、料理も日本人の口に良く合います。周りに海がないせいか、肉料理が主体です。観光客向けのお店は例外ですが、ビール1杯100円〜200円、メインディッシュ1皿500円程度でお腹いっぱいになることができます。夕食にお腹いっぱいビールと食事を頼んでも、2000円はかからない計算ですね。

次回の雑記ではチェコの町並みをレポートしたいと思います。

専用のビールグラスで提供されるお店が多いです。このサイズだと100円代で飲めます。 Evernote Camera Roll 20151207 195207_1.jpg

メインディッシュにはだいたいクネドリーキ(茹でパン)がついてきます。これが案外美味しいんです。 Evernote Camera Roll 20151207 195207_2.jpg

ザワークラウト(キャベツの酢漬け)のスープです。飲んだ日の翌朝に最高なのですが、これを食べているとまた飲みたくなってきます。 Evernote Camera Roll 20151207 195207_3.jpg

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

げんなま「Anyca」版開催レポート

anyca.jpg

こんにちは、エンジニアの新卒採用を担当している福島です。
先日、学生エンジニアを30名程度お招きして、「現場の生々しい話を全力で届けます」というイベントを実施しましたので、その内容をお伝えします。

今回の登壇者

先日リリースした、個人間のカーシェアリングサービス「Anyca」のサービス責任者とエンジニアが登壇し、開発の舞台裏や、新規事業立ち上げを行う際の苦労などをお伝えしました!

IMG_9590__.jpg

  • 大見(Anyca サービス責任者)
  • 馬場(Anyca エンジニア)
  • 南場智子(司会者)

DeNAが自動車産業に進出した背景は・・・?

ロボットタクシーや駐車場のシェアリングサービスなど、多くの人から注目を集めているDeNAの自動車産業進出。
立ち上げに関わった大見から、この意志決定の背景を伝えました。

短期の利益を追うビジネスだけでなく、中長期で市場を変えるような経営へシフト

eコマース、モバイルゲームなど、比較的短期で大きな売上を作ってきたDeNAですが、ここ数年で、短期的な売上・利益を追う事業だけでなく、時間をかけたとしても市場に大きなインパクトを生むことを目指す事業にも力を入れようと経営方針がシフトしてきています。

既存産業への進出、第一弾はヘルスケア領域

DeNAは2014年に、ファウンダーの南場主導のもと、ヘルスケア領域に進出し、遺伝子検査サービスMYCODEをスタートしました。ヘルスケア事業も、短期的な売上ではなく、インターネットの力で市場を変えようとする中長期的な投資事業の一つです。

2014年にもう一つ、新たな試みをしようと、大見と執行役員の中島が農業や教育など、あらゆる産業を調べ、最終的に辿り着いた結論が、自動車産業でした。

なぜ、自動車産業?

自動車産業は、新車の販売額だけでなく、中古市場、整備市場、カーナビなど、どれをとっても兆円規模の市場です。
また、自動運転技術やシリコンバレー発の新たなメーカー、サービスにより、今後10~20年かけて、世界中で大きな変革が起きようとしている市場でもあります。

この変革は、メーカーやインターネット企業などどれか一つのプレイヤーだけで推し進められるものではなく、保険や法律など、数多くの関係者と一緒に進めて行かなければいけないものです。
DeNAはユーザとの多くの接点を持つことを強みとしながら、これらの関係者と歩みを揃え、一緒に改革を推し進める役割を担うことにしました。

Anycaの目指す世界

anyca_.png

Anycaは2015年9月にリリースしたユーザ間のカーシェアサービスです。他のユーザが登録した車を比較的安価で利用することができます。

中には、レンタカーショップなどではなかなか借りれないようなこだわりの車も多数登録されています。利便性を追求した大衆車だけでなく、オープンカーやスポーツカーなど、車に乗ること自体をもっと気軽に楽しんでもらうことがAnycaの狙いです。

実際、多くのドライバーに喜ばれているだけでなく、オーナーとしてAnycaに登録している馬場自身も、「月々の駐車場料金くらいは、Anycaで賄えるようになった」とのこと。
Anycaを通じて自動車をシェアすることで、もっと気軽に2台目の車を買ったり、1グレード上のクルマを購入したり、車の"所有"のあり方を変え「人と車の関係性を、もっと気軽で楽しい物にしたい。」という目標を追い求めています。

リリース初期の手応えは?

色んな車を運転することを楽しんでもらえるという手応えは掴んでいると、馬場が嬉しそうに語ります。
「Anycaでは利用した車のレビューを書けるんですが、そのレビューを見ると本当に喜んで使って貰っていることがわかるので、いつもDBでselectして、開発の励みにしていました。自分だけ楽しんでいるのは申し訳ないので、最近は社内用の管理ツールで新着レビューを見れるようにして、みんなで励みにしています。」

新規事業立ち上げに必要な開発の数々

baba_slide.png

Anycaの立ち上げは取締役の川崎と馬場のタッグで進められました。
各アプリや開発中のスマートデバイスなど、ユーザが触る部分の開発は川崎が、それ以外の開発は馬場が、という役割分担をしました。

「それ以外」とは?

新規にサービスを立ち上げるとき、ユーザから見えない部分の開発がかなり沢山必要になります。
Anycaで馬場が行った開発の一部を抜粋すると、以下の様になります。

  1. 開発環境の準備
  2. 本番環境のリリース方法
  3. 各種キャンペーンサイト
  4. 保険システム連携
  5. クレカ決済
  6. ユーザーさんへの振込
  7. ユーザー/車/シェア情報管理
  8. カスタマーサポート用ツール
  9. 分析ツール
  10. Hadoop, Vertica, Argus

etc...

これら全ての表に出ない開発を、馬場一人で行いました。
考えて見れば確かに全部必要な開発ではありますが、「新規事業開発」という華やかなイメージの言葉からは想像できないくらい地味で、しかし失敗が許されない仕事が山ほどあり、会場の学生さんも若干引き気味になるほど、生々しく開発の大変さが伝わりました。

その中でも、自動車運転に必須な自動車保険とのつなぎ込みについては、安全に保険会社のシステムと連携するために、インターネット業界ではなかなか見ないような大量の仕様書をベースに開発しました。
DeNAは既存産業・企業との協業を強みにする会社なので、自分たちのやり方を変えて相手に合わせることも求められます。

時には考え方の違いで先方とぶつかったりもしながらも一緒にサービスを作り上げ、今では一緒にお酒を飲みに行く仲になったといいます。

カーシェアと聞いて感じるちょっとした不安を取り除きたい

発表は、馬場からの今後の抱負で締めくくりました。
カーシェアと聞くと、輸入車やオープンカーなど今まで乗ったことのない車に乗れたり、車好きのコミュニティを広げられるワクワク感とともに、知らない人が自分の車を運転することや、知らない人の車に乗ることへのちょっとした不安感も同時に抱きます。

Ayncaはオーナーインタビュー動画や、全面的なカスタマーサポートで少しでも不安を取り除くようアプローチしていますが、まだまだ不安を抱くユーザが多いことも自覚しています。

今いるユーザに満足に使ってもらいながら、多くの人の不安を少しでも取り除くことが今後の目標です。

質疑応答

今回も、多くの興味深い質疑が飛び交いましたが、抜粋して掲載します。

Q. シェアリングサービスは、自動車のオーナーがいないと成り立たないが、どのように優良なオーナーを巻き込んだのですか?

A(大見) これは今でも苦労しているところですが、最初のうちは本当に草の根活動でした。知り合いの、自動車好きの集まるコミュニティに顔を出して説明会をさせてもらって、一緒に呑みに行って、感触がよければ後日電話でまたお願い・・・というような。
そのおかげで、オーナーさんにはほんとに良くしてもらっています。数ある車の中から自分の車が選ばれることが本当に嬉しいらしく、PVやお気に入り数を毎日チェックしていたり、初めてリクエストが届いた時に喜んで電話で報告をくれたり、楽しんで使ってもらえていることが我々の励みになっています。

A(馬場) 自分自身もオーナー登録してるのですが、オーナーは利用されればされるほどアクティブになっていきますね。彼女の誕生日を祝う大切な記念日に自分の車を選んでくれた人もいて、彼女に渡す花束を持って受け渡し場所に登場したり、旅行に行った先でオーナーの自分へのお土産を買ってきてくれる人がいたり、何もしなければ車庫で寝てただけの自分の車が、他の誰かを幸せにしてることが直にわかるので、オーナーとしても、とても面白いサービスです。

A(南場) やはり抵抗がある人がいるというのも理解できますね。でも、日本にある自家用車全体の1%でも登録してくれればそれだけで数十万台の登録になると考えると、シェアリングエコノミーは実は非常に少数のサポーターが支えている世界なんですよね。
その、少数のサポーターたちから熱狂的な指示を得ているという点で、Anycaはとても期待されています。

Q. 新規事業の立ち上げには、強いビジョンや想いが必要だと思っていたが、Anycaに着手したきっかけが市場や数字ということで、ちょっと意外でした。折れそうになった時、どうやってモチベーションを維持するんですか?

A(大見) たしかに、数字が先行した事例ではあるが、チームのサービスへの想いは強いです。
今は、普段乗れない車に乗った時の感動を広げたいと本気で思っています。また、"絶対これを成し遂げたい"という想いがモチベーションの源泉になる人もいれば、"何か大きな事業を成功させたい"という人もいて、モチベーションの源泉は人それぞれで良いと思っています。

A(南場) DeNAの社内でも、想い先行で走っているプロジェクトもあれば、数字先行で走っている物もあります。MYCODEなんかは、完全に私の想いから始まっていますが、遅かれ早かれその市場を攻める価値があるか、DeNAがやる意味があるかはしっかりと調査・検証します。
逆に数字先行の場合でも、結局は徐々に既存のメンバーが想いを強くしたり、社内から、「実は自分もやりたかったんだ!」というようなメンバーが集まってきて、想いが醸成されていますね。

おわりに

自動車産業への進出だけでなく、大手との協業に求められること、新規事業創出に求められることがリアルに伝わる、げんなま史上もっとも生々しい会の一つだったと思います。

多くの鋭いご質問、ありがとうございました!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

「2年目エンジニア特集」げんなま開催レポート

こんにちは、エンジニアの新卒採用を担当している福島です。
先日行われた、学生向けイベント「げんなま」について、レポートします!

※過去のレポートも合せて御覧ください
プログラミング教育版
SHOWROOM版
MYCODE版
プラットフォーム版
キュレーション版

今回の登壇者

いつもサービスにフォーカスして行っているイベントですが、
今回は、毛色を変えて「2年目エンジニア特集」と称して、
各部門で奮闘中の3名の2年目エンジニアが登壇しました。

  • 浅見(オープンプラットフォームインフラ担当)
  • 池松( チラシル サーバサイドエンジニア)
  • 宇塚( 戦魂 Unityエンジニア)
  • 南場智子(司会者)

配属後、およそ1年半たった新卒エンジニアが、
どのような仕事を任され、どのように働いているか、
生々しくお伝えしました!

サーバサイド責任者兼スクラムマスター

IMG_8155.jpg

新人研修後すぐにチラシルに配属された池松は、
次々と起きたチーム内の無茶ぶりを伝えます。

配属後4ヶ月で、サーバサイドの大黒柱に

2014年の8月に、エンジニア研修を卒業した池松は、
そのまま現在の「チラシル」チームに配属されました。
ようやく業務を覚えてきた同10月に、当時の上司からいわれたのはこんな言葉。

12月までに.png

責任をとれる.png

配属2ヶ月で難題を受け取った池松は、今では立派にチームの大黒柱になっています。

配属後1年足らずで、プロジェクト進行管理改善のリーダーに!

次の挑戦は、エンジニア以外の職種も巻き込む、プロジェクト進行管理改善のリーダー。
今年の6月、優先順位の付け方なども曖昧だったチームの
進行管理の改善を任された池松は、周囲を巻き込んでそれを実行しました。

何をすべきか、自ら考え、周りに説明し、納得してもらいました。
そして、何より大変だったのが、実践してもらうこと。

現在池松は自ら考えた進行管理がうまく機能するように、
自らスクラムマスターとなってチームを率いています。

Mobageプラットフォームのインフラ部隊

IMG_2.jpg


研修後、インフラエンジニアとして現場配属された浅見。
配属後1年で体験してきた、DeNAならではのインフラエンジニアのチャレンジを紹介しました。

時には技術課題に敗北することも。解決すること自体が価値ではない。

浅見から紹介されたエピソードは、「技術課題を解決出来なかった」というもの。

オープンプラットフォームのサーバ運用で用いている、
メトリクス可視化ツールで起きたトラブルの話です。

欲しい機能が入ったバージョンに上げたところ、メモリリークするようになり、
それを解決するために valgrind を使ったり commit log を追ったりして原因を探りました。

結果、
ツールが利用している外部ライブラリの内部でリークしている可能性が高いことが判明し、
そこで調査は打ち切ったと言います。

このライブラリを書き換えて解決するよりも、
メモリリークが起きたときに自動で再起動するバッチを仕掛けるほうが、
時間対効果のよい解決方法と判断したのです。

インフラエンジニアは多くの場合、技術課題の解決をミッションとしますが、
やはりサービスの運用が最優先。
時には運用でカバーし、技術的に理想の解決を諦めるという判断も必要になってきます。

ミッションは、「いかに作業時間を短くするか。」

参加者からの
「みなさんはそれぞれ、どういう指標を背負っているのですか?」
という質問に対し、浅見の回答は特徴的でした。

「インフラエンジニアである自分のミッションは、自分の作業時間を減らすこと。
自分がした作業は全て会社にとってはコスト。
安全にサービスが運営されていることを前提に、
今やらないと後々のコストになる作業は今やる、
技術的にいくらチャレンジングであっても、安定運用にプラスにならないものはやらない、
など、考えながら仕事をしています。」

工数を減らすと言っても、
今やるべき作業をやらずに後回しにすると後でしっぺ返しが来て、
結果的に作業工数は増えてしまいます。

将来のことも考慮した上で、インフラエンジニアが一番働いていない状態が
サービスにとっても一番良い状態なのかも知れないと思いました。


「戦魂」のUnityエンジニア

IMG_8189.jpg

最後は、ゲーム開発エンジニアとして奮闘している宇塚です。
大学生のころからゲーム開発が好きで、そのまま職業にしたエンジニアです。

機能オーナーからAI開発まで。自分のやった仕事でユーザが喜んでくれる喜びを体験

配属後、宇塚は戦友機能や、敵AI、バトル委任モードなど、
戦魂プレイヤーなら一度は触れたことのある機能の開発を担当しました。

バトル委任モードは、プレイヤーにかわって自動でバトルをやってくれる機能です。
AIが考えなしすぎると役に立たないが、
頭が良すぎるとユーザーが自分でやる意味がなくなってしまう
というジレンマの中で、「ちょうどいいAI」を開発し、
Twitter等でも好評を頂きました。

こだわったのは「ひたすらにテンポ重視」

「戦魂」は、DeNAのゲームの中でも、リッチな表現を追求したゲームの一つです。
デザイナーが細部まで拘ってつくりあげたキャラクターが、
数多く登場します。

解像度を落とさずにキャラクターの魅力を伝えようとしたところ、
動作が激重に・・・!

戦魂のエンジニアチームは、
・通信が必要なところは、予想されたタイミングで出来るだけ早く開始
・UIはギリギリまで止めずに動かす
・頻繁に表示されることのないUIは必要になるまでメモリに載せない
など、小さな工夫を組み合わせて、ストレスをかけないアプリを作り上げています。

当然、これらの手触りについては、企画書や仕様書には書かれていません。
実際に作って、動かせるエンジニアの腕の見せどころなのです。

質疑応答

今回は、年代が近かったこともあり、働き方やそれぞれのミッションに対する質問が多かったです。

Q. 入社する前に抱いていたイメージとの違いは?

A(宇塚). もっと怒られるとおもっていました(笑)
スケジュールの遅延やバグを起こしてしまっても、あまり怒られないですよね。

A(浅見). 個人が責められるというより、チームとして、個人のミスを再発させないためにどうするか議論しますね。

A(宇塚). 結局、それでチームやユーザに迷惑がかかることはわかっているので、
怒られなくても凹むんですが・・・。

A(池松). たしかに、意外とみんな優しいです。
みんな論理的だから理詰めにされる印象をもっていましたね。

A(南場). それはみんな、チームに恵まれてるね〜。
DeNA全員がそうっていうわけじゃないからね。私なんかは・・・・(略)

(3名). ((((;゚Д゚))))ガクガクブルブル


Q. ゲームアプリ市場は踊り場と捉えられることもありますが、今後どうなっていくと思いますか?

A(宇塚). ハードの進歩を考えると、
これからもっと、スマートフォンなどみんなが持っているデバイスで遊べるゲームの可能性は広がると思っています。
「業界がどうなるか」というよりは、その技術を用いて、みんなに遊んでもらえるゲームを、
自分が作っていきたいですね。

おわりに

エンジニアとしてまだまだ駆け出しの3人ですが、
彼らがどのように働いているかは、
学生エンジニアのみなさんにとっても非常に興味深いものだったようです。

登壇など不慣れなメンバーでもあったのですが、
会場のみなさんのおかげで滞り無く開催できました!
ありがとうございました。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

Life is Tech! Tech Talk を開催しました!

こんにちは。エンジニア採用の福島です。

DeNAでは、毎月社内エンジニアの勉強会「Tech Talk」を開催しているのですが、
先日、こちらの勉強会を Life is Tech! のメンター学生さんと一緒に開催しました。

しかも、今回はエンジニアのLTのみでなく、クリエイター3名も登壇し、
現場の雰囲気や、同じ作り手としてのエンジニアとクリエイターの関わり方をお伝えしました。

長文なので、気になるコンテンツからお読み下さい!

DeNA若手エンジニアのキャリア
Unityでの大規模ゲーム開発
DeNAの最新技術への取り組み方
エンジニアとデザイナーの技術交流
DeNAのチームワーク
だから、DeNAはやめられない
サマーインターンのご紹介


DeNA若手エンジニアのキャリア

始めに登壇したのは新卒3年目のエンジニアの牧野です。

IMG_5815.jpg

入社2年目の4月にリードエンジニアになった 牧野が、なぜDeNAを選んだのか、DeNAでどんなキャリアを歩んできたのか、紹介しました。

巨大ゲームタイトルのリードエンジニア

牧野は入社2年目の4月から
当時DeNAで最大とも言われていたゲームタイトルのリードエンジニアになりました。
毎日数十万が訪問する、日本有数の巨大サービスのエンジニアチームをリードする役割です。

具体的には、チームメンバーのコードレビューや案件のアサイン、
障害対応のオーナーや他部門との窓口など、
ゲームを動かすシステム全般の責任を負います。
「このままでは2日間耐えられません」というような負荷問題も巨大サービスならではです。

プロジェクトマネージャーを経て、再びエンジニアに

リードエンジニアへの抜擢から半年たった2年目の10月からは、
エンジニアだけではなくクリエイターや企画チームもリードするプロジェクトマネージャーに。

暫く自らコードを書くことはなかったのですが、
「まだエンジニアとしては未熟、やはり自分でゴリゴリコードを書きたい」
と今月はまた違うビッグタイトルでエンジニアをしています。

成功率50%のアサインが成長の理由

このようにどんどん大きな責任を背負って来た牧野ですが、
このアサインこそ、DeNAでの成長の速さの秘訣だと語ります。

上司からの「成功率50%の仕事を敢えてアサインする。失敗したら自分がカバーする。」
という言葉が印象的とのこと。
逃げ出したくなるくらい大きな責任、裁量だからこそ、
その期待に応えようと必要な力がついてきたと振り返りました。


Unityでの大規模ゲーム開発

2人目の登壇は戦魂 を開発するUnityエンジニアの片桐。
このゲームがどのような構成・体制で作られているか、現場の雰囲気を伝えました。

どれくらい大規模??

戦魂は演出などかなり凝ったものを作っているため、DeNA社内でもかなり大規模なプロジェクトです。
プロジェクトに関わる人数は数十名。
企画、クライアントエンジニア、アーティストがそれぞれ役割分担しながら開発しています。

2D描画はNGUIを採用

スライド7.JPG

ボスを撃破したときの演出など、様々な画面をNGUIを用いて開発しています。
既存の機能では足りないところや、不具合には
自社でプログラムを拡張して使っているというような、
普段なかなか聞けない裏側の開発秘話も伝えました。

3D描画はUnityデフォルト機能をフル活用

スライド8.JPG

戦闘シーンなどは、Unityの機能をフル活用し、3Dで作成しています。
自社開発のシェーダー150個など、多くの部品で表現されています。

開発効率を上げる、自社開発ツール

スライド10.JPG

こちらのLTでは、使っている既存ツールだけではなく、
社内で開発効率をあげるために作られたランタイムデバッガや、エディタ拡張の紹介もあり、
開発現場の雰囲気を感じ取ってもらえたように思います。


DeNAの最新技術への取り組み方

3人目に登壇したのは、iOSアプリエンジニアの沖津です。
どんどん技術が進化する中で、どのような考え方で新しい技術を学び、取り入れるべきなのか
「個人の主張です」と前置きしつつも若いエンジニアに伝えました。

IMG_5827.jpg

技術はユーザに対して価値を届けるために使うもの

技術との向き合い方はエンジニアそれぞれで、
・課題を解決するための手段
・技術そのものが面白い
・技術者としてお金を稼ぐためのもの
のように上げられますが、
「技術はユーザに対して価値を届けるために使うもの」であってほしい。

「そのサービスでしか得られない体験がある」ということが価値。
その上で、「技術を磨くというのは、ユーザに提供できる価値が増える」という考え方です。

実際どうやって、新しいものを採用するの?

新しい技術が出てきたら試してみるというのは非常に大切なことですが、
やみくもにサービスに取り入れるべきではありません。

実際に取り入れる際に大切なことは
「この技術採用において何か問題が起きても、自分で解決できる」
という判断ができること。

この嗅覚は、新しい技術に何度も触れて、動かしてみて身につけていくものです。

実際の活用イメージ

クライアント:どんどん新しい技術にチャレンジ
ユーザに直接触れるインターフェースを作るクライアントのアプリケーションは、
日々進歩して、それがユーザの体験に直結しています。
業界のスピード自体も速く、新しくしていくこと自体がユーザへの価値提供と考えます。

サーバ:条件によって、慎重に判断
サーバは、安定して情報を届け続ける事こそが価値です。
技術が新しいことによる直接的なユーザメリットは、クライアントに比べると少なく、
一方で不用意な新技術導入によって大規模な事故が起きやすくもあります。
DeNAでも新しい技術はインフラ部門等で慎重に吟味して採用しています。


エンジニアとデザイナーの技術交流

ここからは、エンジニアに代わり、デザイナーの登壇。
最初に発表したのは、「チラシル」や「エブリスタ」のデザインを手がけた眞﨑。
スマートフォンのサービスを作り上げる際に、
エンジニアとデザイナーの間に発生する溝の"あるある"事例、
それを埋めるための社内の取り組みについて紹介しました。

IMG_5842.jpg

エンジニアとデザイナーの溝

エンジニアがデザイナーをどう思っているか、
デザイナーがエンジニアをどう思っているか、
わかりやすく図解しております。
スライド4.JPG

スライド5.JPG

モノづくりを阻害する溝

こちらも、スライドがわかりやすいので、そのまま掲載します。
スライド6.JPG

溝を埋めるための勉強会事例

DeNAでは、各地で自発的に、小さな勉強会が開かれています。
眞﨑の周りでも、エンジニアが講師になったり、デザイナーが講師になったりして、
お互いの技術に触れてみる勉強会を開催しています。

実際にあった勉強会事例も紹介されました。

1. AfterEffects
ゴール:アプリで利用するアニメを作れる程度
講師:デザイナー1名
受講者:デザイナー2名、エンジニア1名
結果:意外と簡単で、簡単なものなら2hくらいでできるようになった
受講動画をエンジニアが上司の送別会動画を
AfterEffectsで作っていた(仕事で使ったかは謎(笑))

2. Sketch3
ゴール:既存のアプリを真似してデザインができる
講師:デザイナー 1名
受講者:デザイナー1名、エンジニア2名
結果:MERYのUIを1.5hくらいで作れた

3. Android StuDIO
ゴール:自分のアプリをリリースすること
講師:エンジニア 1名
受講者:デザイナー2名、エンジニア3名、ビジネス1名
結果:デザイナーの眞崎が、外国人向けラーメンアプリを実装。リリース予定。

技術交流の結果

ただ知識が増えるだけでなく、ちょっとした技術交流でとても仕事がスムーズになったとのこと。

1. エンジニアが細かいデザインを気にしてくれるようになった
2. sketchファイルの受け渡しにより業務が効率化した
3. デザイナーが日々変化するプログラミングのトレンドに気づいた
4. デザイナーがバグが出まくる苦労を身にしみて感じた
5. デザイナーから、難易度を理解して、依頼する or 代替案を考えることができる

このLife is Tech!からはデザイナーもエンジニアも参加していましたが、
この技術交流はデザイナーにもエンジニアにも刺激的だったようです。


DeNAのチームワーク

IMG_5855.jpg

次に登壇したのは、マンガボックスのデザインを担当している増田。
デザイナーとしてどういう物を作っているかと、その中でのチームワークの役割を伝えました。

デザイナーが作るのはアプリだけではない

マンガボックスというプロジェクトの中で、増田が作ってきたものが紹介されました。
いわゆる「マンガボックス」のアプリだけでなく、
「マンガボックスインディーズ」に投稿するクリエイターの体験、
プロモーションのクリエイティブ作成も、デザイナーの仕事です。

エンジニアも企画者もひとつになったチームから得られるもの

・フィードバックの度に新しい発見があり考える力がアップする
・「何でこれを思いつかなかったんだ!?」という悔しくも、嬉しい発見がある
・活気がある
・チームの方がいい物ができる
・ユーザーの喜びはチームの喜び
・皆で目的を達成した喜びを分かち合える

実際、チームでものづくりをしているときは、
会社にいなくても、ユーザの反応をチャットで報告しあったり、
あのときの感覚は、個人開発では得られにくい喜びだと思います。


だから、DeNAはやめられない

IMG_5860.jpg

最後に登壇したのは、デザイン戦略室室長の坪田です。
DeNAがデザイナーに何を提供する会社か、
DeNAのデザイナーが世の中に何を提供するのか、
組織の歴史とビジョンを語りました。

ユーザにとって正しいことを実現するために、環境を変えてきた

坪田デザイン戦略室で、取り組んできたことは下記のようなものです。
・組織を立ち上げ、裁量を得る
・強いビジョンを掲示する
・サービス開発は作りてがリードする環境
・採用強化、強い仲間を集める
・ブランディング強化

坪田がDeNAに入った頃、デザイナーは「編集」と呼ばれ、10名程度の組織でした。
そこから数年かけて、DeNAのデザイナーのブランドを確立してきました。

ユーザに価値を届けるために

デザイナーの仕事は、ユーザに直接触れる、見た目に関わる事全て。
レイアウトだけでなく、触り心地、コミュニケーション、ロゴなど多岐に渡ります。

プロダクトのユーザへの印象を左右する仕事だからこそ、
世渡りのうまさや学歴ではなく、アウトプットで評価されるべきと考えます。

入社までの選考についてもその考えは徹底しており、
だからこそ下記のような選考をしています。
・アウトプットで評価、学歴、職務経歴は問わない
・ポートフォリオURLで応募可能

社内からだけでなく、世間から評価される人に

「アウトプットで評価されるべき」であることは既にお伝えしていますが、
それを評価するのは上司でも会社でもなく、ユーザです。

だからこそ、DeNAでは、世に出した自分のプロダクトについて、
「これは自分のプロダクトである」と公表することを推奨しています。

ユーザに価値を提供するために最適な組織、制度を取り入れる、
客観的に見ると当たり前のことかも知れないですが、
その当たり前を実践し続ける、まともな会社でありたいと考えています。


サマーインターンのご紹介

今回登壇したエンジニアやデザイナーは、全てサマーインターンにメンターとして登場するメンバーです!
まだ暫く、応募を受け付けておりますので、是非ホームページもご覧下さい!

sammer_intern.jpg

StuDev(エンジニア向け)
StuDev for Game(ゲームエンジニア向け)
Designers' Internship(デザイナー向け)
Designers' Internship for Game(ゲームアーティスト向け)

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る