What is the essence of Software Engineering ?

A.  The essence of softwaree Engineering Maintaining configurations, Organizing Teams, Channeling Creativity and planning Resource Use.
B. Requirements definition, Design Representation, Knowledge Capture and Quality Factors.
C. Managing Complexity, Managing Personnel Resources, Managing Time, Money & Producing useful products.
D.  Maintaining Communication, Managing unuseful products and not optimizing the process.