Here are some questions you should ask before starting a rewrite or rebuild of an existing software application.
This is a list to get you started. Once you have this information it is an important baseline for you to think about how to move forward on your rewrite/rebuild/re-engineering effort.
What is the age of your application? (How long since the first line of code was written?)
a. 0-5 years
b. 6-10 years
c. 11-15 years
d. 16+ years
How many integration points do you have with outside systems?
a. 0 (lucky you!)
How many different types of people use the system?
Will you migrate data from the old system to the new?
Roughly how many man-years have gone in to the development of the system?
a. 0-10 years
b. 11-20 years
c. 20-40 years
d. 40+ years
What makes the current system great? What do your customers love? What differentiates you from your competitors?
How much time needs to be spent recreating supplemental materials for a new system? Things that fall into this category - training programs, user manuals, help pages, websites, wikis.
What are the business (not technical) drivers for recreating the system?
What are the risks of recreating the system?
I work for Exadel, Inc. Exadel is a great company, with great people all around the world. I currently lead the Boulder, CO, USA office.