Looking For IT Leaders With Entreprenurial Courage, Have You Seen Them?

In our modern world, filled with complex technology, there are few roles more important than the CIO. The CIO is responsible for ensuring that their company has the right technology in place to support their strategic goals. They are responsible for ensuring that their employees are trained to use the technology that enables their company to function. They are responsible for ensuring that their company has a strategic technology roadmap that will allow them to adapt to the ever-changing technology landscape.

Unfortunately, in today's world our corporate culture has become one that is hyper focused on cost reduction (instead of value) that results in IT leaders first focusing on what can make them look good (or bad) instead of having the assurance and autonomy to innovate and deliver robust technology solutions for the organization. Perhaps we need to review some prime examples of the success stories, examine how we got here, and more importantly how do we fix such and get back to letting smart people build things.

Custom Development Perception Conundrum

For reasons unknown it appears that proposing custom software solutions to IT leaders has resulted in a rush to judgement or an assumption that the endeavor will be prone to failure. This rush to judgement is continually perplexing given that time and time again custom developed solutions have resulted in super satisfied customers, flexibility for future enhancements, and the most obvious no expensive and non-value add software maintenance agreements to maintain.

How is it that these supposedly technically sharp IT leaders have become so unaware of the benefits that custom developed solutions provide? Perhaps some inventory of the typical IT leader, their experience and their mindset and the nefarious vision that they champion.

  • The Attention Seeker: This manager strives to always draw attention to his/her accomplishments, anything that was deemed to be successful will have his/her name associated with such. If there was a success story involving custom development and it didn't involve them, it would be so detrimental to their reputation within the organization that they cannot take a chance on supporting such.
  • The Buzzword Collector: This manager is typically an outsider who is pretending to be a master resource of tribal knowledge in his/her new organization, but the reality is he/she is merely memorizing the popular vernacular of the organization and repeating trying to look like an important person.
  • The Intentionally Complex Technocrat: This manager while actually technically sharp from previous development experience likes to over-architect solutions trying to account for every scenario that might happen if the stars align just perfectly during a leap year. This manager makes no acknowledgement of time to market and devotes all attention to the complicated algorithms being put to use as if he/she will be recognized at Comic-Con 1997.
  • The Cheapskate in The Cheap Seats: This manager has been promoted for reasons unknown, he/she will be super demanding and lacking emotional intelligence as they expect super complicated tasks to be completed in days instead of weeks even though they have no previous experience in actually completing such tasks. The manager prioritizes low cost more than anything and thus has hired sub-standard developers while expecting expert results. High turnover usually follows suit with these types of managers unfortunately HR and others will turn a blind eye.
  • The Blame Game Gangster: This manager typically is promoted for reasons other than excelling in the very duties he/she is tasked with managing, they have never built anything in their professional career and thus rely on expensive third parties to deliver, because at the end of the day if it fails, they have someone to blame for whatever made up reason(s) that will have nothing to do with the decisions they made.
While there are probably more characterizations of typical management styles to cover, the aforementioned behaviors should provide some context on how tolerating such behaviors has led to organizations settling into laggard status and being content with the boring and restrictive functionality that exists in COTS (commercial off the shelf) applications.

See Related: Buy vs. Build Discussions On Enterprise Software

The Myths of Vendor Supplied Software

The belief that vendor supplied software as being the first option to minimize technical debt by reducing ownership of code coupled with the assumption that it is a robust and mature product makes for another interesting episode of 'Dirty Money'. If you consider yourself a person of integrity you will find it amazing and shameful how your leaders have been hoodwinked into believing the sales pitches and demos that have been brought before them.

