1. Zero Topic - ゼロトピック -
  2. #65 今改めて考える「仕様書の..
2020-07-28 18:48

#65 今改めて考える「仕様書の価値」

仕様書の価値について。参考記事 https://yamotty.tokyo/post/20180130_requirement_sample/
00:05
おはようございます。ゼロトピック第65回目です。
今日は、ちょっとさっき散歩してたんですけど、改めて、
使用書って何のため必要なんだっけみたいなのを考えてて、
それについて、改めて考える使用書について話したいなと思ってます。
僕はね、キャリア的にプロダクトマネジメントをしている期間が、
これもう5年くらいなのかな?
やっと5年選手です。
プロダクトマネージャーとして仕事をしている。
今は、それは一部しかしていない状態なんですけど、
それでも5年くらいのキャリアがある中で、
プロダクトマネージャーのアウトプットって最終的に何かというと、
もちろんプロダクトなんだけど、
プロダクトに至るプロセスの中で、
たくさんのドキュメントとか、あるいはFigmaみたいなUIのプロタイピングとか、
そういったものを作ることが自分はすごい多かったんですよね。
あるいはアルゴリズムでどういうロジックにしたいかとか、
そういうものをプロセスの中でアウトプットする機会がものすごい多くて、
そういうドキュメントが会社とかいろんな場所に積み上がっていってるっていうような状況でした。
ただ、自分は喫水のプログラマーとかソフトウェアエンジニアではないので、
最終的なコーディングをどういう形に落ち着けるべきかっていうのは、
僕の中では判断できないんですよね。
なので、そこについては一切の言及をしなくて、
当時から昔から信頼できるソフトウェアエンジニアに背中を預けて任せるっていうスタンスで、
その中で自分の役割どこかっていう点で考えたときの仕様書みたいなのを組み立てることが多かったです。
なので、僕の仕様書、確かに記事でもいくつか公開しているものがあるんですけど、
どういうことを特に強調しているかというと、
なぜこの機能が必要なのかとか、これによってどういったことを狙っているのか、
あるいは何が10Xなのかっていう、社名通りですね。
要は非連続性をどうやってユーザーにもたらすのかとか、
そういう観点からまず入って、
そういう背景があるから、
あとはその補強するデータとかをつけて、
例えばこういうKPIが今こういう繊維をしているとか、
訂正的なN1インタビューとかユーザビティテストするとこういう事実が分かってきたとか、
03:02
この事実の中にあるイシューを解決したいっていう、
そういう補強の材料をつけた上で、
あとはフォワットですね。
具体的にプロダクトにどういう状態、変更を加えたいというか、
差分をもたらしたいのかっていうことを書いています。
例えば、何だろう、分かりやすいの、分かりやすいの。
公開している仕様書の中に、
たべりっていうプロダクト、一つ目に10Xで作ったプロダクトの
グループ共有機能っていう機能の仕様書を公開したことがあるんですね。
その仕様書の中には、ちょっと今何て書いてあるか分からないですけど、
その時に狙っていたことっていうのは、
食って、我々のターゲットにしている、
世帯を持たれているユーザさんにとっては、
もちろん栄養摂取するためのものでもあるんだけど、
家族で一つの宅を囲むっていう機械になっているケースがすごい多い。
なので、今日のご飯を何を食べるのかっていうコミュニケーションって、
割と1日何回か頻繁に発生するようなコミュニケーションであるっていうのが、
僕らが知っていたファクトですと。
ただそのやり取りっていろんな場所で行われていて、
LINEでやってたり、コートでやってたり、
積み上がるものがないっていうので、
あとは気づかなかったりするっていう、見逃してたり、
そういうのを防ぐっていうのを一つの目的にして、
なので、そこを通じたコミュニケーションがアプリの中に内包できることによって、
ユーザーのエンゲージメントを高めたり、
必要性をもっと高めていくっていう、
そういうアプローチをしたいっていうのが、
確かホワイに書いてあったこと。
ホワットとしては、ユーザーAがB、C、Dを招待できる。
そうすると、AとBとCとDのコンダテっていうものが、
作ったコンダテ、アプリの中に生成したコンダテが完全に共有される。
誰かがコンダテを作ったりしたら、通知が飛ぶ。
通知が飛ぶことで、相手に知らせるっていうコミュニケーションを一つ省けるっていう。
あるいは、コンダテをシェア、
自分が作ったものをLINEとかで共有できる機能もあったりして、
共有するっていう、どうしてもLINEでやったほうが便利なケースとかあるんで、
そのLINEのコミュニケーションの上に、
タビリの中で生成されたコンテンツをスムーズに載せるっていう、
そういったことをホワットとして掲げてたと思うんですけど、
これをどうやって実装するかとか、どういうデザインにすべきかっていうのは、
この時点では僕はプロダクトマネージャーとしては一切言及しないんです。
ハウの領域については圧倒的に現場のプロに任せるべきっていう考えが昔からあったし、
あとは僕はソースコードをすべて読んでるわけではないので、
現状のソースコードから受ける制約とか、
あるいは自由な領域ってどこなのかっていうのは、
06:01
自分が判断するのは無理というか、精度がめちゃめちゃ低いと思っていて、
それこそ任せたほうがいいというふうに考えてるんですよね。
あとはその実装の戦略っていう、
ユーザーストーリーから見たストラテジーはもちろん大事なんだけど、
プロダクトを長期的にどうしていくかっていうプロダクトのストラテジー、
実装のストラテジー、テックのストラテジー、
そういったストラテジーの中で、
そこの実装をどうすべきかっていう、
要はソースコードをどう設計すべきかとか、
あるいはやりたいことはこうなんだけど、
実際にはその機能を作らずに考えながら、
やりたいことはこうなんだけど、
実際にはその機能を作らずに完了できるケースもあるわけだったりするんですよね。
それはそのほうが絶対ベストで、
ベストだったり、もしくはできるだけライトな形で収めて、
実験的に始めることがベストだったりっていう、
いくつかのストーリーというかストラテジーのラインの高点に、
ちゃんといいものを作るっていう意味では、
それはそれで、
包括性というか、
プロに情報集約させて判断させるっていう、
判断してもらうっていう、
そういうプロセスが絶対必要だなというふうに思っています。
なので僕は口を出さないというか、
もちろん議論だったり、
壁打ちだったり、
よりユーザーベースでの解像度が必要なときに、
できるだけコメントをするんだけど、
それをどうやって実現するかっていうことについては、
かなり背中を預けて任せてるっていうスタイルでした。
という形なので、
僕の仕様書ってホワイトかホワットをとにかく、
ちゃんと書くっていう形で、
最近は仕様書は作ってないですよね。
仕様書というか、
GitHub Issuesで開発タスクを管理してるんですけど、
その中に Issuesを立てて、
ホワイト、ホワットをしっかり書く。
ハウはその先、エンジニアとかが結構自由に設計して作ってくれて、
ホワイトかホワットを擦り合ってるんで、
出てくるものの違和感がゼロ。
クオリティもすごい高いっていう状態が、
創業してから3年ぐらいずっと続いてるかなと思っています。
っていうのが今までやってきたことで、
ちょっとこれ振り返って思うに、
結構ベストな状態だなっていうふうに思ってて、
なぜかというと、
いわゆる受託開発とかSIが、
SI屋さんが作ってるような仕様書って、
現状ガチガチに全部日本語で記載した、
この状況から1ミリもブレはありませんっていうものを、
作って収めるっていうのが、
受託開発、受注と発注の関係の中では、
往々にしてあったんですよね。
すごい複雑なシステムだったりを作っていく中で、
そこに不確実性をできるだけゼロにしようっていうアプローチですね。
システムの不確実性とか、
暗黙値をゼロにして、
09:01
我々はちゃんとこういうものを作って納品したんです、
っていう証明書として、
あるいは合意形成のためのツールとして、
仕様書を活用してきたっていう背景があったりするんですけど、
これと僕らのアプローチは全然違いますよね。
僕らは逆で、
不確実性は絶対に残り続けるというか、
むしろ増え続ける。
外部だったり、
ユーザーが置かれてる環境とか、
いろんなものが変わってくるので、
不確実性が絶対にあるっていう中で、
開発のアジリティを絶対に落とさないっていうことが、
開発のプロセスにおいてすごい重要なこと。
プロダクトを作っていくとか、
検証していくっていうことにおいて、
アジティティがすごい重要。
最近だと、
GMOのCTOのワイマツさんとかも、
よくアジティティって言葉を使ってたり、
レイアイクスのフッキーさんかな。
結構頻繁に使ってるイメージがあって、
あれグロンシーの言葉かなってちょっと思うんだけど、
僕もアジティティがすごい。
検証して価値を探ったり、
確かめたりするっていう行動ができるかどうかっていうのに、
プロダクトをうまく作っていく
用紙が全部詰まってるかなと思ってます。
そういったケースによってすごい大事なのって、
正確なものは、本当に最終正確なものは
日本語で全部記述する必要ないというか、
ソースコードに書いてあるわけなんで、
現状の最新の一番正しい状態っていうのは
ソースコードを見るべきだと思うんですね。
だからそれに対してノイズになるような
日本語っていうのはあまり書かないほうがいい。
むしろそういう使用書はないほうがいいと思ってるんですよ。
逆に検証していくにあたって、
例えばいろんなものを変えたりスプリットテストを
やったりする上で、
そもそもこれって何でこれをやろうと思ったんだっけとか、
絶対に変わらない思想っていうのがあるじゃないですか。
それこそがホワイト・ホワットだと思うんですよ。
ホワイト・ホワット、どちらかと言うとホワイですね。
そのなぜ、理由、これについての狙い、背景、
そういったものをきちんと書くことによって、
例えばエンジニアとかが
すごい事実的にスプリットテストまで
自創して作ったみたいな、
って提供して検証してみたけど、
検証するとデータいっぱい出てくるけど、
そもそもこれ何検証したかったんだっけっていうのは
ソースコードには書いてないんですよ。
ソースコードにはもちろん書いてなくて、
それこそがソースコードを保管するものとして
使用書があって、その使用書を参照するっていう
行動ができると、
かなり自律的にぐるぐる回せるようになっていくはず
だと思うんですよね。
で、いくつかのスプリットテストを
っていう形で、
これ機能単位とか
試作単位で
そういうことを使用書みたいなものは
作るときはソースコードを保管する。
もしくは広告を回すんだったら
広告を回すものを保管するっていう
Facebookの広告の管理画面の保管として
その試作の背景を書いたものが
っていうみたいな形で
本当のファクト。
ソースコードこそファクト。
12:00
ファクトを保管するものとして
使用書を位置づけるっていうのが
AZT高いプロダクト検証の現場においては
割と最適解なんじゃないかなっていう風に
思ってます。
デザインもそうですね。
デザインとかもアプリとかだったら
今見えてるもの、プロダクションで動いてるものが
最新で一番正しいもの。
ではそうじゃなくて、
次検証していくときには
Figmaとかそういうものを使って
スケッチとか何でもいいんですけど
検証するんだけど
それは何というか
使用書というよりは
方向性の検討のためのツールではあって
最新の正しいものは
常に本番環境にある
もしくは検証環境にあるっていう
それを見るっていうのが
コミュニケーション上
見るものは分散しないし
いいんじゃないかなっていう風に思ってます。
見るものが分散しないっていうのも
すごい重要なんですよね。
見るものが分散しないっていうのも
すごい重要な価値観だと思ってて
いろんな情報がいろんな場所にあると
少しずつ違ってたりすると
受け取り方が変わったり
情報の接触コストが上がったり
コミュニケーションコストが上がったりする
確認しなきゃいけないみたいな
それを避けるっていう意味では
僕は開発のタスクを管理する
GitHub Issuesの中に
一番重要なホワイトとホワットがあって
開発チームも
プロダクトチームも
ちょっとチームの分け方は微妙でした。
誰でもうちはGitHubのアカウント
入手時に必ず作って
そこでコミュニケーションするって形にしてるので
そこに全てのホワイトホワットがあって
プルリクソースコードの変更差分が
紐づけられてて
プルリクの中に例えばUIの変更点とかも
ちゃんとスクリーンショットで貼ってあってみたいな
状態になってると
すごい振り返りもしやすいし
背景その後ろ側の理解も
促進しやすいのかなっていう風に
思っています。
これがまさに
ファクト保管するツールとして
使用者の立ち位置は位置づけた方が
我々みたいな思想で
あるいは我々みたいに不確実性とか
アジリティとか
そういう部分で戦おうとしてる開発チームには
良いのではないかなと思っています。
もちろん僕はクライアントとして
セブン&アイさん向けに
プロダクト提供するっていう時には
やっぱり内部の倫理を通す上で
行って
プロダクトのことが分かる仕様書を出してくれと
それがないと上層部が判断できないんだ
っていう話は
すごいたくさんあったんですよね。
その都度僕がたくさん作るんですけど
資料も作るんですけど
資料の最後の方に
ただこれってプロダクトの断続的な改善によって
大きく変わり得るものなので
約束するものではなくて
現時点での状態を表したものに過ぎません
っていうディスクレーマーを付けて
渡すんですよね。
そういった形で
コミュニケーション上の
そこも回避するっていう形で
なくなくたまに
仕様書を作ったりもしています。
15:00
そうですね。
なんで
なんだろう
あまりリッチに
YからHowまで全部書くみたいな
仕様書を最近作ってない
代わりに
そのファクト
そのファクトに手を入れる人たちが
正しくそれを扱えるようにする
補完的なツールとして
仕様書を位置づけてるよっていう
そんなお話でした。
プロダクトマネジメントをやるだけではなくて
例えばカスタマーサポートで
お客様からお問い合わせが上がってきて
この問題解決しなきゃいけないっていうときにも
基本的には同じような書き方をするのがいいかな
と思ってます。
なぜ
お客様の困った事象は起きているのか
とかを
できるだけ
平易な言葉で
人に伝える
そういうスキルがある方が
やっぱりレバレッジが効くんですよね。
多くの人に正しい
その一時情報
二次情報になっちゃうんですけど
自分が得た一時情報を多くの人にできるだけ
正しい伝導率で伝えるっていう
逆にそういうことに気を配れなくなっていくと
割とその
なんですかね
事に向かう人に向かうみたいな話があると思うんですけど
人に向かわざるを得なくなると思うんですよね。
事に向かうには
事に向け
続ける
その他の人も事に向かい
向き合いたくするような
スキルが必要で
それこそ言葉だと思うんで
言葉なり伝達スキル
なので
えーっとなんだかんだその
人と晴れ潮が来ちゃったりとか
信頼が得られなかったりとか
逆に自分が書いたものから
いつもイチャモンがつくみたいな
ケースがあるときは
その
言葉扱うスキルが
実は足りないっていうケースが
割と多いんじゃないかなと思ってます。
それは
自分がかつてそうだったからなんですけど
はい
ということで
言葉扱うスキルっていうのは
やっぱ書いた量に比例するなっていう
精神論っぽいんですけど
どれだけの
コンテンツと
自分といて
そのコンテンツを
多くの人に伝えるっていう
爆発の中で
その思考回数
やって試して
これは上手く伝わった
これはやって試して
あんまり上手く伝わってない
フィードバックがこうだったみたいな
そういうものを
どれだけ積み重ねたかによって
まずこのスキルの
その
つき方って変わってくるなと思ってて
僕2015年末ぐらいから
ずっとブログを書いていて
それはかなり
自分の力を練り上げるのには
役に立ったなと思ってます。
あの
例えば
その書者とかでも
ビジネスドキュメントとか議事録とか
いわゆるビジネスパーソナーが書くような
ドキュメントたくさんあるんですけど
それってなんていうんですかね
聞いたことそのままメモしてるような状態だったり
まあそれをある程度丸めた形になってるので
そんなにその
自分の言葉でゼロから文章を
紡ぎ上げる必要性がそんなにないんですよね
そうではなくて
ゼロからその誰かに伝えるべきコンテンツを
はみ出して
それを自分の言葉に落とし込む
で、ちゃんと表現したり
読みやすい形にするっていうのは
実は全然違う仕事なので
そういった場での
18:00
平場での訓練
ってのを
自律的に詰めるようになると
なんか結構
スキルが上がっていったなっていう
実感があります
エンジニアの中でも
コードを書くか日本語を書くかっていう
永遠の命題があったり
するぐらいなので
結構重大だ
日本語?英語?
言葉を書くかっていう
それは結構ありだなっていう風に
思ってるよっていうそんな話でした
今日はそんなところですかね
気に入っていただいた方はぜひ
ハッシュタグゼロトピーです
ハッシュタグゼロトピーで感想を
ツイートなどいただけると嬉しいです
それではまた
18:48

コメント

スクロール