Khaos

Don't Solve a Problem Before You Get to It

Many software engineers believe a detailed solution should be created and meticulously verified as solving the problem before any code is written. On the other hand, a few of us believe that we haven’t solved the problem until we deliver the software and prove it works. This difference in when we believe the problem is solved causes us to view the requirements document differently. I believe requirements should describe the problem, not the solution, because the problem isn’t solved until we’ve got code running.

Don Wells, Don’t Solve a Problem Before You Get to It, IEEE Software, May/June 2003 (Vol. 20, No. 3)