The Nokia Test
The Nokia Testを手抜き邦訳。
携帯電話機メーカーのNokiaではScrumを使っているよ。Nokiaでは、開発チームがちゃんとScrumを使っているのか、それとも「カウボーイAgile」と呼ばれる代物を使っているのか、はたまた「Agilefall*1」を使っているのか確認する方法「Nokia Test」を開発したんだ。
Nokia Testは二行程あるよ。
まずは、反復型開発をしているかどうかを確認しよう。
- 各反復周期は4週間以内に設定されているか?
- 各反復周期の最終段階で、実装したフィーチャをテストし、動作確認しているか?
- 各反復周期の始めに仕様確定をしているか?
カンファレンスに参加している「自称」Scrumチームの人達に上記質問をしてみると、意外と「いいえ」と答えてくる。カンファレンスで同席した人の中の誰も「はい」と答えないことすらあるね。
次に、Scrumしているかどうかを確認しよう。(これはNokia風に味付けしてあるよ)
- 誰が「製品所有者(product owner)」かを知ってる?
- 事業価値で優先順位付けした「製品作業残一覧(product backlog)」を作ってる?
- 「製品作業残一覧」の各項目の作業見積もり作成を、チーム全員でやってる?
- 「残作業数一覧グラフ(burndown charts)」を作成し、チームの作業回転率(velocity)を押さえてる?
- 「プロジェクトマネージャ」(あるいはその同類)がチーム作業を邪魔してないよね?
これらの質問は、カウボーイAgile(あるいはAgilefall)を解決するにも役立つと思うんだな。
まず明確なのは、この「Nokia Test」全項目を通過しないと、そのチームは「ちゃんとScrumしてます」とはいえない、ということだな。もちろんテストに通らなくても、「Scrumに挑戦しました」とは言えるかもしれない。でも、実際にScrumしたことにはならないんだな。
Nokia Testは必須条件だよ。プロとしてAgile開発をするのなら、最低でもこれらは守らなければならない。
組織によってはカウボーイAgileやAgilefallを選択したり、あえてAgileで失敗するような道を選ぶこともあろう。自分が今まで働いていた組織でも、そういうことはあった。なので、Nokia Testを実行に移そうとすると、組織的な反発を受けることは覚悟しておくほうが良いかもしれない。
Nokia Testは最低条件でしかない。AgileするにしてもScrumするにしても、Nokia Testが網羅してない重要な要素はまだまだあるはずだ。Nokia Testは最も重要な部分ということだろうか? たぶん、Nokia Testは「最もありがちな失敗」を回避してAgile/Scrumを実行するための「最低限の原則」を並べたものなんだな。たぶん、もっと良い確認方法はあるだろう。でも、今はまずNokia Testを通るようにしようよ。
Nokia Testはもっと細かく記述されるべきだろうか? その必要はないだろうね。 大事なことは多くの人が簡単に理解できるようにすることだ。Agileでは、柔軟であることも重要だ。長ったらしい確認項目を並べると、その柔軟性が失われてしまう。