If you start as solo dev and then expand, will your org chart resemble the architecture?
Can you plan your org chart by thinking hard enough about your architecture?
If you start as solo dev and then expand, will your org chart resemble the architecture?
Can you plan your org chart by thinking hard enough about your architecture?
I see Conway's law as an equals relationship IMHO, not a cause. The side that can give ends up adapting to the side that can't. In newer business where the architecture isn't established of course the structure influences the design. As the architecture matures and is worth a lot of money to replace it sometimes switches the other way. This of course can kill a lot of big corp's and IMO one of the biggest reason they may seem less agile to startup dev's - they have so many use cases to handle and systems have grown so complex it is a lot of effort to understand yet alone modernize these architectures. Often as well because they have been successful for awhile the regulators/governments have caught up with them and they have obligations that aren't so easily depreciated in any replacement.
More towards your question, having also been in a mildly successful startup, I think there is a certain amount of layering in your architecture that you can setup on day one (frontend vs backend), but so much success rests on execution and product fit and such that it's not worth wasting too many cycles overoptimizing the architecture if you aren't already opinionated on it. Go with the architecture that you can iterate rapidly with.
While I haven't been a solo dev, I'd ask myself the question "what work will I offload once I can afford to, and what architecture do I need to create so that next 1-3 persons able to work without a ton of my time?" Iterate from there.
Obviously you can't blame all that on software architecture, but it is a danger that comes with architecting an org in the same way as code, and expecting it to work once animated.
I've only seen this work well in highly-repetitive, relatively low-skill/knowledge required workloads. Not knocking the participants, but there was often little novelty or real troubleshooting involved in those projects (often troubleshooting was handed off to a specific individual or group and the regular staffers weren't responsible for it).
Don't shape your architecture, shape your org, then your architecture will follow.