All Posts in Applied

December 11, 2019 - Comments Off on How short-term maintenance practices can double application size in 5 years

How short-term maintenance practices can double application size in 5 years

December 11, 2019

by Todd Erickson and Elizabeth Richards

Software must evolve to stay effective, which makes application maintenance a persistent and growing obligation, especially for organizations with large, legacy systems.
Changing marketplaces, compliance updates, security patches, hardware improvements, bug fixes, and process updates all drive code changes.

In his book, Building Maintainable Software: Ten Guidelines for Future-Proof Code, Software Improvement Group Co-founder and CTO Tobias Kuipers says that in larger codebases, 15% of the source code is changed each year.

And software maintenance isn't cheap. Kuipers says that some of his clients spend up to 90% of their IT budgets on program upkeep.

A common problem is the technical debt that piles up when the software team doesn't understand the code they are modifying and its system interdependencies. Combine that lack of knowledge with time and resource demands and the team often resorts to short-sighted modification techniques that add code instead of modifying it in place, which only increases the codebase size, complexity, and technical debt.

Maintenance Challenges for Legacy Code

Legacy applications can have massive and complex code bases created by hundreds of developers throughout decades of work. For example, in 2012, The Bank of New York Mellon reported that its core banking system contained 323 million lines of code and 112,500 COBOL programs. With that size and complexity, even an experienced developer can’t know the whole system.

One issue is the lack of useful documentation. A Catholic University of Brazil study found that between 40% to 60% of maintenance activity is studying the software just to understand it, and the impact analysis required to make the changes without breaking functionality.

Updating documentation can shorten time-to-competency, but it's frequently a low-priority task when stakeholders are demanding that bug fixes, security updates, and functionality improvements be completed yesterday.

Another challenge is institutional brain drain. Inevitably, experienced developers depart the software team, and the loss of that expert knowledge extends the amount of time it takes new developers to understand the applications because there are fewer experienced colleagues they can rely on for assistance.

How do software teams cope?

Application change is required but the lack of understanding introduces risk. To decrease immediate costs and risks, developers and managers may choose to use short-sighted strategies.

Don’t touch the black box

One technique programmers use to avoid breaking unmanageable applications is building separate subsystems (Figure 1).


Just copy the whole damn thing

Another tactic is to duplicate the applicable code (Figure 2). Good development practices recommend editing code rather than duplicating it, but if developers don't understand the code they are editing or its interdependencies, they risk breaking the old functionality.

Instead, developers leave the applicable code in the application, but copy it and place the copy in a new location. Then they modify the duplicate code, hopeful that by leaving the original code in place, they won’t break its functionality.


Duplicating code reduces the risk of breaking the application in the short-term but increases maintenance costs and program complexity in the future. By adding 15% to the code base annually, it will double in just 5 years, making maintenance that much more difficult, expensive, and risky.


Conclusion

Companies face a difficult situation when they choose short-terms strategies that avoid immediate cost and risk but end up creating long-term technical debt.

The solution is to ensure that developers understand the code completely to make sound development decisions. However, the speed of business and technical change affords few organizations the time needed to completely understand their applications.

To learn more about how Phase Change's COBOL Colleague helps developers understand complex COBOL-based applications and make changes quickly and confidently, visit Phase Change's product website at CodeCatalyst.ai.

Elizabeth Richards is Phase Change's Director of Business Operations. You can reach her at erichards@phasechange.ai.
Todd Erickson is a Technology Writer with Phase Change. You can reach him at terickson@phasechange.ai.

April 24, 2019 - Comments Off on The cost of fixing COBOL bugs

The cost of fixing COBOL bugs

April 24, 2019

by Greg Brueggeman

COBOL maintenance costs are rising as aging developers leave the workforce and well-trained replacements are in short supply.

Learn about how pervasive COBOL-based applications remain, why the supporting developer workforce is shrinking every year, and scrutinize our estimates of how high these applications' maintenance costs are rising.

Excerpt

COBOL was adopted by the business world starting in 1960, and because of its simplicity and reliability, COBOL-based applications remain entrenched in mainframe-dependent industries such as government and finance. The Social Security Administration (SSA) and Internal Revenue Service (IRS) rely on approximately 110 million lines of COBOL code combined daily. An estimated $3 trillion a day and 90% of all ATM and in-person financial transactions are handled by COBOL-supported systems.

