Jobdango - Complete System Redesign

Challenge

The client was looking to expand operations and wanted to infrastructure that could support the added need. The design needed to take into account a larger customer base and expanded usage. The new system needed to scale while supporting the existing client-base and all historical data.
 

Solution

The solution was to design and build an upgraded system that utilized the existing business rules while expanding the business set to include the expanded operations goals. The underlining framework and system would be rewritten utilizing a Microsoft centric technology base utilizing C# on .NET 2.0 as the base and migrating the windows 2000 SQL database to windows SQL 2005 database.

The initial development was slow, but because we had an existing system and direct access to the client identifying system function points allowed for a more extreme programming or Agile iterative development effort. At first we conducted a broad analysis of the system's design and function and split each major component into groups. Each related group was re-factored and a new, normalized data model was designed.

The third state was designing a data and media migration from the old system design to the new. This challenge was tackled by the project director, I focused on media in addition to implementing different modules. While still in the final testing stages of the project, the majority of the effort is accomplished and only testing, debugging, and integration remain.
 

Results

The system was released with no major issues and continued development is scheduled.
 

Robert's Thoughts

I found several aspects of this project to be challenging, while an Agile development effort can speed up development it can cause more harm than good when not enough effort is placed on defining the goal and individual tasks. I know that in practice Agile focuses on tight iterations to overcome lack for forethought. But I feel at least an initial estimate and broad brush strokes can greatly improve the probability of success on any project.