非常に厳しいスケジュールでコーディングする方法は?


40

私は非常に厳しいスケジュールのプロジェクトに取り組んでいます。コーディングとテストの時間はあまりありません(毎日12時間以上働いているにもかかわらず、まだ遅れています)。その結果は非常に脆弱です。そのコードも非常にジレンマです。

このプログラムは、多くの国にあるお客様の会社のすべてのオフィスで使用されています。ユーザー/テスターからのエラーや、一部の機能の使用方法がわからないことについて、深夜に電話を定期的に受けています。

このプロジェクトに3年間携わった後、私は非常にストレスを感じ、エラーや電話について非常に心配しているため、よく眠れません。

いくつかの質問を聞きたいんです:

  1. 3年間、私が書いたコードはすべて完璧な使用シナリオコードです(簡単に壊れます)。設計が不十分であり、単体テストがありません。私はこの事実のために多くの問題を抱えています。したがって、プロジェクトのスケジュールが非常に厳しいときに機能するコードを書くことが可能かどうかを知りたいですか?
  2. 同じ時間でより良いコードを書くにはどうすればよいですか?
  3. 眠りにつくとき、どうすれば心をすっきりさせ、仕事を心配しないのですか?

9
提案?最も明白なものとあなたはそれを知っている!!!
アディティアP

25
夜に携帯電話をシャットオフします。制限を設定し、それらに固執します。ここには2つの明確な問題があります。最初の問題は、従業員も生きるための命があることを尊重しない会社です。
ティムポスト

34
仕事を辞めて、新しい仕事を手に入れてください。また、ユニットテストの実行方法を学ぶ
-mauris

18
期限は経営陣の問題です。締め切りが常に厳しい場合、彼らはより良い推定値を提供するよう努力する必要があります- 彼らがそれが取ると思ったものを満たすためにあなたが犬のように働くのではありません。
スティーブンエバーズ

4
EAのゲームがSnOrfusを雇ったのではないかと確信しています。
ベリンロリチュ

回答:


30

電話禁止

ユーザーが世界中にいる場合、朝の午前4時にベッドにいるときに電話をとることは期待できません。電話を禁止し、このシナリオに適した他の通信手段(電子メールまたは問題追跡DB)に切り替えます。しかし、オフィスでさえ、予定された電話アクセシビリティのスケジュールを作成します。そうしないと、オフィスにいる間は何もできません。

これにより、貴重な睡眠と休息が得られます。

タイトなスケジュール

このプロジェクトが3年間きついスケジュールであった場合、誰かが何かが実際に機能していないと疑っていたに違いありません。たぶん、誰かがプランナーに、特にあなたのユーザー/クライアントとあなたのマネージャーに、これが死の3月のプロジェクトであることを伝える時です。それは3年間開発中であり、遅れており、バグでいっぱいです。多数の問題が解決されるまで、計画を完全に再評価し、既存のコードをリファクタリングし、新しい機能を開発しないでください。

カオスからの秩序

物事を予測可能で耐えられるものにする開発方法を確立します。あなたが開発者である場合、着信時に電話をかけることは、あなたが仕事をすることを許可しません。中断するたびに、中断した場所に戻るまでに15分かかります。電話はオフにする必要があります。少なくともあなたは開発者だからです。あなたがそれを行うよりも毎回の呼び出しの後にあなたを気にしないだろう他の誰かに電話をリダイレクトできる場合。

何らかのインシデント/バグデータベースを確立します。毎朝、仕事に取りかかり、新しいインシデント(自分自身、チーム、またはクライアント/マネージャーと)に優先順位を付けます。後からこの優先順位でそれらを解決しようとし、電話を考えようとさえしないでください。

仮に

電話をオフにできず、ユーザーがいつでも電話をかけられないことをユーザーに伝えることができない場合はどうでしょうか。ユーザーの電話番号をお持ちの場合は、反対のことをお勧めします。電話をかけたら通知を行い、問題が解決したら電話をかけ直すように伝えます。その後、寝ているときに電話をかけ直します。彼らが寝ているとあなたに言ったら、彼らの返事を覚えて、彼らが次の深夜にあなたに電話するとき、それを使ってください。人々は通常、自分の言語をよりよく理解しています。

