プログラミングの仕事で一般的な締め切りを逃していますか?[閉まっている]


18

それはoDeskでのフリーランスの仕事でした。一定の時間内にいくつかの仕事を早くしましたが、締め切りに間に合わなかったのは初めてです。それは非常に長い仕事であり、私はベストを尽くしましたが、まだ締め切りに間に合いませんでした。今、私はとても怖いです。期限を守れなかったのは私のせいだからです。

私の質問は次のとおりです。これは大きな懸念事項であるか、プログラミングの仕事に共通する締め切りに間に合わないので、これについてあまり心配する必要はありませんか?


1
環境に完全に依存します。たとえば、私の最後の仕事は、見積もりに基づいてクライアントに課金するデジタル代理店でした。締め切りに間に合わなかった場合、ビジネスはお金を失いました。私の現在の仕事は非常に動的であるため、実際の期限はありません。他の場所で注意が必要な場合は、それに専念するための適切な時間が与えられます。おそらくあなたの質問にこれを含めると、答えに役立ちます。
サイモンホワイトヘッド


3
締め切りに間に合わないことはすべての仕事で共通です
スティーブンA.ロウ

2
締め切りに間に合わなかったことについて、クライアントとコミュニケーションをとっていることを本当に願っています。締め切りがない場合もありますが、そうなると予期しないことではないはずです-あなたはそれが来るのを見て、それについて通信できるはずです。通常、「まだ準備ができていません」と言うよりも簡単です。
ボブソン

6
速く、安く、よくやる:2つ選ぶ。
-Reactgular

回答:


45

はい。ソフトウェア開発では、締め切りを逃すことがよくあります。

多くのフリーランサーは、技術的な負債を負ったり、敷物の下に汚れを隠したりして、期限に間に合います。

フレデリックブルックスの「神話上の男の月言い換え:

フレデリックブルックス、「The Mythical Man Month」の著者

  • プロジェクトリーダーは土木工学のタスクと同じ方法でソフトウェアタスクを推定し続けるため、締め切りに間に合わないことがよくあります。これは非常に真実であり、不正行為のコードに対するプログラマの「許可」を取り消すことも、タイトルのないプログラミングで誰かを訴えることもできません。

  • ソフトウェア開発には、他の分野にはない固有の複雑さがあります。大きなプログラムは、車よりも多くのコンポーネントを持つことができ、これらのコンポーネントはより多くの異なる方法で対話できます。

  • ソフトウェアは視覚化が難しいため、プロジェクトのさまざまな側面を見るためにさまざまな種類の図が使用されますが、これらの側面は直交していない場合があります。一方、土木工学には青写真があり、配管、配線などをすべて同じチャート(またはレイヤー)で直交的に見ることができます。

  • クライアントがプロジェクトの範囲を完全に変更することは、橋や建物の半分が建設された後では一般的ではありません。これは、ソフトウェアプロジェクトの場合によくあります。

  • ソフトウェア開発の最先端は、ソフトウェアプロジェクトが繰り返し可能で、ほとんどリスクがないという点には達していません。マイクロソフトのような最大のソフトウェア企業でさえ、数か月または数年の期限を逃す可能性があります。

  • ほとんどのベーパーウェアは、この種の問題のためにカットされたソフトウェアプロジェクトに他なりません。

結論として:

ソフトウェア開発プロセスは手作業で行われるため、複雑な評価が不適切であり、過小評価されているため、未熟な規律が残っています。


11
+良い答えですが、機械工学や土木工学にある程度触れたことがありますが、ブリッジがどのように構築されているかを最もよく理解していない場合、プログラマーがブリッジやその他のものを簡単に比較する方法は面白いです。
マイクダンラベイ

3
私はソフトウェアが計画であるという考えにサブスクライブします(エンジニアリングの計画の観点から-プロジェクトのすべての詳細を記述する)。エンジニアリングの場合、物理的な構築の時間が支配的であるため、計画の大きな違いは何の役割も果たしません。しかし、ソフトウェアは計画のみで構成されているため、「ソフトウェア開発の最新技術は、ソフトウェアプロジェクトが繰り返し可能で、ほとんどリスクがない時点に達していません」-これらの場合、なぜプロジェクトはまったく行われないのですか?何かが反復的で自動化できる場合は、複数回実行する必要はありませんが、一度実行してコピーすることができます。
マチェイピエチョトカ

2
@ user61852:あなたは私を誤解した。エンジニアリングの「計画」は、コンピューターサイエンスの「ソース」、つまりすべてのコンポーネントの詳細な説明ですが、それができたら、それを構築することができます(入力makeなど)。コンピューターサイエンスの「計画」とは「計画」です設計の計画」。違いはmake、コンピューターサイエンスではソースコードの作成(テストと統合を含む)に数か月かかるのに対し、エンジニアリングでは計画に数か月(構造計算を含む)かかり、構築には数年かかることです。後者について。
マチェイピエチョトカ

