An introduction to Non-Blocking Development and how to get your entire business, from sales to software development, aligned to ship more product more quickly.
• Early employee at three startups ranging
from bootstrapped to venture funded.
• Angel investor in three startups.
• Advisor to seven venture funded startups.
• Cofounder of three venture funded
startups (SimpleGeo, attachments.me, &
Sprint.ly).
“The best products in
the world start out as
features.”
Kevin Systrom, CEO of Instagram
Why?
• Iterating on your product is all about
shortening feedback loops
• Continuous deployment allows you to ship
on code commit
• Automated testing allows for aggressive
refactoring with confidence
“You should get a CS
degree. It's the only degree
that automatically makes you
an expert on politics,
finance, religion, and
economics.”
@thejayfields
YOU ARE NOT AN
EXPERT IN SALES,
MARKETING, NOR
BUSINESS
DEVELOPMENT.
A Sampling of Non-
Technical Product TODOs
• Financial model creation for
pricing
• Messaging
• Documentation
• Customer development
• Copywriting
• Screencasts & Videos
• Marketing plan for launch • Marketing materials
• Public relations • Capturing requirements
• Support • Business development
• Community development • Funnel analysis
• Sales training • Market research
• Managing beta testers • Blog announcement
• Contract negotiation • Newsletter announcement
YOU ARE NOT A
DESIGNER.
(SERIOUSLY. JUST
LOOK AT THAT SHIT.)
YOU ARE NOT THE
TARGET CUSTOMER. (NO,
REALLY, NOBODY CARES
ABOUT KEYBOARD
SHORTCUTS.)
“Focus on the problem. If
you’re only excited about the
solution, you’ll lose interest
when your solution doesn’t fix
the problem. ”
Adil Wali, CTO of ModCloth
Approaching Product
1. Focus on a single use case that addresses
the problem
2. Start with a minimal core set of features
3. Release and listen to your users
4. Question your initial assumptions based on
feedback
5. Rinse and repeat
Iterating on Your
Product
1. Have a great idea
2. Wireframe in Balsamiq (or whatever)
3. Designer creates a static mockup
4. Static mockup is thrown “over the wall” to
engineering to implement
Oh, whoops.
• Turns out static mockups are ... static
• Engineers implement it only to find out the
UX is terrible
• Engineering is unable to implement critical
features
Why would I do that?
• Nobody knows your data better than your
engineers
• You likely aren’t an expert at data
algorithms
• They are your company’s best technologists
Iterating the Yardsale
Way™
1. Have a great idea
2. Wireframe in Balsamiq (or whatever)
3. Engage engineering to build a vanilla prototype
(e.g. Default Bootstrap or iOS/Android UI
components)
4. Play, tweak, rinse, repeat
5. Once UX is nailed have a designer polish to
perfection
Why is this better?
• Designer’s time is not lost on features that
are not shippable
• Timelines will not be disrupted by
unforeseen technical hurdles
• Avoids pissing off the engineers
Non-Blocking Development
(NBD)
1. No sprints, milestones, or dates are tracked by
engineering
2. Items are scored, velocity is tracked
3. Each developer works on an item to
completion in a feature branch
4. Pull request via GitHub for review
5. Feature deployed immediately upon approval
via continuous deployment
Why is this better?
• Shares reactive qualities of Kanban
• Velocity metrics allow you to do reasonable
capacity planning
• Features ship in real-time as they’re
completed