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
- Identify a methodology or process already gaining momentum
- Build technology that enables and reinforces that process
- Make it easier to follow the practice than to deviate
- Example: Atlassian built tools for agile teams already practicing agile
Path 2: Introduce Better Practices
- Identify where current practices produce poor outcomes
- Develop a better approach grounded in principles
- Build software that teaches and enforces the better way
- Example: Greenhouse introduced structured recruiting to replace ad-hoc processes
Making It Work
- Ensure your opinions are genuinely better, not just different
- Be willing to lose customers who want flexibility over guidance
- Create educational content explaining why your opinions matter
- 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
- Opinionated Defaults - Related concept about guiding users through defaults
- Different and Better - Opinions should make your product better, not just different