Raymond James’ Aha! Moment with Integrating Software Quality

When my organization decided to hire a new CTO, one of his top priorities was to look through our old support contracts and “cut the fat,” as it were. It was there, among the rubble, where we found a transformational tool that we had cast aside which could help us increase our development productivity and software quality. But in learning more about this tool we found that it hadn’t failed us, but rather, we failed it! So my brand-new boss gave me a brand-new ultimatum: Integrate this tool into our software development lifecycle, or we’re dumping it. The tool was CAST’s Application Intelligence Platform (AIP), used to increase an application’s … Read More

Protecting an Endangered Species: Design Patterns

Do you know what happens to your cherished design patterns once your application is delivered and enters the hard, wildlife of exploitation, software evolution, and maintenance? Life is a jungle for the application code and health in the ecosystem of permanent software evolution, rapid maintenance, and changing software maintenance staff. It is likely that their life expectancy turns shorter than ever as the application evolution changes hands. When you carefully crafted your design patterns, your intent was to exploit the experience of the “Gang of Four” masters and others by using proven, rock-solid arrangements of objects and their documented tradeoffs. Your goal was probably to help promote easier program changes … Read More

Why Performance Engineering Isn’t Enough

I’ve been asked time and again how CAST is different from performance engineering. And here’s my answer: The CAST discipline of software analysis and measurement versus performance engineering couldn’t be more different. And I’ll explain why and how in a moment. But along with that, it should be noted that they also are like peanut butter and chocolate — they can go very well together. Here’s the high level explanation, which I’ll drill into further for those of you who like details. Fundamentally, when you’re dealing with CAST, you’re improving code quality during the engineering phase and throughout the development of the product. CAST technology is used as the code … Read More

Is Every Part of the Application equal when Assessing the Risk Level?

Risk detection is about identifying any threat that can negatively and severely impact the behavior of applications in operations, as well as the application maintenance and development activity. Then, risk assessment is about conveying the result of the detection through easy-to-grasp pieces of information. Part of this activity is about highlighting what it is you’re seeing while summarizing a plethora of information. But as soon as we utter the word “summarizing,” we risk losing some important context. Application split impact as a strength in risk assessment An application can be considered as a whole in its purpose of servicing one area of the business, yet it is composed of multiple … Read More

How to Build the Best Action Plan for your Application

Applications are built on thousands, millions, maybe even tens of millions, lines of code. They are based on specific architecture gathering technologies, frameworks, and databases set up with their own specific architecture. If you have an action plan to improve your application on a specific issue, what will be your strategy? Do you select one problem related to quality or take the opportunity to refactor part of your application? You know about issues coming from end users, but how do you address those inside the structure of your application? I remember meeting with development teams and management who were trying to find the root cause of performance issues, as delays … Read More

Empowering Developers with System-Level SAM Tools

The analogy between brick-and-mortar building architecture and software architecture is used quite often. Although they are quite different, this still helps to remind us that in software engineering everything is interdependent with a crucial cause-effect factor, which is actually thousands of times more sensitive than in hardware construction. It is fairly obvious that the quality of a building is a combination of the quality of the bricks, the quality of the assembly of the bricks in the wall, and the quality of the assembly of the walls (along with the electricity, plumbing, etc.). So it follows that assessing the quality of an application does require more than assessing the quality … Read More

Agile has replaced waterfall, but have quality outcomes changed?

The software industry is moving very quickly from the traditional waterfall model to the agile methodology. We’re certainly producing software more quickly, but is the software we’re producing any better? Before we get into that though, let’s look at the reasons for this shift in mindset from waterfall to agile. Firstly, there are a few concerns with the waterfall approach which are re-emphasized time and again. They include: The inability to adopt changes during the development phase because of initial scope freeze. (If the design phase has gone wrong, things can get very complicated in the implementation phase.) Key decisions are taken with little knowledge of project and product. Resource … Read More