text: I swear most of the software and web interfaces I come across could not ever have been user tested before being released for general use. 
  And while software cannot be "engineered" in the way that civil/electrical engineering occurs it can certainly be done much more methodically than can happen with the currently popular practice of putting all the developers/designers in one room, without even the minor benefit of cubicle walls, where they can interrupt and distract each other all day long. In my experience the number of spontaneous "great ideas", about the design of a system or piece of software, that come from spontaneous group interactions is vanishingly small. Most of the good ideas come from a lot of methodical work and the same is true of the code that implements those ideas.