彼らがオフィスの電話を使用していて、勤務時間外に電話をかけられないように携帯電話を使用している場合は、オフィスを出てから携帯電話のスイッチを切ってください。あなたは12時間そこにいて、仕事を休むに値します。携帯電話があなたの個人的なものである場合、あなたの会社はあなたに新しいものを手に入れ、あなたはそれについてユーザー/クライアントに知らせる必要があります。彼らがその後あなたの個人的なものであなたに電話し始めた場合(あなたのビジネス上のあなたに連絡することができないので:

  1. 拾わないで
  2. あなたの友人から間違った番号を知らせるか、この番号の元のユーザーがもう使用していないことを知らせてもらいます。

一番大切なもの

既存の問題を解決するまで、新しい機能を開発しないでください。少なくとも高および中優先度のもの。


6
ユーザーに対して受動的に攻撃的にならないでください。勤務時間外に電話に出ると会社が期待していない場合は、そうしないでください。勤務中の人には別の番号が必要です。
JeffO

@ジェフO:私は完全に同意します。しかし、これは3年間続いているため、これらの非人道的な時間に電話に応答することが予想されます。
ロバートKoritnik

1
扇動するのではなく、前もって伝えることをお勧めします。人々があなたを不快に思うのであなたと話をしたくないので、人々は彼ら自身の言語をよりよく理解することはそんなに多くないでしょう。
宮坂

3
「寝ているときに電話をかける」「人々は通常、自分の言語をよりよく理解している」良い言葉;)
アチュ

2
正直なところ、もし彼が「もしも」のシナリオに到達するなら、最善の選択肢は、ただ他のどこかで働く場所を見つけることです。12時間連続して働くのは(ほとんどの場合)不健康であり、あなたが電話をかけているときもさらに悪いです。確かに、彼は問題を解決するためにできる限りのことをすべきですが、他のすべてが失敗した場合は終了します。この状況は持続可能ではありません。
ダンライオンズ

14

あなたがチームの唯一の人でない限り-その場合、あなたはおそらく燃え尽きる道の半分以上を進んでいる-「ポケットベル」で交代する。それは今のところ負荷を軽くするはずです。

次に、技術的な負債を返済するフェーズをスケジュールする必要があることを経営陣に提案する必要があります。つまり、テスト、コードのクリーンアップ、リファクタリングを意味します。そして、それはすぐにスケジュールする必要があります。一般的に、これは、しばらくの間、リファクタリングまたはテストではない新しいコードないことを意味します。そうでない場合は、悪化するだけです。

その段階になったら、コードベースの最も厄介なセクションを選択し、リファクタリングし、クリーンアップし、テストを作成して、コードベースをテストします。呼び出しが停止するか、開発者が夢中にならずに処理できるようになると、機能の別のフェーズの準備が整います(必要な場合)。この時点で、新しいコードでテストを作成し、回帰を実行し続けます。今のところ、ソフトウェアは書き直しへの道のように聞こえます。

上司との会話のセールスポイント:

  • 自動化されたテストにより、回帰を停止または大幅に軽減できます
  • 安定性に焦点を当てることは、ユーザーの作業の遅延/停止が少なくなることを意味します
  • 深夜の電話がなくなることは、彼らが残業代を払っていないことを意味します
  • 深夜の電話がこれ以上ないということは、開発者がすぐに燃え尽きないことを意味します

正直に言ってみましょう。これまで、あなたの会社は、これが何かをするのに十分な大きな問題だとは考えていませんでした。あなたは燃え尽きるでしょう。管理職の誰も実際の開発経験はないようです。探し始めます。


さらに良いことに、この混乱に巻き込まれたマネージャーにポケットベルを渡してください...または誤って塩水の入ったバケツに落としてください。
スティーブンC

2
このプロジェクトが3年間カオス的に進行している場合、技術部のフェーズは数か月続くと思われます。最初に、新しい機能の開発を停止して、最も問題の多い問題の20%を解決し(それらの80%がめったに衝突しないことが望ましい)、次にリファクタリングを開始する必要があります。それが完了したら、他の80%に触れ始めることができます。ただし、現在の問題をすべて解決するまで、新しい機能の開発を開始しないでください。どうして?バグを早く解決すればするほど、解決するのは安くなります。たとえあなたの場合、これ以上安くはないようです。
ロバートKoritnik

