目分量や心づもりではかっておおよその見当をつける。前もって計算して出す。言葉の定義が広いため、コンテキスト依存性がある国語辞典の結果を見ると分かるように、「見積もる」というのは、おおよその見当をつける・計算するという動詞であることが分かりますが、一方で、この単語の中に既に「何を」の部分が複数含まれているのが話をややこしくしています。誰が誰にどんな状況で「見積り」を依頼したかによって「何を」の部分がかわります。以下のような例が考えられます(乱暴に書いていますので必ずしもどこの環境でもあてはまるとはか限りません)。お客さんがSIベンダーの営業に対して「見積りをくれ」といった場合は、実際にお客さんが支払う費用を指すことが多いでしょうSIベンダーの営業が開発部門に「見積りをくれ」といった場合は、総内部工数と原価を指すかもしれませんWebサービスを内製で作っている会社が「見積もって」とチームメンバーに言えば、内部的に発生するであろう工数か期間を指しているかもしれません単純に「見積り」という言葉だけを使うと人によって受け止め方が違う可能性がある、コンテキスト依存性があるというのが分かると思います。「対象」に対する誤解を避けるために、きちんと「何を」見積もるのか正しく依頼する必要があります。見積りが「どう扱われるか」が与える影響見積りがどう扱われるかが分かっている場合と分かっていない場合とで見積りが違ってくることがあります。身近にこんな例がある不幸な方もいるかもしれません(大手SIerはこのあたりは赤字プロジェクト撲滅という名のもとに色々審査があるのでいきなり見積書が勝手な金額で出て行くというのはないはずですが)。営業から「だいたいいくらで出来る?」と聞かれて「○万円くらい?」と答えたらある日発注がいきなり来た幹部から「何日くらいで作れる?」と聞かれて「○日くらい?」と答えたら、なぜかリリース日が決まっていてアナウンスされていた上記の例での問題点は、あくまで「予測」として出したものが「約束」として扱われてしまっていることです。最初から「約束」として使われることが分かっているのであれば、リスクを踏まえて数字を積むことになるはずです。従って、その見積りを「どう使うか」についても最初に知っておくべき事項になります。アンカリングによる数字のゆらぎちょっと話は逸れますが、上の例での質問を以下のように変えてみましょう。営業「だいたい100万円くらいで出来る?」幹部「5日くらいで作れる?」こういう質問の仕方に変えると、そこで出された数字によって後の数値の判断が歪められ、最初に出された数字(アンカー)に近づくバイアスがかかったりもします。これはその数字でやろうとする根拠を探しだそうとする力が働くからでもあります。従って、見積りを求めるときは、先入観なく判断をさせるようにしてください。そもそも正確な見積りって可能なんだろうか?本質的には、規模が大きくなればなるほど、いかなるものの見積りも難しいと考えてよいと思います。いかなるもの、というのは、原価や期間、必要なリソースなどなどです。上のビル群の左2つの高さを見積もってみてください。これをいきなり正確に見積もるのは困難だと思います。書いたのは類似のビルを建てたことがあれば話は変わってくるからで、例えば以前建てた50階建てのビルは高さ120mだ、みたいなのを理解していると見積りの精度は上がります。一方でソフトウェアの場合は、毎回作るものが違い、作る人のスキルにも大きな差があります。過去の数字の蓄積によってある程度カバーできたとしても、建築物に比べると、誤差の範囲は大きくなると思われます(もちろん新国立競技場の話もあるので、建築物だとしても一定規模を超えた新しいものの規模や費用の見積りは難しいということが分かります)。見積りの精度は時間の経過とともに高くなる(はずである)当たり前ではありますが、手持ちの情報が増えたり、フェーズが進むに連れて見積りの精度は上がっていきます。上の図は、不確実性コーンと呼ばれるグラフで、プロジェクト初期の段階における費用見積りは、実際にかかった費用の0.25倍〜4倍の範囲に収まり、以降時系列で、要求が固まった時点で0.67倍〜1.5倍の範囲に、製品設計が終わった時点で0.8倍〜1.25倍・・・という範囲に収まることを示しています。うまく、実際にかかった金額の4倍で見積りを出していてそれが採用されているのであれば少なくとも受託した側は万々歳ですが、0.25倍の見積りで出していれば大赤字です。この事実を踏まえると...これが分かっていれば、大型案件をおこなうときに、企業側がRFPを作成し、複数社から提案や金額見積りをもらい、一番安いところに発注するというのが如何に恐ろしい話なのかよく分かります。受託開発側の文脈から見ると、設計と構築を分けて契約することにして、設計部分までは準委任で行い、開発部分だけ請負で行うことでリスクを低減するというのはよくある話だということが分かります(大手SIerがよくやります)。見積りの手法はいろいろあるけれど...規模の見積りの方法には、ファンクションポイントやCOCOMO、CoBRAといった方法があります。大手のSIerなんかではあるプロジェクトの規模見積りをする際に必ず複数の方法を使って見積もるなんて話も聞いたことがありますが、これの前提になっているのは「事前に分かっている情報をもとに算出する」ということです。不確実性コーンの絵にあるように、「事前に分からないもの」が多ければ多いほどどちらにしても見積りは不正確ということになります。いうことで?具体的な規模見積りや費用の見積りはすごく難しいというのでよろしいでしょうか?アジャイルの文脈だとどうなる?ここまでの文脈はウォーターフォール型の受託開発っぽい文脈(スコープと期日と予算が固定)でしたが、アジャイルの文脈だとどうなるのか考えてみましょう。一般的な考えとしては、全ての要素を固定するのは避けるべきということです。なると固定のパターンは以下が考えられます。スコープと期日を固定(予算は可変)スコープを固定(期日は可変、予算も可変になるはず)期日と予算を固定(スコープは可変)この中で一般的に機能しそうなのは、最後の「期日と予算を固定し、スコープを可変にする」ものです。決められた枠の中で大事なものから順番に作っていき、リソースが尽きたり(お金を使い果たしたり)、期間が到来すれば、そこでさらにリソースや期間を追加してモノを作るのかどうかを決めます。必要な人数や期間はどう見積もるのか?これをするには、これから作るものの全体像がおおよそ把握できている必要があります(この点については方法論による違いはあまりありません)。したがって例えばプロダクトバックログをざっと用意して、ポイントで見積りをしてみたり、大中小に分けてみたりして把握してみましょう。時間や期間で見積もるのは非常に難しいので、あとで何らかの係数をかけたり実績値をかけることで精緻化するのが良いです。チームのサイズが決まっている場合の費用の見積もりチームのサイズが決まっている場合、1スプリントあたりのチームにかかるコストはほぼ確定できます。1ヶ月スプリントでPOとSM、開発チーム6人で、それぞれの人件費が1人100万円であれば、月間800万円の費用になり、1スプリントあたりのコストはスプリントの期間に応じて算出可能で、以下の式になります(機材など諸経費は簡単のため省略)。×スプリント実行回数(一方でスコープ網羅を目指して、スプリント回数が可変である場合は、プロジェクト初期では、何回スプリントをまわすべきかは確定できません。いうのはチームが1スプリントあたりにどのくらいの量を作れるかの数値がないからで、その場合は、プロジェクト費用の見積もりはスプリントを経るごとに正確になっていくことになります)期間を優先し、チームのサイズをあとから決める場合アジャイルな開発手法の多くは、チームを継続的に維持することによって、チームの文化や規律や技術力を向上させることに価値を置いています。従って寄せ集めチームを作ったりあとから人をどんどん追加していく方法はあまりうまくいきません。一方で既存のチームに対して文化が壊れない程度に人を追加する(もちろんScrumのチーム人数の範囲で)というアプローチはないわけではありません。この場合も実は前項の話とあまり変わりません。チームのサイズをいじったとしてもチームが1スプリントあたりに作れるモノの量は、プロジェクト開始時点では正確には分からないので見積もり精度が向上するのは、スプリントを実行してからになります。スプリント数すべてはチームの能力に依存する身も蓋もない話ですが、優れたチームとそうでないチームの間には、作れるものの量や質に大きな差がでます。同じものを作るにしても所要時間が大きく変わります。従って期間や工数や費用の見積りを行うのは実際に作業をするチームが行わなければいけません。同じチームで長く活動を続けるほど過去のメトリクスや実績の積み重ねによってチームの能力が計算しやすくなります。従ってよいチームを維持し続ける(解体しない)のが重要でもあります。2,797AWSを企業に導入する際に知っておくべきAWSサービスの全貌から、セキュリティ概要、システム設計、導入プロセス、運用までをまとめた書籍。)定価:$14.99この本は、チームの協調とコミュニケーションを改善したり、行動を変えるための見える化の実例を集めたものです。96個(+2)の見える化の方法をそれぞれ1ページでイラストとともに解説しています。2,138チームの仕事や課題を見える化する手法「カンバン」について、その導入から実践までを図とともにわかりやすく解説した書籍です。カンバンの原則や流れの管理などの入門的な事柄から、サービスクラス、メトリクスの使用、プロセスの改善など、一歩進んだ応用的な話題までを網羅的に解説します。カンバンを一から学びたい、組織で使ってみたいと考える方に最適な実践的な入門書です。2,138DevOpsの基本と主にツール面からの解説。2,520スクラム初心者に向けて基本的な考え方の解説から始まり、プロジェクトでの実際の進め方やよく起こる問題への対応法まで幅広く解説。マンガと文章のセットでスクラムを短期間で理解できます。スクラムの概要を正しく理解したい人、もう一度おさらいしたい人にオススメ。1,680スクラムの父であるジェフ・サザーランドとケン・シュエイバーによる著者の日本語版。吉羽龍太郎(翻訳)出版社:達人出版会定価:500円どうすれば自分たちの組織を変えられるだろう?それには、組織に変革を起こすチェンジ・マネジメントを学習することだ。1,598特集の「強いチームの作り方」を寄稿。ニーズが変化する近年のソフトウェア開発では、既成観念にとらわれない新しいアイデアが不可欠ですが一方で意見の対立がメンバーの衝突を引き起こすことも多くあります。「Vagrantプラグイン」と「Packer」について寄稿。開発者向けカンファレンス「DevelopersSummit」のベストスピーカーを中心とした、100名の執筆陣が書籍を選定・紹介。