#1
Conway’s Law
“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.”
So true.
#2
Dev-Ops is awesome
But also a lot of work that’s hard to anticipate.
#3
Clearly defined interfaces clearly need to be tested
We didn’t test ours, and it took other dev forever to track down a bug in our system.
#4
Deal with the bugs you have, not the ones you might encounter
Your software will never handle all possibilities. Invest the time into good monitoring, rather than anticipating every possibility.
#5
How to set up a robust environment
- Set up a dev, test and production stage.
- Set up continuous deployment into all stages.
- Set up a monitoring system.
- Start coding.
#6
Your system doesn’t need every bit of new technology
And it probably doesn’t have “Big Data”.
#7
MonolithFirst
As Martin Fowler writes:
you shouldn’t start a new project with microservices, even if you’re sure your application will be big enough to make it worthwhile