1
@ user61852:反復性について-コンピューターが得意なことの1つは自動化です。シンプルなブログを作成する必要があるとしましょう-正確な「見積もり」が得られる時点で、ワードプレス(または他のブログシステム)を設置するため、何もする必要はありません(ブリッジの場合)あなたはまだ異なる環境を持っているので、岩が異なったり、鳥の生息地があるか、ビューを破壊する可能性があるため、より慎重に適応する必要があります)-ツールを作成する責任はプログラマーにあります(標準ブリッジモデル)。
マチェイピエチョトカ

2
Mythical Man Monthを引用した場合のボーナス。フレデリックブルックスは、テクノロジーではなく人々に焦点を合わせているため、これらすべての年の後に持ちこたえています。
マイケルショップシン

3

求職を継続したい場合、締め切りを逃すことは一般的ではありません。

そうは言っても、物事が発生した場合(そして常にそうなる場合)に備えて、通常は見積もりに余分な「小刻みの」余地を残しておく必要があります。追加した時間を公開する必要はありません。不当にしないでください。たぶん、合計時間の5〜10%ですか?あなたが見つける唯一の方法は、それを数回行うことです。

推定値を本当に良くするためには、特定のタイプのウィジェットをコーディングするのにかかる時間を知る必要があります。たとえば、クライアントX用の無限スクロールウィジェットを作成する必要があるとしましょう。1週間かかる場合バグなく本番環境に展開するために、無限スクロールの見積もりの​​ベースラインとして使用できます。


2
見積もりをするとき、私は常に20%の部屋を与えます。5-10%は少なすぎます。それはあなたがどれだけ気を散らすかによると思います。ソロ開発者はまったく気を取られないことがあり
BЈовић

私はソロ開発者であり、通常、プロジェクトのマージンは10%です。
コンソール


1
5〜20%と比較して、100%のマージンの方が優れていると思います。真剣に。それはあなたがあなたのオプションをもっと良く探ることを可能にします。Stack Exchangeでさらに質問に答えてください。
Acumenus 14

そうそう、15年のベテランプロジェクトマネージャーが1.5年の新人ソフトウェアエンジニアにプレッシャーをかけ、さらに攻撃的になるように調整し、プロジェクトが骨折しているときに開発者がゆるんでいるように振る舞うのは開発者のせいです。ソフトウェアを書くことができるマネージャーやPMで働いたことは一度もありません。仕事を続けたいのであれば、締め切りに間に合わないのは普通のことではないでしょうか?不在締め切りは風土病最もPMが彼らの仕事で、文字通り無能であるため。私の最高のマネージャーはまだソフトウェアエンジニアではなく、自分の限界を知っていました。
ダウンビート

3

ソフトウェア開発では、締め切りがないことは珍しくありません。ソフトウェアプロジェクトにかかる時間を正確に見積もることはほとんど不可能です。

プロフェッショナリズムは、あなたがそれをどのように扱うかに示されています。締め切りに間に合わないことがわかった場合は、できるだけ早くクライアントに通知し、クライアントがそれに応じて計画できるようにします。


2

それはかなり一般的ですが、あなたはそれで良くなることができます。ストーリーポイントのような抽象的なものを使用して推定を検討し、速度を追跡して実際の推定値を計算することができます。これらの概念は最も一般的にスクラムに関連付けられていますが、スクラムをしなくても使用できます。

速度に関する驚くべきことは、開発者が見積もりで説明するのが困難な中断や予期しない複雑さなど、すべての無形のものを包含することです。すべての確率は時間とともに平均化されます。平均して10週間で、速度の推定値は約5%以内で正確です。しかし、同じタスクを数時間で見積もると、まったく同じチームが一貫して30〜50%過小評価します。


1

私の理論(証明されていない)は、人間が複雑な仕事を2、3対1過小評価するように進化したということです。議会がNASAに次のような質問をするときはいつでも、シャトルを作成したり、1週間以内に戻ってくる月に旅行するのに何がかかりますか。予想されるすべてのコストを使い果たした後、3倍のコストがかかることがわかります。

1970年代に私たちは冗談を言っていました。プログラマーの見積もりを取り、数を2倍にして、次の時間単位に移動します。したがって、プログラマーが2週間でできると言ったら、4か月で完了します。

誰かがキッチンを改造した場合、彼らは通常「2週間でこれをやる」と考えます。彼らは約6週間後にそれを終えます。


1
NASAは私の質問と何の関係がありますか?

1
端的に言えば、あなたの質問は人間の進化と何の関係がありますか?NASAは、大規模プロジェクトを過小評価している、訓練を受けた経験豊富な人々の公的記録に明確に文書化された例です。要するに、あなたの経験は「自然」です。
メレディス貧しい

ほとんどの人の見積もりは少なくとも2倍はずれていますが、次の時間単位は...うーん。とにかく、NASAは、彼らがすでに方法を知っているタスクを推定するのに非常に優れています。問題は、人々が知らないことを知らないとき、タスクを見積もるのがあまり得意ではないということです。NASAが真に先駆的な仕事をたくさんしているので、彼らがそれをやり始めるまで彼らが何をしているのかについて多くを知らないのも不思議ではありません。したがって、最初の過小評価の理由。また、一部の人々は楽観的である傾向があり、他の人々は悲観的です。進化が関与するかどうかはわかりません。
ダンク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.