<%@ Page Language="vb" AutoEventWireup="false" Codebehind="articles.aspx.vb" Inherits="FoundationSoft.articles2"%>
Foundation Software Inc. official site
Job Cost Construction Accounting Software &
Project Management Software

Contact Us | 800.246.0800 | info@foundationsoft.com
Back Home About Foundation Software Construction Accounting Software Support Services Resources Foundation Software Webinars Construction Accounting Software Demo
Construction software resources

Construction Software Whitepapers & Articles


Download this document in Acrobat PDF format Download this construction software article

 
See why contractors use FOUNDATION as their construction accounting software!
(click here)
 
   

Do You Know Where YOUR Software Update Is?

Understanding the process your vendors go through to give you the latest & greatest

BY FRED ODE

Aristotle once said, “Patience is bitter, but its fruit is sweet.” And it was another ancient philosopher, Cato the Elder, who said, “Patience is the greatest of all virtues.” Sure, you say, but Aristotle and Cato never had to wait for a software update!

Why does it take weeks–or sometimes months–for vendors to produce updates
that are meant to provide product enhancements or fixes to problems? In computer programming, the best solutions are those that come from thorough planning, research and development, testing…and then retesting… and finally more testing.

The long-awaited update kit for Microsoft’s Window XP software, released in
August, is the “mega-example” of software update delays. I can safely say that most software product updates come nowhere close in size or complexity to the release for Windows XP.

Upgrade vs. update
Before discussing updates any further, it’s important to clear up the distinction between an “update” and an “upgrade.” Although these terms are often used interchangeably, there is quite a difference…and the difference usually involves cost. A product update is a revision that can usually be downloaded free of charge or comes free to software clients through a maintenance agreement plan. A product upgrade is usually sold as a full, stand-alone product. (For example, Windows XP is the product upgrade to Windows 2000; Service Pack 2 is XP’s product update.)

Software updates that are scheduled on a regular (or not so regular) basis are likely to include the following things: required changes, software fixes and product enhancements. However, if the goal is to create a better product, the process will involve at least five phases of development:

Defining the change,fix or enhancement. Before programmers can get to work tweaking software and making improvements, a great deal of thought and consideration is needed beforehand. First of all, is the change really needed? Will it be good for the majority of software users? How will this change affect the users that do not wish to
use this feature? Will it affect speed? Are there any tools that we can use to improve performance?

Researching the solutions. In general, the more flexible a software product is, the longer it takes to implement changes. And that’s because change has a “ripple effect” on integrated modules or related applications and therefore one change may lead to many. Programmers need to research and anticipate what possible problems may be caused by their own fixes, as well as external environmental changes. For example, software programs operating in the Windows environment may be affected by the Microsoft Window XP update discussed earlier. In addition, authority-mandated changes, such as an IRS tax form update, may require difficult and unanticipated programming changes. Often, software companies must work with governmental agencies to come up with acceptable solutions.

Programming. If you’ve ever worked on a committee, you know how teamwork can be both a blessing (creative input) and a curse (slow as molasses). Nonetheless, good programming requires the most interactive kind of teamwork possible. Once the solution has been defined, the specs for change are written and often rewritten, to
the satisfaction of all involved.

Testing,testing and more testing. Everyone is now in agreement that the programming update is flawless… but is it? Thorough testing is imperative to compare before/after data changes. Further testing is required to make sure that the “fix” didn’t create more problems than it solved. Every software user scenario needs to be examined to guarantee
that programming changes are working exactly as expected. Depending on the nature of the change, for example, updates may need to be tested on multiple operating systems, using different printers, and so on.

Documenting the update. After weeks or months of painstaking work, the update is finally complete and contains valuable enhancements for the software user. Now the challenge lies in documenting these changes in a language that the end-user can actually understand! Good documentation is essential, but often it can be the cause of delay because at this point additional problems or sources of confusion may be uncovered. In some cases, the cycle may need to start over.

Having learned (more than you ever wanted to know) about the processes and procedures that many software companies go through to produce updates, you will probably be much more understanding while waiting for your next software update to arrive. If not, try to remember those ancient words of wisdom: “Patience is the greatest of all virtues."


Fred Ode is the founder and chairman/CEO of Foundation Software, Inc. For more, visit www.foundationsoft.com or call 800-246-0800.