見出し画像

ソフトウェアを書くときは見積もりよりも予算が大事

みなさん今年もお疲れ様でした。heyのCTOの藤村です。hey アドベントカレンダー2020 最終日のエントリーは軽めのエッセイです。

ここ数年仕事でソフトウェアを書いていてよく感じるのは「見積もりより予算のほうが大事なのでは」ということ。これについて簡単に説明しようと思います。

みなさんソフトウェアを書くときはだいたい見積もりをします。何かしら作るものが決まると、ストーリーに分割してポイントを振ったり、細かいタスクに分割して総量を見たり。これによってプロジェクトだったりひとかたまりの開発のボリューム感がわかり、スケジュール調整がなされていきます。

しかし、僕はこの最初に見積もりをする文化にだんだんと懐疑的になってきました。ソフトウェア開発では、見積もりよりもまず予算を考えることが大事なのでは思っています。

ここでいう予算は「その開発にどのくらいの時間をかけるべきなのか」を指しています。要はROI(Return on investment、投資に対する見返り)です。正確には、いやざっくりした考えでも予算はROIではないのですが、まあ便宜上使わせてもらいます。ちなみに脳がROIに最適化されてしまった皆さん(友人たちの顔が思い浮かびますね)はこの記事を読まなくても大丈夫です。

さて、なにかの開発を行うには時間がかかります。仕様検討、アーキテクト、実装、テスト、その他付随する時間がその開発に投下されるわけです。営利企業で働いている以上、この投下される時間にかかるコストを上回るリターンがないと、あんまり(完全に)やる意味がないわけです。

けど、ソフトウェア開発では、この予算(ROIでもいいですが)が考慮されない事が多い気がします。まず企画が出てきて、仕様が検討され、見積もりが行われ、開発がスタートします。見積もり段階で「これだけの時間を使う必要はあるのか?」という検討が入ることもありますが、規模が小さいもの、特にエンジニアのみで企画から開発までが完了する小さなタスクでは見逃されがちではないでしょうか。

結果、インパクトが大きくない施策に、そのリターンに見合わないくらいの時間が投下されることがあります。見積もりする、時間かかるのわかる、難しいな、大変だ、頑張るか、という流れで、投下する時間とリターンのバランスが確認されないまま「イシュー」として起票され、着手され、解決されてしまったりします。心当たりありませんか?正直僕はあります。難しいイシューを倒すのは気持ちがいいですよね。

なぜこうなっているのか?についての仮説はまだありません。アジャイル開発のメソドロジーにおける見積もり手法の精緻化が我々の思考を引っ張っているのか、疑う余地のない所与として「仕様」が降ってくる旧来のソフトウェア開発の現場に曝され集団的に脳が麻痺してしまったのか、僕らエンジニアが難しい課題を解く快楽に支配されているのか。一度タスクを並べるとやらないといけない気持ちになってしまうのか。わからないですけど、見積もり偏重の雰囲気は確かにあるなあと感じます。

僕らは時間あたりでより多くお客さんやユーザーさんを幸せにできる開発をしたいわけです(ROIの高い、というと冷たい感じなので表現を和らげてみました)。どうしても我々の思考を引っ張ってしまう見積もり思考の罠から抜けるために僕がある日思いついたのが、最初に予算をつける、という方法でした。

やることは簡単で、なにか企画や思いつきがあったときに「この企画を実現するのにどのくらいの時間を使えるんだっけ?」と先に考えるだけです。「どのくらい」はざっくりした相対値でもOKです。これを先にやっておくことで、タスクを分解して案外時間やること多くて大変だ…とわかった時に「いや、これこんなに時間かける価値ないですわ」と気がつくことができます。先に考えておくことで見積もりの結果に引っ張られることを回避するわけです。

また「ソフトウェアの開発工数は納期にあわせて増減する」というよく言われているやつも回避することができます。最初に予算を決めておけば、工数への評価も冷静に行えますし、納期に合わせて増えた実はやらないでいいタスクも捨てることができます。

ただし、規模が一定以上大きくなると、この「予算をつける」という方法はあまり機能しなくなる印象があります。あくまで数日から一ヶ月程度の、一人で全体感を把握できるものに対して使うのがおすすめです。

ということで、ソフトウェアを書くときは見積もりよりも予算が大事、という話しでした。ふと日常で目の前に楽しい(難しい)課題がぶら下がってくると、ここで書いた予算のことを忘れがちです。当たり前やろ!やっとるわ!という方もいらっしゃるかと思いますが、改めて自戒を込めてまとめてみました。

最後に、僕の働いているheyではソフトウェアエンジニアを含めたほぼ全職種を採用中です。なにかに熱中して、こだわりから始まったお商売を支える仕事を、一緒にやりませんか。詳しくお話しさせて頂きますので、ぜひ一度ご連絡ください。採用ページからでも、もしくは僕への直接の連絡でも構いません。

では、みなさん良いお年を!

この記事が気に入ったらサポートをしてみませんか?