それはoDeskでのフリーランスの仕事でした。一定の時間内にいくつかの仕事を早くしましたが、締め切りに間に合わなかったのは初めてです。それは非常に長い仕事であり、私はベストを尽くしましたが、まだ締め切りに間に合いませんでした。今、私はとても怖いです。期限を守れなかったのは私のせいだからです。
私の質問は次のとおりです。これは大きな懸念事項であるか、プログラミングの仕事に共通する締め切りに間に合わないので、これについてあまり心配する必要はありませんか?
それはoDeskでのフリーランスの仕事でした。一定の時間内にいくつかの仕事を早くしましたが、締め切りに間に合わなかったのは初めてです。それは非常に長い仕事であり、私はベストを尽くしましたが、まだ締め切りに間に合いませんでした。今、私はとても怖いです。期限を守れなかったのは私のせいだからです。
私の質問は次のとおりです。これは大きな懸念事項であるか、プログラミングの仕事に共通する締め切りに間に合わないので、これについてあまり心配する必要はありませんか?
回答:
はい。ソフトウェア開発では、締め切りを逃すことがよくあります。
多くのフリーランサーは、技術的な負債を負ったり、敷物の下に汚れを隠したりして、期限に間に合います。
プロジェクトリーダーは土木工学のタスクと同じ方法でソフトウェアタスクを推定し続けるため、締め切りに間に合わないことがよくあります。これは非常に真実であり、不正行為のコードに対するプログラマの「許可」を取り消すことも、タイトルのないプログラミングで誰かを訴えることもできません。
ソフトウェア開発には、他の分野にはない固有の複雑さがあります。大きなプログラムは、車よりも多くのコンポーネントを持つことができ、これらのコンポーネントはより多くの異なる方法で対話できます。
ソフトウェアは視覚化が難しいため、プロジェクトのさまざまな側面を見るためにさまざまな種類の図が使用されますが、これらの側面は直交していない場合があります。一方、土木工学には青写真があり、配管、配線などをすべて同じチャート(またはレイヤー)で直交的に見ることができます。
クライアントがプロジェクトの範囲を完全に変更することは、橋や建物の半分が建設された後では一般的ではありません。これは、ソフトウェアプロジェクトの場合によくあります。
ソフトウェア開発の最先端は、ソフトウェアプロジェクトが繰り返し可能で、ほとんどリスクがないという点には達していません。マイクロソフトのような最大のソフトウェア企業でさえ、数か月または数年の期限を逃す可能性があります。
ほとんどのベーパーウェアは、この種の問題のためにカットされたソフトウェアプロジェクトに他なりません。
結論として:
ソフトウェア開発プロセスは手作業で行われるため、複雑な評価が不適切であり、過小評価されているため、未熟な規律が残っています。
make
など)。コンピューターサイエンスの「計画」とは「計画」です設計の計画」。違いはmake
、コンピューターサイエンスではソースコードの作成(テストと統合を含む)に数か月かかるのに対し、エンジニアリングでは計画に数か月(構造計算を含む)かかり、構築には数年かかることです。後者について。
求職を継続したい場合、締め切りを逃すことは一般的ではありません。
そうは言っても、物事が発生した場合(そして常にそうなる場合)に備えて、通常は見積もりに余分な「小刻みの」余地を残しておく必要があります。追加した時間を公開する必要はありません。不当にしないでください。たぶん、合計時間の5〜10%ですか?あなたが見つける唯一の方法は、それを数回行うことです。
推定値を本当に良くするためには、特定のタイプのウィジェットをコーディングするのにかかる時間を知る必要があります。たとえば、クライアントX用の無限スクロールウィジェットを作成する必要があるとしましょう。1週間かかる場合バグなく本番環境に展開するために、無限スクロールの見積もりのベースラインとして使用できます。
それはかなり一般的ですが、あなたはそれで良くなることができます。ストーリーポイントのような抽象的なものを使用して推定を検討し、速度を追跡して実際の推定値を計算することができます。これらの概念は最も一般的にスクラムに関連付けられていますが、スクラムをしなくても使用できます。
速度に関する驚くべきことは、開発者が見積もりで説明するのが困難な中断や予期しない複雑さなど、すべての無形のものを包含することです。すべての確率は時間とともに平均化されます。平均して10週間で、速度の推定値は約5%以内で正確です。しかし、同じタスクを数時間で見積もると、まったく同じチームが一貫して30〜50%過小評価します。
私の理論(証明されていない)は、人間が複雑な仕事を2、3対1過小評価するように進化したということです。議会がNASAに次のような質問をするときはいつでも、シャトルを作成したり、1週間以内に戻ってくる月に旅行するのに何がかかりますか。予想されるすべてのコストを使い果たした後、3倍のコストがかかることがわかります。
1970年代に私たちは冗談を言っていました。プログラマーの見積もりを取り、数を2倍にして、次の時間単位に移動します。したがって、プログラマーが2週間でできると言ったら、4か月で完了します。
誰かがキッチンを改造した場合、彼らは通常「2週間でこれをやる」と考えます。彼らは約6週間後にそれを終えます。