プロダクトづくりの困難さとアジャイル開発の難しさ

昨日になりますが、DevLOVEの「プロダクトをつくるとはどういうことなのか? -正しいものを正しくつくる-」というイベントに参加しました。

 

devlove.doorkeeper.jp

 

当初は定時に上がってそのまま帰宅しようかと思っていましたが、数席空いていたこともあり急遽参加することにしました。

今回は「カイゼン・ジャーニー」の著者の市⾕聡啓さんと「現場で役立つシステム設計の原則」の著者の増田亨さんのセッション、そして、対談という形でした。

 

まずは増田さんのセッション。

www.slideshare.net

この中でも重要なポイントは不確実性と戦うための ソフトウェア設計スタイルとして挙げた3つの項目。特に「創発的な設計活動」の内容が次の市谷さんのセッションで登場することに。

https://image.slidesharecdn.com/emergent-software-design-190701075014/95/-12-638.jpg?cb=1561967597

ちなみに「創発的な設計活動」は観察→仮説→実験→考察という流れ。端的に言ってしまいますと仮説検証となるのでしょうか。この仮説検証が後程登場します。

他にもモジュール分割は機能分割ではなくドメインオブジェクトに基づく型分割しないと硬直化してしまう、重要な20%に投資する等システム設計上の勘所について取り上げられました。

ちなみに、増田さんの著書「現場で役立つシステム設計の原則」は以下の通りです。

gihyo.jp

私も買っていつつも、熟読できていないので時間を見つけて読まないと。

 

引き続き市谷さんのセッション。

www.slideshare.net

ここでの「アジャイル開発は2度失敗する」の中に出る2つの壁は、

  • 1つ目の壁:早く少しだけ形にして、新たに分かってきたことを現実的にどうやって受け止められるようにするか?
  • 2つ目の壁:プロダクトオーナーと開発チームの間にある境界線

聞いていてアジャイル開発をしても1番目の壁がなかなか超えられず頓挫するケースが多いのではないのかという感じがしました。そもそも早く少しだけ形にする中で新たな不安が出て、それを受け止められていないのかなあという感じがしました。

以前、あるTV番組の中で世界的なデザイナーである吉岡徳仁さんが「不安ですよ、不安だらけ。うまくいく保証なんてないし。(中略)できるまでがね、難しいんですよね。」という言葉を思い出しました。そもそも進めていく中で不安という壁にぶつかることはしょっちゅう。私ですら壁にぶつかっては悩むことはしばしばです。

解決手段として余白を作り、1スプリントに対しての強度を高めるということを提示されました。

そして、2つ目の壁「プロダクトオーナーと開発チームの間にある境界線」で増田さんが話された「創発的な設計活動」の内容の仮説検証が出てきます。

https://image.slidesharecdn.com/product-190701121942/95/2-26-638.jpg?cb=1561983923

「仮説検証型アジャイル開発」という手法がそれで、仮説検証の中でMVP (実用最小限の製品) を特定し、アジャイル開発にて正しく作るという手法ですが、確かに検証せずに思い込みで正しいものを作っても出てくるのは誤ったものであれば自然ではないかと思いました。

あとは適者生存の構造化戦略のためには段階のデザインと変更容易性が必要とのことでした。

その後、市谷さんと増田さんの対談とQ&Aでクローズとなったのですが、その市谷さんの最新作「正しいものを正しくつくる」は以下の通りです。

www.bnn.co.jp

私自身、帰宅前に購入して帰りの電車の中で一気読みしましたが、量がそこそこあって読み切るのに一苦労しました。

一読しているので、今度はじっくりと読み返してみようと思います。