and agile practices, properly construed and used, along with object thinking (not object-oriented programming) simultaneously simplify the prerequisite conceptual construct and help people to become better at formulating such constructs.
Agility yields the theory and the rest is merely software engineering.
Brooks, Frederick P. "No Silver Bullet: Essence and Accidents of Software Engineering. Computer, Vol 20, No 4 (April 1987).
Naur, Peter. "Programming as Theory Building", reprinted in Cockburn, Alistair, Agile Software Development . Addison-Wesley Professional. 2001.
Keil-Slawik, Reinhard. "Artifacts in Software Design" in Floyd, Christiane, ed., Software Development as Reality Construction . Springer-Verlag. 1992.
About the Author
 Representational documentation - Western culture, since the Age of Enlightenment, has believed it possible to construct formal written or mathematical models that represented reality. This general belief is exemplified in computer science by the belief that you can formally capture requirements, specifications, and models and that these documents are sufficiently representative of reality that they carry all the semantic and syntactic information necessary to create the software.
 Evocative Device - human memory seems to be highly associative with the added feature that single part of a memory can evoke - return to conscious attention - the entire memory. Smell is often considered to be the strongest evocative device with a mere wisp of cinnamon in the air causing a flood of memories about mom and baking. Religious icons are another example - recalling to mind complicated stories and myths.