In software development a runahead solution is employed to investigate the capabilities of new products and the compatibility of technologies. The runahead team creates prototypes that resemble the target architecture of the system, using the primary technologies or technical backups. The runahead team also identifies any technology shortcomings and investigates workaround strategies. The team then educates the rest of the project staff on the new technology, thereby shortening learning curves. Finally, the runahead team must precede the main development activity by one to three months. Otherwise, the main project may be delayed waiting for the results of the run-ahead research.