かっこうのブログ

何かしら飲んでるエンジニア

「正しいものを正しく作る」不確実性に向き合うとはわからないを増やすこと

adventar.org

アドカレ7日目〜

現在のプロジェクトが複雑化している世界で、分かるものを正しく作り・わからないを健康的に増やしていく方法を以て不確実性に対応する方法論やアジャイルの必要性が問われている本。

お気に入り箇所

今私たちが作ろうとしているプロダクトとは、「どうあるべきか本当のところ誰にもわからないが、なんとかして形に仕立てていく」 ~中略~ 何となく以前作ったプロダクトにイメージが似ているから同じような機能をリストしておこう、インターフェースも他のよく似たアプリから拝借してこよう。

「仕立てていく」という言葉遣いがとてもしっくりくる。

「目的に合った状態に作り上げる」と「そうでないものを、それらしく作り上げる。」の両方の意味が混在しているのが面白いところだと思う。 「仕立てる」の意味や使い方 わかりやすく解説 Weblio辞書

特に、後者については引用の後者とも紐づくところがある。かくいう私もやってしまうことがある。ユーザーの利用環境が違うのに、過去の似たような機能のインターフェースを使うなどだ。そういう状態は、本来使われるべきでないインターフェースを、機能を作るという目的のためにそれらしく使っているに過ぎなかったのだと痛感させられる。

本当にユーザーが望むものは何かを考えて、1機能ずつ十分に考えて仕立て上げることが必要なんだなと感じる。

特に本書でも取り上げられているが「どうあるべきか本当のところは誰にもわからない」が故に、どのような機能があり・どのようなインターフェースをイメージしているかは各々で異なってくる。そこで、細かな違いや認識のずれをいかに速くキャッチする開発フローを組めるかも現在の開発には必要だと最近はヒシヒシと思っている。

アジャイル開発とは、ユーザーにプロダクトを「価値があるものなのか」「必要な機能は何なのか」「どういう形であれば使えるのか」試してもらいながら開発を進められる、というものだ。

この書籍でのアジャイルについての説明。印象としてはデザイン思考に通ずるところもありつつ、開発だけでなく様々なメンバーを巻き込む必要性が記載されているのが好きポイント。

 プロダクトバックログが途絶えている、死んでいるということは、プロダクトについての思索、施策、試作が止まっているということだ。

「しさく」の3連コンボ好き。ではなく、プロダクトバックログが積まれていない時に何がボトルネックになっているのかを考える必要はありそう。 FBが適切に得られていない・FBの期間が短い・FBを得られるだけのリリースができていない・そもそもプロダクトオーナーが何らかの理由で機能していないなど様々な要因が考えられる。

エンジニアからアプローチするならば開発生産性をいかに上げるかというところに落ち着きそうだが、FBをどのように吸収するかも監視ツールなどを用いることで異なる知見を提供することができる気がするので面白い情報(特定の時期や時間による機能のスパイクなど)を探す余裕は持っていきたい。

「このチームはやれる」という期待が必要だ。その期待は、小さくともチームの上げた最初の成果にもとづく。小さな結果から関係の質を上げ始めるのだ。

アジャイルを実行する方法などが書かれている章に登場する一文。成功循環モデルをより回すための方法とされている。

www.humanvalue.co.jp

成功循環モデルというものをここで初めて知った。振り返ってみると、とても実感する。同じメンバーで1、2年開発すると当然ながら「関係の質」が向上してくる。そうなると「思考」を話しやすくなり、改善の「行動」につながりやすくなる。もちろん「行動」をすれば「結果」が伴う。それらがとても速く回っている経験をしたことがある。とても良い体験だった。

ただ、どこから始めるかというのがとても難しいと感じていた。関係から作り始めると、その関係を崩すまいと行動を制限する節が出てくる。それを考えると「結果」を求めることを重視するこの方法はとても良いものだと感じる。

結果を意識し、結果を楽しむ関係を作るためにプロジェクトを始める時に、小さいタスクから始め成功を盛大に祝うというのは面白いし、ファシリテーションするときに使っていきたい。

エンジニアとプロダクトオーナーの2つの境界

「作る」と「作らない」の境界

アウトプットとアウトカムの境界

この辺はあるあるだと思う。お互いがいかに歩み寄るかが重要になってくる。ドメイン駆動などは、この境界の特にアウトプットとアウトカムを意識する時には重要になってきたりする。

一方で、作ると作らないの境界は非常に難しく、エンジニアがわかりやすく説明する力をつけるか・POがエンジニアについて理解や信頼を持つことの重要性が大切になる。言葉が通じなくとも「この人たちは全力でやっている」という信頼を勝ち取ることが重要になってきそう。

わからないものを増やすためには、自分の理解しているところから外へ出なければならない

よくコンフォートゾーンという言葉があるが、プロダクトにもそれに近しいものが存在している気がする。プロダクトは常に意外な使い道をする人がいる。そういうエッジケースだからこそ得られる知見は存在する。

また、この書籍では「わかったものを正しく作る」「わからないものをわかるようにする」というサイクルを重要視している。後者がかなり曲者で、わからないものを見つけるのは悪魔の証明に等しい。その方法として、自分の理解の外である特殊なユーザーや普段とは異なる層のユーザーを見ることで得られるものはプロダクトリサーチルールズ(多分来週くらいに紹介する本)にも記載されている。