Index Exchangeの視点

指標を使用したプロジェクト品質の改善

俊敏性を備える職場環境(IXのエンジニアリング部門を含む)は、改善を求めて、常に意識的な努力を重ねることができます。また、そうすべきでしょう。絶え間ない成長は、俊敏な考え方(指標は役立つこともあるが妨げになることもあるという習慣)を持つための鍵となるためです。正しい指標は、改善の余地のある箇所を明らかにしたり、特定したり、あるいはチームの作業が効果的であることを再確認できるようにする一方で、間違った指標は望ましくない行動を助長してしまうこともあります。

それはなぜでしょうか。製品品質の問題を抱えた会社にまつわる古い逸話を考えてみましょう(この話はのちにコマ割り漫画の「Dilbert」にも掲載されました)。問題を修正するためのその会社の指標と報奨は、品質保証(QA)部門がすべてのバグに必ずフラグを付けるようにするという考えに基づいていました。問題を報告すると現金が与えられる報奨を設け、エンジニアにもフィックスを作成した際に同じように報奨金を与えるようにしたのです。理論上は堅実な考えに思われますが、実際には、この制度によって、エンジニアがコードにバグを埋め込み、QAにその箇所を伝え、あえて作られたその問題を、報奨金のためにQAが修正するという悪しき習慣につながってしまいました。

言い換えると、間違って選ばれた指標によって、チームによるシステムの悪用が誘発されてしまう可能性があるということです。また、チームに悪さをするメンバーがいなかったとしても、目標(品質の改善)よりも指標(バグフィックスなど)を優先させてしまうきっかけを与える可能性もあります。これが、正しい指標を収集するだけでなく、正しい方法でこれらの指標を収集することが一番大切であるという、数多くの理由のうちのひとつです。

そもそもなぜ指標を収集するのか?

ケルヴィン卿の言葉を引用すると、「それを測定することができなければ、改善することはできない」からです。指標の重要さを簡潔に表しているフレーズです。簡単に言うと、指標には、コミュニケーションチャネルからプロセスまで、チームのあらゆる側面を改善できる性質があります。指標は、チームがパイプラインにおける課題と問題を特定して、変更や解決策を導入した場合の効果を追跡できるようにします。

チームが指標を評価するには?

ここIndexでは、どの指標を使用しているかにかかわらず、通常、下記のプロセスに従います。

目標を定める

指標は常に目標に対応するものでなければなりませんが、指標自体が目的になってはいけません。「Xを測定せよ」と言われたら、常に「なぜ?」と問うようにします。よく考えられた目標があれば、正しい指標を選ぶことができます。たとえば、「バグフィックスや新機能を統合しつつ、コードが想定どおりに機能して、既存のすべてのコードも正常に機能し続けると確信できるようになりたい」といった目標が考えられるでしょう。

その目標に対応する指標を判断する

自分たちの目標に対応する指標を2~4つ選びます。その際に、リスクとコストは最も低いが、価値が最も高いものを選ぶようにします。指標が自分のチームに適しているかどうかを評価する際には、以下のようないくつかの質問を問いかけるようにするとよいでしょう。

  • その指標を測定する価値はなにか?
  • これを測定するうえで伴うリスクはなにか?
  • この指標がどのように悪用される可能性があるか?

適切な期間、その指標を収集する

達成しようとしている目標、および改善の性質を考慮してから、それらの指標を収集する適切な期間を設定します。たとえば、1スプリントの間、「リリースのライフサイクルにわたって現地報告されたバグ」を測定するのは、有用でもなく影響もないかもしれません。同様に、チームのプロセスに関連する変更から生じる改善は、大抵2~3スプリントで表われてきます。

チームの進捗を確認する

まだ目標を達成できていなければ、指標に変更を加えて、測定を続けてください。目標を達成できた場合は、測定を止めて一歩下がりましょう。指標をほかにも増やしたいと思うかもしれませんが、チームの時間が奪われ、疲弊することになります(また後でそうした指標を検討する機会も必ず訪れます)。代わりに、新しい目標を選択して、プロセスを一からやり直しましょう。

全般的に、正しい指標を選ぶ(そしてそれらに対して適切な行動を取る)ことにより、Index Exchangeのチームは積極的な目標を設定し、改善を追跡してその経過で成功を収めることができます。私たちは、プロジェクトや状況にかかわらず、強力な測定戦略が、改善と成長を促進する鍵であると考えます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です