ネットの海の片隅で

技術ネタの放流、あるいは不法投棄。

価値のないものを高速につくらないために

スピードとスピード感は違うし、素早くつくることと雑につくることも違う。

我々の仕事がコードを書くことではなく問題を解決することである以上、どんなに素早くつくるとしても誰のどんな問題を解決するのかは常に意識していなければならない。 その点について深く考えずに思いつきで「A すれば B できるようになる」というものをつくるのは素早いのではなく雑なものづくりだと思っている。

そもそも「〜できる」ということにはあまり価値がないと思っていて、「〜するようになる」「〜してしまうようになる」というように行動が変わるところまで意識的に持っていかなければならないと考えている。 *1

面と向かって他者の行動を変えるのだってめちゃくちゃ大変なのに、インターネット越しに画面だけでユーザーの行動を変えるということがそんなに簡単にできるはずがない。 だから、画面の向こうにいる人に対して何かしらのアクションを引き起こさせようと思うのであれば、その人が抱えている問題や欲求を可能な限り理解しようとした上でその欲求に従うものをつくらないといけない。

でなければ、「機能」はつくれたとしても行動を変えられない。

また、開発者はユーザーそのものではないので、どんなに時間をかけて考えたとしても、最終的には実際にリリースしてみないと本当に価値があるのかどうかはわからない。 しかし、それは問題や欲求について考えなくても良いという理由にはならない。

速度という点では、リリースと測定のサイクルよりもチーム内での対話の方が数段速い。自分の頭の中で考えるのはもっと速い。

仮説検証という点では、ちゃんと考えてもいないものに対して一体何を検証するというのか。南波六太の言葉を借りると「本気でやった場合に限るよ。本気の失敗には価値がある」。

リーンは雑な開発の言い訳じゃない。

以上、価値のないものを高速に作っても仕方がないというお気持ちでした。

*1:もちろん例外はある。強い欲求によってすぐに行動に繋がるケースはあるし、できるようになることそのものに一定の価値があるものもある。