martes, 3 de mayo de 2016

Done is better than perfect


Software is an alive and dynamic discipline. I don't mean about what we know that valid technology today is obsolete tomorrow. I mean that one can never close anything, since everything is improvable. Code written today, one realises the next day that can be improved. The use case implemented today, one realises later that is not complete or, even obsolete. A new idea comes up, new comments,... Something normal with tasks that require some creativity.

This makes many times to get into the cycle of always looking for the best solution. Not finding the time to close an implementation if it doesn't fit with the perfection standards seeked, what one considers the final product. It's easy to be in the situation of finding a better solution and not finding the stop point.

You never see the right time to finish. Everyday you realise you can improve what you did yesterday, or you got a new idea, or... And the list is endless and delay, and delay. And the product is never launched and you lose opportunities.

That's why I've always been such a fan of the highlight of this post: "Done is better than perfect". It's always better to have something done that waiting for that perfection and, as the tweet at the beginning of this post says, makes the work never finishes. You can always launch something done, test it and, in the meantime, improve it to the level you would like to reach. Which is known as MVP (Minimum Viable Product)

Also known as "Fail fast", which is something as simple as, test it as fast as you can. If it works you already have something, if it fails you'll know it quickly.

When I talk about not pursuing the perfection I don't mean launching whatever. Perfection and quality are different concepts. Whatever you do, do it always with your expected quality levels, those you want to be identified, although it's not the final solution you wish.

No hay comentarios: