Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)
Date: Fri, 02 Jun 2006 14:19:47 GMT
> Consider two projects, both with a DBA.
> Team A carefully partitions all modules, including the DB-facing ones.
> Team B scatters SQL hither and yon.
> Now in both teams, the DBA owns all access to the database, and is the only
> one authorized to change its schema.
> Team A, however, can sack its DBA any time they feel like, and can easily
> replace the DB-facing modules with some other system.
> Team B's DBA is the lord of all he surveys. He or she has perfect job
> security, and a lot of clout in the team's decisions.
> So what's the /real/ motivation for this thread, guys? ;-)
Your argument is flawed. Team B can replace the dba as easily as Team A with a global search and replace.
In fact, I worked on a project where batch processes were written by a team of about 10 programmers using C++, and the user interface was written by another team of about 10 programmers using a 4gl.
The C++ team isolated the dbms code in a least-common-denominator class library in the mistaken belief that someday they might need to support a network model dbms. While the GUI team made some effort to isolate SQL statements, the SQL was by no means fully isolated.
While no dbms was ever replaced, the project did add support for multiple dbmses. In the C++ team, one person spent about two weeks writing support for the second dbms at the lowest level without disrupting much other code. In the GUI team, ten people spent a single day adjusting the SQL to support multiple back-ends.
In terms of relative cost to add support for a different dbms, it was a complete wash--about 10 man-days in both cases.
However, the C++ class library was all that was salvaged from an earlier $20 million failed attempt at making the product we made. Thus, it cost the C++ team $20 million to re-invent the dbms by creating the least-common-denominator class library in the first place.
It was only a complete wash if one ignores the $20 million sunk cost. Ignoring that sunk cost only makes sense if one has already sunk it! Received on Fri Jun 02 2006 - 16:19:47 CEST