I’m sure you have all heard of software anti-patterns such as the Big Ball Of Mud. However fewer of my developer friends have heard of anti-paradigms. I’m sure you can work out that, like anti-patterns, anti-paradigms are software development paradigms which provide an example of how not to run a development process.
The ‘Sell It, Code It, Ship It, Fix It’ paradigm, in my opinion is a paradigm which seems to fall into this category. But when you think a bit deeper about it and from an entrepreneur point of view rather than a developer point of view, the value of the paradigm starts to become apparent.
Why waste time on an idea, and waste even more time coding it up if no one is going to buy it? If you can sell the idea first then you know that at least someone is willing to buy the killer app you are going to write.
So now you have sold it you can just sit back and take your time writing the code right? Ummm…No. Your shiny new customer is going to want product. They probably think that you have most of it already written so you should be able to deliver it tomorrow right?
Now you have to code the product, I am not advocating that you should ship low quality software because that will just come back to bite you (usually somewhere very painful!). However you should seriously think about delivering something on time to the client. No one likes to be promised something and then find out that they are not going to get their shiny new toy.
There could be an opportunity in the market to exploit. If you miss the window then it will be much harder to get your product in the door if the client has already had another product installed, which does the same thing.
As long as the software is 80% to 90% there, and the quality of the software is such that the user is not going to have the user interface blow up at every click then you should seriously consider delivery.
After you have shipped it, then have a quick release cycle, at least initially. As long as you can fix the outstanding features and the bugs which come up, relatively quickly, most clients will be happy with this (eventually anyway!). This is why the code has to be of good quality on shippping. Otherwise you will be so swamped that it will appear as if nothing is getting done.
Following this paradigm will build up technical debt in the software product but the payoff can be worth it. As long as you stay aware of the technical issues and have a plan to fix them that is.
So if you intend to sell a new theme or plugin, maybe you should see if you can sell it first.
So have you had experience of the When ‘Sell It, Code It, Ship It, Fix It’ development paradigm? If so I would love to hear about it so why not leave me a comment.