Linked by Eugenia Loli on Fri 3rd Nov 2006 02:09 UTC
General Development "Software sucks, 80% of projects fail, and most developers are unhappy individuals. Why is this? My answer; complexity. Complexity is the single factor I would attribute poor software to. The more you have to do, the harder you make it on yourself, the way requirements seem to change, the worse the final result is; right? Software needs to be simple", says Chris Stewart.
Permalink for comment 178366
To read all comments associated with this story, please click here.
Software must be simple? What for?
by ebasconp on Fri 3rd Nov 2006 15:41 UTC
Member since:

ok, let's see...

The customer wants an application that performs three tasks: A, B, C.

As you have read this article, you say: "Software must be simple" and implement A, B and C; removing criteria about maintainability, extensibility, modularity, etc... anyway, the customer does not want those features: (s)he just wants A, B and C.

You show the final product to your customer, (s)he sees the result of his/her thoughts turned into software and (s)he says: "Could you please add a button here that performs A1 and A2? I think it should be very easy to you"... But you did not think about extensibility: you just thought about A, B and C and you have to do a lot of work to support A1 and A2... what will happen when your customer will want the features B1, B2 and B3; C, D and E? How will be the final result? Will be easy to achieve the new customer requirements? Will the code be maintainable or will it be just a set of features added with no order or criteria?

Programming has a lot of art and a lot of engineering and complexity and abstraction are part of good and big software... The "simple software" today, will be the "patched software" tomorrow and the "refactored software" after tomorrow...

Reply Score: 1