Live data from Hacker News

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

scottporad.com

141–150 of 159 posts

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

#141

I like the analogy of walking through a dark room with your hand on the wall. As long as your hand is on something you recognize, you know where you are in the room, what ground you've already covered, and you may have some idea of how you're going to reach the other side. I started a rails project very meticulously. I had recently read through the 'Agile' book which closely tracks the development of the framework. I…

Pair programming [1] and collective code ownership [2] are great ways of getting everyone on the same page and keeping them up to date.

My experience is that only a fraction of developers are interested in keeping things clean and meticulous. The rest are more interested in cranking out features. Both are needed. In my experience, a ratio of 1 "meticulous" to 6 "git-r-done" programmers works fine if you're using collective code ownership & pairing.

(The real trick is getting the rest of the team to agree to it.)

[1] http://jamesshore.com/Agile-Book/pair_programming.html

[2] http://jamesshore.com/Agile-Book/collective_code_ownership.h...

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

#142
post #93

Earlier quoted context omitted.

We have regulations here in the US also (I had my house rebuilt 10 years ago and recently turned an outdoor deck into an indoor office). But our regulations are primarily safety-related. The wiring must be safe, the pipes plumbed so that drains drain and vents vent, and so on. They don't really inspect the quality of the craftsmanship. If your wall is not load-bearing, they care very little at all about how it is bui…

You're absolutely right - safety is key importance, style/'correctness' are secondary. My dad is a contractor. He can literally build anything. I grew up with this, going on jobs with him, being in that whole space. I do software (but can build things too! :) and the one thing I've inherited from him is the 'do it right' conviction. Just like some of the tv shows where the hero goes in and says "omg, how could they d…

Are you describing the show Holmes on Homes? As a software developer, I find myself getting better at "doing it right" almost 100% of the time.

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

#143

Earlier quoted context omitted.

You're absolutely right - safety is key importance, style/'correctness' are secondary. My dad is a contractor. He can literally build anything. I grew up with this, going on jobs with him, being in that whole space. I do software (but can build things too! :) and the one thing I've inherited from him is the 'do it right' conviction. Just like some of the tv shows where the hero goes in and says "omg, how could they d…

But in software, the people smart enough to say "this is all gonna have to be ripped out and re-done the right way", are rarely in a position to not get their asses booted out the door.

It would help if you understood his reference, which I believe is the show Holmes on Homes. For example, Holmes the main character/contractor, had to rip off an entire roof (shingles, layering) of a flat-roof structure because it needed to have slight angles for the water to flow off. Otherwise any patching would not produce a leak free roof that would last for 20+ years like it should. I've worked on software projects where we went back in and completely re-worked the UI or re-wrote some data access layer stuff without a full rewrite. That would be a more analogous example.

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

#144
I think the amazing thing about this post is it suggests an incredibly myopic view of the world. Even if you look at the most basic function of what a web site is and compare it with the non-web version, you see complexity. Billboards, magazines, newspapers, books, etc., all have incredibly complex and intricate development processes, much of which is done by hand. The tools are somewhat more standardized, but that is mostly because the technology is much, much older. You try going back to the first 50 years of those technologies and you'll find it is pretty messy.

The reality is that these things get complex and intricate because that is what the system demands. I can make a website in <1 minute. It's not hard. However, it won't stand out amongst the sea of sites out there, which kind of defeats the purpose. This is why tools that facilitate the process, while improving the quality of the final product, don't actually reduce the time it takes to build a site, because improving efficiency just raises the bar higher about what a quality site needs to be.

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

#145
post #83

brilliant comment in the original post, just in case anybody missed it "When I had my bathroom remodelled, at first I thought it was organized amazingly well and why couldn’t software be like that? There was a designer from Expo, a primary contractor and subcontractors for tiling, painting, etc. a project workbook containing all the documents, including the design, and a logbook for every contractor to record their v…

Only difference, its really hard to do "git reset HEAD" when the bath tub didn't fit.

No, that's the command for when your toilet needs to be replaced.

If the tub is too big, you do "git rebase --squash" a few times, followed by "git clean -df".

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

#146

I like the analogy of walking through a dark room with your hand on the wall. As long as your hand is on something you recognize, you know where you are in the room, what ground you've already covered, and you may have some idea of how you're going to reach the other side. I started a rails project very meticulously. I had recently read through the 'Agile' book which closely tracks the development of the framework. I…

