Need a LabVIEW Expert Developer & Programmer to help with Software Decay?
We have considerable experience in dealing with LabVIEW programs that exhibit software decay. Feel free to contact us if you need help!
What Is Software Decay?
As software evolves – either while it is being written for the first time, or when it is subsequently modified – it can deteriorate in a number of ways:
- the structure initially given to the program becomes unsuited to the finished software. Various work-arounds are introduced to compensate for this, but this makes the program difficult to follow and inefficient
- pieces of code can become redundant (unused) as the software is modified
- coding can become messy and/or buggy, particularly if it has evolved over a period of time or if several programmers have worked on it
How Widespread is the Problem of Software Decay?
Software decay is endemic in computing, including LabVIEW programming.
In 1984, Bill Gates said: “The worst programs are the ones where the programmers doing the original work don’t lay a solid foundation, and then they’re not involved in the program in the future. Working with those programs gets to the point that I call ‘experimental programming’. The programmers understand so little about those programs that they can’t understand how changes might affect speed, for instance. They might use code that already exists, or they might not understand what dependencies will break if they change something. So they add new code, and then they run it and they say, ‘Oh look, it doesn’t work that way.’ That’s a very, very inefficient way to deal with a program, but a lot of projects end up exactly like that.”
We know exactly what you mean, Bill!
How to Prevent and Cure Software Decay
First and foremost, to prevent software decay, the initial program must be well-structured, efficient and tidy. In some cases, curing software decay may mean a complete re-write (which can be a good excuse for some nice new features!). Certain software structures lend themselves to ease of modification. This highlights the importance of utilising the services of an experienced LabVIEW programmer (preferably a Certified LabVIEW Developer). Even when a program is well-written, some minor restructuring may be necessary and tidying/housekeeping should be done to prevent the onset of software decay.