開発者の速度を低下させるものは何ですか?[閉まっている]


12

開発者が遅くなる傾向があるのは何ですか?

次の回答を投稿しないようにしてください。


@マークトラップ:え?!それはまったく重複していません...:
S-タマラWijsman

1
質問が役に立たない場合は、近いうちに削除します。人々は私からの別の質問ですでにカバーされている気晴らしをリストしています。だから私は気を散らさないものを探す傾向があります... TheLQとビルは良い例の答えです。
タマラWijsman


それは...気晴らしでないものについてですので、未解決の問題を残して選ばれた
タマラWijsman

11
Stackoverflow、
スーパーユーザー

回答:


49

ああ、これは簡単です:

  1. ミーティング
  2. その他の会議
  3. 前回の会議に関する会議
  4. 今後の会議の準備のための会議
  5. 会議用のパワーポイントプレゼンテーションの開発
  6. 実装されていない、実装されるべきではない機能を議論する会議のためのパワーポイントプレゼンテーションを開発します。インターネットに接続していないか、ハードドライブにアクセスしていない現在の場所に基づいて、アプリに表示するドキュメントを予測することはできません。いいえ、ただそれを求めるのをあきらめます。

4
要するに:管理?; o)
n1ckp

11
@ n1ckいいえ、いいえ。適切に管理することで、開発者をスピードアップできます。プログラマーの時間の不適切なスケジューリング(つまり、マネージャーになることの1つの側面)は、開発を本当に遅くする可能性があります。
ウィーティーズ

3
私を殺すのは、会社がこれを行うときです:ミーティング、その他のミーティング、最後のミーティングについてのミーティング、準備するミーティング、何も達成できない理由を議論するミーティング。何が達成できないのですか?あなたの話を聞いている部屋に座っている開発者が40人います!
マイクM.

2
この回答は、Powerpointスライドにほぼ収まることに注意してください。

44

ここで同じ問題
pramodc84

1
私はラップトップをできるだけ早く購入し、そのような状況にあった場合は、会社が許可していると仮定して作業します。
adamk

遅いコンピューターは、注意散漫の根本原因になる傾向があります。プログラマーが待機するたびに、注意散漫モードになり、しばらくしてからプログラムに戻ることがあります。
edA-qa mort-ora-y

彼らは数週間前に私のコンピューターを交換しました。4年前のものよりも強力ではありません。いいね
MetalMikester


25

StackOverflow、programmers.stackexchange.comなど:)


4
同意しない!StackOverflowは問題の解決に役立つため、開発をスピードアップします!
ウィザード

3
攻撃的な愚かさ。SOで「無駄」になった1分ごとに、20を買い戻しまし
MIA

11
+1。まったく不快ではありません。SOは先延ばしに非常に適しています。私の新しいFacebookです。:)
back2dos

@ back2dos SOの素晴らしさを、Facebookの作品と比較しないでください。
adamk


15

目の前のタスクに適さないプロセスをたどろうとする試み。

これにはあらゆる種類のものがありますが、私が見る一般的なものには以下が含まれます:

  • テスト対象のコードに適合しないテスト方法
  • 成果物が保証するよりも劇的に機敏または伝統的なプロセス
  • 選択したツールセットとは異なるツールセット向けのガイドライン
  • プロジェクトのニーズに応じてスケール外の設計原則
  • タスクに適していないツールセットを使用する

これらのすべては、一部のプロジェクトまたは状況では非常に価値がありますが、一部の組織はすべてを一方向に実行しようとするため、他のプロジェクトでは生産性が低下することが多くなります。


13

政治

例:複数の人が要件(または、さらに悪いことに、2つの異なる既得権益)を所有しており、開発中に要件に対して競合する競合する変更を行う場合。


9

他の人の会話

一般的なノイズ

多くの回答がコンテキスト切り替えとゾーンからの脱出について語っていますが、ノイズ、特に会話は、私にとってそれらにつながるものの1つです。

