Posted by: SJC
cost estimating, estimating application cost, Independent software developer, Updating Legacy Systems
When I first posted “Cost Estimating Rewrite of Legacy Applications” I had not planned that it would turn into a series of posts such as it has. What I found is that the more I wrote, the more there was to write about. Since I struggle with post topics from time-to-time, this topic has become this blogger’s dream. Hopefully it is helping others in some way.
I’ll continue with my comments on the list I published in “Cost Estimating Ideas for the Legacy Application Rewrite“. In previous posts I commented on the more specific areas, where in this post I’ll become a bit more generalized in my comment. These comments might well be considerations doing any estimating for an applications project, not just a rewrite.
First off to consider in my opinion is how well (if at all), you know the client for whom you are creating the estimate. This becomes particularly important as you try to answer the question of “What might you NOT know about?”, and “What are the time constraints for the project?”. If I have a history with a client on a potential project chances are that based on that history I will at least have suspicions regarding what I might know about, as well as any time constraints. If your experience with a client has been that you are told no particular time constraints exist, and suddenly time becomes a factor — certainly it is appropriate to take that into consideration. I will often quote differently when a time constraint exists since I know that any delays along the way will mean “pressure” and extra intensity to get the job done. I for one prefer not to be working with the intensity.
I wrote in my list “Can the legacy app “play nicely” with the new app — or must the new totally replace the existing immediately? Some may not relate to this, however, I have found often that a great way to get a new project off the ground might be to take a smaller part of the app and have it work in conjunction with the existing app. For example, with Dataflex (my preferred development environment) it is possible to have a Windows, web and character-based front end all accessing the same set of database files – they “play-nicely” together. However, this approach does require potentially more complexity to accomplish, and of course that must be considered in creating the estimate.
In my next post I will provide more comments and a general wrap-up of the series.