4 ms·
The city metaphor is evocative and new to me. I like it. > Conversely, if we built our cities the way we build our software, you would need to enter the shop t
by cdogl 6y ago
The city metaphor is evocative and new to me. I like it.
> Conversely, if we built our cities the way we build our software, you would need to enter the shop through the special garage, and exit through the roof to walk a wire to get to another custom made building from scrapped containers to do the checkout. And some of the windows are just painted on because they’re an MVP.
- dagw 6y agoThat does actually sound like real cities to me. You have to walk 1 km to get to a point 50 m away because they never put an underpass in when they built the railway line. That flagship building stands half finished for 4 years because the people involved got bought out by another company that never got around to finishing it. And then you have that one section left over from the original release that all the engineers agree desperately needs to be refactored and upgraded, but due to cost and politics they never get to do it. And anyway you have a couple of power users who insist that the backwards and broken way that part is implemented is actually perfect and shout very loudly anytime you suggest changing it.
- mojuba 6y agoThought the same, but I also think we already have software-as-a-city if you take operating systems, cloud platforms or for example message queue systems on top of which you build components (e.g. microservices at larger scale). Message queues are the streets and as such they are probably not the most efficient but at least they are flexible enough to allow you to experiment with the buildings: rebuild, renovate and repurpose them while leaving the streets more or less intact. The problem with this industry seems to be that once something is solved, i.e. we already have reliable, battle-tested "streets", there is a big pressure to push everything further, build even more complex systems, faster. The pressure is rather natural: you will have a competitive advantage if you can push the limits and build something that can't be done based on the previous architectures, within a limited time frame. For example, building desktop apps is a solved problem. These are you streets, these are your building blocks. But because it's a solved problem there's little money to be made out of it. The money lies somewhere on the edges of the map (e.g. SaaS) where there are still no roads and no general urbanization plan, and it's where the businesses tend to flock to. Hence the chaos, uncertainty and quality problems in most of innovative software.
- PurpleFoxy 6y agoLarge software projects are almost as complex as cities and yet we have almost no one working on them. 4 developers can be enough to build a product used by millions. That’s kind of incredible IMO. 4 builders/architects/engineers don’t go nearly as far.
- qznc 6y agoSoftware allows incredible leverage by reusing stuff. I would never consider four developers a large software project though.
- WJW 6y ago4 architects are also enough to design a house that can be built millions of times. If you include the builders into the city projects, it would be fair to include the tens of thousands of people working in data centers and network exchanges as well. Also like a sibling comment states, 4 developers is not even close to a "large" software project.
- davidgl 6y agoI think Stewart Brand’s concept of Pace Layers fits well with the city metaphor of how software changes over time at different rates https://sketchplanations.com/pace-layers https://sketchplanations.com/pace-layers
- lelanthran 6y ago> Conversely, if we built our cities the way we build our software, you would need to enter the shop through the special garage, and exit through the roof to walk a wire to get to another custom made building from scrapped containers to do the checkout. I live 1.6km from my office. I drive 9.2km to the office. Cities aren't as straightforward as you might think.