All Posts in Applied
April 1, 2020 - Comments Off on IRS stimulus-check delivery faces knowledge gap challenges
April 1, 2020
by Steve Brothers
A Reuters' article published March 22, 2020, claims that the IRS will have difficulty delivering stimulus checks to help Americans endure the economic hardships caused by the mandated social-distancing protocols put in place to combat the COVID-19 global pandemic. The story, written by Washington, D. C., correspondent Andy Sullivan, explains how budget cuts and reliance on obsolete technologies, including COBOL-based applications, may not only delay the delivery of the stimulus checks by months but are also preventing the agency from effectively completing its main job of collecting tax revenue.
While the article incorrectly judges the usefulness of COBOL because the IRS can't find enough qualified programmers, it does highlight the issue that Phase Change has been pounding the table about for years – the lack of qualified legacy application developers is a major problem for the enterprises and government bodies that rely on them.
COBOL-based applications quietly run in the background conducting a large share of the world's financial, healthcare, and government-agency business, including the billions of ATM transactions that occur every day.
A great number of the developers that maintain COBOL-based applications are retiring, and the younger generations of programmers don't have much interest in learning the language. More importantly, the application knowledge lost when experienced developers walk out the door cannot be easily replaced by reliant organizations such as the IRS.
The programmers the IRS adds to support the $2 trillion economic stimulus package will not be ready to support the agency's massive delivery of stimulus checks. They may be experienced developers, and they may have a good grasp of COBOL, but they do not understand the complex applications the IRS uses to process and issue recovery payments.
If you think the tax code is complicated, consider that in 2018, the IRS codebase contained an estimated 20 million lines of code that encapsulates nearly 60 years of legislative and system changes.
It can take months for programmers to become productive in applications new to them, and possibly years to become proficient. During the time they are learning the source code, they are more likely to make mistakes and definitely require mentoring and oversight, which decreases the productivity of the rest of the team, prolongs the time it takes to complete projects (such as mailing checks) and increases the risk of major mistakes.
That knowledge gap is what the IRS and many other organizations reliant on COBOL applications are facing today.
December 11, 2019 - Comments Off on 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.
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 firstname.lastname@example.org.
Todd Erickson is a Technology Writer with Phase Change. You can reach him at email@example.com.
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.
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.
February 11, 2019 - Comments Off on 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 firstname.lastname@example.org.
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
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 email@example.com.
July 10, 2017 - Comments Off on 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 firstname.lastname@example.org.
June 26, 2017 - Comments Off on 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.
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.
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.
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?
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.
May 8, 2017 - Comments Off on 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.