Read more at CodeCatalyst.ai

February 11, 2019 - Comments Off on Phase Change CEO Steve Bucuvalas featured on the InfluenceNow! podcast

Phase Change CEO Steve Bucuvalas featured on the InfluenceNow! podcast

February 7, 2019

by Todd Erickson1

Phase Change’s Inventor, Founder, and CEO, Steve Bucuvalas, was featured in the January 31, 2019, episode of the InfluenceNow! podcast, hosted by Justin Craft2.

The InfluenceNow! podcast highlights startups, exceptional business influencers, and ideas from a variety of industries that influence the world.

Steve and Justin discussed how Phase Change and the technology behind Mia, the first cognitive agent for software development, became a reality.

The interview begins with Steve describing his career leading technology and artificial intelligence (AI) groups in financial services and insurance companies, and his subsequent entrepreneurial career starting and selling two different companies. He tells the story of how a single conversation with the buyer of his second company led to his interest in applying AI technology to the problem of software-development productivity.

At the closing, the buyer said to me, 'What's wrong with you guys in software? AI has changed financial services extraordinarily - increased our productivity 100 times,' which is accurate. 'Why can’t you do that with your own industry?'

That moment led Steve to research the barriers to applying AI to software development, and the development of the human-centric principles that led to the creation of the Mia cognitive agent.

The podcast continues with Steve and Justin discussing why organizations that rely on applications written in the Common Business-oriented Language (COBOL) programming language are Phase Change’s first target market.

COBOL is this 40-50 year-old language that has atrocious legacy problems. Because the code has been around [so long], it runs 85% of the world’s financial transactions and [there’s] 220 billion lines of [active COBOL] code. The programmers are all in their 60’s and they all want to retire, but they keep getting incentives to work a few more years because no one wants to learn COBOL. In fact, some of the kids in computer science [college courses] have never heard of it.

Justin and Steve conclude the interview discussing the productivity gains realized by Mia and Phase Change’s technology, and when it will be generally available.

To learn more about how Steve and Phase Change Software will radically improve software productivity, watch the podcast video below or listen to the audio podcast.


1Todd Erickson is a tech writer with Phase Change Software. You can reach him at terickson@phasechange.ai.
2Justin Craft is the Founder and CEO of Cast Influence, a Denver, Colorado,-based turnkey marketing agency. Phase Change Software is a client of Cast Influence.

August 4, 2017 - Comments Off on Phase Change enables market adaptability through impact analysis

Phase Change enables market adaptability through impact analysis

August 4, 2017

by Todd Erickson

Gary Brach, Ken Hei, and Brad Cleavenger discuss how Phase Change's assistive AI removes the doubt associated with changing software applications.

Changing software is difficult and expensive, and it can be a major stumbling block to business innovation.

Phase Change's assistive AI will enable software teams to quickly and fearlessly address market opportunities by rapidly assessing the scope and viability of proposed software modifications, and then efficiently making changes without adding the technical debt that reduces system performance and application life span.

Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

July 10, 2017 - Comments Off on Phase Change will bridge application knowledge silos

Phase Change will bridge application knowledge silos

July 10, 2017

by Todd Erickson

Members of Phase Change's management team address how our technology will bring together an organization's siloed application knowledge to enable faster responses to market demands.

It's a paradox. Your most successful applications get larger and more complex with updates, upgrades, and new features until they become difficult to change and adapt. Now they are hard-to-manage legacy systems that cost ever more time and money to remain valuable.

One of the main reasons applications become difficult to maintain is that knowledge silos emerge – where various people in development and other departments understand small portions of the code, but no one person knows the entire code base.

Then when you bring people together to develop new features that will address market demands or opportunities, each contributor only knows his or her portion of the application code, each person has his or her own mental model of the code, and all of that knowledge is difficult to share.

Learn how Phase Change's assistive AI agent will bridge knowledge silos by understanding the entire code base, presenting a complete and accurate model, and collaborating with engineers and stakeholders.

Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

June 26, 2017 - Comments Off on Understanding code is the key to software development

Understanding code is the key to software development

June 26, 2017

By Elizabeth Richards and Todd Erickson

Discover how software developers are like archaeologists, and why understanding source code – the key to software development – involves a lot more than digging. You can read more about it at CodeCatalyst.ai.

Excerpt

