- 技術的負債の減少、
- 生産速度のサポート、
- 製品品質サポート。
プロジェクトの長年にわたって、タスクのリストを使用したすべての作業が2つの原則に従うシステムを開発しました。「古いものを終了しないと、新しいものを開始しない」と「新しい機能の場所を常にクリアする」です。
これら2つの原則がバックログの優先順位付けルールにどのように変換されるかを次に示します。
バグを扱うことは常に最優先事項です
バグを発見したことが確かな場合は、新しい機能を開発する前に、まず修正する必要があります。 次の理由により、このルールに従ってください。
- バグは以前に開発された機能であり、ミスが発生するため、「古いものを終了していない場合は新しいものを開始しない」という最初の原則に従います。
- システムのバグにより、新しいシステム機能を開発するのは難しいかもしれません。 これらの機能は、バグとともに環境に入力する必要があります。 これは難しいだけでなく、チームの士気を低下させます。 ここに、2番目の原則、「常に新しい機能の場所を明確にする」があります。
2番目の優先事項は、以前に作成した機能のすべての改善です
これは、機能を拡張することではなく、改善、いくつかの不正確さ(それらは非常に重要な場合がある)についてであることを強調することが重要です。 機能のバトルへのリリース後、設計段階で詳細が考慮されないことが判明した場合、バグの直後にこれらの改善が優先されるはずです。 このタイプのタスクが他のタスクよりも先に進む理由は、バグを処理する場合と同じです。これは以前に開始されたが終了した機能ではないため、新しいことに取り組む前にすべての改善を完了する必要があります。
3番目に重要な優先事項は、不要な古い機能またはMVP開発を削除するタスクです
私は練習のために会社にまだ会っていません(これは私が自分で働いた10社以上で、私は内部から精通しているのとほぼ同じ数です)。存在します。 新しい機能が追加されるたびに、次の機能の生産コストが増加します。つまり、プロジェクトの10番目の機能を5000番目の機能よりも簡単に作成できます。 これは、後者を開発するときに、以前に作成されたすべての4999の機能にどのように適合するかを理解する必要があるという事実によるものです。
また、多数の機能により、プロジェクトのビルド速度とテストに合格する速度が低下します。これにより、5000番目の機能の作業が非常に複雑になります。つまり、プロジェクトの機能数の減少は、新しい機能の生産速度にプラスの影響を与えます。
最後になりましたが、新しい機能を開発するタスクに対処する必要があります
新しい機能を開発する3人日ごとに、技術的な負債を排除するために2人日、システム全体を改善するために2人日がかかります(無形タスク)。 係数(2または3人日)について議論することができます。もちろん、プロジェクトのライフステージに応じて変更することができ、変更する必要があります。 しかし、新しい機能に費やされるすべてのマンデイに対して、技術的な義務のタスク、およびシステム全体を改善するタスクを果たす必要があるという考えは非常に明白です。
結論として、実際の仕事はもちろん、発明されたルールよりも複雑であり、時にはそれらを破る、またはそれらから離れる必要があると言うことができますが、日常の仕事ではルールの存在そのものが人生を大幅に簡素化します。
バックログでの作業方法に関するコメントに考えを書いて、気に入った資料へのリンクを共有します。
アンドレイ・チズ、
CTO Retail Rocket
PS
私たちは常に新しいチームメンバーを歓迎しており、「 。 NET Developer」の役職のためにすぐにいくつかの空席を開設しました 。 Habréの最初の投稿で、技術的なスタックとタスクのレベルを推定できます。 履歴書は、メールavchizh@retailrocket.ruですぐに送信できます(HR-sはありません。すぐに直接連絡します)。