岸原オカルト研究部

プログラミングを勉強していくブログです

自分用 個人のためのアジャイルサムライ


素敵な夜ですね。


アジャイルサムライと呼ばれる、ITのプロジェクトマネジメントの名著を読みました。
アジャイル開発と呼ばれる技術体系に関する本です。
個人活動に応用が効きそうなので自分用に纏めます。


アジャイル開発とは

・縦割りでない
・設計書→実装 の流れではなく、 毎週成果物を上げ確認する
・チームメンバーは全員ゼネラリストで、すべての行為を行える

特徴を持つ開発のこと。※アジャイルサムライより


・縦割りでない
→縦割りにする事はあるが、個人活動は縦割りみは少ない
・設計書→実装 の流れではなく、 毎週成果物を上げ確認する
→毎週成果物が目に見える
・チームメンバーは全員ゼネラリストで、すべての行為を行える
→チームメンバーは俺一人

以上により、取り入れどころはあるはず。

我々はなぜここにいるのか?

まず、我々はなぜここにいるのか? を明確にする事。どんなプロジェクトにも「なぜ」が必要。
その為には、

1、現場に向かう。

 トヨタシエナという車を北米向けに改善するため、シエナに乗って全米の全州を運転した。
 結果、車内で食事する際便利なように大量のカップホルダーが付き、オンタリオの厳しい横風に耐える安定性がついた。
 私自身が顧客になる事だ……。

2、司令官の意図を作る。

 サウスウエスト航空機内食にハーブチキンをつけるか議論になった時、CEOは「我々は最安航空会社だ、不要」と一喝した。
 個人なのでCEOとは俺であるが、逆にその為、なんでもいいので自分自身の意図を明確に持っている必要がある。

エレベーターピッチ

エレベーターピッチとはエレベーターの中で話せるくらい短い活動理念。
用意すべきで、あると外注等がやりやすい。

エレベーターピッチのテンプレート

潜在的なニーズ、抱えている課題)したい(対象顧客)向けの(プロダクト名)は(プロダクトのカテゴリー)である。
これは(重要な利点、対価に対して説得力ある理由)ができ、(有力代替手段)と違って(決定的な差別化)ができる。

インセプションデッキ

アジャイル開発スタートの際に決めるルールのこと。

1、我々はなぜここにいるのか? →前述
2、エレベーターピッチを作る →前述
3、パッケージデザインを作る →実質いつも作っている
4、やらないことリストを作る →実質いつも作っている

5、ご近所さんを探せ 利害関係者と予めコンタクトをとる。情報交換は重要。
→ここだけ難しい まあいろんな事やって友達いっぱいいるといいね?
6、解決案を描く 作品は何かの解決案でなくてはならない。
7、眠れなくなるような問題は何だろう? 調査する
→リスクを考え優先順位をつけ対処する

8、期間を見極める →集団プロジェクトでは半年が一つの目安。それ以上は血を見る覚悟で、との事。
9、何を諦めるのかをはっきりさせる →後述
10、何がどれだけ必要なのかをはっきりさせる

リスクとスコープ

時間、予算、品質、スコープはトレードオフ
時間、予算、品質を固定化し、スコープを操作する事が望ましい。

見積もりについて

製作期間の見積もりと実製作期間は、製作初期に決めたものほど役に立たない。
これをスティーブ・マクネルは不確実性コーンと名付けた。

アジャイル的考えでこれに対応するには、まず個々のタスク(通称:ストーリー)をそれぞれ相対的なサイズで見積もる。
絶対音感は希少だが、相対音感は皆大体持っているように、相対サイズは絶対サイズより比較的マシに見積もれる。
タスクAをx日単位と置き、タスクBを5x日単位等と想定する。

また、もっと抽象化して、タスクAをxポイントと設定しても良い。見積もりは本来あてずっぽうであり、大きさをただ測るものという事で、日数よりも手早く気軽でシンプルに測ることができる。
また、ポイント制だとベロシティ(ポイント消化速度)の概念が有用となる。

アジャイル開発では抽象度が高く便利なポイントが推奨されるが、個人開発ではどちらも大して変わらないと思われる。
日数で考えても時間経過速度の概念を一人で勝手に取り入れればポイント制と変わらないので。

MMFについて

MMFとはリリース単位のこと。いくつかのストーリーを纏めたもの。
ソフトウェアの機能の半分は使われないことが有名。不要なものはどんどん落とす。

現実と向き合う為に

1、新しくやりたいことができた→あるといいなリストを作り、全体の完成まで放置
2、製作速度が遅い→スコープを変えるor外注。
3、時間が足りない→スコープを変えるor外注。

リファクタリング

製作は続けていると修正に時間がかかるようになる。
こまめに手を入れて修正しやすい形に整え直し続ける。

継続的インテグレーション

その状態のままインターネットに上げられるようにしながら制作し続ける。
音楽なら一度一通り完成させてから段階を追って肉付けしていく。実験で入れた音をそのままにしない。
イラストならごくごく初期以外は全てそのまま公表可能にしておく。



以上がアジャイルサムライを読んで自分個人で応用が効きそうな範囲です。


現在岸原オカルト研究部では、オカルト(プロジェクトマネジメント)を研究しています。
twitter:@kisihara_c