@Robert Koritnik:もちろんです。+1
スティーブンエバーズ

13

生産性のわずかな向上を達成できるいくつかの手法がありますが、作業出力の5%の増加は、今のところ役に立たないよりも悪いです。ここで欠けている本当のスキルはシンプルで基本的です:

ノーと言う方法を学ぶ

あなたが拒否すべきだとすでに知っているすべての不合理な期待にノーと言う。あなたは彼らが何であるかを知っています。それは明らかです。あなたが今ノーと言うことができないならば、あなたができる仕事を見つけてください。賢明な雇用主は、このスキルが望ましいことに気付くでしょう。


1
何よりも、これは必要なスキルです。素晴らしい答えです!
ジョーZ

8

何も変更しないとプロジェクトが失敗することを理解することから始めます。これは、必要なことを行うための最も重要なステップです。開発者は、1日12時間の努力に耐えられず、有用なコードを生成できません。あなたは前日にやったことを修正して毎日始めなければならないので、あなたは愚かな間違いを作成し、実際に進歩を失います。すでにそこにいるようです。

再び正気を取り戻すには、2つの大きな問題に対処する必要があります。

  • 経営陣は、彼らがやっていることが機能していないことを知る必要があります。同じ間違いを繰り返し続けると、同じ結果が得られます。何かを変える必要があります。
  • すでに持っているものを修正するには時間が必要です。つまり、攻撃を計画するのに時間が必要であり、8時間の就業日を使って攻撃に取り組む時間が必要です。
  • 仕事のやり方を変える必要があります。ストレスが多いほど、トンネルのビジョンが大きくなることを理解してください。問題に対処する創造的な方法を考えることも、このようなストレスを受けたときに問題が発生した場合に何が起こるか考えることさえできません。言うまでもなく、深刻な健康上の合併症の可能性が高くなります。ストレスを解放する方法を見つけ、ストレスを軽減する方法を見つけます。

状況を修正するには、経営陣の賛同が必要です。問題は、彼らが痛みを感じていないことであり、あなたは彼らの注意を引くために脳卒中で病院に行きたくないのです。最初のステップは、あなたがどこにいるのか、そしてあなたが下にいるプレッシャーをあなたの経営者に説明することです。理解できない場合は、管理のレベルを上げてください。または、人事部にあなたの労働条件を説明してください。長時間1日8時間以上働くことを義務付けることは法律違反になる可能性があり、人事部は確実に知っています。

経営陣があなたの嘆願を聞いたと仮定して、次のアクションを実行します。

  • 出血を止めます。新しい機能はなく、他の誰かがサービスコールを処理します。手元のタスクに集中する必要があります。
  • 修正が必要な最も深刻なバグを特定し、それらを修正するのにかかる時間を把握してください。これは概算であり、小さい数字よりも大きい数字を使用することをお勧めします。1日を通して会議や中断を考慮するには、管理者は1日5時間の作業に基づいた見積もりが必要です。これにより、会議と中断に3時間かかります。
  • 管理者にこれらの重大なバグの修正されたスケジュールに同意してもらいます。
  • 管理者に、他の誰かにテストしてもらうことに同意してもらいます。これは、仕事ができないことを認めているわけではありません。これは、すべてのリリースが最後のリリースよりも優れているように、単に品質保証を提供するだけです。
  • 今、あなたはそれらを修正します。ユニットテストを作成して問題を再現し、いつ機能するかを確認します。さらに重要なことは、あなたが別の場所でやったことが再びそれを壊したかどうかを知ることです。コードをよりよく機能させるためにリファクタリングします。

重要なバグ修正リリースが完了したら、次のリリースを計画します。すべての機能とバグ修正に優先順位を付ける必要があり、保留中のワークロードのサブセットを中心にリリースを計画する必要があります。仕事に正気を取り戻すと、ストレスレベルが下がり、品質が上がり、全体的に効率が上がります。


6

あなたは、私が偽りの経済のケースだと考えるものに苦しんでいるように見えます。

