×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
 
David Gibbs wrote:
Folks:
Hypothetical question (yes, really hypothetical): At what point do you 
decide to re-write a program rather than fix it?  And, if the decision 
is to re-write it, how do you justify the decision to TPTB?
Consider the following ... you have a program that's about 15 years old. 
  Written in RPG III, converted to ILE using CVTRPGSRC but never updated 
to take advantage of ILE capabilities, and it's a total mess (by fairly 
modern standards).  Continued modification to the program just seems to 
make it worse.  The program is not small ... and fairly key to the 
system you are working on.
How can you justify a re-write?  How can you quantify the cost / benefit 
  ratio to show that a re-write would be in the best interests of 
continued development?
  
Everything is of course relative, but from a business reality 
standpoint, the two things that contribute most to the ongoing cost of a 
program are bug fixes and enhancements.
If you have already rewritten some programs to new standards and you 
have implemented a decent time tracking system over the years, you can 
try to identify the costs of fixing bugs and the cost of enhancements to 
this program, and compare that to the costs of the same tasks with a 
"newer" program of similar complexity.
That's the best case.  After that, you start getting into fuzzy areas, 
but it's not that bad.  If you think about it, the rewrite is only 
justified the program is going to be easier to enhance or is going to 
have less bugs, or both.  The easier to enhance part is somewhat 
quantifiable by coming up with a hypothetical new feature and estimating 
how long it would take to enhance the current application, and then 
estimate what it would take in the "new" version.  Obviously there's a 
lot of estimating going on there, but if you're really serious, you 
should know enough about the application to be able to make those calls.
Bugs are a bit harder to quantify, but if you can go over the old bug 
reports and find ones that clearly are due to the complexity and 
unreadability of the code, that can help.
Note that this is all based on the premise that you actually understand 
the program pretty well and have at least a basic idea of how you would 
rewrite it.  Obviously, "I wanna put in subprocedures" isn't going to 
give you much basis to justify the rewrite.
Joe
As an Amazon Associate we earn from qualifying purchases.