web-dev-qa-db-ja.com

飢えている開発チームで何をすべきか?

これは、特に遅れている場合は、通常の開発者としてのクリティカルパスにいるのはうんざりです。あなたが上級開発者であるとき、チームがリーダーシップを求めているとき、それはさらに悪いことです。

ほとんどのチームの仕事が重要な部分を待って行き詰まっているとき、チームの他のメンバーは何をすべきですか?私たちは重要な部分へのアクセスを制限しているので、他の人が私たちが何をしても関係なく単に待っているでしょう。他の人が何をすべきかについてのアドバイスを探しているとき、良い答えは何ですか?

10
candied_orange

単体テスト、機能テスト、ドキュメント、ツールなどを改善します。クリティカルパスが追いつくのを待つ間、ダウンタイムで実行できることはたくさんあります。

29
Maybe_Factor

テストやドキュメントなどの改善についての回答は気に入っていますが、次の点も参考になります。

  • クリティカルパスコンポーネントを支援する場合、チーム/バディプログラミングを使用するとより速くなりますか?
  • 重要なコンポーネントを、誰もが作業できるいくつかのサブコンポーネントに再構成します。
  • 重要なコンポーネントを、基本的には同じ仕事をしますが、生産には十分な速さではない、粗い何かでダミーします。
  • 重要なコンポーネントのAPIを確立し、多かれ少なかれ修正し、そのコンポーネントの基本機能を実装できるようにします(APIではなく実装の変更が必要です)。
  • 機能が「今のところ十分」であるシステムの残りの部分で動作するように、重要なコンポーネントの初期の既知の問題のあるバージョンを使用できるかどうかを確認してください。

また、このような重要なコンポーネントを開発プロセスの早い段階で、おそらくチームの残りのメンバーが集まる前に開始する必要があることを記録して、「教訓」フェーズを今すぐ開始することもお勧めします。

16
Steve Barnes

遅延した成果物のバックアップ計画が必要

重要な部分がすでに遅れている場合、それがそれ以上スリップしないという保証はありません。それで?あなたは永遠に待つだけですか?それはあなたが上層部に伝えたい種類の答えではありません。

シミュレーターを構築する

リスクを管理する1つの方法は、シミュレーター(ハーネス、シム、スタブなど、呼びたいもの)で作業を開始して、欠落している重要な部分の代わりをすることです。

定義されたインターフェースはありますか?それを実装します。

詳細なドキュメントはありますか?できる限り真似してください。

誰かのアイデアですか?プロトタイプを入手できるかどうか確認してください。

そして、彼らが再びスケジュールを滑らせたとき...

そのようにして、彼らが再びスケジュールを滑らせたとき、あなたはギャップを埋めるためにあなたの後ろポケットにエースを持っています。チームのブロックが解除されるだけでなく(シミュレーターと統合できます)、貴重なソフトウェア資産を獲得できます。

さらにスケジュールがずれている場合は、時間を使って自動統合テスト(今のところ、シミュレータに対して)を記述します。そうすれば、彼らが本物を提供するときに、テストを実行して、モックアップと成果物の間の動作の違いを検出できます。これにより、修正が必要な箇所に焦点を合わせることができます。おまけとして、あなたは彼らが彼らの時間を使い果たしたときにどれだけ手抜きをするかについての考えをすぐに得るでしょう。

15
John Wu

重要なコンポーネントに既知のインターフェースがあり、短時間でそれを実行する見込みがない場合は、test double(たとえば モック )?

これにより、チームはコーディングを続行できますが、テスト結果の意味はやや少なくなります。

4
Christophe

「これまで実現できなかったすべてのことを実行する」という明らかなことを除けば、あなたやあなたのチームは、プロジェクトの後半に関係のないことをするのに安心感がないようです。これは理解できますが、役に立ちません。

したがって、本当の問題はそれについてリラックスすることかもしれません。私は無関心ではありません。あなたの責任、あなたが助けるために何ができるかを意識し、それがあなたの手に時間を残すならば、それを楽しんでください。いつもつま先にいる必要はありません。あなたがリーダーなら、これがあなたのメッセージであるべきだと私は言うでしょう。緊張をチームに移しても、重要な場合はチームの生産性は向上しません。

2
Martin Maat

どの方法論を使用しているか正確にアドバイスするのが難しいので、あなたは言っていません。

ブロッカーがある場合に私が働く場所は、開発を促進するために彼らができることを何でもするポンプへのすべての手です。

リードが多すぎるため、より広い問題があるかどうかを検討してください。はい、人々はあなたに技術的リーダーシップを求めていますが、それはあなたの有能なチームメンバーの一部がメンターされている場合、ワークロードを共有できないことを意味しません。

これとは別に、彼らが前進できる他の重要ではない仕事はありますか?また、さらに洗練された可能性のある、完了した作業(リファクタリング、技術的負債の除去、文書化、テストの追加など)もあります。

本当に何もない場合は、何かを与えます-ログ、ビルド、ドキュメント、テスト計画、設計、図、議題の作成、会議の手配、茶色のバッグセッションの開催、知識の共有などを行います。常にやること。人々が喜んで会社のコインに何もせずに座っているだけなら、明らかにチームプレーヤーではないため、エスカレーションする必要があります。

0
Robbie Dee