Why Miriam?

Young OddBirds



Writing & Speaking

Mozilla: MozTrap

Distributed Test Case Management

MozTrap Screenshot


Client: ORCAS, Field: Health Care

US Military, Coast Guard, and NIH

(lead to company acquisition)

Quarq Race Intelligence

Client: SRAM, Field: Professional Athletics

Ironman Championships

Dark Raspberry?

somewhere between maroon and magenta…

Chapter 1:

Define Project Goals

Many Moving Parts

…goals, budget, timeline, designers, developers…


What problem needs solving?

Tell a Story

How things are now for our audience


“Writing collaborations can be chaotic – passing files back and forth over email with tracked changes, or working in real-time with google docs. There are no good tools for writers to share projects, edit alone, then easily compare and merge changes in one central place.”

What Defines Success For Users?

How things could be for our audience…

Making a Sale? Telling a Story?

Facilitating Communication/Networking?

Improving Daily Workflow?


“If successful, authors can write and collaborate without emailing files, or working on top of each other – an improvement to their daily workflow as writers. They can invite various types of collaboration while maintaining a sense of control, and easily manage variations of a document, with the ability to easily compare and merge drafts – all in one place.”

Who Needs This Solution?

How often? What’s their motivation?


  • Solo writers, who want better history-tracking

  • Ensemble theaters

  • Grant writers

  • Students with collaborative assignments

  • Open-source fiction experiments

  • Editors giving feedback

What Apps Do They Already Use?

What do they like? What gets in their way?


  • Google docs

  • Scrivener + email

  • Built-in word processors (Word, Pages, OpenOffice) + email

When Possible, Watch People Work

people get used to broken systems…

Trust Your Own Experience

but verify with others…

Analyze Patterns

common pain-points, related issues, etc…

Ask Why

look for the root causes…

The Faster Horse Parable

Your users know why, but not what

What Motivates Users?

internal and external factors…

What’s The Innovation Budget?

something has to be new, but how much?

What Assets Already Exist?

Brand? Company? Users? Other Apps?

Chapter 2:

Define The Context

What Expertise Do You Have?

What roles are missing?

Who Are The Business Stakeholders?

What do they need? How does it compare with users?

Who Has Final Say?

(keep them involved at every step!)

What’s The Budget?

we’ll come back to this…

What Are The Deadlines?

what milestones do we have to hit?

Chapter 3:

Define Technical Constraints

What Devices Will Be Used?

phones, tablets, computers…

What Operating Systems?

Versions of Windows, OSX, Android, iOS, etc…

What Languages and Cultures?

Specific Programming Languages?

if so, why?

Native-Only, Web-Only, or Hybrid?

many tradeoffs, no right answer…

If Web or Hybrid

Are Search Engines Important?

What search terms?

What Browsers?

Chrome, Firefox, Safari, Internet Explorer, Edge…

Chapter 4:

User Profiles

A Day in the Life

where and when are people using the application?


“Jane is a CTO who needs…”

“She logs into our application first-thing, looking for a list of today’s priorities…”

Focus on People, Not Stereotypes

what are they trying to achieve, and why?


"Women like pink stuff, right?"

Dark Raspberry?

somewhere between maroon and magenta…

Times, Locations, Context

“Later that day, on the bus ride home…”

Look For Patterns, Define Roles

Author, editor, collaborator, administrator…

Chapter 5:

Define User Stories

Features => User Outcomes

“As a __role__, I want __outcome__.”

Start With Broad Goals

“As an author, I want to browse a list of all my projects”

Narrow to Individual Tasks

“…I want to register for an account”

“…I want to sign into my account”

“…I want to view a list of projects”

Set Priorities

Minimum Viable Product

What Stories Do We Need To…

Prove The Concept?

What Stories Do We Need To…

Start Testing With Users?

(private alpha)

innovation life cycle

What Stories Do We Need To…

Have Actual Users?

(beta - innovators)

Minimum Viable Product

listen to beta users!

What Stories Do We Need To…

Charge Money?

(early adopters)

Viral” is a Myth

(Story of Khan Academy)

Happy Users” Are Real

Help them spread the word!

What Stories Do We Need…

To Grow?

(early majority)

Chapter 6:

Define Terms & Relationships

part glossary, part data model…

An Author

  • Has an account (name, password, and avatar)

  • Has zero or more projects

A Project

  • Has an author

  • Has zero or more collaborators

  • Has one or more text documents

  • Has a version history


You’ve Defined The Project!

Chapter 7:

Building Your Team

the hard part

Project Owner

Keeps the vision, and has final say…

Project Manager

Manages day-to-day operations and priorities…

User Experience Designers

Find solutions for overall problems, and user-stories…

UX Is Essential

(and happens first…)

Front-End Developers

HTML | CSS | Javascript*

Back-End Developers

SQL | Python+Django | Ruby+Rails | Javascript*

Copywriters ? Quality Assurance ?

depending on the project…

A Lot For One CTO

especially on "sweat equity"

Internal Developers?


Lower Hourly Rate

(but may expect benefits)


Tightly Integrated


Narrow Range of Skills

how many devs can you afford?


Expect Consistent Hours

Outsource To India?


Like, Super Cheap


You Get What You Pay For

(many of our clients have developer-PTSD)

Integrated Contractors?

(full disclosure: this is me)


Higher Hourly Rates

(but no benefits)


More Flexibility & Skill Range

can mean lower expenses over time…

Look For Existing Teams

With A Range of Skills

Willing to Integrate Tightly

daily standups, weekly demos, etc.

Ask About Performance & Accessibility

SEO for humans, works for robots…

Ask About Hand Off & On Boarding

plan for change…


100% Test Coverage

move fast, without breaking things…

"I’m glad OddBird never negotiated the 100% test coverage. Maintainability has been fantastic!"

—Sara Taillon, Chief Technical Officer at ORCAS (3 years later)


Integrated Documentation


Chapter 8:

Understanding The Costs

Cost Can Be Anything

Expect to get what you pay for…

Our Expected Ranges

Discovery Phase: $8k (flat rate)

Start Testing: ~$50k

Initial Release: ~$150k

Fully-Developed: ~$300k–$600k

Refactor: ¯\_(ツ)_/¯

All These Numbers Are Fluid

scope and difficulty of the project…

1. Start with Your Budget Range

from committed to available

2. Set Priorities

be specific

3. Negotiate With Developers

balance short-term cost with long-term quality

4. Plan for Scope-Growth & Meetings

every project has delays…


Go Build It!