天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

アジャイルよもやま話 ~ 受託開発でもアジャイル開発できるのか ?に参加してきた

aws-dev-live-show.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

顧客と協調し、繰り返し開発を続けていくアジャイル開発は、一般的な受託開発である一括請負との相性はよくありません。

一方で月額定額&顧問形式の「納品のない受託開発」というビジネスモデルを発明することで、受託開発でもアジャイル開発を実践してきた例もあります。そこで今回の「アジャイルよもやま話」では、ゲストにソニックガーデンの倉貫様をお招きし、受託開発であっても顧客と開発者の双方が幸せになることができるのか、そのための組織・働き方・カルチャー・経営について、学びを共有いただきます。

会の様子

納品のない受託開発という単語が出たきっかけ

最初に倉貫さんから、「納品のない受託開発」という言葉を使いだしたきっかけに関して話がありました。

納品のない受託開発という言葉は、アジャイル開発を使わなくなった結果だということで、アジャイル開発をしたいわけではなく、システム開発が上手く進められるようになりたい*1んだよねという発想からスタートして(主な支援先だったスタートアップ向けに)逆算をした結果生まれた言葉だということでした。
事業戦略が変わった時にも一緒に自分たちの開発も変わっていくよという説明の仕方になったそうで、それを納品のない受託開発と呼ぶようになったということです。

受託開発と内製開発それぞれの魅力

伊藤さんから受託開発の魅力として、お客さんがこういう機能をこういう風に使うんだという新しい発見が常に得られることが挙げられるという話がありました。

福井さんは、受託開発は契約形態に名前をつけているだけだと捉えているそうで、事業とかも一緒に考えられる前提があると、非常に面白くなるという話をしてくれました。
ただし、これはパッケージ開発でも同じで、リリースした先のビジネスに携われると魅力的になるということです。

倉貫さんはなぜ事業会社を作るのではなく受託開発をする会社を作ったのか?

まず、社内ベンチャーをやっている時は事業会社的にやっていた時もあったということでした。
その後、会社として独立することになり、改めてビジョンを決めようとなったそうですが、そこでビジョナリー・カンパニー2を読んだ時に、バスの行き先(ビジョン)はバスに乗っている人の顔を見て決めようと書いてあり、それならエンジニアのための会社(エンジニアが働きたいと思う会社)を作ろうという話になって、ずっとプログラムを書けるようにしようと考えた結果受託開発を選んだそうです。

ソフトウェア開発に適切なメタファーは?

ソフトウェア開発で納品が必須のように感じてしまうのは工場や建築のメタファーを取り入れたことが失敗の原因になると思っており、代わりのメタファーがあると良いのではないのではないか?という話が伊藤さんからありました。

倉貫さんは、大前提としてメタファーは必要ないのではないかと思っているということで、本でもメタファーを使った説明ではなく、ソフトウェア開発を相手(経営者)の時点で説明することを心がけているということです。

ソフトウェアの内部品質をエンジニア以外に説明するために工夫したことは?

確かに本を書く上で1番苦労はしたということですが、美しさとか具体的な実装の話に踏み込むのではなく、内部品質が低いと何が起きるのか?高いと何が嬉しいのか?を経営者の目線で説明する工夫をしたそうです。

納品を無くさないとアジャイル開発で受託開発するのは難しいのか?

これは倉貫さんとしてはYesだと思っているということでした。
納品というものがある時点で、そのビジネスの価値は納品できたかどうかで決まるため、納品があるならアジャイルよりもウォーターフォールをやればいいと思っているそうです。*2

また、今の時代は不確実性が高いから納品のない開発の方が…という話をすることもできますが、倉貫さんとしては今の時代は不確実性が高いから…という枕詞をつける必要はないと思っているそうです。
これは、ソフトウェアは経営やビジネスを表した手段にしか過ぎないので、不確実性が高い時代というビジネス視点とソフトウェアを分断して考えることになっているのがそもそもおかしいと思っていることが理由だというお話でした。

受託開発とプロダクト開発はどれくらい違うのか?あるいはどれくらい同じか?

基本的には何も変わらないということでした。
経営者が契約形態上違いをつけているくらいだと思っているそうです。

大規模開発がなくならない現実に対してどう向き合いたいのか?

大規模開発を規模の大きなソフトウェアを作りたいという意味で話しているなら、少人数の方が作りやすいと思っているという話がありました。
大規模開発が、人数が多いほど作りやすい(価値を生み出しやすい)という考えからくる話だとしたら、それはよくわからないそうです。

倉貫さんがやってみたいこと

今後は良いソフトウェアを作れるエンジニアを増やしたいということで、若い人たちをもっと育成したいという話がありました。

受託開発に関わるアジャイル実践者へのアドバイスをしてほしい

まず、納品のある受託開発をしているならそれはアジャイルではないのでやめて欲しいということでした。

アジャイルという言葉は使い勝手が良すぎる言葉になってしまったので、人によって色々違うアジャイルが生まれているしその人が思うアジャイルをやってくれればいいとは思っているそうです。

ただ、そういう状態でも価値あるプロダクトを作ることにフォーカスすることはして欲しい。結果、倉貫さんとしてはアジャイルかどうかはどうでも良いと考えているということでした。

会全体を通した感想

久しぶりに倉貫さんのお話を聞いたのですが、課題を明瞭にしてから踏み込んでいるように感じる話が多く、聞いていてスッキリする感じを受けました。

個人的には、納品がある時点でアジャイル開発ができないというのはすごく腑に落ちたのと、アジャイル開発ができるかよりも価値あるソフトウェアを作りたいということにフォーカスしていきたいというのもとても共感ができました。

*1:もっといえば事業が上手くいくようにしたい

*2:なお、納品できたかどうかで価値があるビジネスもあると思うので、納品があるビジネスモデルを否定しているわけではない