To better circumcise this series of articles aiming at enlightening the myths of Custom Software Development vs Commercial Software purchase and integration, we thought it would be useful to revisit the evolution of software development.
Myths of Custom Software Development
Let’s remind us that before the turn of the New Millennium, when a company wanted to automate a process, it would have to either use internal resources or an external firm to develop its application.
These were the glorious years of custom software development. A time of glory for developers but not necessarily for enterprises since not many software developers had integrated the notion of « quality control » into their business processes and from there have risen many prejudices against custom software development among which high risks and costs… that were not that far-fetched since this era was witness to many software development horror stories.
The problems though originated much from the fact that most of the time, business process automation was executed without validating the quality or performance of processes to automate in the first place. Therefore, business process automation was not always relying on automating the best practices in place since not that many enterprises were systematically integrating the best practices of their industry into their business process! Well…
A Brief History Lesson
1950 to 1980 – Main Frame Era
First appearance of programming languages: COBOL and then Fortran. Only Governments and large corporations invest in computers… at a cost. In fact, it is usually the necessity to process a large amount of data that justify the investments in computers and programming.
1970 to 1980 – Mini-Computer Era
Computing is getting democratized with the arrival of the “minis” which are much cheaper and are now affordable to SMB’s.
- Xerox is launching Ethernet Protocol
- Floppy Disk launched by IBM
- Jobs and Wozniak are launching Apple
- Allen and Gates are launching Microsoft
1980 to 2000 – Glory Days of Custom Software Development and Micro-Computers
- The notion of quality expands from product to process
- Appearance of ISO standards (9000) in industrial production
- Penetration of concept of Best Practices in industries
- Rapid multiplication of programming languages
- Rapid multiplication of “Power-User Type” Developments
- Multiplication of non-integrated applications in enterprises
- PC Games (Amiga, Atari, etc.)
- Pentium processor
- HTML – World Wide Web
- Google’s birth
- IBM PC AT, PC XT
- WiFi is born
- Apple IIe, Mac, Mac OS X, etc.
- Windows 95
2000 – The famous Year-2000 bug
Systems and Applications lacking quality and homogeneity
It’s really the straw that broke the camel’s back, the year-2000 bug caused the loss of faith of « C-level » people in the CTO and its department and / or IT suppliers which have come to act like half-gods within enterprises.
Studies revealed that 65% of software development projects exceed costs and deadlines and that less than 35% des projects completed presented deliverables adequate to specifications.
2000 to 2010 – Web Web Web…
- Democratization of Web and related jobs; Web designers and programmers
- Communication, Sharing (Democratization) and Implementation of Best Practices among businesses (Gartner, Forrester, Fast Company, etc.)
- Opportunities to automate Best Practices among many different fields of activities rise, eventually commercialized as softwares…
- Proliferation of the notion of «Best Practices » in custom software development as well
2010 to today – « Information anytime, anywhere » Paradigm
- To better perform, businesses’ data must be available anytime, anywhere
- To be popular, consumer applications must be available anytime, anywhere
- Investment in technology to get new functionalities is almost automatically sanctioned if and only if, the technology is either Web or Mobile Web
- A high percentage of commercial softwares in circulation are not compliant with the « Information Anytime, Anywhere » Paradigm
- The « Information Anytime, Anywhere» Paradigm is now labelled as « best practice » among enterprises and is being slowly integrated in commercial software architecture
- Applications for Consumer Smartphones are being commoditized; on the other hand, enterprises are way behind when it comes to integrating mobility to enhance their employees’ productivity…
The key concept of this short software history lesson is, in our humble opinion, « best practices » which underlies that of quality control of most industries nowadays.
Best Practices – Tweedledum and Tweedledee
So, a commercial software encapsulates the best practices of a specific field of activities at a specific time, and then, automates it.
But for a commercial software to become an industry standard, it must prune functionalities to keep those most used by the majority of enterprises. The personalization of functionalities reaches its limits very rapidly with a commercial software and will mostly be executed as the provision of an additional service.
In fact, the true nature of a commercial software is to bring along most enterprises of an industry into adopting a standard, his, pretending it to be encapsulating the « best practices » for a specific business process or cycle. Some say that commercial software tries to force you instead into adapting your business process and systems to its structure and functionalities but hey…
Renowned enterprises (Microsoft, Oracle, SAP, etc.) have invested enormously in the development of their Software Suites which are, let’s be honest, top quality. It can be quite reassuring, we agree, which explains their large sales volume.
The origin of Myths of Custom Software Development
On the other hand, let’s not forget that the principle custom software development builds upon is the very same as commercial software and that is, to identify, capture and automate the best practices, only in this case, they’re yours!
This common error, the fact that the commercial software appears as best practices of the industry, establishes one of the myths of custom software development; namely, that to develop custom, differently from the industry, is not “best practices”.
Your processes and best practices can be different from standards of the industry, which does not make them less peerforming; here’s another stone upon which were built myths of custom software development.
So, custom software development also aims to automate the best practices, only yours, of your Sales cycle, or Administration, Production, Management, etc.
The major difference being that, custom software development would also like to, by the same token, eliminate non-performing process, automate some best practices because they are adequate for you, if needed, integrate other best practices or standards from your industry and finally, add some personalized functionalities specific to your business or industry.
In short, a commercial software pretends to be a « best practice » in your industry, while custom software development wants to make sure you get the « best practices » for your enterprise.
Any commercial software has been developed through… a custom development; only, it targets the largest possible number of enterprises instead of one.
The very essence of custom software development is to identify, capture and automate the best practices for your enterprise… and then some.
Of course, you’ll feel good in a Brand Suit but try a tailor-made Suit from a highly skilled tailor. That’s what we call, Class!
Denis Paul & Michel