• Education, communication, understanding: they are all critical in resolving this issue.

    My DBA background was initially as a developer in FoxPro where the code and the database are deeply connected. This followed a migration of the database to SQL Server and a period where I was both the DBA and lead developer. In such a situation, you acquire a deep understanding of the relationship between code and database, and can easily guide the developers in the right direction. But where DBA and developer teams are separated both physically and intellectually, I can understand just how much of a challenge it is to get this meeting of minds.

    Difficulties and a lack of understanding will often arise where the test data provided to the developers is not really illustrative of the production data. If the development database is too small a subset of the production data, or even worse, is only a dataset generated by the developers themselves, then it can never be a suitable platform for real-world testing. So often, the code is first deployed against production data only during the final acceptance testing, by which time code which seems quite suitable when tested against the development data set is deeply baked in. Even in the early stages of code development, it is important to test against data that is sufficiently complex and representative of the business domain to enable the development team to design realistic tests.


    Tony