Software engineering, unlike other engineering discipline, has no ideas of the properties of what the software before it is built.