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 into 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?