継続してプロダクトの品質を保つためにはプロダクトに向き合うだけでは足りないという話

ソフトウェアの内部品質への投資を怠ったが故に、その内部品質がビジネスの足枷になってしまった、という失敗はよく聞かれる例だと思う。

そういう場合、「なのでソフトウェアの内部品質を直しましょう!」と言う発想になりがちだし、当然そのための投資を始めることは必要なのだけれど、それ以上に注目しなければならない問題がある、と最近は思うようになった。

「内部品質が落ちたので内部品質を直しましょう」というのは、単なる対症療法である上に「いつんなったら直って内部品質への投資やめられるの」という誤った問いを誘発してしまう。よくある話として、一定の内部品質を達成するために「リプレースプロジェクトです!」と言って書き換えを進めて、それが終わったらまた内部品質は鑑みられなくなるような話があるし、内部品質だけではなく「EOL対応」とかでもそういうケースはまま聞く。

じつは直面すべき課題は「内部品質の低さ」や「依存ライブラリのアップデートが間に合っていないこと」ではなく、そのような状況を生み出してしまった開発プロセスや組織設計にあり、「開発プロセスや組織設計をどう直すか」なのである、というのはこの一年の大きな学びの一つだった。そして、とくに組織設計の話は現場のことをしっかり理解した上でトップダウンで進めるべき仕事で、VPoEとかCTOとか呼ばれる人の仕事だったり、ぼくがいまいる会社で言えばVPoTがやるべき仕事なのだ、と思う。

記事のタイトルを回収しておくと、プロダクトの品質を継続的に高く保つためには、プロダクトに向き合うだけでは足りなくて、それを生み出すプロセスや組織に向き合う必要がある。チームはそれぞれチームに向き合う必要があるし、チームを束ねる立場(これは上下ではなくて役割の違いだ)は各チームの組成をどのように行い、各チームがどのようにコラボレーションするかの設計に向き合わなければならない。

こんなあたりまえのことをきちんと理解するまでに1年以上かかってしまったけれど、理解したからには向き合っていこうと思う。

アジャイルなプロジェクトマネジメントにおける「スコープ調整」でやるべきこと、やるべきではないこと

アジャイルなプロジェクトマネジメントの勘所のひとつとして「スコープを調整する」があると思いますが、これを「どの機能を落しますか」とか「どの画面落としますか」「機能の優先順位はどうなってますか」とかそういう話だと認識すると不幸になると思っている。というのも、これは「価値」ではなくて「機能」に向き合ってしまっているから。

するべき調整はむしろ「この価値を届けるために、どう工夫したらもっと小さいコストで最低限を届けることができるか」みたいな話であって、例えば「機能作りきれません」ってなったら単純に優先順位順に機能を落としましょうという話をするのではなくて「1stリリースのタイミングでは、このレポーティング機能はプロダクトの画面上には載せないけど、代わりにCSチームの協力を仰いで機能が実装できるまででレポートを手動で作成・送信してもらうことは可能なんだっけ」とかそういう形で「なんとかして価値を届け切るために、組織全体での価値の出し方ごと組み替える」みたいな調整をすることだと思う。そのために頭に汗をかくのが、アジャイルなプロジェクトマネジメントにおける「スコープ調整」なのではないかと思います。

言うは易し行うは難しすぎる。けど知的労働ってそういうことだと思う! みなさん頑張っていきましょう。

ソフトウェアの「適切な構造」の構成要素とは?

いろんなところで主張してきたことの繰り返しになりますが、ソフトウェアの設計とは、「解きたい問題に対して適切な構造を与えること」だとわたしは考えています。

「解きたい問題に対して適切な構造を与えること」という以上、「解きたい問題」が変われば「適切な構造」も変化する、ということが言えるはずです。これは「まず問題を適切に捉えること」の重要性を示していると言えると思っています。しかし、そのことと同等に問題とされるべきは、「適切な構造は何によって構成されるか」であるとも思います。

