Agile Enterprise Software Development Using Domain-Driven Design and Test First

This talk presents the experience gained and lessons learned when the IT department at Statoil ASA, a large Oil and Gas company in Norway, used Domain-Driven design techniques to verify the software architecture chosen for the development of our group oil trading application. The hypothesis was that the use of object oriented techniques, domain driven design and a proper object-relational mapping tool would significantly improve the performance and reduce the code base compared to the current legacy systems. The legacy system is based on several Oracle databases serving a variety of clients written in Java, Gupta Centura Team Developer and HTML. The databases have a layer of business logic written in PL/SQL offering various system services to the clients. To validate our new object-oriented software architecture, we re-implemented one of the most computationally heavy and data intensive services using Test First and Domain Driven Design techniques. The resulting software was then tested on a set of servers with a representative subset of data from the production environment. We found through this exercise that using these techniques on our new software architecture drastically improved the performance of this service as well the quality of the resulting code when running atop our Oracle database. We also switched to an object database from Versant and achieved additional performance gains.

Watch this video on