Pair programming [1] and collective code ownership [2] are great ways of getting everyone on the same page and keeping them up to date. My experience is that only a fraction of developers are interested in keeping things clean and meticulous. The rest are more interested in cranking out features. Both are needed. In my experience, a ratio of 1 "meticulous" to 6 "git-r-done" programmers works fine if you're using coll…

This is fine, as far as it goes. However, when I do this, I feel like I'm being yanked around from one area of the code to another. What I really want is the opportunity to take a few steps back and spend some effort getting things back in shape. If, as you say, both types are needed, I think it would help if an organization valued both types and allowed them to do the type of work they find fulfilling.

If I get a new feature working, but I do so at the cost of adding more technical debt to the project, I don't feel fulfilled at all; I feel I've done a net disservice to the world, and especially to whoever comes onto the project after me.

Being the type of developer interested in keeping things clean and meticulous, while being pressured to always sacrifice quality for speed, seems like a recipe for stress and burnout.

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

#147
post #93

Earlier quoted context omitted.

We have regulations here in the US also (I had my house rebuilt 10 years ago and recently turned an outdoor deck into an indoor office). But our regulations are primarily safety-related. The wiring must be safe, the pipes plumbed so that drains drain and vents vent, and so on. They don't really inspect the quality of the craftsmanship. If your wall is not load-bearing, they care very little at all about how it is bui…

In the US, the regulations often do little to protect construction clients, particularly individual homeowners. When contractors fail to observe the code, what recourse does the client have? Most often, the only thing available would be a lawsuit. Lawsuits are always expensive. This is especially true when they hinge on a technical question such as: "Did the defendant observe [insert building code citation] while ins…

Several states have consumer protection boards set up for just this sort of thing. I know because I filed a complaint in CT against a contractor who did faulty work.

My complaint along with a few others were compiled, leading to a hearing where his license was revoked. Additionally, the state had a fund set aside for people who lose money on shoddy work (up to 15K). We were one of the lucky ones, as he only cost us $3K (which we got back). Others lost 10-20K.

Bringing it around to the topic at hand, a code inspector for 'code' is an interesting idea. That said, I'm okay with devs/agencies being held accountable for their coding work -- as long as clients are likewise held accountable for paying on time, proper briefs, etc.

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

#148

brilliant comment in the original post, just in case anybody missed it "When I had my bathroom remodelled, at first I thought it was organized amazingly well and why couldn’t software be like that? There was a designer from Expo, a primary contractor and subcontractors for tiling, painting, etc. a project workbook containing all the documents, including the design, and a logbook for every contractor to record their v…

I spent half a year doing home renovation as a way to get out of software development and into something totally unrelated only to find out the two are exactly the same thing. The tools are different, but the problems and the way you go about solving them are freakishly identical.

You wonder why buildings take so long to construct? It's because nothing goes as you expect.

As they say: A plan is just a list of things that don't happen.

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

#149
Regular people can't see software, they really can't: for them it's a bunch of crazy numbers and letters, and incredibly boring too which is why media like movies do a montage with meaningless 3D objects and not actual code.

That's also the reason why is so easy for people to justify pirating software: is something unsubstantial, "how can it be so expensive? how can it cost more than the computer in which I'm using it? I can see the computer!" is what I hear the most...

And it gets even funnier when you consider most coders and pro users can deal with half-baked apps and find a workaround for bugs and glitches, but the average enduser, the kind that barely appreciates good quality software or how much it costs to make it is the first one to complaint when something doesn't works perfectly, even if it actually does but they are too dumb to know how to use it.

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

#150

Earlier quoted context omitted.

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

Use Agile for R&D, user Waterfall for D only. E.g. use Agile and smart guys with good knowledge of application domain for first version, then drop it and rewrite from scratch using Waterfall and outsource professionals.

It is ok if you don't change anything (or nothing significant) between version 1 and 2. But then, why would you rewrite from scratch ? In any case, if you use a different team to rewrite your application, you just lost the biggest value of the previous team: experience solving that problem the first time. No amount of documentation can really make up for the difference . The source (with doc) of a software is a compiled version of business/technical knowledge of the team that developed it and not really that good as a guide to the next team.
Post reply on HN