There has been talk of the emergence of software factories for some time now, but it has only been the last few years that they have come to the fore on a commercial level.
Certainly, if we are to keep pace with the demand for software development over the next decade, the software factory approach is going to have to be more universally adopted – and will need to be the de facto standard of handling software development, says Eric van Heerden, business development manager at UCS Software Manufacturing (UCSSM), the retail-focused software factory in the JSE securities exchange listed UCS Group.
Van Heerden says that software development is currently slow, expensive, tedious and error prone – often resulting in products that come to market with a large number of defects, causing serious problems when it comes to usability, reliability, performance, security and return on investment (ROI).
Indeed, according to the Standish Group, businesses in the US spend about $250-billion on software development each year, with this money spanning around 175 000 projects. But only 16% of these projects are finished on time and within budget.
A total of 31% are cancelled, due mainly to technical glitches – notching up losses of $81-billion. Fifty three percent blow their budgets by an average of 189%, totaling losses of $59-million, while projects that are actually completed are said to deliver an average of only 42% of the originally planned features.
“This proves, empirically, something that we have known for some time now –that software development is labour intensive, consuming more human capital per dollar, or rand, of value produced than we would expect from a modern industry.”
Van Heerden says, however, that the “software factory methodology” is set to “change the landscape of software development”.
“One of the challenges we face is that total global demand for software is projected to increase phenomenally during the next decade. This demand will be driven by new forces in the global economy, like the emergence of China and the growing role of software in social infrastructure – including new application types such as business integration and medical informatics, web services, mobile devices and smart appliances. Analysts believe that total software development capacity is poised to fall far short of total demand by the end of the decade.”
The solution, therefore, is to make a paradigm shift in how developers produce software.. There is a dire need to industrialise the approach and to become more productive – and to produce workable software that much faster.
Van Heerden says software development needs to be automated. This is where the “software factory” methodology comes in.
“UCSSM, for instance, has invested significantly in evolving its software factory approach to developing software. We have standardised our processes, designs, and component libraries. We give our developers ways to encapsulate their knowledge as reusable assets that others within the software manufacturing supply chain can use effectively.
"While we are one of the few retail-focused software development ‘factories’ in the world – and arguably the only one in Africa – this methodology is a growing trend and it is going to revolutionise the way software is developed.”