わたしは、ソフトウェアの「適切な構造」を構成する二大要素は「関心の分割点」と「分割点によって分割された要素同士の依存関係」だと思っています。

つまり、ソフトウェア設計とは、「まず解きたい問題を理解し、その問題に応じて、適切な関心の分割点を見出し、見出された関心の分割点で分割された各要素に対して最も適切な依存関係を設定すること」だと、わたしは考えています。なお、「解きたい問題」は、時に「真に解くべき問題を見出す」という問題であることがあり(というか現代のソフトウェア開発においてはそういう問題が大多数を占める)、その場合は「探索的な問題を解くために必要なアジリティを確保できるような分割点と依存関係を見出すこと」が設計の勘所になってくる、という話になってくると思っています。

ちょっと抽象度が高い話をしたのでいつか機会があればもう少し具体的な事例を交えて書きたいかもしれない。ブログなので今日は雑に書いておしまいとする。

チームでのファシリテーションで心掛けてること

最近現場に入っていって改善おじさんをやっているのだけれど、その中で「しんぺいさんのファシリだと納得感もってなおかつ物事が決まっていく」と言ってもらえて、これがとても嬉しかった。納得感とものごとが決まること両方が必要な場合に、自分がファシリテーションするときに意識していることを軽くまとめてみる。大きく言うとふたつしかなくて

  • 話は基本的に無限に逸れていくものなので、常に時間を意識して「この会議で決めないといけないこと」に関連するメインストリームに話を戻すことを気をつける
  • メインストリームに話を戻しつつ、全員の意見をきいてなるべく全会一致を目指す

だけ。念の為再度書いておくと、「納得感とものごとが決まること両方が必要な場合」の話で、独断で決断したほうがよいものなど、それよりも優先されるべき事柄がある場合はこの限りではない。

ものごとが決まらない会議というのはだいたい無限に話が逸れていったり詳細に入り込んでしまっていることが多い。なので、ちゃんと決めたいときは、必ず時間を意識して、時間内にゴールに辿り着けなさそうなときは「ちょっとこのままだと時間内に決まらないから話を戻したいんだけど」と話をメインストリームに戻すことを意識している。これをやるだけで「決まらない」ということはだいぶなくなると思う。

一方、「メインストリームに話を戻すぞ〜」と意識することと「俺の思う結論にみんなを誘導するぞ〜」というのは話が別で、ここで「話を戻したいんだけど、これが結論だよね」としてしまうと、ものごとは決まるんだけどメンバーにとっては納得感のない結論になってしまう。ここで二点目の「全員の意見をきいてなるべく全会一致を目指す」がポイントになると思っている。

全員の意見を聞くときにぼくが意識しているのは、必ず「それってこういう意味?」と自分の言葉で繰り返してみることだ。自分の言葉で繰り返すと、相手の言っていることを自分が都合よく解釈していた場合「そうじゃない」とフィードバックが返ってくる。これ一発で「その通り」ってなることは稀で、何度も「そうじゃなくて」をくり返す中で、わたし自身も、そのやりとりを聴いている周りのメンバーも、「意見があるひと」の意見を解像度高く理解できるようになってくる。こういうことを繰り返していると、ふたついいことがおこる。

ひとつめのいいことは、自分が見えていなかったこととか知らなかった背景が相手からどんどん出てくるようになって、「俺が思う結論」よりももっと良い決定ができるようになることだ。対話によって「より良い結論」が出るのであればみんなハッピーなので、「俺が思う結論に誘導する」よりもずっとそのほうが良い。もうひとつのいいことは、そのやりとりを聞いていた他メンバーの発言が誘発されることだ。だれかの意見をぼんやり聞いていても、なかなかそれに対する意見は出てこない。だれかの意見を解像度高く理解すればするほど、芯食った質問がでるようになるし、それに誘発された自分の意見も出てくるものだ。