キューブワールドでは、すべての面でノイズと会話に囲まれています。メインフレームチームは1行を超えて、キューブ行で定期的な計画会議を開催します。時々、彼らは壁に沿ってオフィスでコンサルタントと会うでしょう、そして、それは騒々しいフーチンとホレリンと笑いにつながる傾向があります、そして、私は彼らにドアを閉めるように頼まなければなりません。

反対側では、Webチームの会議テーブルは私のウェストキューブウォールの反対側にあるので、私はそれが好きかどうかにかかわらず、すべての会議の一部です。サウスキューブの壁の反対側にもプリンターがあります。これは、プリントアウトを待っている人とのチャットに適しています。

「ノイズキャンセリングヘッドフォンを手に入れることはできません」という即座の明白な答えは、あなたが望むものが沈黙である場合には役に立ちません。

コードレビューのために、私は書類の山を昼食室に持って行きます(もちろん昼食以外の時間に)が、そこにはテレビがあります。誰も見ていない場合はオフにします。それ以外の場合は、建物の別の部分の他の部門で空のキューブを見つけに行きます。

プログラマーに必要な作業(主に思考と熟考と検討)を行わせたい場合、それを実行できる環境が必要です。


いつかは私がいる場所で静かになりすぎます。私はみんなのマウスクリックと重い呼吸などに焦点を合わせ始めます。それはベッドに横たわってクリケットを聞くようなものです。
kirk.burleson

8

適切なテストなしでコードの行を書きすぎます。


これは、私の経験上、物事が止まってしまう最大の原因です。
Paddyslacker

1
@Paddyslacker:より多くのテスト=より生産的ですか?え?そもそもプログラミングをするべきではない人のために。テストは便利ですが、「物事が止まるまでの一番の原因」ですか?真剣ですか?
n1ckp

1
@ n1ck:はい、私は本気です。コードは維持不可能な状態になり、コードベースのテストとテスト容易性の欠如は、新しい機能を追加することがますます困難になることを意味します。より多くのテストを書く人は「そもそもプログラミングに参加すべきではない」と思うとおもしろいと思います。だから、ロイ・オセロベーブ、マイケル・フェザーズ、ボブおじさん、ケント・ベックなどはプログラミングに参加すべきではないのですか?
Paddyslacker

@Paddyslacker:分かりません。コードを見たことはありません。たぶん、あなたの説明から彼らは管理においてより良いはずですか?そして、テストが正確に行われていないために、コードが保守不能になるのはなぜですか?たぶん、ある種の魔法によって、貧弱なコードを素晴らしいものにするテストでしょうか?
n1ckp

1
@ n1ck、テストは最初にコードを書くときは役に立たないが、後でコードを維持しなければならないときは非常に大きな違いをもたらす。

5

高品質のコーヒーの欠如。


