I identify four major domains of software engineering: architecture, engineering, constructions, and management. Each is distinct and well-defined.
I also have quantified the value of the general-purpose computer using Big-Omega notation, as well as created the means to combine the value of the Internet (also expressed in Big-Omega) with the general purpose computer. That value, I can argue, is O(n^n).
For the best info on eXtreme Programming (XP) and TDD, see the wikiwikiweb. See also "How to Code" (aka Hacking with the Tao, Zen Code) at http://github.com/theProphet/GlassBeadGame/wiki http://wiki.hackerspaces.org/User:average/Hacking_with_the_Tao.