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?
My name is Jonathan Fries. 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.