Converting user requirements to software is hard

A software developer's value to an enterprise is largely determined by how effectively she or he can determine user requirements, convert the human-language user requirements into machine-readable source code, and confirm with the user that the behavior of the resulting system is what was expected. Even where business analysts interface between developers and the users, the software developer's primary role is to convert natural language user requirements into machine-readable source code.

For economical and philosophical reasons, we seek software that writes itself. It seems then that we should instead seek user requirements that gather and write themselves. If we had automatically generated user requirements, those requirements could be written in whatever language was required by the computer, obviating the need for manual requirements gathering and software development. The system would discover requirements without directly interfacing with a human and convert the require…
Recent posts