I'm a strong advocate for Software Engineering, but even I must admit that we do not have many of the same tools, priniciples, and laws as other engineering disciplines.  Why is this?  And, what should we do to get there?
Why is Software Development so far from being an engineering discipline?
engineering