The amazing evolution fuelled by the introduction of the computational element has already changed our lives and continues to do so. Initially, the fast advancement in hardware partially enabled an appreciation for software potency. This meant that engineers had to have a better command over this field that was crucial in the solution of current and future problems and requirements. However, software development has been reported as not adequate, or mature enough. Intelligence can help closing this gap. This chapter introduces the historical and modern aspects of software engineering within the artificial intelligence perspective. Also an illustrative example is included that demonstrates a rule-based approach for the development of fault management systems.