Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

アジャイルに対する見方の変化

1,804 views

Published on

  • Be the first to comment

アジャイルに対する見方の変化

  1. 1. アジャイルに対する見方の変化- ソーシャルゲーム開発を経験して- 2012/11/17 太田健一郎 @oota_ken
  2. 2. 目次 SIerの時のアジャイル感  アジャイルマニフェストの解釈  XPのプラクティスの解釈  自分がアジャイルだと思っていたもの ソーシャルゲームを経験して  実装の再利用  ビジネス駆動とは?  2つの道
  3. 3. 本日のお題 SIerのSEからソーシャルゲーム開発のQAに転身し た際に変化したアジャイルに関する見方をお話しま す その上で、アジャイルに限らず、今後のエンジニア の目指すべきキャリアについてお話します
  4. 4. SIerの時のアジャイル感 エンタープライズの受託で、発注側、受注側の双方 のリスクを低減し、無駄のない迅速な開発をするた めの開発手法と解釈していた 開発をいかに迅速にするかに焦点を置いていると 思っていた  テスト駆動開発  ペアプログラミング  リファクタリング  継続的インテグレーション
  5. 5. アジャイルマニフェスト 4つの価値  プロセスやツールよりも個人と対話を  包括的なドキュメントよりも動くソフトウェアを  契約交渉よりも顧客との協調を  計画に従うことよりも変化への対応を やっぱり、開発に重点が置かれているような・・・ もちろん、SIerの時にはそれに対する疑いはなかっ たわけですが
  6. 6. XPのプラクティス 共同のプラクティス  反復  共通の用語  開けた作業空間  回顧 (振り返り) 解釈  ビジネスと開発双方にとって有益であるプラクティス  共通の用語は開発がビジネスに歩み寄るためのプラク ティス
  7. 7. XPのプラクティス 開発のプラクティス  テスト駆動開発  ペアプログラミング  リファクタリング  ソースコードの共同所有  継続的インテグレーション  YAGNI 解釈  自分がアジャイルのプラクティスとして必須だと思い、 もっとも重視していたもの  ビジネスには開発の高速化により間接的に寄与する
  8. 8. XPのプラクティス 管理者のプラクティス  責任の受け入れ  擁護  四半期ごとの見直し  ミラー  最適なペースの仕事 解釈  一作業者だとどうにもならないことが多い  あまり、ビジネスには関係ないような
  9. 9. XPのプラクティス 顧客のプラクティス  ストーリーの作成  リリース計画  受け入れテスト  短期リリース 解釈  アジャイルではお客様の巻き込みは必須  しかし、「巻き込む」という視点が既に開発者視点で は?
  10. 10. もう一回:SIerの時のアジャイル感 エンタープライズの受託で、発注側、受注側の双方 のリスクを低減し、無駄のない迅速な開発をするた めの開発手法と解釈していた 開発をいかに迅速にするかに焦点を置いていると 思っていた  テスト駆動開発  ペアプログラミング  リファクタリング  継続的インテグレーション
  11. 11. エンタープライズシステムとゲームの違い エンタープライズシス  ゲーム テム  コンテンツ  プログラム  巨大  巨大  工数の比重が高い  工数の大部分  プログラム  業務ノウハウ  再利用部分  コンテンツ (画像、音声)  汎用エンジン  UXを向上させるもの  ゲーム特化エンジン  それなりに大きい  補助的  ゲーム個別部分  バックエンドだとない場  迅速に作ることを求められ 合すらある る
  12. 12. 実装の再利用 実装の再利用  汎用エンジンとゲーム特化エンジン  フレームワークに近い形で実装を再利用  ゲーム特化エンジンは仕組みがほぼ同じゲームで利用される  SIでのパッケージ開発に近い とはいえ、  ビジネス側  ゲームデザインの変更は必須  ゲームプランナーの役割超重要  開発側  実装の再利用で済むような柔軟性のあるゲームフレームワークの 実装スキルが求められる  本当に単純に絵を入れ替えるだけというものではないので、差別 化要因となる部分のロジックは実装する
  13. 13. 実装の再利用で重要なロール リード・プランナー  同じゲームシステムという制約の中で別の世界観を作り 出す必要がある  世界観は異なっても、再利用の元となるゲームとゲーム コンセプトが同様のものでないと成功しにくい 開発もできる企画  基本コンテンツ変更であるため、企画部分が最も重要 デザイナー  コンテンツメインになるため、デザイナーが要
  14. 14. SIerでいうところのエンジニアは? 機能系  フレームワーク・エンジニア ただし、ゲームも実装する  再利用を可能にするためには、ゲーム側に以下の機能が必須で あり、これを可能にする可搬性の高いゲームフレームワークを 実装できるエンジニアが必要  シナリオ駆動 (スクリプトエンジン)  サーバーサイド更新  コンテンツ置換 開発支援系  コンテンツビルドパイプライン・エンジニア  コンテンツのビルドを自動化、CI化する  大きなコンソールゲームでは専門職がいることも  ソーシャルゲームの世界ではまだ十分に確立していないが今後 求められそう
  15. 15. 普遍的に強いエンジニア インフラ・エンジニア  24時間365日安定稼働のために必須  ネットワーク  データベース セキュリティ・エンジニア  個人情報保護  脆弱性対応 (チート) ビックデータ分析エンジニア  顧客動向統計解析 ローカライゼーション・エンジニア  エンジニアというよりは専門職ですが・・・  海外展開では必須
  16. 16. 実装の再利用を前提にした場合のエンジニア像 以下の二択  競争力のあるゲームにするためのゲームデザインを素早 く思いつき、実装し、検証することのできるエンジニア  汎用ゲームエンジン、ゲーム特化エンジンなど、個別の ゲームを迅速に作れるような柔軟なゲーム基盤を作れる エンジニア 第三の道  インフラ・エンジニアなどの高度専門職  QAはソーシャルゲーム開発においてこの位置に立てる か?
  17. 17. アジャイルに対する見方の変化 下記は重要ではあるが、  テスト駆動開発  ペアプログラミング  リファクタリング  継続的インテグレーション それよりも以下の2点  ドメインを深く理解し、それを素早く実装し、検証する 力  それを支えるための汎用的な仕組みを作れる力
  18. 18. で、どちらを目指すか ビジネス寄りであれば、  競争力のあるゲームにするためのゲームデザインを素早く思い つき、実装し、検証することのできるエンジニア 開発寄りであれば、  汎用ゲームエンジン、ゲーム特化エンジンなど、個別のゲーム を迅速に作れるような柔軟なゲーム基盤を作れるエンジニア 高いビジネススキルか、本当に高度なプログラミングス キルのいずれかがないと生き残れないのでは??  困ったね・・・  会場の皆さんとディスカッションしたいです

×