いくつかの重要な指標:

  • 非現実的なスケジュールのように見えるもの。
    • 私は、経営陣の健全な開発慣行に対する不十分な理解を前提としています。
    • 経営陣からの理解やサポートが不足していると思います。
  • 1日12時間働きます。
  • 高レベルのストレス。
  • 睡眠不足。
  • 不安。
  • 設計とコード品質への注意が不十分です。
  • セーフティネットの単体テストの欠如。

プロジェクトのスケジュールが非常に厳しいときに機能するコードを書くことが可能かどうかを知りたいですか?

簡単な答えはイエスです。長い答えは複雑であり、経営陣と、場合によっては顧客に代わって認識を大幅に変更する必要があります。

同じ時間でより良いコードを書くにはどうすればよいですか?

現実的には、あなたの時間を節約し、それでも完璧な結果を得ることができることを何でもできると仮定するなら、あなたはできません。詳細を正しく理解することに時間をかける必要があるため、コードの実装にかかる時間を増やす手法を適用する必要があります。これには時間がかかり、あなたの偽りの経済があなたを最も傷つけているのはここです。しかし、より良い方法で物事を行うと、コードの品質が向上し、その結果、システムの脆弱性が減少します。繰り返しますが、これについてはさらに下で説明します。

眠りにつくとき、どうすれば心をすっきりさせ、仕事を心配しないのですか?

不安は睡眠不足を引き起こし、睡眠を失うと不安が生じます。これは、これまでに存在した場合は悪循環であり、未確認のままにすると、不安の邪悪な双子、うつ病につながる可能性があります。慢性的な睡眠の喪失は、運動不足や栄養習慣の低下と結びついている可能性が高いと考えられており、すべて慢性疲労を引き起こす可能性があります。これらはすべて、職場で直面しているすべての問題の徴候であり、家庭生活で直面する可能性が高い問題の結果です。これは、偽経済の最大の証拠が存在する場所であり、おそらく最初に対処する必要がある最も深刻な問題です。

提案も歓迎します。

私は最初に私が医療専門家ではないことを述べておく必要があります。何かに行動する前に、あなたは本当にあなたの医師に助言を求めるべきです。しかし、私はあなたがあなたの投稿で説明した経験を経験してきたことに注意します、そして私はそれが対処するのがいかに難しいか、そしてそれについて何かをすることがどれほど重要かを知っています。私はうつ病、不安、慢性疲労、ストレス、およびそれらに付随する他のすべての小さな厄介な生活を経験してきたので、これらの経験に基づいたアドバイスを提供します。

  • 医師に行き、症状について話し合ってください。医師に、疲れているか、ほとんどの場合うつ病または不安を感じているか、風邪やインフルエンザを頻繁に受けているか、身体的にどのように感じているかを伝えてください。医師が許可されている場合は、抗不安薬または抗うつ薬も提供される可能性があります。気が進まない場合でも、戸口に誇りを持ち、規定どおりに服用してください。彼らは本当に助けになり、これから来るすべてに対処する力を見つけることができます。
  • 優れた心理学者にあなたの問題をあなたが知っているように話し合い、誰があなたがそれについてどう感じているかを探検し、問題に対処する戦略を開発するのを助けることができる人を探してください。あなたがするように求められていることのいくつかは無意味に見えるかもしれません、または少し希望的でウォッシュです。とにかく、それが本当に役立つので、特にあなたに心をきれいにする方法を具体的に教えるので、それをしてください。
  • 本当に依存するようになり、睡眠障害を悪化させる可能性があるため、本当に必要な場合を除き、タブレットの睡眠は避けてください。個人的には、週末の後に必要な睡眠をとることができないときにのみ服用しますが、それは通常、怠usuallyで満たされていない週末を過ごしたときです。
  • 食事の変更を検討してください。不安のレベルを高めるだけであるため、カフェインを真剣にカットします。炭水化物を減らし、食事のバランスを取りましょう。つまり、より自然な果物や野菜を食べ、消費する赤身の肉の量を減らし、脂肪や油分を減らします。ソフトドリンクを切り取り、あきらめることが不可能な場合は、1日1杯のコーヒーに制限します。ダイエットは、疲労と闘うために重要です。また、満腹で寝ないように最後の食事を早めに食べましょう。
  • 毎日練習する。最低でも1週間に1回は激しい運動を行い、少なくとも30分は、少なくとも軽い汗をかくまで、ウォーキングまたはサイクリングをしてください。これは、身体を疲れさせるのに役立ち、睡眠と疲労を助けます。
  • 睡眠習慣を変える。仕事のために早起きすることを目指してください。そのため、あなたが望んでいると感じるよりも早く寝る必要があります。眠れない場合は、薄暗い部屋で休み、退屈なものを読んでください。すぐに実際に眠ることができなくても心配しないでください。

