https://overcast.fm/+KiHoCy9ig - product development process with TFTC and guy from stack overflow, unchained
start at the highest levels of abstraction and work down. the lowest level being lines of code.
think like a programmer: first data models and classes, eventually lines of code.
the stakes are higher at higher layers of abstraction. strategy mistake -> whole thing doesn’t work. a bug in code can be fixed.
strategy needs to be a long-lived document because you don’t know what to do until it’s ready. this applies to all the levels.
-
strategy
- should last maybe about a year. 10 sprints or so
- generally a longer-lived process
- this is mostly about why you’re doing what you’re doing - discovering the target or the customer desires
-
someone needs to know what the fuck is going on
- and everyone working on smaller tasks should know that what they’re doing is for that “the fuck is going on”.
-
whoever is setting strategy needs to be at an information advantage
- talk with customers
- know what your teammembers know (don’t just be a manager). have domain expertise. domain expertise is more important at the top of the organization (a good programmer doesn’t necessarily need domain expertise about the industry)
- don’t write a product spec here. who the customer is, what they want, how you’re going to get it, how you’re going to measure. it should be memorable. everyone should remember and be driving towards it.
- if you’re an engineer or engineering manager you should have a spec, not a todo list. it should be in service of the strategy doc
-
what is the output of the strategy doc? what does it do?
- make a business case
-
why do customers want this?
- hopefully with market data
- what are the MINIMAL requirements? if you remove any one thing, it doesn’t work at all.
- how to tell if it’s working. metrics, kpis
- if all of this is persuasive, no pushback, now you have a strategy.
Core vs context: for each feature, ask if it’s core - will be make or break for the business - or context - necessary to be there, but not core. start on the core stuff and spend more time on them.
To save meetings: write well. make them findable and easily traceable. at the higher levels of abstraction.
invariants. you have to do these in order (of abstraction)
-
Strategy. think and then do
- making sure you do have a strategy
- helps throw bad ideas out early. makes sure you’re market-testing
-
Discovery
- don’t design without knowing what you want
- Build
- Quality Assurance
- Delivery
when you can quickly raise $10 million, you might find yourself surrounded by 50 employees before you know it. you need to have strategy documents at that point. exercise that muscle now.