1. A method for developing software in a parallel computing environment comprising the steps of: developing a sequential implementation of the software in a sequential processing environment using a sequential processing architecture; verifying that the sequential implementation of the software works as expected; developing a parallel implementation in a parallel processing environment using a parallel processing architecture following the completion of the sequential implementation of the software; and verifying the results including testing of the parallel implementation of the software following the step of verifying that the sequential implementation of the software works as expected; wherein the sequential processing architecture and the parallel processing architecture comprise different hardware architectures and wherein the sequential implementation of the software and the parallel implementation of the software are each designed for a corresponding one of the different hardware architectures.