"I still think that one of the finest tests of programming ability is to hand the programmer about 30 pages of code and see how quickly he can read through and understand it."
- Bill Gates

Various research suggests that reading, editing, and navigating code encompasses significant cognitive effort beyond simply writing new code. And contrary to popular belief, most coding is maintenance coding, so comprehension is a significant overhead cost in the software development process.

"All programming is maintenance programming, because you are rarely writing original code."
- Dave Thomas

We’ve found a variety of research focused on comprehension. While the details may differ, the significance of the effort in software development doesn’t.

Early Research Foundations

1986-1989

IBM started the Program Understanding Project at IBM's Research Division in 1986. Research by Thomas Corbi in 1989 found that more than half of the effort in accomplishing a task for the programmer is towards understanding the system.

50%+
of programmer effort goes to understanding systems
1979

Fjeldstad and Hamlen conducted research on software maintenance tasks and found that a significant portion of time, 47% for enhancement tasks and 62% for correction, is dedicated to understanding the existing code and documentation.

47%
enhancement task time
62%
correction task time

Fast forward a few decades, and the numbers hold steady or even increase:

Modern Research Validation

Recent Studies

Fast forward a few decades, and the numbers hold steady or even increase. A research on program development concluded that programmers spent 70% of their time in program comprehension.

Specifically, it has been estimated that reading and understanding code consumes nearly 60% of a software professional’s time.

70%
of developer time in program comprehension
60%
of a software professional's time is consumed by reading and understanding code

And we haven’t even addressed the time a developer may spend mentoring new developers, answering questions from business analysts, participating in knowledge-sharing meetings, or engaging in the myriad activities that rely on an understanding of what a company’s code does.

What would your developers do with the time they save by using COBOL Colleague?