医学的に関連するすべてのことを行ったので、あなたの仕事についてあなたができることを見てみましょう:

  • 誰かがPomadoroテクニックの使用を提案しました。これはタイムボクシングとも呼ばれ、良いアイデアだと思います。基本的に20〜25分間集中的に集中し、その後少し休憩します。立ち上がって約3〜5分間動き回り、目を休めるために遠くを見ることをお勧めします。その間は自分のタスクについて考えないようにしてください。飲み物を飲んだり、トイレに行ったり、簡単にオフィスを動き回ったりしてください。
  • 上司との関係に応じて、勤務スケジュールが健康に影響を及ぼしているという懸念に応え、話し合う方法を見つけてください。あなたが会社の顧客を失望させるリスクを冒したくない、そしてあなたがあなたの仕事を成し遂げ続けることができることを確実にすることができる戦略を試して開発したいという彼にそれを置きなさい健康上の懸念にも対処する時間を作るために。ただし、これを最後の手段として使用してください。ここで働いている虚偽の経済を次のように説明する方が良いでしょう。
    • 疲労した労働者は効率が大幅に低下しますが、疲労していない労働者はより短い期間でより多くのことを行う能力があります。上司が良ければ、これさえ必要ないはずです。次の記事が役に立つかもしれません:記事1記事2記事3
    • テストを省略し、細かい部分に注意を払うと、後でコストがかかります。開始点として技術的負債の概念を調べてください。
  • 労働時間を1日8〜9時間に短縮してください。
  • 休暇期間を予約し、静かな場所にしばらく逃げましょう。たとえあなたが車で森に行き、1週間キャンプするだけでも。真剣に、バッテリーを充電するためにしばらく何もしません。

実際のプログラミング関連のものに関して:

  • Clean Code and Refactoringを読んで、時間をかけてテクニックを適用してください。これらは、コード品質の問題に対処するのに役立ちます。前に述べたように、それは物事を行うのに時間がかかるように見えますが、あなたが以前に働いたかもしれない方法から生じた混乱や問題に対処する時間をより少なくするでしょう。
  • コード品質を改善するための努力を支援するために、開発環境に統合できるツールを見つけてください。たとえば、Visual Studioで開発している場合、ResharperやNCrunchなどのツールを組み合わせて使用​​すると、宗教的に使用し、前述の書籍で説明されている優れた手法を既に使用している場合、全体的な効率が大幅に向上します。
  • 単体テストを作成し、テストファーストのアプローチを使用します。これは最も遅くなるように見えますが、デバッグ時間の短縮に貢献し、テスト済みのコードを変更する自信を与えることができるため、テストがある場合は開発全体をスピードアップします。コードを満たさず、要件を満たすようにテストを記述します。これにより、テスト作業が建設的に集中され、テストに費やされる時間が最小限に抑えられます。

最も重要なことは、自分自身から始めて期待を管理する必要があることです。あなたは人間であり、いつでもできることはたくさんあります。上司の期待を管理し、上司(または自分自身)に顧客の期待を管理させる必要があります。これは、あなたが行う仕事に真剣に優先順位を付けることを意味します。新機能のための時間とバグのための時間を割り当て、締め切りが遅れると仮定します。納期がずれる可能性に対処する場合は、重要な機能のセットのみを提供することを約束し、残りの機能は「可能であれば必要なもの」のままにします。次回の配信日には、このプロセスを再度実行し、以前の配信の「持っていると良い」などの優先度を上げます。これを最小の出発点として開発方法論に組み込み、そして、数回の配信後にレビューして、プロセスを調整できる場所を確認し、効率を向上させます。ライフスタイルの変化から最大の効率が得られますが、ドキュメントや自分とエンドユーザー間のコミュニケーションに関連するオーバーヘッドを減らすなど、作業を合理化するためにできることは常にほとんどありません。