It is unfortunate that so many swindlers have successfully sold their vapor ware products that it has led to extreme difficulties in believing anything anyone says anymore. Let us take some more inventory of what is being marketed and sold and contrast to what actually was implemented (these are actual implementations):
  • Platform Disguised as an Application: Determined a need for a warehouse barcode scanning solution to provide item receipts, on-hand quantity inquiries, item transfers, and inventory cycle counting. Vendor was identified and their product demonstrations showcased all the functionality desired. Interestingly enough after contract was signed, a prompt for professional services to "develop" the solution was presented as what was previously presented was merely just "the capabilities of the platform". What would have been a 3-month internally developed application had resulted into a 10-month project, going through 2 project managers, random contract resources, and low and behold an application that consisted of proprietary unsupported code specific to the organization.
  • Customized One-Off Disguised as Standard Functionality: Determined a need for an offline work-order management client for a fleet of cargo ships. After selecting a vendor from other pretenders, vendor was quick to tout their previous clients including the United States Navy and Kinder Morgan, it seemed like a no-brainer on whether or not the vendor could deliver. Upon entering the throes of implementation, it became apparent the vendor had made significant modifications from their base product resulting in yet again a custom one-off build specific to the organization. The contract had a special paid arrangement in that the organization would be granted the source code and free to make changes but subject to vendor approval. What a great concept, vendor sells a product, customer enhances it on their own dime, and vendor gets to approve and re-package such enhancements into their product free of charge. Let us not forget the key component here, vendor supplied you would think would indicate vendor supported and vendor maintained, however with the customization capabilities the solution merely became its own branch in the vendors source code repository, and no reduction of technical debt for the consuming organization.
The aforementioned cases are prime examples of managers being able to report all the buzzwords of not taking on additional technical debt to their superiors based on what it looks like on the surface. It is unfortunate that the individuals tasked with supporting the day-to-day life of such applications feel the most pain and frustration of such wasteful spending and customer dissatisfaction.

See Related: Are Developers An Extension Of Your Business Or Just A Robotic Disposable Resource?

Success Stories

We have identified some of the root causes of the propaganda that custom development is the dreaded technical debt, unfortunately there are too many success stories of custom developed solutions resulting in quicker timelines, no maintenance/licensing costs, and most importantly increased overall customer satisfaction and productivity not to detail. Let us highlight a few of those success stories and illustrate how inexperienced managers are being misled by the Gartner-Industrial-Complex minions who are beholden to their pay-to-play customers.
  • The previously mentioned offline work-order management client for a fleet of cargo ships had finally reached its breaking point with its clunky interface, slow sync times, and cost-prohibitive licensing scheme that management finally listened to their customers and was forced to act. Those of us supporting the application were super excited to be done with this application so with that we finally were given the autonomy to replace such with a custom developed application that could be tailored to our customers specific needs. The plan was to develop a minimum viable product that replaced existing functionality and deliver in 3 months. While the timeline was somewhat aggressive, when you hire strong developers who are led by managers who have the same development background the unthinkable is quite achievable. The project was delivered on-time and under-budget using the latest and greatest Progressive Web Application (PWA) technology, featured device agnostic capability, and provided background syncing capabilities removing the slow sync times that consumed enormous bandwidth over limited satellite connectivity. If you look at the financials of this custom development endeavor, we saw 3 developers for 3 months for an approximate cost of $75,000 (average developer annual salary $100,000), add in additional management and testing and total development costs comes in around $350,000. When compared to the previous vendor supplied solution that saw an implementation and customization cost of roughly $1.5 million, plus annual licensing and maintenance of $250,000 it is quite the no brainer on the value of custom developed software.

Custom Development What It Really Means

It is a continual amazement at the political cowardness of today's IT leaders in always favoring the option that is less risky for them, perhaps those of us with actual development skills leading developers is too much of traditional thinking where we expect managers to be able to perform the very same duties of those that they are leading. What internally developed applications should represent is that your organization is mature in that they know the inner workings of their business and what separates them from their competitors and are not of laggard status in doing the bare minimum. When you promote and hire the right type of leaders you can expect amazing things to happen when you empower creativity and innovation by a group of individuals who are all in on being a part of something that is greater than themselves.

Comments

Popular posts from this blog

Exploring C# Optimization Techniques from Entry-Level to Seasoned Veteran

Lost in Translation: The Risks and Rewards of Programming Language Selection In 2023

The Ultimate KPI: Why Knowledge Sharing, Collaboration, and Creative Freedom Are Critical to Success