Software is largely intangible. Unlike most other engineering artifacts, you cannot feel the shape of a piece of software, and its design can be hard to visualize. It is therefore difficult for people to assess it quality or to appreciate the amount of work involved in its development.This is one of reason why people consistently underestimate the amount of time it take to develop a software system.