こうして相手の意見を自分の言葉で言い直すことを繰り返すことで、多様な意見が出てくるようになる。そうすると、どうしてもまた詳細に入り込みすぎちゃったりとか今回決めたいことからズレたところに議論がいっちゃうことが起こるんだけど、行きすぎたらメインストリームに戻しながらもこれを繰り返していると、だんだん「論点は出揃ったね」という雰囲気になってくる。し、だいたい論点が出揃った頃にはみんながなんとなく「これに決めちゃっていいんじゃないかな」と合意できるような状態が出来上がっていることが多い。そうなると納得感もった上でちゃんとものごとが決まっていく。

ただ、そうやって論点が出揃ったと思ったあとにもどうしても決まらないことって結構ある。そういうときって「これっていわゆる決めの問題だよね」という状態になっているか、「本当は論点が出揃ってない」かのいずれかである場合がほとんどだと思う。そういうときどうするか。ぼくは、自分が「決めの問題じゃん」と思っている場合は「これってさ〜決めの問題じゃない? 決めの問題だってことってみんな同意できる?」と聞くことが多い。ここでみんなが「そうだな、決めの問題だな」と思うなら、ぱっと決めちゃえばいいし、「決めの問題であるという合意」は得られているので、納得感も得られる。

一方、「いや、決めの問題ではない」という人がいる場合、「なぜ決めの問題ではないのか」を聞き出すようにしている。そうやって聞き出したものに対して「それってこういう意味?」と自分の言葉で言い直すことをやっていると、途中で相手が「あ〜、てことは決めの問題か」と気づくこともあるし、ぼくが「あ〜〜〜それは決めの問題にできないですね」と認識が揃うかになってくる(だいたい五分五分くらいでそうなるので、やっぱり対話が大事)。後者のパターンの場合はつまりそれまでの議論で出てこなかった論点がこの対話の中で出てきたことにより合意に近づき、どちらにせよめでたしめでたしという感じになる。

だいたいの場合、時間を意識しながらこれを繰り返すことで、時間内に全会一致にたどり着くことができると感じている。一方、問題のサイズがデカすぎたり根が深かった場合、時間内に全会一致に辿り着けない場合もある。そういうときっどうするか。ぼくは、ケツがシビアなものに関しては「ケツがシビアなので、情報は出揃ってないけど決断しないといけない。決断するのはコイツ」だけ決めてお開きにするし、ケツがシビアではない場合は「もっかい時間決めて集まろっか」で持ち越すことが多い。

なんか雑多な話になってしまったが、自分のファシリテーションはこういうスタイルなんすわ、というのを書けてよかった。ブログはまとまってなくても雑に書いていくべきって思ってたのに最近それができてなかったので、まとまってないけど雑に書いた!

自責か他責かというフレームはいっそ有害なのではという話

よく「ビジネス〜〜」みたいな話の中で「他責思考をやめて自責思考になるべし」みたいな話がなされると思う。

これって「あいつのせいでXXできない」っていう考え方をやめえや、って話だと思うんだけど、その対義語?として「自責思考」ということが言われているんだと思う。ただ、ぼくはこの「他責が自責か」という考え方自体は悪い副作用が大きいんじゃないかなあとは思うんですよね。他責思考に陥ってしまっている状況ってのは「自分ひとりで物事が動かせない」という状況があるからこそそういう思考に陥ると思っていて、そのときに「自分でできることを」みたいなこと言われてもどうしようもないことが多いどころか、結局「あいつらVS自分たち」という構図を強化してしまうまであるのではないか、と思う。

むしろ必要なのはどうやって「他責VS自責」という構図を「問題VSわたしたち」にリフレームするかということだと思っていて、まず問題に向き合う、あるいは適切な問いを立てる。そこに頭をつかって、問いが立ったあとに「その問いをわれわれで解決するためにはだれに何を担ってもらう必要があって自分はどこを担うべきなんだっけ」って話ができるようになるし、そうすることで初めて「自分一人では動かせないくらいにでかい物事」を動かせるようになるんではないかな、と思うんですよね。で、そういうリフレームこそが「他責ではなく自責で動け」とか言いたい「上の人」の役割のひとつなんじゃねーかな、と「徹底した自責思考を〜〜」とか聞くたびに思う、という話でした。

