幸福なシステム開発は実現できるか?――ソニックカーデン倉貫義人とサイボウズ青野慶久が考えた
今、ソフトウェア業界で話題になっている1冊の本があります。『「納品」をなくせばうまくいく』(日本実業出版社)。著者は株式会社ソニックガーデン代表取締役の倉貫義人氏です。
倉貫氏が提唱する「納品のない受託開発」とは、月額定額制で、あたかも顧客企業の顧問エンジニアのように、毎月の決まった金額の中で開発と運用を行うというビジネスモデル。「要件定義をしない」「見積もりをしない」「エンジニアを受注先に派遣しない」「1人のエンジニアが設計から開発、運用まですべてを担当する」など、これまで主流だった一括請負型のシステム開発の常識を覆す画期的なスタイルを確立し、着々と実績を挙げています。
『「納品」をなくせばうまくいく』をサイボウズの青野慶久社長が読み、感銘を受けたことからこの対談が実現しました。対談の前編では、従来の一括請負型のシステム開発のどこに問題があり、またその問題は何故生じてきたのかについて意見を交わすとともに、倉貫氏がどのように「納品のない受託開発」の発想に辿り着いたのかに迫ります。
両氏は2014年11月28日に開催される「cybozu.comカンファレンス2014」でも講演します。
「誰もが最終的に不幸であること」が従来型のシステム開発の問題
『「納品」をなくせばうまくいく』、非常に興味深く読ませていただきました。
ありがとうございます。
拝読して一番強く感じたのはですね……。従来からの一括請負のウォーターフォール型のシステム開発で、納期が長くなるとか、コストが余計にかかるとか、そういったことは百歩譲ってまあいい。良くないのは、そうしたシステム開発のやり方が「最終的に不幸である」ことなんじゃないかと。
お客様と開発する側、両方にとってですよね。
ええ。お客様にとっても、長納期や高コストのみならず、「欲しいものと違う」ということが起こりがちだし、開発する側にとっても、まるでデスマーチを走らされているようで、気持ち良く納品できなかったりする。その「幸福感のなさ」が問題だと思うんです。
僕も、開発手法そのものにはあまりこだわりはないんです。従来どおりのやり方でうまくいっているなら別に変えなくてもいいと思います。ただ、実際15年システムインテグレーター(SIer)にいて、うまくいっていないのを目の当たりにしている。では何とかしなくては、ということで「納品のない受託開発」を始めたわけです。
従来どおりのやり方でうまくいかないのは、外部環境が変わってきたからなんですかね? 昔はそのやり方でもうまく回っていたんですよね?
回っていましたね。僕がSIerに入社した2000年ごろまでのSIの世界は、一括請負でうまくいっていた。それは時代的に、お客様に潤沢な資金があったので、きちんとお金を出してしっかりしたシステムを作ろうという考え方だったからです。ところが今のご時世、社内システムに何億円もかけるなんてことは難しい。じゃあどうするの? という話になったわけです。
1980年代後半から1990年代前半あたりまでは、1人月100万円を超えるのが当たり前だったと聞いたことがあります。システム開発というのは、そのくらい稀少価値のあるノウハウだったんですよね。当時は発注側も幸せで、受注側も仕事はキツイけどお金はちゃんともらえてそれはそれで幸せだった。ただ、そこから単価がどんどん下がってきて。
そう、お金がちゃんともらえたというのはありますよね。そういうふうに資金が潤沢な時はウォーターフォール型で長い時間をかけて、でも良かったんですよ。ところが今どきそんな牧歌的なやり方では生き残れない。
IT技術自体が広まってきて、競争も激しくなってきた。そんな中で、しかめっ面で必死にやっても生産性は上がらない、ちょっとやり方を変えなくては、となった。こうした流れの中で倉貫さんの「納品のない受託開発」のような手法が生まれてきたんですね。
インターネット以降で変わったシステム開発
外部環境の変化でいうと、インターネット以前と以後でマーケットがガラッと変わったのもインパクトが大きかったと思います。それまでのシステムって、オフィスオートメーションの一環で、あくまで社内で使うものだったんです。それがインターネットの登場以降何が起きたかというと、あらゆる企業がシステムを介してユーザーと直接つながってビジネスを行うようになった。
はい。
僕はSIer時代に先物取引のシステムを作っていたんですけど、昔はオペレータの人がいて、その人がちゃんと注文管理をできるシステムを作ろうという発想でした。それが、インターネットを使ってお客様が直接取引できるシステムを作るというように変わったわけです。
なるほど。
インターネットを使ってビジネスをする場合は汎用品ではダメ。オリジナリティを出し、ユーザビリティを上げないと、競合に勝てません。そうなると、昔ながらのやり方だとインターネットサービスは作れないんです。インターネットサービスで、1年後にリリースするシステムのインターフェイスを考えるなんてあり得ないですからね(笑)
短期間で作らなくてはならないから、要件定義なんてしている場合じゃないと。
本来、要件が変わるのなんて当たり前だし、仕様変更もしょっちゅう起こる。でもそれをすると追加費用がかかっちゃうから、なるべく要件どおりに作りましょう、という話になってしまうんです。SIerが要望に応えられなくなっている。
確かに大型コンピュータの時代は、社内でシステムに触れるのは経理の人と生産管理の人くらいでしたよね。それがパソコンが出てきて、ホワイトカラーが全員触るようになりました。続いてインターネットが出てくると、一般コンシューマーがパソコンを買って自宅で使うようになり、今はスマホが出てきてさらに裾野が広がった。さらに次にクラウドが普及すると、今度は今、紙を持って走り回っているフィールドワーカーの人たちもタブレットで入力するようになりますよね。いつ、どこで、誰が入力するかわからないから、今までのように画面の要件を定義したりもできない。
社内システムとインターネットシステムの違いだと、社内システムだと使うのは社員だからユーザー数が予測できるけれども、インターネットシステムではそれが不可能ということもありますよね。エンドユーザー向けにシステムを提供したら、一気に爆発してユーザー数が10倍、100倍になることなんてざらにありますから。だからインターネットシステムは昔ながらのやり方だと絶対作れない。
社内の特定の人しか使わないようなシステムだったら、従来型の開発手法でいいんですよね。社内のいろいろな人、さらにはエンドユーザーと、システムを使う人が多様化し、複雑性が増すと、ウォーターフォールでドカンと一括受注して納品、みたいな形では対応できなくなる。
そうです。そういう意味で、インターネット以前と以後ではシステムの開発環境がまったく違うんです。
「お客様もチームの一員」であることが幸福感を生む
冒頭の「幸福感」の話に戻ると、「納品のない受託開発」では、月額定額制でお客様の顧問のような立場でシステム開発をするということで、お客様とチームを組み、同じ方向を向いて開発を進める感覚なのもいいですよね。従来はシステムを提供する側とされる側、もっと言えばお金を出す側ともらう側の立場がはっきり分かれていて、お金を出す側は偉そうに振る舞い、もらう側はなんとかお客様からたくさんお金を引き出そうとする、という対立構造から抜け出せませんでしたから。
僕らの会社の哲学は「お客様を財布として見ない」ことなんです。SIerはよくお客様の予算感を見て、「これくらいならいけるのでは?」みたいな狙った提案書や見積もりを出したりするじゃないですか? あれがイヤなんですよね。
お客様からいっぱい引き出したほうが偉い、みたいに評価されたりもするんじゃないですか?
それはありますよね。だから僕らは「月額定額」というしばりを入れたんです。月額定額だと、お客様と長くお付き合いいただくことがベストとなる。逆に、変なことでお金を使わせて、それでビジネスが上手く回らなくなると、僕らもコケることになっちゃうんです。なので、限られたお金の中でできるようにしましょう、となる。そうじゃないと、今期の売上があとちょっと足りないから、お客様に何か作りませんかと提案する、みたいになってしまいます。
二次請け、三次請けではなく、プライムの立場で仕事をすることも徹底していますよね。「お客様と直接話す」ことが、チームになる第一条件ですもんね。
おっしゃるとおりです。だから当社では、お客様とのミーティングは、お客様側の責任者とウチのエンジニアだけでダイレクトに行います。
そうすればお互いの考えがズレて別の方向に進むことはないですよね。
定額制のシステム開発は「SIの逆転」
それにしても月額定額というのは大胆ですよね。要件定義して工数を見積もって価格を決めるのではなく、この月額ならこのくらいの工数を使ってこういう成果物を出せる、という形にした。これはSIのプロセスの逆転ですよね。どういう経緯で月額定額を思いついたんですか?
僕は見積もりが好きじゃないんですよ。SIerの見積もりってだいたい外れるんです。ビルや家を建てる時って、人件費を材料代にまぶして見積もるんですよ。だから見積もり金額にそんなに大きなブレはない。でも、ソフトウェアって材料代がないですよね? 人件費というブレる要素しかないわけです。人月だと優秀な人とそうでない人で差が出るのは当たり前だから、人月で見積もってもうまくいくはずないですよね。
確かに。人月の悪しき習慣というのもありますよね。優秀な人がやったほうが短い期間でプロジェクトを終えられるはずなのに、そうすると請求できるお金が少なくなる。だから優秀な人ほど稼げないという逆転現象が起きてしまう。
ならば優秀な人の単価を上げればいいんでしょうが、上げられる幅も限られている。人月は頭数で解決しようという考え方ですが、じゃあ新人を5人入れたとして同じ仕事ができますか、と。
できるわけがないですよね。何もわかっていない人をたくさん入れてもカオスになるだけで(笑)
なのに頭数で計算しようとするわけですよ。単純労働だったらそれも可能かもしれませんが。人月での見積もりはそもそもソフトウェア開発に向いていない。じゃあ見積もりをやめるにはどうすればいいかというと、金額をあらかじめ決めて、その金額に応じて仕事をマネジメントするしかない、という発想なんです。
ソフトウェア開発は知的労働で、材料もない。見積もるための標準要素がない。そもそも標準化できないものだから、エキスパートの仕事としてみなくてはいけないですよね。
そのとおりです。僕は、自分たちがやっているソフトウェア開発は製造業ではなく、ナレッジワークあるいはプロフェッショナルサービスだと思っています。
本当にそうですよね。
※「ソニックガーデン倉貫義人×サイボウズ青野慶久 対談」の後編「日本のサラリーマンは「35歳定年」でいい――倉貫義人×青野慶久、プログラマーを再定義する」に続きます。
文:荒濱一、撮影:橋本直己
SNSシェア
執筆
荒濱 一
ライター・コピーライター。ビジネス、IT/デジタル機器、著名人インタビューなど幅広い分野で記事を執筆。著書に『結局「仕組み」を作った人が勝っている』『やっぱり「仕組み」を作った人が勝っている』(光文社)。