Although the “Broken By Design” paradigm seems to be shared by many elements of todays’ society, the focus of this article is actually to help educate about how it relates to software services companies and how to avoid companies that appear to have made this their business model!
As you may already know; I have officially been an Information Technology professional since 1996. Primarily offering computer programming and software project management services to my employers. In recent years; I have been switching careers from more of a programming role to more of a professional services role. And; in the last year I decided to start my own consulting company to offer my ideas, services and solutions to anyone looking to get the most return from their investments in computer services and related technologies.
My intent with this article is not to name or slander any particular companies for using similar “Broken By Design” business models. My intent here is more of an educational one, as you will not find these words on any companies corporate documents or communications. The legal terms for this business model usually comes in your “Support Contract” and/or your “Services Agreement”. So, be very weary of niche software companies, especially ones with long-winded support contracts or services agreements! Be sure to read, re-read and really understand all the terms before you sign! Perhaps even hire the services of a corporate lawyer when not sure. And, finally, don’t forget to ask other software development companies, “How much would it cost to develop my own custom software to achieve the goals promised by this other software vendor”. You may be surprised to find that many software vendors offering to build custom servers and software can often be achieved at a fraction of their proposed costs with an actual software development company, rather than some niche software vendor!
Unbelievably, I worked for one year with a software vendor that had mastered this business model. Their software (at that time) had more bugs and problems than I had ever seen from any of my previous employers. I do not think there was even a single module working properly and some modules had long lists of issues requiring programmers’ attention. Interestingly, the company almost killed itself that year as it was working on releasing the next version of their software without properly addressing the bugs in the current version! Amazingly, even the months and months of delays from the company not being able to release any reliable versions of their software did not end up killing them! They laid-off a lot of staff that year, but the company did pull through the hard times and continues to thrive into today!
I found that I was essentially repeating very similar code-fixes and upgrades to their corporate software, but for several clients. I could not believe that they could not just roll-out fixes and updates to all their clients in regular software updates, patches and/or releases. Cleverly, what this company had done was made client-specific coding as client-specific “rules” instead of making them as configurations in the corporate software itself. So, it became the responsibility of those in “Professional Services” and “Support” departments to create and maintain the additional logic and programming for client-specific requirements. As you can imagine, it is much more lucrative to have multiple clients pay for client-specific changes to their software, than just coding them as options and configurations within the corporate software itself! Brilliant?!
Not Brilliant. In my opinion this is a form of fraud! It is understandable that some exception-coding be required for client-specific requirements, but is it not fraud when these exceptions become the norm?! This is but one of many reasons I have started my own technology consulting company, 1337 Services!
I hope this information may help save you and your business(es) some valuable time and resources in the future!