または良いソーダの不足。カフェイン抜きのダイエットチェリーコーラが恋しい!私の国では、ダイエットコークス、またはカフェイン抜きのコークスのみを入手でき、チェリーコークスはまったく入手できません:-(
ウィザード

1
@Wizard-私はダイエットチェリーコーラを提供した会社で働いています。私が去った理由がわかりません。あなたの痛みを感じる場合。
ジェフ

2
@ウィザード:マラスキーノチェリーの瓶を購入し、飲み物にシロップを加えます。今、あなたはそれを好きなだけ強くすることができます...(バニラと同じトリック:本物のバニラコークスは事前に混合されたものよりもはるかに優れています)
Shog9

@氏。C:問題は、私の国では入手できない組み合わせであるダイエッ​​トとカフェイン抜きのコークスが必要だということです。
ウィザード

5

開発が始まってから絶対に変えてはならない完全な見積もりをしなければならない、それは私の意見では鶏卵シナリオです


もしあなたがそのことに頻繁に出会うなら、私は見積りを勉強するために重要な時間を費やすことをお勧めします。次に、「推定値である場合、実際にかかる時間ではなく、定義による」と応答できます。
MIA

ああ、私は前にそれを使ったことがあります、応答は常に私が推定が苦手ということです、それが目に見える2-4時間のタスクに分解できない場合、明らかに間違っている
-MetaGuru

5

他の誰かの壊れたビルドを修正する


誰かが同僚をうまく指導していないようです。
表示名

@bold:非同期性から自然に発生します。毎日のビルドカットオフ時間が午前5時で、最新バージョンを午前9時にチェックアウトするとします。(言い換えれば、人々が早く仕事に来るのを止めることはできません。)
rwong

4

議題のない会議。

遅いマシン。

2番目のモニターの欠如。

素敵な新しいマウスの代わりにボールを持っている古いマウス。

マシン上でインターネットにアクセスできないため、MSDN / stackoverflow /などのクエリが少し苦痛になります。


議題なしの会議に関連するのは、会議ハイジャッカーです。ご存知のように... 1時間カレンダーに載せましたが、トピックが20分でまとめられたとしても、その男は他のトピックを見つけて20分を埋めます。私はあなたに賛成票を投じるだろうが、それから私はあなたの「第2モニターの欠如」であなたを減速させる必要があるだろう。それは便利ですが、たまに持っていなくても私を遅くすることはありません。
MIA

4

プログラミングに時間がかかりすぎた

プログラミングが本当に好きな場合でも、時間を使いすぎると最終的には燃え尽きてしまいます...


4

「ゾーン」から抜け出すすべてのものを避けてください。これは、メールの受信トレイ、Twitterポップアップアプリケーション、企業チャットなどを意味します。

静かな労働条件を持つことは、そのデスクトップノイズも避けることを意味します。


3

事前に知っていれば、実装が簡単だった変更要求。


「水のウォーキングや仕様からソフトウェアの開発の両方が凍結している場合は簡単です」
back2dos

1
愚かな引用。氷の上を歩くのは必ずしも簡単ではありません。
ピーターボートン

1
@Peter Boughton:変動する仕様からソフトウェアを開発するのが難しく、凍結した仕様からソフトウェアを開発するのが簡単なスケールを選択した場合、氷の上を歩くのは常に簡単です。あなたはそれをするために6歳を教えることができます。しかし、私はあなたがそれを知っていると思う、あなたはただスマートな尻から喜びを取ります。
back2dos

また、変動する仕様から動作するように6歳の子供に教えることもできます。それは賢明なことではありません、それはそのような引用符の使い過ぎに対する苛立ちであり、それは役に立ちません。凍結した仕様は、間違っている場合(修正できないため)から開発するのは容易ではありません。どの部品が流動的であるかを事前に知っていれば(仕様に応じて)、仕様の変更は問題ありません。
ピーターボートン

3

悪いコード。

そもそも仕事をすることができた誰かの部分を書き直さなければならないことは、私が想像できる最大のタイムシンクです。


2

あなたを遅くする多くのことは、ブログの投稿としてお。

...

多くのプロジェクトは、コアインフラストラクチャレベルの機能を何度も繰り返し、ビジネスを競合他社と差別化する機能を提供することでビジネスを減速させます。

...

製品とイノベーションが開発者が差別化されていないタスクに費やす時間を削減するのに役立つことは避けられません。問題は、これらのサービスとツールがどのような形になるかです。

...


+1:すばらしい答え。会社が技術的負債を減らすために時間を割くのを嫌がったので、私は仕事を辞めました。開発者は、「インフラストラクチャレベルのコア機能を何度も繰り返す」ことを余儀なくされました。
ジムG.

2

最近の最大の減速は、特定の順序で行われるべきいくつかのことを同時に開発しているためです。だから、私は(無実を保護するために名前が変更された)ジョンが私のSSISパッケージに必要なコンポーネントを終了し、ハリーはエクスポートをテストするためにいくつかのデータが必要なため、レコードをインポートするのを待って減速しますテーブルにデータがないときに複雑なエクスポートレポートを作成するには?)、設計が完了しておらず、タスクを実行するために必要なデータベーステーブルがまだ作成されておらず、終了しない可能性があるため、全員が遅くなります彼らがそうなると言っていたことである、など。


