Ask HN: Why web development is becoming so complicated?
Hello, a few days ago I was asked by a stakeholder where I work about what's making the feature implementations and changes to our system takes longer time compared to the company's legacy system (which was developed using Oracle Forms). I tried to tell her about the complexity of web development and the time required for good UI/UX is much longer than the old days but I don't think she was convinced, how would you respond to such a question from a non-technical person? Come up with an analogy to something they'll understand about how complexity has changed. Maintenance on a jet engine vs a horse-drawn cart. Or cooking pasta vs a seven layer cake. Or upgrading the plumbing in an off-the-lot double-wide vs a one of a kind skyscraper. Changing the ID system for an elementary school vs a state university. Etc. You can probably come up with something appropriate to this specific situation. My response would depend greatly on the system I was working on. - Is it true that changes actually take longer in the new system, or is there an unfair comparison being made (eg "tweak a form input" vs "rework an API")? - Is the new system inherently more complex than the old one in terms of business logic? - Is the new system inherently better than the old system (as you hint by your UI/UX allusion), and it's just a case of "good things take time"? - Have you, in fact, chosen an unnecessarily complex stack in which to build the new system? This last point is worth considering as a possibility. Ordinarily you'd expect to make progress faster in a newer, smaller codebase you're building from scratch than you can when trying to change a large legacy system that someone else built. If you can't, and if the new system isn't inherently a larger effort, it may be that your tools are poorly chosen or are overkill for the task. Eg, if the application would be just fine as a server-rendered site, but you've taken on the task of building the server side in one framework and the client side in another, you've added unnecessary work. Or maybe you've chosen tools that are perfect for the task but which your team doesn't know well. Web development has gained the potential to be more complicated; you can now build things on the web that you couldn't build 10 years ago. But you still can build sites like it's 1999, and in some cases, that (with a little bit of modern styling) would be good enough. Companies like Facebook and Google are setting the agenda for the web. They can afford highly trained staff, high development costs, high failure risks, etc. because they have nearly unlimited budgets. "Free" tools have crowded out the market for commercial tools that make money based on web creators succeeding at their goals. Talking to someone who is not technical about some technical details requires some extra skill. I've learnt that in my years of being in the technical side of things, I don't have that skill. That extra knowledge of what you should say so that they can understand you. I left that up to the others who possesses this skill. It is really hard for me to explain some details in a way that everyone can understand. But giving examples from aspects of life they know while explaining is helpful. Like everyday stuff. Just try to come up with an applicable example. Note: if your example doesn't make sense, they will be more confused. Risky.... It’s because web sites are more complicated. Put up a static HTML web site and ask see if they’re happy with it, they won’t be. It's impossible, they don't understand. Give up now!