これらすべてに先手を打ってください。上司に、問題を本当に改善するために一緒に作業できることを示してください。これは、最終的にはあなたと会社全体の両方によく反映されます。

また、今は抜本的な決定をしないでください。健康状態と作業負荷に対処するまで待ち、しばらくの間、どのように進むかを確認します。あなたの心がより明確になり、あなたがより良い場所にいると感じるとき、それは滞在する価値があるか、それとも先に進むべきかどうかを決める時です。私が基本的に言っているのは、一度に1つの問題に対処し、残りがあなたの注意を必要とするまで少しシチューすることです。


4

あなたのスケジュールが厳しいなら、あなたは自分を繰り返さないことについて強迫する必要があります。使用されているほとんどのメソッドを特定し、それらが頻繁に再利用されるようにします。

今日の作業内容を計画し、書き留めて、それに固執します。一度に覚えておく必要のあるものを7個以下に制限してください。

さらに一歩進めて、他の作業を繰り返すことを避けます。可能な限り、言語のライブラリを使用します。可能であれば、サードパーティのライブラリを使用してください。

書くにはもっと時間がかかるように思えるかもしれませんが、1つのことだけを行うメソッドを目指します。私は決定を下すか物事を行う方法に限定しています。結合が減少する一方で、コードの凝集度が増加するはずです。テストが簡単になるはずです。これは、進行性の分解に役立ちます。

可能な限り簡素化します。テンプレート、チェックリスト、および些細なことを考えないようにするテクニックを使用してください。

中断を避ける必要があります。中断するたびに、スケジュールで約15分かかります。時間を守ってください。

これが長期にわたる場合は、パフォーマンスが遅れ始めたら家に帰ります。あなたが常に12時間働いているなら、あなたのパフォーマンスは8時間働いているものについてである可能性が高いです。パフォーマンスがどれほどひどく低下するかに気付かないかもしれません。運動と休息のために、さらに4時間かかります。正午に昼寝できるか、昼食後に数時間休憩できるかどうかを確認します。


4

もし私があなただったら、上司と話をして、彼らが設定している締め切りは非現実的だと説明します。あなたがそのように仕事を続ければ、彼らはすべてがうまくいっていると思うでしょう、彼らはあなたが持っている問題に気付かないでしょう、そしてあなたは毎日あなたのシステムにますます貧弱に書かれたコードを追加することになりますあなたの仕事をさらに複雑にします。

別の方法として、いつでも他のジョブに切り替えることができます:-)


2

あなたがするすべてを追跡する

時間をかけて、あなたが行うすべてのことと、あなたとあなたのチームがそれで費やした時間を追跡します。これは、あなたが経営者にもたらすものであり、あなたが物事を異なる方法で行う必要があることを彼らに示すことになります。自分が何をしているのか、他の人から報告された問題の修正にどれだけの時間を費やしているのか、という冷酷な事実がなければ、変更を加える必要があると納得させるのははるかに困難です。これを正確に行うには、全員が1時間ごとに追跡する必要があります。これは、過去3週間で80時間を費やして、同じ時間内にゼロから再構築された可能性のあるシステムを修正したことを意味します。

物事を変えてみてください

収集した追跡と他の人が作成した素晴らしい提案を使用して、ソフトウェアを改善するための計画をまとめます。最も問題を引き起こしているソフトウェアの部分を選択してください。物事を通常の管理可能なペースに戻すと思われる計画をまとめます。仕事をする時間を与えてください。

出発する時が来るかもしれないという事実に備える

経営陣が物事を変えて、あなたと働くことをいとわないなら、先に進むことを考える時が来るかもしれません。私はあなたが燃え尽きていることに他の人に同意します。履歴書とポートフォリオの準備を開始します。状況は改善する可能性があり、先に進む必要はありませんが、経営陣が変更を行うことに同意しない場合は先に進みます。あなたの精神的および肉体的な健康は、あなたから多くを奪っている仕事にとどまるよりも重要です。


このデータが経営陣に届けられると、従業員が時間を管理する方法のわずかな欠陥に対して非常に重要になる可能性があるため、「すべてを追跡する」部分に同意する必要があります。これは、従業員のストレスを悪化させます。
Acumenus 14年

2