1
チームメンバー間で作業が細かすぎるために生じるボトルネックについて話しているようです。
MIA

1
チームがそれほど広く分散しているわけではありませんが、その管理者はプロジェクトを割り当てる際の依存関係を考慮していませんでした。そして、他のpeolpeがプロジェクトに割り当てられた時点で準備ができていると仮定されたものは、人々が実際にそれらを使用しようとしたときではありませんでした。
HLGEM

2

このようなstackexchange.comの質問に答えます。


その場合は、タッチタイピングのスキルを向上させることを検討してください。

2

気晴らしをリストしないように頼んだが、それらは大きい要因である場合もある。彼らの作業環境を見て、頻繁に中断されているか、プロジェクトに関係しない他のことをするように頼まれているかどうかを確認します。

時々、開発者は今までにやったことのないことをしていて、どこに助けを求めればいいのかわからないために立ち往生するかもしれません。小規模なチームまたは個人の場合、さらに困難になる可能性があります。私たちはやや誇り高い傾向があり、物事のやり方がわからないときは認めたくない。また、他の人に助けを求めるのは好きではありません。開発者にこれを認めさせる簡単な方法はありません。ただし、締め切りに間に合うかどうか、または締め切りに間に合わせるために必要なものを尋ねて、正直になることを望みます。他の助けを求めたり、助けてくれる人を見つけたりする必要があるかもしれません。

要件が明確に定義されていないため、物事を把握したり決定したりする必要が生じます。


2
  • PCが使用可能な状態で起動するまで約15分待たなければならない
  • PCがアプリケーションを切り替えるのを待っています
  • 自分のお茶/コーヒーを作らなければならないオフィスで唯一の人であること。
  • 壊れたキーボード(修正済み!)
  • マネージングディレクター(米国CEO)のオフィスの外で作業し(オフィスでもない)、間にパーティションのみ(特に会議がある場合)
  • 上司は電子メールでのみ到達可能ですが、他の全員は建物内にいます
  • VCSの使用が許可されていない-どうやら脳内にあるはずです
  • 小さな画面
  • 昼食以外の休憩時間をとらない
  • 建物にシステム管理者がいるにもかかわらず、リモートサーバーのバックアップを行う必要がある
  • 上記のバックアップを手動で行うように言われます。
  • 不必要に複雑な愚かな時間管理システムを使用せざるを得ない
  • 仕事を始めて2か月で要件について漠然としたアイデアを得るだけ

続けられますが、金曜日ですので、仕事を忘れたいです。


そこから抜け出す必要があるように思えます!
adamk

2
  • ドキュメントの不足(システム、会社など)
  • コメント付きコードの欠如
  • システムの不完全な理解
  • 政治(つまり、不必要な会議、事務処理、経営者による障害...)
  • 不完全な要件ドキュメント
  • フェイスブック!
  • 寝すぎ?

1

プロジェクトの人が多すぎます。

プロジェクトにさらに人を追加するために必要な実際のデータがないことに基づいて管理者が決定する場面を何度か見ました。それは、何が起こっているのかをほとんど知らない人々の手を握るために、すべてを停止する必要があることを知っている人々に終わります。私は複数のプロジェクトのキノコのサイズを見て、そこからすぐにトイレに入るのに対して、それがうまくいく前には少し遅いかもしれませんが。

そのため、速度が足りないために1か月遅れていることから、余分な人すべての予算を完全に使い果たしていないため、まったく配信しないことになります。


0

他の人が言及したこととは別に、コードのコンパイルと実行を決定してから肯定/否定の結果を得るまでの長い道のり。理想的には、このRTTはわずか1秒ですが、時間の例を見てきました。ところで、単体テストはこの問題に対処しようとします。

