Can small development companies produce great software?
by Prof Barry Dwolatzky
Joe (not his real name) stuck it out in a 9-to-5 corporate job for nearly 7 years. He did his work as best he could … and got more and more frustrated. Everywhere he looked in his workplace he saw opportunities to do things better. He suggested innovative ways of doing things, but his managers had that “if-it-ain’t-REALLY-broke-don’t-fix-it” attitude of the corporate world. They weren’t interested in implementing Joe’s ideas.
Eventually Joe couldn’t take it any more and he resigned. He gave up his secure salary, his medical benefits and retirement plan. With his head full of fantastic ideas of how he could make money by devising better ways of doing things he became an entrepreneur.
A lot of Joe’s innovative ideas required software development. He had dabbled in writing programs, but he certainly didn’t have the skill and experience to develop “industrial strength” software himself. That’s when he came to speak to me.
In my nearly 40 years in the IT industry I’ve met tens (even hundreds?) of people similar to Joe. They are always looking for a good programmer who can help them develop a “killer app” that will change the world. They know what they want the software to do, but they just don’t know how to develop it.
The simple solution for Joe –one would think – is to put him in touch with a software development company. Their business is turning requirements into software applications – for a price. The problem is that software development companies come in a range of sizes.
- The big companies would not see it as worth their while to take on Joe’s small project. Even if they were willing to consider Joe as a customer he would probably not be able to afford their services.
- The small companies might be willing to develop Joe’s system for a price he can afford, but how well will they do the job?
My experience in dealing with small software development companies in South Africa is that most are simply terrible at delivering a high quality application on time and within budget. Herein lies the problem for a small entrepreneur like Joe. He is trying to set up a new business based on a concept implemented in software. He needs the application to be of good quality. If the software has quality issues he and his business concept are discredited. If the software costs more than he has budgeted or takes longer to deliver he may run out of money.
If anyone needs to work with a highly competent software development partner it is a small entrepreneur like Joe. The problem is that all he can afford are hackers who take his money and deliver him buggy software. Even this is usually delivered late.
What is the solution? We, the software engineering community, need to focus energy on bringing good software engineering practice to these small development teams. We also need to find ways – maybe via some benchmarking tool or certification – that will help a person like Joe know what he is likely to expect when he engages with a software development company.
Do you have any ideas on how to do this, or have you had an experience similar to the one I’ve outlined?
6 Replies to “Can small development companies produce great software?”
Comments are closed.
Here are just two small remarks about this very interesting topic.
a) There exists plenty of literature in this context (i.e. the problems of small size software enterprizes). One might start reading with the easily accessible Communications of the ACM (for example), and from there simply follow the further literature references.
b) For comparison: In the medical profession one needs to have a medical degree himself before one can start up his own small-size medical “business”, i.e. a local surgery practice to treat sick or injured people. In the software world, on the contrary, anybody with money in his pockets can be an “entrepreneur” by simply hiring an external software engineer. Isn’t this somewhat questionable? In my opinion (and it’s really only an OPINION of me), the government agencies should make sure that only a certified software engineer is allowed to open up his own software engineering business, in the same way in which only somebody with a medical certificate is allowed to open his own medical surgery practice around the corner.
Hi Barry, perhaps TSP can be one of the solutions for this situation. TSP works very well with small developement teams and builds a culture of empowered,progressive teams focused on continuous improvements thereby leading to high quality software delivered with budget and time.
Thanks for the comments Stefan.
The first point you make is 100% correct … but that was not my point. While there definately is a vast amount of literature available on how small enterprises can develop great software – my experience is that (in South Africa at least) they don’t actually do so. The same can also me said for lots of large enterprises. The challenge for those of us passionate about South African software is to somehow close the gap between theory/best practice and what actually happens on the ground.
Regarding your second point – just to make it clear that in my story “Joe” is not trying to pass himself off as a software company. Quite the opposite – he simply needed (as is the case with most modern businesses) to use software. He wanted to employ someone to write this software for him, and when he (as the customer) paid a bespoke software supplier to implement the system for him he found them incompetent.
That is avery profound question, which is directed to business represeted organizations like ours. In 2007 I came across a compamy called CBARS, (competency based assesment recruitment solution) Pty (Ltd), one in many HR software space, they are few of this companies which has a matured modules.
providing services to Eskom, currently SITA, then it gives you the idea of the capacity of this SMME comapny. however we all know the truth, our government cannot dicide on supporting this smme that develops software because of agreement they have with big business.
We have many potential developers, which can be uplifted by governement.
Regards
Mshengu
Hi Barry
I am Joe you so correctly described. I’ve been looking to partner with my idea for a very, very long time but to date I’ve been unsuccessful. Searching google for such a partner brought me to this site.
As almost everyone else, I’m convinced that my idea will revolutionise and completely change the way we do Fire and Rescue Services business in SA and the rest of Africa. The problem is finding a willing partner to develop the idea into an excellent software package. I have already developed the web interface but require the backend database and other tools such as CRM, eLearning, HR modules, etc. to be proffesionally developed with all the security features etc. The interface is available for viewing at my website on http://www.virtualfirehouse.com
Thanks for a great article which has given me hope to continue with my project
Yes, small development companies can produce great software. Size does not equal success in software development. Read: http://www.articlesnatch.com/Article/What-Project-Team-Size-Is-Best-/589717
Below is my suggestion when approaching any software development company.
Ask about some of their previous work and the project duration.
But more importantly create a contract and ask upfront whether they will agree to it.
The contract will contain the duration of the project, with penalties for late delivery.
Final payment will be made when the software has been delivered and tested, by you the client, and works correctly according to the initial requirement.
Example: The client pays 30% (of cost) after seeing an early draft and it matches the requirement.
Then if it is a large project there could be another 20% payment after 6 to 8 weeks after a demo, otherwise full payment after completion. The cost could decrease by 10% per month late.
Search for companies and present them with your requirement and contract.
Example: Google for your area: custom software development cape town
Or use a business directory like http://www.hotfrog.co.za and search for: Software Development Company