Live data from Hacker News

Why do web sites and software take so long to build? And why is it so hard?

scottporad.com

21–30 of 159 posts

Re: Why do web sites and software take so long to build? And why is it so hard?

#21
Not so sure web coding as unique as author makes out.

Hand made items - essentially think back to before the industrial age. Most things were hand made. Art, tools, food etc

Now we have machines to make things easier. Or we have off shore labour.

If it is a precise trade, well sorry but you still need to struggle by hand. You should therefore new charging a premium to do it.

Re: Why do web sites and software take so long to build? And why is it so hard?

#22
The analogy the OP establishes - building a house vs making software - is good (I've actually used it too in debates), but things are not as tightly regulated by the government as the OP claims:

* While there are certain constraints a house has to satisfy, architects do have freedom to be creative. They MUST plan such that it will resist certain standard incidents, and they have to plan it such that the floors can carry ~10x the weight you would ever expect there. These regulations vary depending on the region you live in. E.g., in Austria there is the possibility that meters of snow lie on roofs, and architects (or their structural designers) have to keep that in mind when calculating the max weight. You won't find this constraint in Portugal.

* Keeping to these constraints does not guarantee a building won't break. Constraints (like requirements) are prone to grow outdated, or be incomplete. In Austria, roofs will sometimes break down when it snows for some days in a row (4m of snow are very heavy).

* As incidents in e.g. Turkey and China show, plumbers or other construction workers can do such a bad job ("botching") that buildings just break down after some years. Governmental constraints don't assure quality. Some countries like Dubai won't let local workers unguarded near any expensive building for this exact reason - most of the times, German and other Western workforces are hired to oversee the construction process.

I think one could compare governmental constraints on construction work with requirements. A building's floor must be able to carry a weight of 100 tons, and a software system should be able to serve 1000 requests/second - I think that's comparable, and software constraints might even be easier to test.

What I think this really boils down to is that software requirements evolve much more quickly, and due to this it's not feasible to establish legal requirements - government would have to issue new requirements every week, adjusting them for technologies like nodejs. Also, how do you establish best practices for bleeding-edge technologies within weeks? Not at all. We are in a constant state of learning and experimenting.

Re: Why do web sites and software take so long to build? And why is it so hard?

#23
post #19

Except that software is written by machines these days. I stopped writing in assembly language after it stopped being cool in the 90's. Even still, you'd have to be hand-crafting machine code in a hex editor to really get all the machines out of the loop. These days I write in an interpreted language using complex libraries that handle a multitude of protocol choices for me. Even if you argue that each of those tools…

Exactly - this article makes the very common (still) (1) mistake of thinking construction of software == writing code. Construction of software is compiler/interpreter/all the machinery that kicks in to take some text or instructions and makes it do something. To correct the analogy with building physical things - you could compare the architect designing a bridge (and arguing with engineers about materials and budgets) with writing code - that would be a fair comparison. The construction of software has been automated for some time.

This works just fine for construction of physical things because the cost sunk into to the "non construction" bit is tiny compared to the whole project - so no one spends too much time thinking about methodologies and automation of an architect coming up with the concept of a building.

(1) I note in the article the person mention spent time as a consultant in a big consulting company - this view is still held by them at least with the last brush I had with organisations like that (and they are incredibly frustrated by it).

Re: Why do web sites and software take so long to build? And why is it so hard?

#24
To date, software engineering has failed to deliver on one critical goal, which is why we are in this mess.

The world of software development needs to be divided in two -- the component creators, and the component assemblers.

To stick with the given analogy, component creators are the people inventing new kinds of plumbing: easier ways of connecting pipes, taps that don't ever drip. Component assemblers are the people fitting out bathrooms.

Creating new components is high-end engineering. It needs to happen far away from the day-to-day challenges of making a client happy.

To a large extent, this division is already present, but it doesn't go far enough. There has been amazing progress - nowadays we work on top of an incredible stack of technology that we don't have to re-invent, but so far we've not achieved the "last mile".

We'll know when we're there because component assembly (i.e. making something for a client) will start to look more like a trade.

Today, just getting a regular been-done-a-million-times-before database-driven website (or whatever), requires FAR too much low-level code. This, I think is what is meant here by "hand made". We should be snapping things together, and often we are, but suddenly you get to an awkward bit and you're back to forging a new kind of pipe joint that never existed before.

Re: Why do web sites and software take so long to build? And why is it so hard?

#25
I think he's got the hand-made idea wrong. Programs are machines. Writing software is the act of specifying how those machines work. I don't know any industry in which this is done by other machines. It's always manual work.

The work of a financial analyst is also entirely manual by the way.

Re: Why do web sites and software take so long to build? And why is it so hard?

#26
post #5

I think getting a "DB Connection Refused" error when I clicked this link was wonderfully appropriate.

i think this should be working better now. i added some caching to the blog.

it's late where i am, so i'm gonna go to bed. hopefully the site will survive until morning.

Re: Why do web sites and software take so long to build? And why is it so hard?

#27
post #18

My dad would start yelling at the screen if he read this article. He runs power tool manufacturing business, that requires each product to be tested and tested to perfection. If there is a fatal flaw the entire line may need to be recalled. The fact I can push a software update to a million users in minutes makes him green with envy. So yes software is hard... but cost free replication is an enormous upside.

Not every piece of software is like that. My updates take time measured in months from the moment developers declare them "done" till the first time a line of code is executed in production. And this is assuming all forks on this path go positive.

Not that I'm complaining, just giving some perspective. Maybe this will make your dad less jealous :)

Re: Why do web sites and software take so long to build? And why is it so hard?

#28
post #19

Except that software is written by machines these days. I stopped writing in assembly language after it stopped being cool in the 90's. Even still, you'd have to be hand-crafting machine code in a hex editor to really get all the machines out of the loop. These days I write in an interpreted language using complex libraries that handle a multitude of protocol choices for me. Even if you argue that each of those tools…

Exactly - this article makes the very common (still) (1) mistake of thinking construction of software == writing code. Construction of software is compiler/interpreter/all the machinery that kicks in to take some text or instructions and makes it do something. To correct the analogy with building physical things - you could compare the architect designing a bridge (and arguing with engineers about materials and budge…

Or alternatively you could say writing assembler is the software equivalent of building physical things by putting together individual molecules. Physical builders work at a higher level of abstraction too.

I think the analogy is becoming a little stretched though.

Re: Why do web sites and software take so long to build? And why is it so hard?

#29
post #27
post #18

My dad would start yelling at the screen if he read this article. He runs power tool manufacturing business, that requires each product to be tested and tested to perfection. If there is a fatal flaw the entire line may need to be recalled. The fact I can push a software update to a million users in minutes makes him green with envy. So yes software is hard... but cost free replication is an enormous upside.

Not every piece of software is like that. My updates take time measured in months from the moment developers declare them "done" till the first time a line of code is executed in production. And this is assuming all forks on this path go positive. Not that I'm complaining, just giving some perspective. Maybe this will make your dad less jealous :)

Sure I can completely see that being the case in many situations (for example all Aircraft software engineers have my utmost thanks :-)), but even then the cost of prototyping changes or testing fixes is made much easier by the malleable nature of code.
Post reply on HN