DanLevy.net

優先度の罠

複数選択が最善の選択肢か?

Priority セレクトボックスの罠

とあるスタートアップの物語

どの会社でも必ず、Jira管理者が解決策を提案するものだ。ほら、Priority フィールドのドロップダウンだ!(エンタープライズ開発者へのヒント:Priority2P-level と呼ばれることもある。)

不思議なことに、どの会社も P1, P2, P3, P4Low, Med, High, Critical のどちらかを選ぶ——どうやら他の選択肢はないらしい。

4つの固定オプション?よし、数週間試してみよう……

2日後

誰も驚かない展開で、組織は新しい、より高い優先度を持つチケットを発見し、マイナーなハックが必要になった:P0、または Critical Max+ を追加する!

さらに3日後

私たちの勇敢なボスは、カンファレンスでいくつかのエキサイティングな会議と発見をした!

なんと P0 よりもさらに高い優先度を発見したのだ!

それ以来、チームはこの新しい優先度をどうラベル付けするかを頭を悩ませて研究してきた。

-1 はどうだ?いや、いや。それは混乱を招く(P-1P1)。よし、P0.5 は?いや?

「ひらめいた」瞬間、チームはより高い優先度を発明した:ダブルゼロ!
今や P00 優先度として知られるものだ。

洪水の前

誰も気づかないうちに、あなたのチームは P00 チケットに溺れている!

このおかしなエンジニアリングシアターをどう避けられるか?

優先度が複数選択でなかったら?

Priority のような常に変化する流動的な人間の概念を、どうよりよく表現できるだろうか?

では、次に何をする?

低 effort から高 effort まで、いくつかの代替アプローチを探る価値がある:

まとめ

優先度には多くの重きが置かれるが、その劣化速度は速い。昨日の CRITICAL チケットが来四半期にも CRITICAL である可能性は低い。

時間が経つにつれ、古い高優先度チケットはクリーンアップやメンテナンスに抵抗を持つようになる。結局、一度 必須 と宣言されたものの Priority を下げたいと思う者は誰だろうか?ましてや関連性のなくなったチケットを削除するなんて……(げっ!バックログを考えてくれ!)

複数の会社で SeverityPriority を混同しているのを見てきた。Severity緊急性(または時間的感度)を記述するものだ。

Priority ≠ Severity。3〜5の重大度レベル(サービスレベルアグリーメントの維持に使用されることが多い)を定義するのは理にかなっている。

緊急性のレベルは、顧客への影響ゼロ から 部分的/完全なサービス停止 までのコミュニケーションに役立つ。

注意事項

無制限の優先度フィールドを導入するには、少しの計画と規律が必要だ!

フロントエンド開発に詳しい人なら、z-index 戦争を経験したことがあるかもしれない。

基本的に、z-index を使うとデザイナーは任意の正の整数を設定して、自分のウィジェットがより低い z-index のコンテンツより「上」に表示されるようにできる。

マイナーなコンポーネントのアップデートでさえ、<Dialog /> の z-index に変更を加え、突然見えなくすることがある。サードパーティのコンポーネント、機能作業、その他のチームの貢献が互いに z-index で競い合うにつれ、これらの状況は厄介になる可能性がある。

Z-index はかつて約32,000に制限されていた。しかし、最近、10億の z-index: 1000000000 を持つスニペットを見た!

インフレは z-index にひどく影響を与えているに違いない。

議論

インターネットに向かって「誰がすべての P00 チケットをクリーンアップするんだ?」と叫ぶこともできる。

それとも、バックログに 本気 になれる。