いつのまにかVPoTになって1年以上経ってた

軽く振り返りたい。

去年の10月からVPoTになって、ずっと手探りでやってきていつのまにか1年以上経ってた。

正直言って、始めてから半年くらいは「何を期待されていて、自分ができることが何で、それをどう進めるべきか」が全然わからなくて、自分が何をすべきかということを探る期間だったし、ちゃんと機能できていなかったと思う。具体的に何をやっていたか、と言われてちゃんと応えられる成果がない。まあ、半年くらいそんな感じで右往左往しながら、今までと違う立場で社内を観察していたのはまるっきり無駄とは言えず、今の仕事につながってはいるかな、とは思う。けど正直機能できてなくてすまんかった、とも思っている。

では今何をやっているかと言うと、課題を抱えた現場に対してアドバイザリーとして入っていって改善おじさんをやったり、そういう現場レベルのことよりもでかい粒度で「全社レベルでの仕事の構造を変える」ことに注力している。

春くらいまでは課題に対してみんなの仕事の構造がたいへんにうまく噛み合ってて、よい成果をあげられていた。象徴的なのは、去年と比べて圧倒的にシステムが安定稼働していることだと思う。一方、最近はとくべき課題が変化した結果、うまく仕事の構造が噛み合ってない状態ができつつあって、みんながすごく頑張ってくれても全体最適にならずにうまく成果に繋げることがむずかしい状態になってしまいつつある。

「全社レベルでの仕事の構造を変える」というのは、そんな状況に対して「解くべき課題がいまはこう変わったよね。だから仕事の構造をこういうふうに変えていかない?」というのを言語化し、いろんな組織長にぶつけにいって、組織長を巻き込んで、今までと異なる取り組みをやってみたり組織構造を課題にフィットするようにリファインさせていったりするような仕事。また、その構造が実効するために自分がやるべき細々としたこと(自分がキーマンへのフィードバックをしていく立て付けを作ったり)や技術的な状況の方向出し(こういう構造で仕事するためには技術的にここが足りてないので、いついつまでにこういう状態に持っていってくれない?)もやっているという感じ。一応成果物もいくつかできてきてて、開発者だけではなくビジネスをハンドルしてるひとたちからも「助かる」と言う声をいただけていて、ようやく自分の仕事が回り始めたかな、とちょっとホッとしている。1年たってようやく「自分がこの会社でVPoTとしてやるべきことってこういうところなんだな」というのが明確に見えてきた。最近はようやく「VPoTの入口に立てたかな」という感じがある。

こういうふうに入口に立てたのは、マーケ領域、プロダクト領域でVPの動きをしていくれている同僚の仕事を観察させてもらえたことも大きい。それ以上に自分としてはそーだいさん( id:Soudai )との定期的な1on1とlacolaco言語化支援サービスにかなり助けられたなあと思う。そーだいさんの1on1は、自分が見えていないところに対して「しんぺいさんの役割だったら本来ここ見ないといけないけど、ここ見えてないよ」という感じのFBをたくさんもらえて、視野を育ててもらっている。lacolaco言語化支援サービスは、自分の抱えている不安や困りごとをより明確に深く掘り下げる超高級壁、という感じで、「なんとなく不安」みたいなタネを「ネクストアクションで制御可能な課題」にまで分解するためにめちゃめちゃ役にやっている。

あと、正直いま採用育成やピープルマネジメントは自分は全く手をつけてないんだけど、そこを担ってくれる本部長、部長がいて、安心してそこを手放せていることも自分の仕事に集中できている理由のひとつだ。

