スクラムマスター Part2
認定スクラムマスター研修は2日間行われ時間は10時~18時。
講師の方はJames O. Coplien氏、同時通訳で行われ通訳は3名ほどおりました。
最終2日目の最後の数時間には2~3名の方が別会社から協力で講師の手伝いで参加されてました。
英語が分からない場合はイヤホンで研修を受ける形で参加人数は30名以上40名未満ほどでした。
参加者の年齢層は20代前半~40代後半ぐらい、男性も女性もいて、国籍も多種多様。
さっそく感想やら学んだことを書こうと思いますが結論から言います。
20万円の対価として価値はないと私は感じました。
最も大きな理由としては事前にある程度の事前準備をしていたことが大きいと感じてます。
事前準備があったことで多少の認識違いに気付いた程度でそれ以外は復習程度の感覚でした。
研修内容は講義:6、ワークショップ:4ぐらいの割合で進められてました。
スクラムにおける知識やイベントを体系的に学ぶことは確実に出来ます。
それは間違いないのでスクラムの知識や経験ゼロな方には価値のある内容だと思います。
スクラムは自己組織化を促すための手法としてとても再認識できましたがチーム内でキーと
なる人物の性格や気質、能力が極めて大きな影響を及ぼし向かないチームもあると思います。
ある一定の能力が担保されているチームであればわざわざスクラムなんて手法をとる必要はないとも感じてます。
採用するにしてもチームを限定して成功した場合に横展していくスタイルが最も受け入れやすく浸透しそう。
会社によっては新しいプロセスへの抵抗が強い方が多数派の会社もあると思うので目に見える結果が
ついてこないと受け入れづらいと思うのと、ただの技術オタクの集りから採用しても目的がぶれそうなので
あくまで自己組織化に伴うメリットを理解できる or しようとするチームが採用するべきかなと思います。
自分が会社で参加するのに承認を出す立場であればエンジニアの文化形成(チャレンジ推奨)や
エンジニアへの福利厚生の一環、会社としての税金対策程度の感覚でしか承認できないだろうなと。
継続的に結果を出す方法に明確なやり方なんてないので受ける前と変わらず
バンバン稼ぐ(ユーザへの高い付加価値提供)ためにももっともっと色んな事を
学びながら何より結果を出すことを最優先に行動して行きたいと思います。
スクラムマスター Part1
先月行われた認定スクラムマスター研修に参加させて頂きました。
費用が20万と高額だったので参加したいとは思っていたものの参加できておりませんでしたが
当面の間、参加できる機会はないなと思い自費で参加してきました。
参加した動機
参加したいと思った動機はいくつかのプロジェクトでのマネージメントやプロセスに疑問を
持っており様々な手法を学ぶことで解決するためのヒントがないかと感じていたからです。
例をあげると次のようなことをたまにプロジェクト内のメンバーに対して思うことがありました。
・なんで締め切り守れないの?
・クオリティ低すぎない?
・それぐらい自分で判断できない? etc
こういった状況を仕組みによって回避することが出来れば
ユーザに届けることが出来る付加価値はもっと高くなるはず!!
事前に学んでいたこと
1.書籍での勉強
スクラム実践入門は研修後に読ませて頂きましたがそれ以外は2~3回は読みかえしてました。
2.他社事例の調査
4Gamer.net ― CEDEC事前インタビュー:アジャイルで大規模開発? スクラムを使ったゲーム開発の可能性とは
【CEDEC 2011】開発手法の地味な改善、スクラムを導入するには何から始めたらいい? / GameBusiness.jp
ドラクエXマネージャが語る大規模アジャイル開発の極意 − @IT
3.現場での実践
モバイルアプリのプロジェクトで途中からですがスクラムが採用され経験したことがありました。
ほぼ機能せずに失敗に終わったと誰もが思える状況でした。
次回は実際に研修で学んだ内容や感想などを書きたいと思います!!
UnrealEngine4
本日発売の書籍を購入させて頂きました。
実際に読んで試して何かアウトプットをGithubで公開できたらと考えてます。
協力したりライバルになってくれたりする人は連絡下さい。
見てわかるUnreal Engine4 ゲーム制作超入門 (GAME DEVELOPER BOOKS)
私はゲームエンジンやミドルウェアなどのライセンスビジネスにとても好感を持っています。
なぜ好感を持っているかというと次の2つの理由が大きいです。
1つ目の理由は餅は最高の餅屋。
いちエンジニアとしてアーケード、モバイル(ガラケー)、PC、
PS2、PS3、Xbox360、Android、iOSなど様々な環境でお仕事させて頂きました。
開発規模も大小様々なプロジェクトチームありましたが会社が変わったり
対象プラットフォームが変わったりしただけであれ?似たような機能を
また作ってるなとか、場合によっては低機能で拡張性もない社内で
開発されたシステムを使ってクオリティの高いものを作ろうとしたりして
余計に時間かかったりしてコストが見合わなかったりなんてことがざらにあります。
そこで辿りついた結論は自分達に出来ないもしくは実現できていないものはコストを
計算した上で最高の餅屋を利用してクオリティを担保して利益をあげようという考え
にたどり着きました。これが1つ目の理由です。
2つ目の理由はチャンスの拡大。
ゲームを作りたいと考える人のうちゲームを作れるようになる人は何%いるか。
10年以上前の話になりますが私が学んでいた学校ではゲーム業界に進みたい人のうち
数%しかその夢を実現できていませんでした。私も当時一度はその壁にぶつあたり
挫折をしました。様々な要因はあると思いますがゲームというビジネスで食える人が
もっと増えればいいなと考えてるので特に利用料金の少ないゲームエンジンは作る環境
の裾野が広がり今まで作れなかった人やアイデアを持っている人にチャンスが与えられる
ことになると思っています。
アプリのクラッシュについて まとめ編
3回にわたり下記の3つのサービスを導入してみたので振り返りです。
BugSense https://mint.splunk.com/
Crittercism http://www.crittercism.com/
Crashlytics http://try.crashlytics.com/
結論からいうとCrashlyticsが一番オススメです。
BugSenseは落ちたソースの行が分からないため選択肢からはずれました。
そこまで詳しく触ったわけではないので出来るかもしれませんがわからなかったです。
Crittercismは手動でdSYMファイルをアップしないと落ちた場所が分からないのが面倒。
ただ会社で利用するケースを考えるとapkやipaを申請するタイミングで
登録することを考えるとそこまで日常的な作業にならないのでアリかもしれません。
見た目はどのサービスもグラフィカルでかっちょいいです(笑)
アプリのクラッシュについて Crittercism導入編(iOS)
さて最後のCrittercismの導入です。
Crittercism導入
1. アカウント登録
http://www.crittercism.com/から必要情報を入力してユーザ登録します
2. プロジェクトを登録
サイトへログインしてプロジェクト名とプラットフォームを選択してプロジェクトを登録します
3. SDKをダウンロード
サイトのDownloadsからiOSのSDK(v.4.3.7)をダウンロードします
4. プロジェクトへCrittercismライブラリを追加
Linked Framweworks and LibrariesにlibCrittercism_v4_3_7.aを追加。
5. プロジェクトへコードを追加
#import "Crittercism.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Crittercism enableWithAppID: @"Crittercism_API_KEY"];
return YES;
}
6. クラッシュレポートを送りサイトでの表示を確認
■テストコード
NSArray *array = [NSArray array];
id data = array[0];
感想
http://docs.crittercism.com/index.html に Japanese Documentationという日本語専用ページがあり
各作業にどれくらいの時間がかかるなど細かく記載されており導入は迷うことなく出来ました。
dSYMをアップロードしないと詳細が見れないところが少し使いづらいような印象を受けました。
参考にさせて頂いたサイト
Xcode - クラッシュログ収集Crittercism を仕込む時のメモ - Qiita
アプリのクラッシュについて Crashlytics導入編(iOS)
今回はCrashlyticsの導入をしていきます。
Crashlytics導入
1. アカウント登録
http://try.crashlytics.com/からユーザ名、メールアドレスを登録します。
登録して実際に使えるようになるまで数時間がかかりました。
使えるようになると登録したメールアドレスへメールが届きます。
2. Crashlyticsアプリをダウンロードして起動
サイトへログインしてアプリをダウンロードする(Crashlytics-latest.zip)
アプリを起動します。起動するとメニューバーにアイコンが出ます。
3. xcodeプロジェクトをCrashlyticsへ登録
Crashlyticsアイコンを選択してxcodeプロジェクトを選択します。
4. xcodeプロジェクトへコマンドを設定
Build Phase - New Run Script Build Phase で設定項目を追加。
Run Script Build PhaseへCrashlyticsで指定されているコマンドを追加。
5. プロジェクトをビルド
ビルドするとframeworkの追加を促されます。
6. プロジェクトへCrashlytics.frameworkを追加
CocoaPodsを使ってframeworkをインストールしました。
Linked Framweworks and LibrariesにCrashlytics.frameworkを追加。
7. プロジェクトへコードを追加
#import <Crashlytics/Crashlytics.h>
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Crashlytics startWithAPIKey:@"Crashlytics_API_KEY"];
return YES;
}
8. クラッシュレポートを送りサイトでの表示を確認
■テストコード
NSArray *array = [NSArray array];
id data = array[0];
感想
サイトへの登録からアプリを起動するとアイコンからグラフィカルに
やるべき手順を通知してくれるのでそこはかなり分かりやすかった印象です。
あと落ちた関数の行数が出ていたのでどこで落ちたか分かりやすかったです。
参考にさせて頂いたサイト
Objective-C - Crash Report解析サービスのCrashlyticsを試してみた - Qiita
iOS アプリのための Crashlytics | moonxseed