神の愛のために、あなたのプロジェクトマネージャーはどこにいますか?

生産的な時間を確立するのに役立つプロジェクトマネージャーがいない場合は、プロジェクトマネージャーが必要です。開発時間の確保、スコープクリープの制限、期待値の管理などに専念する人が必要です。

あなたは生計のために創造的な仕事をします。顧客/ユーザーとあなたの間に障壁がない場合、どのように効果的に開発に集中できますか?

優れたPMは、多くのことに役立ちます...

1.「Higher Power」カードを再生するには:

ユーザーは新しい機能を盗聴していますが、バグ修正リリースに集中するためには本当に時間が必要です。ユーザーと話す必要があると言ったのは誰ですか?契約書を書くのはあなたの責任ですか?顧客の期待を管理するのはあなたの仕事ですか?契約条件を決定する最終決定権はありますか?

いや?それでは、なぜあなたは顧客とのやり取りに単独で責任を負いますか 開発は難しく、集中力が必要です。開発時間を取り戻す能力が必要であり、優れたPMと優れた言い訳でそれを行うことができます。

あなたのPMがあなたと比較して何をしたかに関係なく、顧客が仕様外の変更についてあなたに迷惑をかけ始めたら、ただ言ってください。

「仕様外の変更の交渉は私の賃金等級を超えています...」

それは丁寧な言い方です、私はas ***を与えません。

それらに「スコープクリープドッグ」を病気でフォローアップします。

「仕様を変更する場合は、PMに連絡する必要があります」

さあ、放っておけ。開発者と直接対話するユーザーの能力は、奪われる特権として許可されます。そうでない場合、経営陣はあなたに失敗しています。

2.期待の管理101

そのような頭の良い人は、あなたがそのようなおかしなスケジュールを立てて 24時間年中無休の技術サポート処理できると考えています。あなたの時間は貴重であり、あなたの工芸に専念する必要があるため、あなたは誰かがあなたのために立ち上がる必要があります。

これは、顧客だけでなく、あなたが働いている会社にも適用されます。顧客については、彼らが踏み越えている場合、あなたはいつも尋ねることができます...

「このサービスは契約書に書かれていますか?」

そうでない場合は、リクエストを拒否する権利があります。誤解しないでください、あなたの顧客を幸せにするために上下に行くのは良いことですが、期待されるものとあなたが彼らに好意として与えているものとの違いを知らせることも等しく重要です。

あなたが働いている会社には、メッセージを伝える誰かが必要です...

「私に求められている仕事は、給料と同等ですか?」

すなわち、彼らはあなたに電話技術サポートをするためにあなたの時間の50%を費やすためにあなたに年に60kを支払っています。これはブローチするのに危険なトピックですので、あなたがあなたのために良いケースを作るために信頼できるPMが必要です。あなたが彼にすべき議論は...

「私は年間60Kの給料をもらっていますが、潜在的な生産性の半分は面倒な仕事に浪費されています。」

または、あなたたちは私を雇い、私が半分の時間を低学年の地位を満たすのに費やすことによってその投資で喜んでお金を失っています。信じられないかもしれませんが、潜在能力を最大化することで、長期的にはより多くのお金を稼ぐことができます。

ビジネスに関しては、Win-Winの状況を提示できれば、会社の立場を変えるのは非常に簡単です。この交渉を続けるために交渉の達人である必要はありません。もちろん、会社のリソースが限られている場合、これはあなたに裏目に出るかもしれません。

3.誰もが時々チアリーダーを使うことができる

良いPMは自然に人と人になります。彼らがしていることの中核は、人間関係です。優れたPMには、顧客が聞きたくないことを伝え、それでも顧客に満足してもらう能力があります。

また、困難な状況にあるとき、彼らは道徳的なサポートの素晴らしいソースになることができます。単純な士気の向上は、良いPMがあなたに求めた場合に対処するには多すぎてはいけません。あなたはあなたの側に誰かを必要とします、さもなければあなたの士気が落ち、仕事は圧倒されます。


期待の管理を担当する組織の上位に誰もいない場合、経営陣は失敗しており、上位は、おそらくプロジェクトがどの程度悪いかを認識していません。

