web-dev-qa-db-ja.com

ジュニアプログラマとしての見積もりの​​扱い

私は数か月間、(一般の人々のために、後輩ではなく)タスクを推定する会社で働いており、タスクが与えられ、それを解決します、2つのテストを経て、最後に推定はやや会った。

見積もりの​​いくつかは、私が会うことが単に不可能であるので、私はストレスを超えています。私はまだシステム全体がわからないので(かなり重要であるため)、必要な作業を見つけるのに半分の時間が費やされることがあり、どこで、いつ完了するかで見積もりが終わって、まだテストが行​​われていることがあります完了しました(間違いがあった場合は修正します)。

2度目には、同様の機能を処理する必要がありますが、すべて非常に高速に機能しますが、今のところ、プログラミングが苦手だと感じています。

まだ始まったばかりの頃に、このステージを乗り越えるのに役立った何かはありますか?コードを作成する時間がどれほど短いかを見ると、ストレスがたまります。自分がやっていることに適切に焦点を合わせることができず、それがさらに悪化することがあります。

16
Pill
  • 管理経験がほとんどない多くの開発者は、独自の速度またはチーム内の「最高」の開発者の速度を使用してタスクを見積もります。

  • 速度は経験によって異なります。上級開発者は、問題を解決するのに3時間かかることがありますが、同じ問題を解決するには2営業日かかります。

  • 新しい仕事を始めるとき、ストレスはめったに避けられません。数か月後、十分な作業を行い、多くの関連する質問をすると仮定すると、通常は改善されます。

  • あなたの先輩はあなたが見積もりについてどう感じているか気づいていないかもしれません、それゆえあなたが彼らがあなたに何を期待するか彼らに尋ねることは重要です。

私の経験から:

  • シニアデベロッパーまたはマネージャーは、Tシャツのサイズ(XL、L、M、S、XS)に関してユーザーストーリー(ビジネス要件)を見積もることができるはずだと思います。

  • ユーザーストーリーをより小さなタスクに分割し、それらを推定するのは開発者の仕事です。大規模なタスクの場合、上級開発者が1週間で解決するのに1日かかる場合があります。

  • 実際にタスクを完了するのにかかった時間を記録することは非常に重要です。

  • 優れたプロジェクトマネージャーまたは上級開発者は、常にこの統計を収集します。あなたの生産性が向上すると、彼らはそれを認識し、彼らはあなたのやり方でより多くの仕事を送ります。

これはあなたの人生をよりストレスの少ないものにするだけでなく、それはまた部門が彼らの資源を効果的に管理することを可能にします。

12
CodeART

チームリーダー、プロジェクトマネージャー、および/または見積もりを行う人にこれを提示します。私たちではありません。みんなが同じように努力する必要はないことを人々は理解しており、タスクが割り当てられたときに見積もりを調整するか、少なくともレビュー期間についての不安を和らげることができます。

私の意見では、これは、タスクを割り当てられた人が(リード/ピアからの入力/コラボレーションを使用して)見積もりを行う必要がある理由です。作業が実際に人が行うのにかかる時間について、より正確な見積もりが得られます。

11
Telastyn

もちろん、彼らがあなたに挑戦するためにそれをしているのでなければ、彼らが守れないという期待を設定するよりも、ジュニア開発者を入れるより悪い立場を想像することはできません。見積もりを満たしていないという実際の影響はありましたか?

まず、自分で見積もることを学んだことが重要です。タスクが与えられたら、すぐにそれが必要だと思うもので見積もり、次に2つの間のデルタを見つけ始めます。品質が最初の短い見積もりで犠牲にされていることはほぼ間違いないでしょう。単にあなたができるより速くアイテムを設計および開発することを期待しているというだけの場合、問題を解決するために誰かとチャットする必要があるかもしれません。

第二に、品質は、利害関係者、あなたの上司が支払うことを決定する機能であることを理解してください。それは、あなたが持っている時間内に要件を満たすために少し犠牲を払わなければならないものかもしれません。

いずれにせよ、ストレスを取り除いてください。悪いコードを書くのがいつも遅れているように感じ続けるのは楽しいことではありません。お役に立てれば。

7
Joshua Belden

これは一般的です。

一般に、推定値を小さくするよりも、大きくする方が適切です(ほとんどの場合、とにかく推定値を調べます)。タスクを可能な限り最小のサブタスクに切り分け、各タスクを4時間以内に見積もることをお勧めします。

タスクに4時間以上かかる場合は、別のサブタスクセットに分割します。また、現時点では予測できないタスクのパーセンテージバッファーを追加します(私の個人的な好みは、2つの推定タスクごとに1つの予期しないタスクであり、予期しないタスクごとに、使用しているシステムに応じて2〜4時間かかります)。

その後、テスト、コミュニケーション、分析などにかかる時間を追加します。

2
Dante

最初に:問題を試すたびに速くなる場合は、おそらく悪いプログラマではありません。だから、その考えを邪魔にならないようにしましょう。

これはあなたのマネージャーの失敗だと思いますが、それはあなたの期待を管理するためのあなたの仕事です。

