ComputerWorld published an article entitled “Cobol Coders: Going, Going, Gone?” in which they report that “62% of the [352] respondents reported that they actively use Cobol.” Moreover, of that group, “25% said they’d like to replace Cobol with something else but have found that too difficult or too expensive.”

Clearly, there is a lot of Cobol still running out there– somewhere. This is a nice tidbit of information to keep in the back of your mind as you evaluate your own applications– how long do you think they’ll last? The big secret of the software world is that most software stays around much, much longer than we ever imagined it would.

Yet, most of the maintenance issues that a project deals with during its lifetime are injected in early stages. In fact, one of the only ways to stay ahead of the game is through visibility. Increasing visibility enables teams to understand:

  • Who changed what and why?
  • How is complexity trending?
  • What’s tested and what isn’t?
  • Where are the hot spots for defects?
  • How difficult is it to change and how long does it take to deliver?

Note, the ability to answer these questions implies a number of things:

  • A robust CM system (and associated process) is in place
  • Software builds are repeatable
  • There is a process to report metrics
  • Traceability exists for defect correlation
  • There are automated tests and associated coverage metrics

Once those questions can be confidently answered, teams can make changes with an understanding of the risks because they can quantify quality. The question of porting to another platform (or a rewrite) isn’t blindly answered with it’s “too difficult or too expensive” but its answered with data to back it up.