それが私がペストのような企業のために働くことを避ける主な理由です。幸運なことに、上層部にいる小さな会社で働くことができたので、誰が自信を持って言いたいのか、必要に応じて行動を起こす人と正直に問題を話し合うことができます。

あなたはあなたのビジネス要件に沿ってあなたを維持し、気晴らしを管理するためにあなたの側に誰かが必要です。あなたがそれを持っていなくて、将来それを見つける望みがないならば、幸運...


1

すごいすごいすごい!馬のカウボーイを抱きしめて!あなたはそこで開発がすべて間違っているようです。コーディング中に、ここでいくつかのソフトウェアの基礎が欠けています。ええ、基礎を磨いてください...人生はずっと楽になります。

学校に戻る

  1. 迅速な開発-調整-ソフトウェア-スケジュール *
  2. 神話マンマン *

*必読


2
次の質問-タイトなスケジュールでいくつかの本をコーディングして読む方法
-D

1
@Bond-おい、プロジェクトを始める前にそれらの本をすでに読んでいたはずだ。そうでない場合、継続的な学習がソフトウェア開発の一部であることに気付く必要があります。読書は日常の仕事の一部ではないと考えるべきではありません。私たちはすでに毎日しばらく読んでいたはずです。私は、ソフトウェア開発者が勤務時間中でも読書に時間を費やす権利があると思います。個人的には、1日5ページしか読まなくても大きな影響を与えると見ています。今すぐ読み始めると、次のプロジェクトで時間を節約できます。
イムランオマールバフシュ

君に絶対に同意する、私は毎日読む。しかし、私は仕事をしていません(これは上の質問のコードを意味すると思います)1日12時間。もしそうなら、本を読むことは絶対にありません。人生には仕事以上のものがあります。
ヴェンティスラフライコフ

@Bond-true。ただし、適切な方法で作業しなければ、余命は残りません。私の会社では、1日5時間働いています。約1.5年でクロールエンジンを作成しました。月に100万人以上の訪問者がいます。
イムランオマールバフシュ

1

TODOリストを作成し、必要に応じて並べ替え、無条件にその順序に固執することが好きです。

次の作業に疑問を抱く時間を減らすだけで、どれだけの時間を節約できるかに驚くでしょう。


1

今できることは

  • 同僚とペアを組む
  • あなたが書いたり変更したりするすべてのコードは、十分に良いことに同意しなければなりません。ペアプログラミングとして、ペアプログラムができない場合にのみピアレビューを行ってください。
  • これから逸脱しないでください!

これは、少なくともあなたがこれから行うことは、コードの改善を願う二人によって承認されたことを意味します。

他に何ができるかは経営陣に依存します。この質問と答えを見せたいかもしれません!


ペアプログラミングには強く反対しなければなりません。それは独立した思想家や創造的な心がどのように機能するかではありません。また、チームピアレビューの代わりになることもありません。
Acumenus 14年

1

電話を禁止し、厳格な「バグはバグトラッカーのみに行きます」ルールを実装します。その日の最初の動きは、新しく入力されたバグのトリアージを行い、デュープをクリーンアップし、優先順位を付け、最初にバグ修正に取り組むことです。そして、バグ修正が実際にバグを修正し、新しいバグを導入しないことを確認してください。

最後の部分はどうしますか?テストケースを既存のコードに後付けすることにより。関数がある場合は、期待するものを入力および出力し、ジャンクを与えるとうまく機能しないことをテストします。何らかの自動UIテストを使用して、統合とパフォーマンスを全面的にテストします。

コードの問題を解決するために、実際に午前3時にベッドから出ていませんか?もしそうなら、あなたはあなたが得るすべてに値します。



0

あなたとあなたのような開発者は、医師や弁護士のようなソフトウェア開発ライセンスを必要とする唯一の理由です。そうすることで、最小限の基本的なプログラミングの良い慣行に従わないためにライセンスを取り消すことができます。業界を無能な人から保護するだけでなく、有能なプログラマーを、プログラマーが優れた慣行に従わないと主張するマネージャーから保護します。

参考までに、ほぼ全員が厳しい締め切りに取り組んでいます。ただし、自分が何をしているのかを知っている開発者は、長期的には作業を迅速に行えるため、ベストプラクティスに従います。そうすれば、3年間連続で12時間働く必要はありません。

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