This article is a manifestation of my actual experience in the Corporate World. I came to this country 8 years ago, found some amazing mentors, worked hard, succeeded in software development consulting (my team does custom software/web/app development for Fortune 500 clients, to mid-size companies, to successful startups) and got to speak at prestigious conferences all over the world about how I made businesses and in turn CXOs successful. In no way do I mean to demean executives in general, or anyone in particular. Instead, I humbly envision this article to become a discussion that benefits the Software Industry as a whole.
It's important to understand that my lust for knowledge and passion to make my clients successful has made me move my actual residence 4 times in 2 years, and I am one of those people who could be considered insanely passionate about things they do. At the same time, I understand that business pays the bills. At times, compromises need to be made, and the best approach might be delayed in favor of an above-average approach to ship a product in time. Next, we need to be able to scale the success of the product shipped with such approach. Fortunately, my biggest strength is being able to speak the language of a CEO, a CTO, a dev manager, a software architect, all the way to a junior developer. While I believe I could write a book on this topic, this is my humble attempt to summarize some important reasons why executives, and in turn, companies fail to deliver software products on time (in the short-term) and are left behind by the competition (in the long-term).