• Stepping stones allow us to learn something! By building a smaller version of the project, we drastically reduce the scope of unknown unknowns. Problems that seemed open-ended and intractable at the start now just seem like obvious next-steps once the solution space has been trimmed down.
Deploying a simpler but less efficient version of a storage system is a concrete deliverable that we can start using now. Refactoring an API to decouple clients from a backend and simplify application development brings real value and allows us to learn what API works for applications. Using an off-the-shelf component instead of something custom is still directionally consistent with where we want to go. All these stepping stones take us closer to our end goal and reduce the scope of unknowns along the way.