非現実的な締め切りに間に合わないことで自分を打ち負かすのではなく、1週間で実際に何日間の作業ができるかを測定します。次に、チームリーダーに、ビジネスおよびソフトウェア開発に不慣れであることを説明します。上級開発者がn日間作業するのは、標準的な週に限られます。彼らはそれが気に入らなくても、少なくともこれを理解するべきです。

改善し続けることを期待していることを伝え、その改善を測定する方法を示します。そして、週に5日の上級開発者の仕事ができるようになるまで、上級者の賃金を期待しないことを彼らに同意します。しかし、同様にあなたがほとんど同じくらい支払われていないとき、あなたは先輩と同じ責任を期待していません。

これをさらに進めるために、私は推定に時間ではなくストーリーポイントを使用することを強く支持しているのはこのためです。すなわち。各ジョブはいくつかのポイントを取得し、チームは特定の期間に達成できるポイント数を見積もります。次の期間の見積もりは、過大な休暇月や開発者の退社などの既知の要因を調整して、前の期間からの実際と同じです。

マネージャーとして、新しい開発者が入ってきたとき(ジュニアorシニア)、私はビジネスに対して、最初は見積もりを増加させないことを明確にします。その開発者は、他の開発者が節約するのと同じだけの時間を費やすことが期待されています。新しい開発者はおそらくそれよりもうまくいくでしょうが、約束は厳しく、やり過ぎはマントラです。

開発者は時間とともに改善し、上級者はジュニアよりも速くなり、チームの「速度」-月ごとの見積もり-はそれに伴って改善します。

1
pdr

冷静に、戦い続けよ。見積もりを満たしていないという問題が発生した場合は、投稿に書き込んだ内容と同じことを伝えてください。不安を感じている場合は、メンターまたはチームのリーダーと自分で話し合ってください。

見積もりはそれだけです、見積もり。ロープを学んでいるときは、そうすることができますし、オフになるでしょう。そして、ジュニアとしては、その特定のプロジェクトのチームメンバーとして、使用しているテクノロジーを使用するプログラマーとして、そして会社の従業員として、ロープを習得している可能性があります。そして、もしあなたが賢明な人々と働いているなら、彼らはexpectingであり、あなたは見積もりから外れるでしょう。

おそらく、「ボトムアップから」取得しているタスクを見ているでしょう。自分の作業は、自分が取り組んでいるプロジェクトの全体像よりも重要です。それは理解できます。あなたはあなたに課せられた制限として見積もりを見て、あなたがそれらに会っていないとき、明らかに心配になっています。

しかし、全体像を見ると、見積もりは、開発者の「目標」よりも、リード/プロジェクトマネージャーの「シグナル」であることがわかります。作業をタスクに分割して推定することは、プロジェクト全体の管理と推定の複雑さを軽減する方法の1つです。実行された実際の作業と見積もりを追跡することは、プロジェクトの状態を追跡する手段ですが、これは適用できる指標の1つにすぎません。見積もりが定期的に満たされない場合、プロジェクトに問題があることをマネージャーに知らせます。しかし、妥当なプロジェクトでは、チームのジュニア開発者が見積もりを満たしていないというのは事実ではありません。

1
scrwtp

2人の友達、WAGとSwagを紹介しましょう

つまり、「野生の推測された推測」と「科学的な推測された推測」

信じられないかもしれませんが、私はこれらを補いませんでした。彼らは実際にはビジネスではかなり一般的です。 この記事 を見て、私の意味を確認してください。

理想的には、確実な見積もりを出すのが最善ですが、できない場合は、嘘をつくよりも、不完全なデータのために見積もりが大まかであると述べる方が良いです。

重要なのは、ビジネスはコンピュータープログラミングではないということです。期待を管理することは、正確さよりも重要です。予期せぬ問題を補うための不測の事態としてプラス10%がかかると考える時間を評価することが重要です。

あなたが過大評価している場合、あなたが時間を割いて終わったときに彼らは幸せになります。あなたが過小評価している場合、期限を過ぎても失望しないか、何かがうまくいかなければ非常に失望するでしょう。

ビジネスは、時間の経過とともに直感的な感覚を覚える人がいるグレーな領域です。彼らがジュニア開発者にこれらの種類の決定を独自に行うように頼んでいるという事実は一つのことを言います。そのような決定を下す能力のある人がいないか、マネージャーが失敗の責任を負いたくないかのどちらかです。

大規模な組織で働いているなら、私は後者にお金をかけます。階層型ビジネスモデルが十分に大きくなると、上位が下位から離れてしまい、上級者は紙で受け取ったものだけで進捗状況を測定できます。プロモーションは通常、間違いを犯さないために行われるので、それはひどい環境です。しかし、プロモーションを受けた人々は、責任を他の人に押し付け(つまり、盲目の無能)、チェーンの下位にいる人々の成功を評価することで失敗を回避します。

残念ながら、プログラマは「バスの下」で投げるのが簡単なターゲットです。問題がどれほど大きくても、解決策を見つけようとするからです。重要なのは、ソリューションの実装よりも問題の推定方法を決定することに時間をかけないことです。

0
Evan Plaice