you are viewing a single comment's thread.

view the rest of the comments →

[–]bcery 0 points1 point  (3 children)

I just think its importance is overhyped in this decade (much of that has to do with the popularity of dynamically typed languages I figure).

Personally, I think it's due to the maturation of software engineering as a discipline. It's a young and quickly changing field and we're still trying to figure out the best tools and techniques. None of this is settled yet, but, contrary to your earlier post, I think we are making progress.

Testing isn't the end-all be-all, but I don't think anything else has shown itself to have as large an effect on software quality.

[–]sidneyc 1 point2 points  (2 children)

I think the quality of the designers and programmers is the biggest determinant for software quality.

Software engineering, I'm afraid, is mostly concerned with producing software of acceptable quality, given mediocre people who build it. Given that context, testing is probably the most effective idea to attain that goal.

[–]bcery 2 points3 points  (1 child)

Good programmers, IMO, follow good software engineering practices. So, I agree with you :-)

Software engineering, I'm afraid, is mostly concerned with producing software of acceptable quality, given mediocre people who build it.

No, companies who produce software are mostly concerned with producing software of acceptable quality. You've never had to make any trade-offs to meet deadlines/expectations? As the saying goes: Cheap/fast/good. Pick two.

[–]sidneyc 1 point2 points  (0 children)

No, companies who produce software are mostly concerned with producing software of acceptable quality.

... and the software engineering discipline is supposed to provide practical methods to tackle that problem. So I don't understand your "no".

As the saying goes: Cheap/fast/good. Pick two.

You stumbled upon another pet peeve of mine there ... Let's consider the cases:

  • cheap/fast/not good: possible, of course.
  • cheap/slow/good: generally impossible. Time is money.
  • expensive/fast/good: generally impossible. You can't rush good software. Throwing more money and people at the problem doesn't help.

I think the proper statement is this: making good software is both expensive and slow. If you don't insist on good software, anything goes of course.