Live data from Hacker News

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

scottporad.com

51–60 of 159 posts

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

#51

Earlier quoted context omitted.

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.

In the plumbing example in the article, the plumber isn't first making pipes from raw materials. They get them pre built in standardized lengths, diameters, thicknesses and materials. Same can be said for the compiler providing a standard, generally agreed upon abstraction.

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

#52
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…

Yep, in our field automation means frameworks, libraries, tools - and it happens all the time.

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

#53
post #30

How is the code hand-made? The millions of gmail users are using the same piece of code. Same thing with Windows users. That's what you call mass production.

I think this is looking backwards. Who uses an item is not related to it's producing methods. Say a handmade sword can be used by different swordsmen in generations. And this would not make it mass produced.

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

#54
post #31

My opinion? Because as much as the software industry loves to adopt the work "engineer", almost none of the sort of websites and software discussed here on HN ever gets anything much like "engineering" in the sense of, say, "civil engineering" done. I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied custome…

I was working as a freelancer for a long time and I had a quite simple solution for lack of documentation. Before the first meeting I'd send a customer 12-page form to fill which covered most of the "what and why" of the project. It quickly turned out that most of people have no idea whatsoever about the product they wanted to buy. I know that it's partly our job to guide people through rough path, but if all customer knows is "I want a website" it's better to quit early.

Sometimes I waited for a filled form for few months or even more (not paying much attention), and some of these projects were very successful. If I'd have started building right away, I'd spent these few months struggling and waiting for decisions to be made. What is even worse, I'd probably estimate my time and salary based on wrong assumptions, so I would be mad and underpaid. The project would take way longer than I estimated, so customer would be angry too.

Do yourself a favor and never start coding before final documentation arrives.

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

#55

Is it? > meta name="generator" content="WordPress 3.0.1" Was it hard to create this blog entry? Obviously he has a point but, in general, the abundance of predefined frameworks and libraries makes it easier to create "web sites and software". Fortunately for us (developers) at the same time user demands grow higher and higher. Web-Sites 'need' to become more dynamic, styled, responsive, ... simple CRUD 'needs' to tur…

I'm not sure if it is just my programmers mentality but I haven't been able to even run a company blog on Wordpress without coming across a few things I can improve. I have seen people put together a Wordpress with nothing more than addons and some basic HTML knowledge and it is pretty impressive what can be done, I think it is far from a tool anyone can pickup and make whatever blog type site they need without knowing about a ton of technologies.

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

#56
post #41
post #31

My opinion? Because as much as the software industry loves to adopt the work "engineer", almost none of the sort of websites and software discussed here on HN ever gets anything much like "engineering" in the sense of, say, "civil engineering" done. I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied custome…

I think you might be underestimating how much custom code has been written by companies like twitter and Facebook, think php to c++ compilers, databases, rpc servers, log frameworks etc etc. even if all of the designs of all of that software was given upfront I doubt any small team could build it within a month or so.

I'll admit I'm exaggerating for effect, but…

If the design and spec job was done with full knowledge of current state-of-the-art "web frameworks, databases, rpc servers, log frameworks, etc etc." - and requirements adjusted to suit "off the shelf" tested and reliable code, only speccing "custom code" where absolutely necessary, I think my claim is still supportable. I don't want a spec that says "you need to write this in php - therefore you need to write a php compiler to scale it". I want those problems solved by the spec. The "coders" just want APIs and datastructures and wireframes and finalised graphic design and content/content-inventory. I reckon I know people who could do it.

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

#57
post #31

My opinion? Because as much as the software industry loves to adopt the work "engineer", almost none of the sort of websites and software discussed here on HN ever gets anything much like "engineering" in the sense of, say, "civil engineering" done. I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied custome…

"It doesn't take very long to 'build' the software or the website (obvious 'large scale' projects like OSes excepted)." A lot of assumptions have to be met for that to be true. It shouldn't take very long provided: 1. The programmers are very familiar with the tools. 2. The programmers are very familiar with all necessary 3rd party components. 3. The 3rd party components account for 99% of functionality. 4. The progr…

"It doesn't matter if you can write 1000 shippable lines of code in a day because tomorrow you'll spend most of your time hunting a bug in an external library. Suddenly your machine-like pace has been cut in half. "

I'm there right now - why doesn't this Concrete 5 ecommerece plugin's Paypal addon work this week, when nothing's changed since last week???

It's not just you…

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

#58
post #31

My opinion? Because as much as the software industry loves to adopt the work "engineer", almost none of the sort of websites and software discussed here on HN ever gets anything much like "engineering" in the sense of, say, "civil engineering" done. I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied custome…

> I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied customer at the end. Overwhelmingy, some (or most) of the design gets "made up as we go along". Even on projects with several small forests worth of up-front documentation, there's almost always large areas of vagueness or outright contradictory requireme…

And that is what actually differentiates software engineering from other engineering disciplines. You cant't simply embrace change when building a house or you'd have to tear it down multiple times during building...

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

#59
post #54
post #31

My opinion? Because as much as the software industry loves to adopt the work "engineer", almost none of the sort of websites and software discussed here on HN ever gets anything much like "engineering" in the sense of, say, "civil engineering" done. I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied custome…

I was working as a freelancer for a long time and I had a quite simple solution for lack of documentation. Before the first meeting I'd send a customer 12-page form to fill which covered most of the "what and why" of the project. It quickly turned out that most of people have no idea whatsoever about the product they wanted to buy. I know that it's partly our job to guide people through rough path, but if all custome…

Could you post that form somewhere?

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

#60
post #39

Is it? > meta name="generator" content="WordPress 3.0.1" Was it hard to create this blog entry? Obviously he has a point but, in general, the abundance of predefined frameworks and libraries makes it easier to create "web sites and software". Fortunately for us (developers) at the same time user demands grow higher and higher. Web-Sites 'need' to become more dynamic, styled, responsive, ... simple CRUD 'needs' to tur…

I think that's a tautology. In my professional experience (I started programming 20 years ago and worked on my first 'enterprise' Java project 12 or so ago), software complexity has become much greater. If you look at just the different areas you need to be proficient in now to build 'enterprise' software compared to 20 years ago, it's insane. What I think has happened is that experienced developers have constantly h…

> software complexity has become much greater

I'm not sure if your memory serves you well. Anyway, the human mind is limited wrt complexity. It cannot grow infinitely. Also, complexity shifted from languages (e.g. C++) to frameworks and tools (e.g. JEE).

Post reply on HN