starting a new project with your team? nice! what are you talking about?

good:

- what problem are we solving?
- who are the stakeholders?
- what are the goals and especially non-goals?
- what's the minimum viable feature set?
- how do we measure success?
maybe not good:

- which message broker should we use?
- which logging library should we use?
- how many databases should we support?
- how should we structure our documentation?
- tabs or spaces?
the message broker you use is an implementation detail, which follows from the design, which follows from an understanding of the problem

problem → design → implementation
"we should use gRPC because it has all of these features"

OK, but do you need those features?

answering "yes" requires a design doc demonstrating that need, in the context of the problem it solves

and that can only happen after you've all agreed on the problem
You can follow @peterbourgon.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.