knowledging

生産性よりも体験性

背景

長らく生産性は測定対象として扱われてきました。コードの行数、PR やレビューの回数、バグの密度、カバレッジ率――。断言してもいいですが、生産性を測るのは不毛です。

理由は単純で、プロジェクトという生き物が本質的に複雑だからです。また人間が本質的に怠惰で、自分本位で、かつ解釈にブレのある曖昧な生き物だからです。

体験性

体験性(Experiencity) とは、快適に働ける度合いを指します。

似た概念として開発者体験や Engineering Effectivenessがあります。もっとわかりやすいフレーズをいくつか並べましょう:

エンジニアやクリエイターの皆さんは、この感覚はすでに知っているはずです。私達の直感はやはり正しかった。重要なのは管理でもなければ、チームの歯車となることでもありません。快適であることです。

体験性では、快適であれば自ずとベストなパフォーマンスが出るものだと考えます。これを 体験性の原則 と呼びます。この原則があらゆる状況で常に当てはまるとは限りませんが、現代のプロジェクトであればおおよそ当てはまるか、当てはめることができます。

体験性の実装

体験性を実際に運用するには、個人なりに、または組織なりに指標を定義せねばなりません。

まずは EE を参考にする

すでに述べた Engineering Effectiveness はわかりやすいです。thoughtworks 社が提唱した概念であり、出力ではなく入力を測れ、と謳っています。以下、比較を引用します。

Measure … (INPUT METRIC) Don’t measure … (OUTPUT METRIC)
The time it takes to do code reviews The throughput of pull requests
The amount of interruptions affecting engineers How many hours engineers have been working
The amount of unplanned work affecting a sprint Sprint points burned by the team

これはまさに体験的です。「エンジニアリングの仕事に集中できる」という体験を尊重し、その集中の最大化を良しとしています。そして、これを維持するために、集中を削ぐ要因をモニタリングしています。

私が知る限り、体験性をちゃんとつくった例は EE だけです。ですので、まずは EE を使ってみることをおすすめします。自組織なりの体験性をつくるのは、その後でもいいでしょう。

開発者体験の定義を追いかけることも参考になる

「開発者体験とは何か」と聞かれたら、あなたはどう答えますか?

正解はありません。軽く Deep Research してみるだけでも、様々な組織が様々な定義を使っています。私の方で軽く整理すると、開発者体験の捉え方にはざっくり三つの派閥があります。

つまり、開発者体験という軸で体験性を実装する場合、この三つの派閥の見方について、それぞれをどの程度取り入れるかを考えることになります。

正解はありません。Platform Engineering は「UX 派」にフルコミットしていますし、現代のエンジニアリング組織やビジョンやチームワークといった点を重視していて「実感派」を重視する傾向にあります。

私個人は「ストレスフリーの度合い」が一番重要だと思っており、ナレッジ・アーキテクトとして体験性の実装に携わる際は、各人のストレスフリーの最大化を目指します。たとえば役割分担や多様性といった考え方を使ったり、ティール組織の概念を取り入れたりします。

おわりに

生産性に代わる概念として体験性を紹介しました。生産性の管理や向上に悩まれている方は、ぜひ参考にしてみてください。それではまた。