開発生産性と飛び交うキーワード
とてもいいスライドを見つけたので、社内のSlackに共有しました。
スライド自体は事例もあり、丁寧な解説もあり、参考資料として素晴らしいなと思いました。もっとも、最後に採用ページが載っているスライドを社内に展開するのはどうかと思うのですが。
そして、その時にスライドの紹介として書いたテキストがこちらでした。
この時に使った「開発生産性」という言葉、とても微妙だなと思ったのです。我ながら。
(生産性についての議論を始めると長くなるのでしませんが)開発生産性という言葉には、ある一定期間のプロダクトの進捗幅が大きくなる、という意味を込めていました。
Four KeysやDevOpsなどのキーワードに触れる前提として、"プロダクトドリブンで評価する"というものがあると思います。プロダクトの進捗を優先する、つまりは、そのプロダクトで1mmでもいいので行動を変えることを優先する、ということです。
「プロダクト」にはさまざまな人が関わり、その成功にはさまざまな要因があります。使うことで課題が解決できるかどうか、使いやすいかどうか、そのプロダクトを知る機会・使う機会が多いかどうか、などなど。プロダクトによっては、エンジニアリングやデザインの力よりも、セールスの力の方が重要ということだってあるかもしれません。
ここでいう「開発生産性」はあくまで、プロダクトがユーザー(誰か)のIssueを解決できているかどうか、行動を変えることができているかどうかについて議論したいと思っています。
アジャイルな開発文化が生まれ、そこからDevOpsやSREといったキーワードが生まれ、多くの実践の結果、Four Keysというキーワードが誕生しました。もしかしたら、もっといい方法を僕たちは見つけるかもしれません。実践の繰り返しの蓄積場所がコミュニティだと思っています。これはどこかの会社の中だけに溜まるものではありません。
アジャイルマニフェストが誕生してから20年以上の時が流れました。この歴史を最初から学ぶのは効果的とも思えません(学びたい人を止めはしませんが)。キーワードに振り回されることなくその背景を追っていくことは大切だと思いました。