Dual Application Model for Agile Software Engineering

There are problems with Traditional Software Engineering and with Agile Software Development. A new approach called Agile Software Engineering that combines the best of both is proposed and an aspect of this approach described. The Dual Application Model involves the development of a logical software application focused on capturing the functional requirements and a physical software application focused on transforming the logical application to meet the non-functional requirements. It has advantages and disadvantages like any approach to software development but meets two of the principles proposed for Agile Software Engineering. Frameworks and tools are proposed to support the Dual Application Model but are not essential to the approach. The approach provides an almost complete separation of concerns between defining and specifying (in code) the domain solution / software problem for which the domain experts are primarily responsible and designing and implementing the software solution to meet the non-functional requirements for which the software developers are primarily responsible.