  It is impossible to separate the human factors from software engineering
expertise during software development, because software is developed by people
and for people. The intangible nature of software has made it a difficult
product to successfully create, and an examination of the many reasons for
major software system failures show that the reasons for failures eventually
come down to human issues. Software developers, immersed as they are in the
technological aspect of the product, can quickly learn lessons from
technological failures and readily come up with solutions to avoid them in the
future, yet they do not learn lessons from human aspects in software
engineering. Dealing with human errors is much more difficult for developers
and often this aspect is overlooked in the evaluation process as developers
move on to issues that they are more comfortable solving. A major reason for
this oversight is that software psychology (the softer side) has not developed
as extensively.
