A team of scientists at the prestigious Ritenokode University in Prague released startling new findings today that prove that the so called "software requirements" which have been a staple of high-energy coding theory for over forty years are not what we have believed them to be. While additional experimental verification is required, the findings are likely to change the way we think about software and some scientists are already hailing them as the most important discovery in coding theory since the discovery of NP completeness.
According to Dr Pike Ritchie, who led the research team, the discovery stems from a complex analysis involving measuring the speed-of-code against requirements. "For years we have believed that code moves through this theoretical space we called requirements and we would attempt to measure its speed through those requirements to compute the speed-of-code. What has always been a problem is that requirements never remain fixed, so our calculations were never accurate. While we could determine that the speed-of-code is a very small number, we could never quite pin it down because the code moved much more slowly than the background requirements against which we were attempting to measure it. These computations have been made additionally complex because we never have a pure coding space in which to measure it, instead we measure it using different forms of code, sometimes called languages."
In the experiment, Dr. Ritchie and has colleagues created created something called a fixed requirements specification. In the day-to-day world such entities never occur and have been only a theoretical construct for years, but under carefully controlled laboratory conditions the Prague-based team was able to create a fixed requirements specification and hold it in place for as long as one hundred nanoseconds (roughly 1 millionth of the time it takes you to blink your eye). Dr. Ritchie and his team had hoped to use this specification to measure the speed-of-code in various language mediums but what they found instead has rocked the software world.
"We had made the requirements as small as theoretically possible in order to maintain them as fixed; they were what we call a one bit requirement specification. We would get the requirements stable in a vacuum held in place by strong firewalls to protect them from change. As we would get the code complete, as soon as the syntax was correct the requirements would simply wink out of existence or in some cases they would change. At first, we thought this was just a coincidence, but we were able to repeat it over and over using the standard high-speed coding languages like Smalltalk, LISP and Perl but also using obscure languages like ALGOL and PL/1."
To explain this phenomenon Dr. Ritchie has proposed what he calls the requirements uncertainty principle which states that at any given time you may know the code or the requirements but never both. Opinions about the findings range amongst code-theorists. Some doubt that the findings will be verified while others feel that the conclusions about the uncertainty of requirements are still premature, but most seem to feel that the findings do represent an important new discovery. Noted codist Dr. Burt Stein has stated that he feels that while the data is probably correct the interpretation cannot possibly be, in an off-the-cuff comment he is reported to have joked that, "Management does not play dice with the company."
In the professional coding community the reaction has been much more subdued. According to Kent Bick a coder for the giant firm of Minisoft, "Well, DUH... Everyone knows that requirements never match the code. I just wonder why people think they should pay these guys for stating the obvious."










