Let Us Define IT Quality

The consequences of technology failures, such as system crash, cyber breach or sluggish apps performance can be devastating. It affects businesses, operations, customers and users. It could even be a life-or-death matter in the event of a disrupted surgical operation or a breached IoT sensor in an autonomous vehicle.

In my incubating years of career in management, I was quite struggle with the performance of IT. Not because we performed poorly as a team, but our positive results did not necessarily resonate well with the business. Could it be a stereotype in the community I supported, an excuse from the responsible party, or indeed substandard IT work?

In the storm of digital transformation today, both the Business and IT are tightly coupled to the extent that one’s performance is dependent on the other. For instances, an ill-formed data-driven workflow could not benefit from simply automation if we failed to have an integrated data source, and incoherent data sets will frustrate our customers upon receiving duplicated marketing materials in regardless of the system performance. In such situations when both parties’ performance is at stake, it could lead to many unpleasant arguments, fault findings and finger-pointing in the project room.

Performance is not measurable without the indicators defined, commonly known as Key Performance Indicators (KPIs) in many organizations. More specific to the technology as it cuts across a variety of business functions, the defined KPIs should align to the business goals and thus, encourage co-ownerships. It should also appeal to the watchful stakeholders, like the funding and risk management entities across the enterprise.

The Seven Performance Indicators

If I take a business perspective, a high-quality system shall deliver accuracy, performance, security, stability and be user-friendly.

Accuracy – it refers to the precision of the constructed system in meeting the specific business requirements and ensuring the important aspects of data integrity, authenticity and correctness in data processing and presentation of information. From my experience, data quality is a make or break to your project. It is also the hardest to deal with in an environment with dispersed data sets and multiple ownerships.

Performance – a high performing system will provide good and consistent response time to support the designed workload as agreed between the IT and Business. Typically, this would require adequately sized system capacity, optimized database queries and rigorous load-testing in various use scenarios before releasing it for general use.

Security – system security is utmost important. It concerns the required defending tools, best practices, controls, methodologies, and threats intelligence, etc. deployed to safeguard the digital assets, personal data and privacy. Any security events, real-time alerts and triggers to the intended responders should be defined prior to the system development. Besides the technical means, continuous trainings and user education are essential to mitigate the risk of humans commonly regarded as the weakest link in cyber defence.

Stability – a stable system will have minimal unscheduled disruption, typically quantified by the uptime per year as committed by the IT in agreement with the Business. There are numerous mechanisms, like having standby hardware, secondary site and dual transmission links, etc. to ensure continuous operations should any failure happen to the primary resource. The extent of redundancy is often a trade-off between the cost and business criticality, and again a decision of the IT and Business.

User-Friendliness – last but certainly not the least is user-friendliness that a poor user interface with inconsistent layouts, misleading error messages, and cluttered clickable actions will just annoy the users. Web design is a separate professional skill from IT and some organizations have resorted to external help on design thinking to address the issue.

As IT is mostly concerned with the continuous operation and changes to the system at the end of the day, there are additional quality attributes, like Scalability, Maintainability and Supportability to be cared for.  Unless we take further efforts to formalize it across the enterprise, these KPIs are, unfortunately, less known or perceived lower in priority to the business.

Scalability – it is like gauging the IT’s ability to commission additional system resources to cater for the projected increase in workload within just weeks or the sooner the better. It goes beyond just Cloud for the solution as one may need to review the respective scale up for the in-house supporting services like firewall, intrusion detection, load balancer, Internet bandwidth, transaction logging and data backup capacity, etc.

Maintainability – a hard-to-maintain system will be rigid to adapt to or unable to cope with the business changes without a major overhaul or huge investment. Addressing the issue would require a combination of supporting technologies, modular software design, technical skills and experience, etc.

Supportability – IT is a knowledge economy. Knowledge, skills and expertise (KSEs) prevail for a high-quality system. When a coding error, configuration mistake or operation oversight could result in dire consequences, do we ever concern if we have the required KSEs and human capital to support and sustain the continual operations of a newly adopted technology?

In summary, IT performance is a collective effort of the organization. It must be defined in the perspectives of the IT and Business with the objectives below:

1. Bring clarity of digital performance, objective assessment, and harmony across the enterprise in the pursuit of business transformation.

