チームの構成が頻繁に変更される組織で実装される極端なプログラミング手法をお勧めしますか? 極端なプログラミング シナリオで、チームが途中で不安定になった場合、何をお勧めしますか? ありがとう。
5 に答える
チームのボラティリティの問題に最初に対処することをお勧めします。そもそもオフィスに回転ドアがある場合、うまく機能するプロセスはありません。個人のパフォーマンスと貢献に大きく依存するプロセスを使用することは、意図されたプロセスよりも重要です」機械の交換可能な歯車」は、可能であれば事態を悪化させます。
ペアプログラミングは、チームの新しいメンバーに知識を伝えることができるように、何人かの人々を十分に長く引き留めることができれば、このような状況でも機能する可能性があります. しかし、それに関する問題の一部は、ペア プログラミングの「対等のペア」の部分を実際に練習することができず、ペアの半分がそのことを知らないという理由だけで、暗黙の先輩/後輩の状況になってしまうことです。十分にコーディングします。
ほとんどの開発プロセスは、コードベースをよく知っている比較的安定したチームに依存しています。それがない場合は、開発者が生産性を高めようとすると同時にコードベースを把握しようとしているという事実を考慮して、プロセスを設計する必要があります。
プログラマーのペアリングが必須になります。エンジニア プラクティス (XP) と管理プラクティス (SCRUM) を併用することで、持続可能なペースでの提供が可能になります。働くチームのために最初に強調すべきことの 1 つは、チームをまとめることです。それが不可能な場合は、プログラミングのペアリングがさらに重要になります。
ウォーターフォールの場合、プロジェクトが開始され、人々が集まり、Form、Storm、Norm、そして Perform を経なければなりません。チームが連携する方法を学ぶと、プロジェクトは終了し、作業チームは解散します。その後、プロセスが再び繰り返されます。問題が見えますか?チームがフォーム、ストーム、ノーム、パフォーマンスを何度も繰り返すためにコストを払い続けることができるほどのお金を持っているのは誰ですか?
そうは言っても、すべてのチームは、チームの人々が行き来するのを見るでしょう。プログラマーのペアリングを使用すると、新しい人をチームに参加させることができ、彼らはすぐに効果を発揮します。ペアを組むことで、ビジネス ドメイン、アプリケーション コード、およびエンジニアリングの実践を非常に迅速に学習できます。
私たちは 4 ペアのチームを取り、チームに 3 つの新しいペアを追加しました。私たちはすべての新しい開発者を経験豊富なチーム メンバーとペアにしました。私たちは、新しいメンバーがすぐに使えるようになるまで 30 日間を費やしました。チームはすべての成果物を達成しました。ウォーターフォール チームの 8 人の開発者のチームに 6 人の開発者を追加することをイメージできますか。チームは、新しいチームメンバーを同化させるためにほとんど停止するでしょう.
肝心なのは、機能チームをまとめることです。それが不可能な場合は、ペアリングを有効に活用して、新しい人をすぐに参加させてください。
ペアプログラミングは、新しいチームメンバーのスピードを上げるのに役立つだけでなく、チームルームでの浸透圧コミュニケーションにも役立ちます。開発者テストと顧客テストの両方の広範なスイートにより、新しいチームメンバーが既存の機能を壊さないようにする必要があります。高いコード品質は、彼らがより速く道を見つけるのに役立つはずです。
そうは言っても、不安定なチームは本当に強力なアンチパターンです。そもそもなぜ持っているのですか?
高いテスト カバレッジと継続的な統合により、新しいチーム メンバーが以前に実装されたものを壊さないようにすることができます。ペア プログラミングは、誰かがプロジェクトに慣れるために私が見つけた最速の方法です。会議を計画し、短いイテレーションを行い、それらのイテレーションの速度を追跡することも、新しい開発者がより簡単に管理できる小さな部分に簡単に取り組むのに役立つ可能性があります。
チーム構成が不安定な場合、どのようなプロセスが機能しますか? 少なくとも XP では、ペア プログラミングを使用すると、複数のチーム メンバーがコードのすべての部分にある程度精通していることが期待できます。FWIW、私は XP を練習していません。XP を使用することで問題がどのように悪化するかわかりません。