Deconcentration of Attention: Addressing the Complexity of Software   Engineering
  This article attempts to describe specific mental techniques that are related to resolving very complex tasks in software engineering. This subject may be familiar to some software specialists to different extents; however, there is currently no common consensus and popular terminology for this subject area. In this article, the area is charted from a practical usability perspective.   This article also proposes to treat software engineering itself as research on human thinking because software is meant to simulate thinking. 
Igor Kusakov
cs.SE