While reading through Mark Pilgrim's Dive into Python, stumbled upon this
interesting thought, wherein he says that, when you 'plan' to develop a full
-fledged feature for a software which will help in certain tasks, and if you
end up coding a small version, make it just work rather than a completed polished 'as-per-plan' thing, then you are not only being inefficient, but you are
being rude (to your customers).
That's a very good thought. Most of times, I think of designing a software and
when it reaches to level where it works, I stop there and move to next. The
working thing, sometimes never goes past my computer.