Posts Tagged ‘Agile Method’

Software Bloats: epic failure and how to prevent it

Written by AbiusX on . Posted in Computer, Development, English

Bloating is one of the most fatal horrors that can happen to a piece of software. It is when you have a nice working software that everyone loves, and then you start adding odd crazy features into the software that nobody but you (who spent numerous hours thinking how you could reach perfection in your software) needs or uses.

It might seem not very likely but believe me, if you don't shackle your thoughts, you'll definitely bloat it. For example, consider Apple TextEdit, which is somewhat a counterpart of Notepad on Mac OS X.

TextEdit was a very powerful tool, yet simple enough for taking a few notes. It could open MS Word documents and other RTF-like formatted documents, as well as pure ASCII text files and it would automatically recognize the encoding and save with the appropriate encoding, all without the need to go through application preferences.

Now they have added Versions and a lot of other magical stuff to TextEdit (as well as many fundamental OS X apps such as Preview), and it takes ages (in comparison to a nerd's typing speed) for it to open, save, close and behave. Personally I haven't used Versions once in this whole year I've been having OS X 10.7 Lion, and I don't think everybody else has, that's why most people hate Versions (dare Google it!).

Another case would be Mozilla Thunderbird, which is a magnificent piece of software, but I strongly doubt that anyone unfamiliar with the mechanics of modern EMailing protocols could cope with it.

Thunderbird is a strong Mail client capable of almost anything, but I bet half of my blog readers won't be able to start checking their mail with it. It wasn't like that in the first few versions, but the developers got involved in the software so deep they could only see the world as an EMailing infrastructure, and anyone has to know whats the difference between IMAP and POP3 to drive in their world.

How to prevent it

They say that people use 20% of a software's features 80% of their time, so bloating will just make this percentage look uglier. The best method to prevent bloating AFAIK is to go agile, this way you would only implement what your customer needs and uses, and if they didn't like it, you would either change it or dump it.