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

1,600 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,600
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
11
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

  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. で、どちらを目指すか ビジネス寄りであれば、  競争力のあるゲームにするためのゲームデザインを素早く思い つき、実装し、検証することのできるエンジニア 開発寄りであれば、  汎用ゲームエンジン、ゲーム特化エンジンなど、個別のゲーム を迅速に作れるような柔軟なゲーム基盤を作れるエンジニア 高いビジネススキルか、本当に高度なプログラミングス キルのいずれかがないと生き残れないのでは??  困ったね・・・  会場の皆さんとディスカッションしたいです

×