失敗した/失敗したプロジェクトの典型的な話を聞いたことがあるはずです。
- 経験の浅いプログラマーのチームが 24 時間年中無休で働いています
- バグは、新しいバグを導入するためだけに修正されます
- お客様は、基本的なこと (保存/クエリ) などを行うことさえできなかったと叫んでいます。
- 仕様を受け継ぐことに慣れたプログラマーは即興に苦労する
- 自動化された単体テストがないことが状況を悪化させる
- 紙の上では見栄えのするアーキテクチャ ドキュメントは、実際には守られていませんでした
- そもそも適合性がテストされていないサードパーティのコンポーネントがボトルネックになる
- マイルストーンを逃した後のマイルストーン
- 実際に実行する必要がある作業量について誰も同意しないため、チームは納期を決めることができません
- 技術的なリーダーシップがない、または技術的な問題に対処できるカウボーイ コーダーがいない
では、あなたが10番として連れてこられるとしたら、あなたの最初のステップは何ですか?
更新: まず第一に: 参加してくれてありがとう。うーん...私は #10 として参加しています。クライアントに提案を行ったとき、私は最初のアーキテクトであり、ソリューションを固定していました。残念ながら、私は別の場所に配属されたため、配達の責任を負うことができませんでした。:)
それが既存のデスクトップ アプリケーションの Web 化であるとしましょう。私は今、#10として連れてこられています。悲しいことに、逃げることは選択肢ではありません。これは、アジャイルのベストプラクティスに従うことで逆転できると確信しており、コミュニティからアイデアを引き出したかっただけです.
より大きな問題は、おそらく次のようなものです。開発チームが仕様を持っておらず、実行中のアプリケーションの (ベースライン化された) コードしか持っていない場合、元のソリューションでは、コードを見てその場でビジネス ルールを抽出する必要がありました。現在、経験の浅いプログラマーは、VB 6.0 のコードを見てドキュメントを欲しがるのをためらっています。では、アジャイル プロセスを導入する場合、どのようにこれと戦うのでしょうか?