Posted: 03 Mar 2013
We believe small, specialized teams move fast. And they move even faster when they manage their own work.
“My name is Fiona, I’m a product manager, and I’ve written bad engineering stories… there, I’ve said it. They were bad because they didn’t break up the work the way my team wanted them to. They were bad because I’m not an engineer. No engineer has ever written my to-do list, why should I write theirs?”
Developing API-first with a team:
- Product vision development, opportunity assessment, user research
- Product discovery: design exploration, low-fidelity product concepts, more user research
- Output: low fidelity prototype/understanding of core functionality. no annotated wireframes!
- Output: API documentation (agreed upon functionality)
- Functional teams break API documentation into chunks of work (tracker stories, asana tasks, etc). Front end teams constantly iterate on the presentation layer.
- API eng team develops APIs and libraries
- Front end web development team designs, prototypes, builds user interface.
- iOS team designs, prototypes, builds front end.
- As development progresses, API changes are discussed with PM as they come up and reviewed with team to be prioritized in sprint planners.
When you develop API-first, you can intelligently divide work into device or platform-specific front-end teams. This results in far more rich, device-specific interactions in a multi-platform world. This also allows for parallel effort on teams. You can start the engineering tasks much sooner while the final revisions of the UI and user testing are still happening. This also serves to keep teams in sync better throughout the process.
<< Engineering Overview
Comparing API-First to Mobile First >>