I’ve been fooling with code for quite a while now. Between bug fixes and feature enhancement it seems my code is never truly “done”.
So if I wait unil it’s “perfect and shiny” it will never happen.
But I feel bad about releasing code that I know could stand for some improvement.
So my question is “when to release code”?
Do you have any criteria that you use to evaluate “readiness”?
I like the ‘minimum viable product’ idea, i.e. release a product or feature when it’s reached a usable state and then you can refine it as and when necessary, based on user feedback. Obviously that works well with web-based apps as the changes can be rolled out without needing any input from the user, but maybe these days mobile device users are more used to frequent updates to their installed apps?
Like you, I try to hold back until I think it’s near perfect, but then code would sit in my digital vaults forever.
I tend to release when most of the core features are in place, and I’ve done a pass at bug testing as a whole.
How thorough I am depends on what type of product is being released. I tend to take a reasonably relaxed approach for site templates (try is the operative word here, though). eCommerce platforms or platforms containing personal information are held under a microscope.