Software engineers are often called developers. However, according to a number of experienced programmers, they spend the great majority of their time (78%) simply searching and understanding existing software, and the rest of their time (22%) actually modifying legacy software or developing new applications.

Programmers are forced to spend so much time finding and comprehending code because current tools and techniques are not technically savvy, and they are too focused on the searching process. They don't help developers understand how the code works together within the systems they serve.

Read more at CodeCatalyst.ai

May 25, 2017 - Comments Off on Why is Cobol cool again? – blog

Why is Cobol cool again? – blog

May 25, 2017

by Todd Erickson and Elizabeth Richards

Discover why the recent spotlight on Cobol systems and the shortage of qualified Cobol programmers isn’t due to a lack of qualified engineers, it's due to a lack of knowledge. You can read more at CodeCatalyst.ai.

Excerpt

At Phase Change, we pay attention to legacy systems and their challenges. So, why was a mainframe language developed in 1959 suddenly the topic of multiple news articles?

Reuters and The New Stack recently published articles about Cobol, an often-overlooked programming language that was developed before John F. Kennedy became the 35th President of the United States.

Organizations like the Department of Veteran Affairs and large financial companies, such as Bank of New York Mellon and Barclays PLC, are examples of the types of institutions that rely on Cobol applications for nearly $3 trillion worth of daily transactions. But they’ve used Cobol for decades, so, that doesn't explain the recent attention.

Read more at CodeCatalyst.ai

May 8, 2017 - Comments Off on Phase Change creates scale-free software development – video

Phase Change creates scale-free software development – video

May 8, 2017

Learn how Phase Change's assistive AI creates scale-free software engineering and enables the development team to swiftly respond to market demands.

As software systems grow in size and complexity, they can easily become incomprehensible for individual engineers. They simply get too large and sophisticated for one person to fully understand. As more people are required to comprehend and maintain complex systems, the organization's ability to modify those systems and respond to changing market dynamics diminishes.

Watch President Gary Brach, Director of Engineering Ken Hei, and Senior Software Architect Brad Cleavenger, discuss how system scale affects the ability to modify applications and meet market demands, and how Phase change's assistive AI minimizes scale issues to create scale-free software.

April 24, 2017 - Comments Off on Why Phase Change will fundamentally change software development – video

Why Phase Change will fundamentally change software development – video

April 24, 2017

Gary Brach, Ken Hei, and Brad Cleavenger discuss how Phase Change's assistive AI technology will fundamentally change how software is developed so organizations can quickly and confidently respond to changing market dynamics.

While transformative advances in automation, communications' networking, and computer processing in the last 20 years have vastly improved business operations, the same cannot be said for software development.

The process of developing the applications that now run our daily lives hasn't significantly changed since the 1970s.

Sure, we've developed better tools and better ways of communicating with one another during the development process – such agile development techniques – but the underlying software development activities are the same.

This lack of substantial improvement makes it difficult for organizations to quickly respond to changing market dynamics.

However, the future of software development is bright. Organizations will soon be able to quickly and confidently respond to changing market dynamics.

Phase Change's technology will fundamentally transform how software is developed by introducing our assistive AI into the process – enabling organizations to quickly respond to market changes and opportunities.

Watch the following video below to learn why Gary Brach, Ken Hei, and Brad Cleavenger believe Phase Change's technology will fundamentally change the software development process.

April 10, 2017 - Comments Off on Prevent software application knowledge from walking out the door – blog

Prevent software application knowledge from walking out the door – blog

April 10, 2017

by Todd Erickson, Tech Writer

Brain drain is a serious problem facing organizations that use software applications to run their businesses. Learn how you can seal the drain and retain all of the knowledge trapped in your applications. Read more about it at CodeCatalyst.ai.

Excerpt

At the end of every workday, your software development teams walk out the door with all of their knowledge leaving with them. Some of them don’t come back, and that loss of information and expertise, or brain drain, is a growing business problem, especially with IT industry turnover rates hovering between 20-30% annually.

Consider how much knowledge your organization loses when key members of your development team retire or join other companies. Not only do you lose development expertise, but the knowledge your engineers have regarding how your software applications work, such as:

  • How the system is architected
  • The subject-matter expertise used to implement functionality
  • The business considerations that drove product and feature designs
  • How third-party and external systems are integrated

Read more at CodeCatalyst.ai