別の関連するこれは、作業環境の一般的な遅延です。気味悪い接続を介して、世界の反対側のコンピューターへのリモートデスクトップ接続を介して作業する必要があると想像してください。私はそこに行ったことがある。私はこれが嫌いです。


0
  • 過度の書類

  • 決して周りにいない人に依存している(上司など-質問する必要があるが、彼は常に会議に参加している場合)

  • 不十分なツールと機器。

  • 誰も理由なくオールを押し込んだり(UIで目に見える変化はこれに影響されます)、ささいなことについてだけ議論します。

  • 壊れたコーヒーマシン

  • 間違ったタスクが割り当てられている


0

エアコンが機能しない。

そのため、オフィス内の温度は、夏の最大40度、冬の-5度になります。

-5は手袋を着用して入力できないため、入力には適していません。40は、私の思考を遅らせるだけです。


0

これは非常に個人的な意見であり、おそらく物議をかもしますが、常に前もって設計するか、「品質」コードを常に書くことについて考えすぎています。「数週間のコーディングで何時間も計画を立てることができる」ということわざがありますが、これは場合によっては真実かもしれません。

しかし、コーディングを始める前に、プログラマーが良いデザインをスケッチしようとするのをよく見ます。プログラムを進めていくと、問題と解決策についてより多くのことを学び、解決策を迅速にリファクタリングして優れた設計にすることができるので、「始め」ることが簡単だと思います。発生する問題のほとんどは、コーディングの開始時にはほとんどわかりません(少なくとも私の弱者の頭の中では)ので、前もって設計するのに多くの時間を無駄にするのは時間の無駄です。

これがTDDが嫌いな理由でもあります。テストの作成に時間を浪費しすぎて、リファクタリングの可能性が低くなるか、テストの書き換えに時間がかかります。単体テストは、プロジェクトのいくつかのケースといくつかの段階に最適ですが、1つの始まりは私見ではありません:)

何かをすばやく取得して改善します。


-1あなたの考えは理解できますが、設計段階のポイントはリファクタリングの必要性を制限することです。また、動作していたものが壊れてリリースされないことを確認するために常に素晴らしい単体テストを容易にします。計画を立てないと、必然的にアーキテクチャが不十分なコードを維持しようとするときに、他の全員の仕事が難しくなります。
adamk

誰がそれが貧弱なアーキテクチャになると言うのですか?過剰な設計段階を避け、高品質のコードに到達するためにプロジェクト中に多くのリファクタリングと再構築を行う必要があると言っています。他方、これが機能するためには、異なる人が互いのコードをいじり回していないコード責任を明確に排除する必要があります。
オムデ

経験上、アーキテクチャが貧弱になると言われています。ズボンの座席での飛行とカウボーイのコーディングは、おそらく開発中にできる最悪のことです。設計フェーズが1週間続くことで、プログラミングの月を節約でき、初めて想定されることを実行するコードにつながります。TDDの背後にある考え方は、テストを変更しないということです。これらのテストは、実際のユーザビリティをエミュレートすることを目的としています。コードでテストを完了できない場合、コードは間違っています。
マイクS

私の経験ではそう言うが、私はそれはカウボーイとチームに依存します:)私はより多くのコーディングの一週間で学んだと思いますし、それを表示するためにいくつかのコードを行っています。もちろん、極端で継続的なリファクタリングを行わず、追いつくのに十分な俊敏性を備えたチーム/カウボーイがいると、アーキテクチャが貧弱になります。「設計段階」を実行し、すべてを学び、最初から正しく実行できると考えるのは単純です。プロトタイプの真の価値は、あなたが学んだ教訓であり、あなたがそれを捨てて正しく行うことです。それを複数回、高速に:)
Homde

0

プログラマーのブロック:他のスローダウンとは異なり、これは解決が困難です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.