Opinionated Software Design

Build software with best practices baked in that guide users to better outcomes

Barbra Gago
Category creation and brand building | Barbra Gago (Pando, Miro, Greenhouse, Culture Amp)

Opinionated Software Design

"Opinionated software is basically software platforms that essentially have either best practices or maybe some rules integrated into the system. You have systems that you can customize any which way and however you want and then you have other systems that enforce a certain way of behaving or doing work." - Barbra Gago

What It Is

Opinionated Software Design is a product philosophy where the software embeds best practices, principles, and sometimes constraints that guide users toward better outcomes. Rather than offering infinite customization, opinionated software takes a stance on how work should be done and builds that stance into the product itself.

This approach trades flexibility for guidance. Users who align with the software's opinions get immediate value without configuration, while those with different needs may find the constraints limiting. The key is ensuring the opinions are grounded in real expertise and genuinely improve outcomes.

Barbra Gago identifies two distinct paths to opinionated software: codifying existing best practices (like Atlassian building tools for agile workflows) or introducing better practices to an industry (like Greenhouse's structured recruiting approach).

How It Works

Opinionated software operates on three principles:

1. Principled Foundation

  • The software is anchored in specific values or beliefs
  • These principles determine what is and isn't possible in the system
  • Example: Greenhouse believes in structured, transparent, bias-free recruiting

2. Built-In Best Practices

  • The workflow enforces good behavior by default
  • Users can't easily work around the intended process
  • Example: Interview kits in Greenhouse require specific structure

3. Outcome Focus

  • The opinions serve better outcomes, not arbitrary preferences
  • Users who follow the system get measurably better results
  • The software actively improves how work gets done

How to Apply It

Path 1: Codify Existing Practices

  1. Identify a methodology or process already gaining momentum
  2. Build technology that enables and reinforces that process
  3. Make it easier to follow the practice than to deviate
  4. Example: Atlassian built tools for agile teams already practicing agile

Path 2: Introduce Better Practices

  1. Identify where current practices produce poor outcomes
  2. Develop a better approach grounded in principles
  3. Build software that teaches and enforces the better way
  4. Example: Greenhouse introduced structured recruiting to replace ad-hoc processes

Making It Work

  1. Ensure your opinions are genuinely better, not just different
  2. Be willing to lose customers who want flexibility over guidance
  3. Create educational content explaining why your opinions matter
  4. Let the results speak for themselves

When to Use It

Build opinionated software when:

  • You have genuine expertise about better ways to work
  • Current practices in your domain produce poor outcomes
  • Users would benefit from guidance over flexibility
  • A methodology exists that you can codify, or you can introduce one
  • You're willing to take a stance and defend it

Prioritize flexibility when:

  • User needs genuinely vary and no single approach is better
  • Customization is a core value proposition
  • Your expertise doesn't extend to prescribing workflows
  • The market demands configurability

Source

  • Guest: Barbra Gago
  • Episode: "Category creation and brand building | Barbra Gago (Pando, Miro, Greenhouse, Culture Amp)"
  • Key Discussion: (46:54-50:59) - Discussion of opinionated software philosophy and examples
  • YouTube: Watch on YouTube

Related Frameworks