by Pete Carapetyan
dataFundamentals was engaged for a brief staff augmentaion contract to Transplace for a development team with an accelerated schedule.
With experience in web applications and the same Struts, Tomcat, and other technologies that were being used for this project, I was able to start with the team and be productive the first week.
Even with the first few pages, it became clear that much of the code that was being written would be verbose, time-consuming, and prone to typing error and syntactical inconsistencies. I propoed an immediate shift to generated code for the database connectivity beans. By writing some customize templates to match the team's existing coding syntax, and pointing dataFundamentals generators at the team's existing database, the hundreds of new bean classes were generated in a couple of weeks and immediately useable by the entire team.
Experience with frameworks was a bit different than most of the team members who were more accustomed to writing custom code for everything. It is sometimes a challenging sell, but many of the team's practices were eventually migrated to a more framework-oriented approach, including a significantly more effective use of an Object Relational Tool for database access.
Months and months of dataFundamentals experience optimizing data migration routines on previous engagements led Transplace to extend the initial contract engagement to the data migration portion. This period lasted through several deployments, as each of many versions of the app in development was tested on very large data sets from the customer's existing legacy data from several disparate systems.
Why pay someone to execute time consuming and technically challenging data migrations every single time, when a tool could do the job faster, and quite often better?
In the last month of the contract, I used the same code generation tools and skills to replicate efforts in a repeatable fashion. Transplace was then left wth a toolset that it could use to create future data-migrations at a lower cost and greater consistency.