6章ユーザーも人間

成功するソフトウェア開発に欠かせない構成要素を淡々と見ていくことにしよう。

まずは頭のいいプログラマの小さな集団が必要だ。そのチームに謙虚・信頼・尊敬の文化を育てる。サーバントリーダーとしてチームをリードして、みんなで協力してうまく意思決定ができるようにする。水・日光・方向性・内的動機付けを必要に応じて与える。文化を脅かしたり進捗を妨げたりするような破壊的振る舞い(や環境)といったネガティブな影響からチームを守る。最後に163度の熱で6か月間焼けば、成功するソフトウェアのできあがり。わかった?

多くのプログラマはそこでやめてしまう。自分のためにソフトウェアを書いて、その結果に満足し、勝利宣言をする。

残念ながら現実世界はそのように動いていない。ここで言う「成功するソフトウェア」は狭義の定義にすぎない。お金を稼ごうと思うなら(あるいは履歴書に記入しようと思うなら)、他人がそのソフトウェアを使って幸せにならなければいけない。ソフトウェア開発プロセスとは、プロダクトを壁越しに投げたら終わりではない。ソフトウェアを使ってもらい、そのフィードバックを受けてプロダクトを改良していくことだ。このフィードバックループの方法を身につけなければ、ソフトウェアは死んでしまう。

本章では、ユーザーエンゲージメントの3つのフェーズを調査する。まずは、ユーザーにソフトウェアを知ってもらう必要がある。ユーザーはソフトウェアの存在に気づいているだろうか? ユーザーにどうすれば気づいてもらえるだろうか? 次に、ソフトウェアを使ったときの体験について考える必要がある。ユーザーの期待に応えられるだろうか? ユーザーはうまく使えるだろうか? ユーザーはこれで何かすごいことができるだろうか? 最後に、ユーザーがソフトウェアを使い始めたあとに、うまくやり取りをする方法について見ていくことにする。こうしたやり取りもソフトウェア開発の一部である。 ...

Get Team Geek ―Googleのギークたちはいかにしてチームを作るのか now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.