適切な認知負荷とは
KubeConでもPlatformConでも、現在のITシーンではこの認知負荷(Cognitive Load)という言葉が様々なところで登場します。それだけ一般化した証拠でもありますが、別の見方をすればそれだけちゃんと見極めなければならないものでもあります。
認知負荷とは何か?といったところは以前の以下の投稿で基本的なところを説明しています。
あらためて簡単にまとめると認知負荷とは以下のような定義です。
Cognitive load refers to the used amount of working memory resources. 認知負荷とは使用されたワーキングメモリの量である (英語版 Wikipediaより)
ワーキングメモリーであるからには、それぞれの人やチームに容量の限界があります。コンピュータメモリも効率的に使わなければ本来行ってほしい作業が進まなくなります。
認知負荷には「Intrinsic(内在的な)」「Extraneous(余計な)」「Germaneな(本質の)」といったタイプがあり、一番本質的なもの、つまりGermaneの負荷が一番大きな領域を占めるようにするのが一番効率的です。
皆さんのチームの認知負荷はどんな感じですか?どんな領域の負荷が高いですか?
Team Topologies社のワークショップでも認知負荷には一定の時間を割いて説明するのですが、人間にかかわる領域のため複雑で必ずしも定量的にするのも難しいとしています。
しかし、参考となるような数値を把握することはできます。それが「Multi-team Software Delivery Assessment」です。
Multi-team Software Delivery Assessment
Multi-team Software Delivery AssessmentはTeamTopologiesの著者の一人であるマシュー・スケルトン氏が作成・公開している評価指標です。 直接認知負荷の定量化と言っているわけではありませんが、チームヘルスを評価するものであり、チームヘルスとは認知負荷と考えてもよいと思いますので、今回ご紹介させていただきました。(しかも日本語訳版もあるということで参考にしない手はありません)
このアセスメントは次の6つの領域の評価基準で構成されています。
- Team Health
- Deployment
- Flow
- Continuous Delivery
- Operability
- Testing and Testability
これらの評価を3か月ごとに行うとよいとされています。
これらの評価を実施し、評点が思わしくないところを中心に認知負荷上の課題がないか、本質的な課題に積極的に取り組める状況になっているかを確認すると、認知負荷の低減にも役立てられるものと思います。
具体的な内容や実施方法については上記のリンクに公開されていますのでぜひご利用ください。 (ご心配なく、日本語です)
さいごに
私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。 Team Topologiesもこうした内製化支援の一部です。ご興味持っていただけましたらぜひお声がけください。