View on GitHub

Cross-Disciplinary Software Team Spaces

A Pattern Language

Ranked Voting

Summary

Make group decisions by having people rank options instead of picking just one favorite. This captures detailed preferences and finds solutions most people can accept.

Context

Teams need to make decisions with multiple good options. Simple majority voting or loudest voice approaches may not show what the whole team wants or lead to the best outcomes.

Problem

Traditional single-choice voting can lead to polarization, strategic voting, or solutions that satisfy only a small majority while creating strong opposition from others. This approach misses chances for solutions that more people can accept.

Solution

Have people rank all options in order of preference, then use counting methods to find the option with the strongest overall support. This captures the full range of preferences and tends to find solutions that are broadly acceptable rather than just strongly preferred by some.

Forces

Implementation

  1. Present Options: Define a clear list of options that don’t overlap
  2. Independent Ranking: Each person ranks all options in order of preference
  3. Anonymous Submission: Collect rankings individually to reduce influence
  4. Count Results: Use counting method right for the situation
  5. Share Results: Explain how the winning option came from everyone’s preferences

Common Counting Methods

Instant Runoff Voting (IRV):

Borda Count:

Single Transferable Vote (STV):

Examples

Backend Framework Selection:

Product Feature Prioritization:

Team Process Selection:

Sources