Object Persistence and Agile Software Development
In the past 10 years, Agile Software Development has proven itself to be one of the most effective methodologies to develop application software. One of the challenges to the Agile Software Development approach can be the integration of non‐object oriented sub‐systems, such as MySQL, Oracle, or other relational database management system (RDBMS). RDBMS require mapping code to translate between the object model and the relational model of the database, generally known as “object to relational mapping” (OR mapping, ORM). Managing and maintaining the mapping is not only time consuming, but the RDBMS and its schema is often managed under rather restrictive, and potentially “non‐agile” policies. In addition, data already stored in an RDBMS may become inconsistent with the changes in the application made by the Agile development team.
This white paper examines and compares RDBMS with several object persistence methods within the context of Agile Software Development. We will quantify and qualify the impact of these methods on the overall velocity and success of an agile application development project. We believe that there are significant financial and time‐to‐market advantages in selecting true object persistence tools and methodologies over traditional relational database system in order to maintain an agile development approach. In other words, true object persistence tools and methodologies are necessary to reap true agile development benefits, and therefore achieve the business advantages of this development process.