The 10 percent rule of system upgrades

 

Connecting state and local government leaders

Last week, Jeff O'Leary, who is the software development and acquisition manager for the Federal Aviation Administration, spoke at the at the 2007 SIGAda conference in Fairfax, Va.

Yes, the Ada programming language is alive and well. In fact, O'Leary was very bullish on using Ada for applications that require high margins of safety'watch out for a story GCN will run in the upcoming Dec. 11 issue on Ada.

Anyway, O'Leary oversees the software development portion of the En Route Automation Modernization system, an upgrade to the nation's air traffic control system. Lockheed Martin recently finished the software for ERAM ahead of schedule. That work involved writing over 1.2 million lines of code.

During his talk he mentioned an informal rule that could be useful for system managers in other agencies, one regarding upgrades of big systems.

The rule of thumb runs like this: If you plan to modify more than 10 percent of a system that must remain in operation, expect delays.

Generally speaking, with good planning you can change as much as 7 to 10 percent of a system and keep it running for users. Beyond 10 percent, however, the complexity rises to the point where its gets to unwieldy to manage.

O'Leary did not formulate this rule'he noted that a software consultant came up with it over 10 years ago, but it remains useful in the work that he does.

As an example, he pointed to The FAA's attempts to upgrade its systems in preparation for Y2K. In that case, about 11 percent of the system needed to be modified'a lot of the mainframe applications needed to be moved to Web servers, and the operating system needed to be changed out. The FAA completed the job, but there was one major delay--and a lot of sweaty brows--in the process.

O'Leary also applied this rule to the FAA's ill-fated Advanced Automation System. That was a totally new system, he mentioned, and switching systems like that is going to difficult at best.

After his talk, we caught up with him to have him explain this rule-of-thumb in a bit more detail. He was happy to oblige.

What goes wrong after an upgrade goes beyond 10 percent? Some of it is just technical, he explained. The more new code you have, the more bugs you will have. Some of it is organizational. If you change the user interface too much, end-users will require training.

To beat these odds, you need to upgrade your system in smaller chunks, he advised. Instead of doing one major upgrade, break it into smaller chunks. Test and implement a chunk at a time. That way, you can migrate to a new system more smoothly.

Although he was talking about major systems running on millions of lines of code that can not, under any circumstance, fail. But the rule of thumb is useful to keep in mind for systems of any size, really.

***

O'Leary also had a nifty rule on software reusability. The Defense Department has been pushing for software reusability for decades now. And it makes sense'why reuse code you already have?

Software reuse is tricky, however, simply because the secondary use of a software component is not usually exactly the same as what the software was originally written for, he explained. The component may have a few useful functions, but also may need a couple of extra functions for the second use. So the software will need additional modification. But too much modification and, in the end, it would have been more cost-effective to write the code from scratch.

What is that cut-off? About 20 to 25 percent, he said. If you have to change more than 20 percent of the code than figuring out how to modify the code in such a way that it remains safe but encompasses the additional features actually becomes more time-consuming than writing it from scratch.

NEXT STORY: DHS to hold IT science fair

X
This website uses cookies to enhance user experience and to analyze performance and traffic on our website. We also share information about your use of our site with our social media, advertising and analytics partners. Learn More / Do Not Sell My Personal Information
Accept Cookies
X
Cookie Preferences Cookie List

Do Not Sell My Personal Information

When you visit our website, we store cookies on your browser to collect information. The information collected might relate to you, your preferences or your device, and is mostly used to make the site work as you expect it to and to provide a more personalized web experience. However, you can choose not to allow certain types of cookies, which may impact your experience of the site and the services we are able to offer. Click on the different category headings to find out more and change our default settings according to your preference. You cannot opt-out of our First Party Strictly Necessary Cookies as they are deployed in order to ensure the proper functioning of our website (such as prompting the cookie banner and remembering your settings, to log into your account, to redirect you when you log out, etc.). For more information about the First and Third Party Cookies used please follow this link.

Allow All Cookies

Manage Consent Preferences

Strictly Necessary Cookies - Always Active

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Sale of Personal Data, Targeting & Social Media Cookies

Under the California Consumer Privacy Act, you have the right to opt-out of the sale of your personal information to third parties. These cookies collect information for analytics and to personalize your experience with targeted ads. You may exercise your right to opt out of the sale of personal information by using this toggle switch. If you opt out we will not be able to offer you personalised ads and will not hand over your personal information to any third parties. Additionally, you may contact our legal department for further clarification about your rights as a California consumer by using this Exercise My Rights link

If you have enabled privacy controls on your browser (such as a plugin), we have to take that as a valid request to opt-out. Therefore we would not be able to track your activity through the web. This may affect our ability to personalize ads according to your preferences.

Targeting cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.

Social media cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks. They are capable of tracking your browser across other sites and building up a profile of your interests. This may impact the content and messages you see on other websites you visit. If you do not allow these cookies you may not be able to use or see these sharing tools.

If you want to opt out of all of our lead reports and lists, please submit a privacy request at our Do Not Sell page.

Save Settings
Cookie Preferences Cookie List

Cookie List

A cookie is a small piece of data (text file) that a website – when visited by a user – asks your browser to store on your device in order to remember information about you, such as your language preference or login information. Those cookies are set by us and called first-party cookies. We also use third-party cookies – which are cookies from a domain different than the domain of the website you are visiting – for our advertising and marketing efforts. More specifically, we use cookies and other tracking technologies for the following purposes:

Strictly Necessary Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Functional Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Performance Cookies

We do not allow you to opt-out of our certain cookies, as they are necessary to ensure the proper functioning of our website (such as prompting our cookie banner and remembering your privacy choices) and/or to monitor site performance. These cookies are not used in a way that constitutes a “sale” of your data under the CCPA. You can set your browser to block or alert you about these cookies, but some parts of the site will not work as intended if you do so. You can usually find these settings in the Options or Preferences menu of your browser. Visit www.allaboutcookies.org to learn more.

Sale of Personal Data

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.

Social Media Cookies

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.

Targeting Cookies

We also use cookies to personalize your experience on our websites, including by determining the most relevant content and advertisements to show you, and to monitor site traffic and performance, so that we may improve our websites and your experience. You may opt out of our use of such cookies (and the associated “sale” of your Personal Information) by using this toggle switch. You will still see some advertising, regardless of your selection. Because we do not track you across different devices, browsers and GEMG properties, your selection will take effect only on this browser, this device and this website.