It’s fun and exciting to witness a child beginning to explore the world around themselves and feed their curiosity. I remember when my three children were at this age like it was yesterday and some of the questions they came up with never ceased to amaze me.
In particular, their tendency to keep asking “why?” about the same topic continuously was quite comical while sometimes draining. If I did not give them a satisfactorily detailed answer to the age-old question, “Why does the sun set?” they would simply keep asking “Why?” until I took the time to truly answer their question. (Ironically, my son who is now 20 years old still does this to me when I answer a question, but that’s a whole different story…😊).
In today’s complex business world, we should learn some lessons from our children. Particularly at the intersection of technology and business, it is critical that we continuously ask the question “Why?” until we get to the true answer. A great example of this is in the Enterprise Architecture (EA) and Application Portfolio Management (APM) spaces and a trend towards more intelligent implementations of these systems.
Getting to the “why?”
EA/APM tools are designed to help organizations better manage business processes and software applications by improving resource allocation, optimizing budgeting, and providing consistent visibility across the enterprise. In many cases, these tools can only go so deep to answer the question “why?” because there’s a limit to the data these tools access to drive their reporting dashboards.
The inputs to most EA/APM tools come from application owners entering information manually or answering surveys and then this is rolled up across the enterprise so that leaders can make more informed decisions. However, a CIO or CTO would often still need to go speak directly with an application owner to get to the underlying technical cause of issues.
For example, a traditional EA/APM tool can often help with the following:
- Flag troubled systems that are over budget
- Identify where to focus more resources and which resources to utilize
- Model some different scenarios to help make more informed decisions
A strong EA/APM tool may even be able to answer the first “why?” question: why is this particular business system always over budget? Maybe the answer is that this is a software product that is frequently prone to production issues and/or outages requiring the application team to spend too much time on tier three support or troubleshooting.
If we take some wisdom from our childhood, we should then be asking the next “why?” such as, “Why is this software product prone to so many production issues?” This is where most EA/APM tools fail to give the next answer because they simply don’t have access to the detailed technical data necessary to answer this question clearly and objectively. This is where software intelligence comes in and helps make EA/APM more intelligent.
Intelligent EA/APM powered by software intelligence
Some organizations are starting to make their EA/APM systems “smarter” by integrating software intelligence into them. One example of a software intelligence technology that enables this is CAST Highlight, which automatically understands the inner workings of software applications by reading source code and generating insights across an application portfolio, based on facts. It’s like having a ‘control tower’ across an application portfolio. By integrating software intelligence from CAST Highlight into their EA/APM systems, enterprise leaders get more objective insights about their software applications and can continue answering the next logical “why?” question.
CAST Highlight automatically generates insights that include Technical Debt, Resiliency, Cloud Maturity, Open Source Risk, and Green Impact to name a few. These insights are generated based on understanding the application source code itself and adherence to software engineering best practices.
The chart above comes directly out of CAST Highlight and shows a portfolio of software applications represented by colored bubbles plotted on a chart where Business Impact is on the vertical axis and Software Resiliency is on the horizontal axis. The size of the bubbles represents the relative size of each software application in terms of Lines of Code (LoC). Dashboards such as this help enterprise leaders make more informed decisions about software systems based on facts.
For example, Resiliency is a measurement of reliability or robustness of a software application. Another way to think about Resiliency is it answers the question: How likely is my application to be prone to production issues or outages, and more importantly, “why?”
A specific code insight that CAST Highlight may find that reduces the Resiliency score of a JavaScript application could be: Avoid Repetitive Access to Nested Members. This practice can dramatically slow down the performance of a web application and should be replaced with better performing programming practices. CAST Highlight will clearly identify a code issue such as this and recommend better coding practices to increase the application’s overall resiliency.
By using the CAST Highlight APIs, this factual data can be easily integrated into existing EA/APM systems to make them smarter and enhance their reporting. This enables enterprise leaders to answer the next “why” question when it comes to troubled business systems and drive much more informed decision making based on facts powered by software intelligence.
To learn more about using CAST Highlight’s APIs to integrate software intelligence into an EA/APM system, view this article.
SHARE