James Watson
Posts: 2024
Nickname: watson
Registered: Sep, 2005
|
|
Re: The Big Rewrite: Why So Hard?
|
Posted: Dec 29, 2006 6:26 AM
|
|
> Hi guys, > > I am in the position where I am going to be responsible > for a Big Rewrite. The rewrite aims to change an existing > 2-tiers Fat Client application written in Delphi to > N-tiers web application written with Java backend and Rich > Client frontend. The Rich Client technologies is still to > be decided, but probably not going to be Ajax. It is > based on the fact that although Ajax has improved greatly > UI experience for webpage-based application, it is still > some way to go to close up to traditional desktop-based > application, both in terms of UI experience support and > IDE support. I plan to pick richer web client platform > such as Flex 2 for frontend, hopefully it can cut down the > project risk. > > Any advices for a Big Rewrite is appreciated, thanks Bill. > ;)
Four things off the top of my head:
1. Get all the requirements written down and get someone to sign off on them. Don't fall into 'the current app is the spec' trap. If the application is not trivial, your project is going to be late if not a complete failure. If things in the app are obsolete, remove them from the requirements.
2. Don't estimate until you've got the requirements. This sounds stupid but people do it all the time with these rewrites.
3. No matter how tempted you are, don't add any new stuff or improve on things unless it will make development faster and easier.
4. Keep it simple. Don't try to get real fancy neat new technologies. I worked at a company where some contractors tried to do a big rewrite and they used seven languages. Some of these things added no value. For example, they used flash for the front-end. The application was some boring business app. No one gave a crap about how cool it was or the great user experience. Most of the people at the company were still using green screens. All anyone wanted was an application that worked. Instead, they ended up failing miserably and losing any future work with the company after burning through at least 1 million dollars (I've heard as much as 10 but I know it was in the millions.) The software never made it to production. Get an app that really works and then improve the interface in a future version.
|
|