VPoTを引き受けるときに、「孤独に辛くなってVPoTの役割を果たせなくなっていくことが怖いけど、ここでなら、サポートしてくれるひとたちがいるし、孤独に死んでいくことにはならないのではないか」と思ってエイヤで引き受けたんだけど、その通りの1年間だったなと思う。改めて、周りのひとに感謝の気持ちが湧いてきたし、恩返しできるようにきちんと「会社にいるみんなが頑張ったぶんだけちゃんとプロダクトが改善されて、マーケットに受け入れられて、子供たちが学ぶ楽しみや学び方を覚えて、子供たちひとりひとりの人生が豊かになる」という仕組みを作っていきたい。あと非課税5億円ほしい。

映画:フィッシュマンズ観てきた

fishmans-movie.com

フィッシュマンズを最初に聴いたのは多分高校生の頃だったと思う。記憶はあまりたしかではないのだけれど、「Oh! Mountain」という、ライブ音源に編集を加えた一風変わったアルバムが多分ぼくのファーストコンタクトだったと思う。正直最初の印象は「なんだかよくわからない」という印象だった。けれど、なぜか「わからないけど心地よい」という状態に入り込んで、毎日、なんとなく聴いていた記憶がある。そうしているうちに、いつのまにかフィッシュマンズを好きになっていて、スタジオアルバムを収集し始めたという感じだったはずだ。ぼくが高校生だったのは1999年4月から2002年3月まで(のはず……)だから、ぼくはリアルタイムにギリギリ間に合ってない。リスナーとしては結構ぬるいリスナーだと思う。フィッシュマンズにめちゃめちゃに傾倒したということもないし。だけど、高校で出会ってからいままでずっと、フィッシュマンズを聴かなくなった時期はなかったし、自分のやる音楽には無意識に色濃くフィッシュマンズの影響がある、と自覚している。

どんなところが好きでフィッシュマンズを聴いてきているんだろう、と考えると、自分は「佐藤伸治のカリスマ」みたいなところにひっかかって聴いていたという感じではなかった。ちょっとでも演奏がズレたらまったく違うノリになってしまいそうな、リズム隊のタイトさに支えられた独特のグルーヴや、その上にのっかる意外と攻撃的なサウンドのギター、キーボード、それらが渾然一体となるとなぜかちょっとメランコリックな浮遊感が生まれる。そういうサウンドが好きで聴いてきたリスナーだった。リアルタイムが少しずれていることも重なって、「佐藤伸治の物語」みたいなものはあまり知らなかったしそこに惹かれているという感じではなかった。今回の映画が「佐藤伸治をめぐる壮大な振り返り」という感じの映画だったので、この映画で初めて自分の意識が「佐藤伸治というカリスマ」「佐藤伸治という物語」にアクティブに向けられたという感じだ。

そして、佐藤伸治というパーソナリティにはそこまで興味を持っていなかった自分が、佐藤伸治大振り返り会という趣のあるこの映画に触れて何を思ったかというと、「なるほどたしかにこれは強烈な個性だったんだなあ」という身も蓋もない感じの感想を得た。そして、改めて、自分は佐藤伸治という個人ではなくて、バンドとしてのフィッシュマンズが好きだったんだということが逆説的によくわかった。というのも、自分が一番聴き込んでいるスタジオアルバムは多分『ORANGE』か『空中キャンプ』で、次点で『KING MASTER GEORGE』かな、といったところなのだけれど、映画を観た感じだと、これらのアルバムの頃がもっとも「バンドとして」作品を作っている感じがあったのだなというのがよく伝わってきたからだ。『宇宙、日本、世田谷』もたしかに文句なしに名盤だし、『WALKING IN THE RHYTHM』とか大好きすぎるんだけど、アルバムを通して、という話で言うとどうしても『ORANGE』や『空中キャンプ』聴いちゃうんだよな。

というわけで、『映画:フィッシュマンズ』。ぼくにとっては、佐藤伸治というカリスマを歴史として知ることができて、その結果「フィッシュマンのバンドとしてのサウンドが好き」という聴き方以外の聴き方を教えてくれるような映画だったかなと思う。自分の好みの問題としては、今後もやっぱりフィッシュマンズサウンドが好きで聴き続けるんだろうけど、好きなバンドの楽しみ方が増えるのは純粋に嬉しいことだと思う。