Technology is the backbone of any business today, running almost all of the internal and external processes and interfaces. Any flaws in the software system can become a big handicap for businesses.
Let’s see if you recognize this situation: the HR application you are using slows down, becomes unresponsive, and you think, “Our network is becoming worse by the day. It’s time the IT upgraded the network or added bandwidth or found some solution.” But ask the network administrator and he tells you: the application just barreled a huge volume of data down the network when all that the receiving server required to process the task was 20% of the data. What should be fixed then? Network bandwidth or the amount of data the application sends? In our view, it is the structural quality of the application that needs urgent improvement.
An HR application glitch may cause some user dissatisfaction but may not blot-out bottom lines. But an application deployed to manage B2C situations, like the Black Friday shopping frenzy, may do so. According to a study by research firm Aberdeen, application performance can impact up to 9% of corporate revenue1.
Take a look at some of the possible causes for your applications’ non-performance:
- Lack of testing and quality ay development stage could lead to hot fixes being used in production without a holistic approach. These can then later manifest themselves as a problem elsewhere in the system.
- Multiple vendors and platforms can lead to management complexity with associated costs, and
- Lack of scalability in infrastructure could halt business during peak usage.
Today’s applications are complex. There are multiple components that make up an organization’s IT: multiple technologies and devices, legacy components married to latest technology platforms that are married to a variety of databases and networks. These applications run in different environments (cloud and data center) accessed from multiple devices, making it almost impossible to identify the root cause of a problem. Complexities further grow as businesses deal with application exigencies in a piecemeal manner.
How can we handle the complex application landscape?The first step is to identify and define the technical health parameters of an application – performance, security, resilience, scalability and maintainability and then set the acceptable performance thresholds based on the business environment. Together, these parameters constitute Structural Quality, that once articulated can improve reliability and prevent over reaction and over management.
Structural quality analysis, which is mainly static in nature, can be followed up with dynamic analysis for a more holistic assessment of the behavior of software applications in development, pre-production, or production environments. Further, the analysis can be proactive or reactive. Take a look at the detailed analysis framework here. It’s a blessing that almost all the analysis now can be easily automated using a variety of tool enabling deep diagnostics that aid in initiating permanent remediation.
This approach also addresses one of the main concerns of many organizations that intensify testing efforts when critical applications crash or begin to show signs of malfunction, which is a drain on their profitability.
What are your thoughts? Do share them as comments below.