iPhone/iPod touchに学ぶAgile開発
先日参加したScrum Product Owner Trainingであがった話題。講師のMike CohnとKen SchwaberはiPhone/iPod touchがScrumを使って開発されているとは一言も言わなかったが、彼らがApple/Microsoft/Yahoo!/GoogleにおいてScrum教育をしているのは有名な話。そして、「優先度の高いフィーチャから作り上げていくとはこういうことだ」という例としてiPhone/iPod touchの話をちょっとだけしてくれた。
- まずは6月末のiPhone発売。
- 次は10月のiPod touch発売およびiTunes Storeのバージョンアップ
- iPod touch単体でも音楽を買えるようにiTunes Storeをバージョンアップする必要があった。
- そのタイミングに合わせて、JailBreak対策(要は追いかけ開発分)をリリース。JailBreakしていた機器が動作しなくなったりする問題が発生したが、あくまでもパワーユーザに限った話。
- そしてSDK配布(来年春)
確かに1.1.1へのバージョンアップ時には一部のJailBreakユーザが混乱に巻き込まれたが、仮にあの段階でサードパーティのアプリケーションが流通しまくっていたら問題はさらに大きくなっていたわけだ。かといって、最初からSDKを配布できるまでに品質を向上させるには、(おそらく)来年の春まで製品投入を待つ必要があった。6月以降、iPhoneだけで100万台以上販売した事実を考えれば、必要最小限の機能と品質で製品投入し、追い掛けで機能追加と品質安定を実現するというScrum思想は非常に大きな効果があったといえよう。
追記
ここから先は門外漢な頓珍漢。
- 組み込み系の場合、ハードウェアチームとハードウェアシミュレータチーム、そしてソフトウェアチームを用意するらしい。
- ハードができてくる前は、当たり前だけどシミュレータ相手にソフトを開発する
- ハードとシミュレータはできるだけ頻繁に突き合わせをして、異なる道を走ってないか確認