Thursday, September 21, 2017

The merits and hazards of locally developed and supported software

Distillate from seminar/discussion held at Hotel Four season on Friday May 24; on topic:
“The merits and hazards of locally developed and supported software.”
Panelists:  Dr George Stewart (UWI); Glen Gill (MD, InfoGroup & President , JICTA); Dwayne Russell (Deputy GM, MCSystems); Dean Smith(President, JCS)

Implementing mission critical software seems to be risky stuff, with 1 or every 4 projects failing (unmet cost, scope or timeline targets) world-wide (PMI report, 2008) and additional performance and scalability issues among others, enterprises seemingly hedge their bets and go for a large company with “proven track records”. This usually means heavy licensing payments, inflexible application and costly customizations to enterprise grade software which makes it a hard choice when in-house development is not an option. We must make the distinction however between software failure and implementation failure. This discussion focuses on distinctive software failures; cases where it is clear that the functionality is deficient, program flow is “buggy” and user requirements unmet. Implementation failures include the myriad of things that can go wrong with project but has nothing to do with the functionality and features of the software being implemented in the project. 

Local developers complain that within the Jamaican “small market” their “track records” will never include entries of larger companies, giving the enterprise in the local and large overseas market little confidence as they are seen as “experiments” that will not weather the long haul. But are the expectation and perceptions based in reality?

There are reports of several local companies with software that was rejected by the local market but which found favour with even larger corporations internationally. This experience is in contrast with reports of abject failure of the software and not the implementation process, but sufficient to used as paragons. What therefore would be essential elements to local development that enterprise can apply as baseline tests when looking at local third party software (or otherwise)?

Quality Assurance testing and benchmarking are essential; knowledge of the business processes and a robust development methodology are key elements. Ensuring that the talent is properly harnessed is also important. We will first look at Quality assurance (QA). Several and a growing number of local entities  now  offer QA services and there are reports of custom in-house developed software that has passed these rigorous tests and go on to smooth implementations . There are others also that have failed so miserably that a redesign from scratch was recommended. Validation is important so testing by multiple shops is encouraged.

Undoubtedly, the intimate knowledge of an enterprise will increase the likelihood of the mission critical application fitting the entities strategy and needs. This also extends to the platform that is chosen and how loosely coupled it is to the application as well as how flexible, robust and scalable the software is engineered. Local consultants use these measures as standard for recommendations on software designs and the development companies that are a part of the Jamaica Information and Communication Technology Association (JICTA) are required to use benchmarked development methodologies and certified processes.
Local talent is now being subjected to feedback from the industry and while this is strongly encouraged and fostered, developers nevertheless look for non-scholastic performance and personality profiles in additional to practical and aptitude screening in selecting from the local pool of talent for development houses. All development houses are encouraged to have strong IT governance and management in order to maximize the use of local talent.  The teaching/learning institutions have started also to foster an environment of innovation and a flexible curriculum to take advantage of the innate creativity of students, in order to respond to industry needs.

So then, are the IT managers and CIOs in Jamaican enterprises aware of these developments? What would be the reason that they keep an application that is not easily customized and has licensing payments that is a significant percentage of the IT budget or enterprise expenditures in foreign currency? Based on information garnered from the representative sampling from those present at the forum, the main concerns surround stability and to a lesser degree, being risk averse.  An IT asset manager must be confident the solutions that they recommend and implement will be robust. Flexibility and agility are secondary. Resource constraints limit the degree to which new solutions can be exercised and evaluated. So does the perennial question of astronomical IT costs play significant role in the decision? The consensus is “No”.  The justification of a seemingly guaranteed stable environment outweighs the effort to seek a more flexible cost-effective solution.

The use of a large development firm does not however guarantee great or even good software.  Neither does acquiring the software that is the de facto industry standard. In an environment that requires that a firm seeks a competitive edge, flexibility and adaptability is critical. Without the in-house resource to ensure flexibility and adaptability and without compromising quality when engaging a third-party developer, ensure they understand not only the type of business but also how the specific enterprise see their comparative advantage.

Ultimately, the economic and human resource development value to using local developers does not appear to feature in enterprise decisions and any maturity of locally developed software seemed to be marginalized to non-mission critical applications.