2. Nurture a digital-literate community for further work on technology governance and strategies to achieving the performance goals.

3. Make clear to the stakeholders for the essential investments and priorities of IT for the overall organizational performance, rather than technology performance.

Quick-Win For Accuracy, Not Speed

“Quick-Win” in software development is sort of a down to earth version of Agile methodology commonly employed in many organizations today. It literally means quick delivery of project results by breaking down a sizable software project into several small manageable modules. The quick turnaround also enables the business to spread out the overwhelming activities like functional test and data preparation across all the modules and provides timely feedback to the IT for quick fixes. Quick-Win is a business jargon that resonates well with many stakeholders to the extent that sometimes, it overshadows accuracy and quality, the critical attributes in any technical work.

A large enterprise tends to have many projects in progress and in plan at any point in time. For the projects in progress, it is vital to commission them as per committed timeline without any distraction. The stake of missing target is high such as implications to cost, business and most concerning, staff competency. For the projects in plan, the various business owners are eager to commence and commission the work at the shortest possible timeframe for understandably, the first-mover advantage. I often caught a quick frown from the project sponsors on the proposed project timelines, no matter in weeks, months or sometimes, years for mega projects. Frankly, there is no standard approach to decide the optimal project schedule as situation varies. One usually assesses the required efforts of design & coding, technical complexity, hardware readiness and human resources, etc. but these factors are far less significant and deliberated than the extent of the business ownerships, data readiness, clarity and stability of the business requirements. How possibly Quick-Win can be tweaked to tackle the issues and deliver results not only in speed but with accuracy in project timelines?

Among all the impact factors to project timelines, the most inconspicuous one is the extent of business and process ownership involved in a project. Seeking consensus for diverging business requirements and harmonizing processes cutting across multiple owners in a large enterprise just take time if not politically challenging. Sensitive matters like refusal ownerships, transferred workload and added responsibilities among the business units do not command much attention until confronted upon the details given by the Quick-Win at the module level.

Separately, we know the functional specifications in software development is a high-level abstraction of the system design and coding logics derived by IT based on their best understanding. What happen if the business has overstated the requirements? How about a workflow looking simple to the business but not in proportion to the intense IT efforts as proposed, what could be the causes? What is less known on Quick-Win is that the technical considerations and IT efforts provided by Quick-Win do allow both the business and Enterprise IT coming to terms at the fitting moments before the technical work begin. I have some pleasant experience with Quick-Win as once commented by the business, “we do not realize that the required data source for the function is missing and let us take a different approach”. As for the IT, “we can optimize the IT efforts since we have better understanding of the requirements now”. Yet, the most astonishing is from the project sponsor, saying that “I do not think this function is essential to the business since it takes so much effort and let us defer it”. The details exposed by Quick-Win does force meaningful discussion and sensible compromise between the business and IT on the project timeline without jeopardizing the project outcomes. That’s win-win for all.

Enterprise IT

Let me contextualize “Enterprise” and “Enterprise IT” for the intended subjects to be written in this space. In my views, a large “Enterprise” tends to have tens to hundreds of thousands of digitally enabled employees and users, and a plethora of business functions, processes, digital solution and services. Striving hard to stay ahead among their peers, many of them have been investing aggressively in technologies for business growth, innovations, and service excellence. Such investments are often business driven, time sensitive and cyclic in nature. Depending on the digital maturity of the organizations, many business decisions on technology investments at the unit level may not have thorough considerations on the impact to the enterprise-wide infrastructure, software interoperability or availability of technical competency for continued operations. This sets out the greatest challenges and concerns for the “Enterprise IT”, a central office who is responsible for the governance, planning, management and operations of the entire IT landscape across the enterprise.

Besides specific thoughts to be shared to address the challenges above, you may wonder why many mothers and fathers working in IT I know do not recommend their children to follow their footsteps. In addition, why is there stereotype that techies are poor in communication? What is the future-proof discipline in IT, a mobile apps developer, network engineer, AI or cybersecurity specialist? What does it take to becoming a high-performing IT professional? Why do many technologies fail to gain a foothold in large enterprise? These are just few subjects I have in mind to share in the future. Feel free to suggest.