It is too late IMO to parallelise things _after_ having written your (sequential) code.
How does one reconcile these two statements? The first is certainly true. But second one seems wrong unless the plan is to create a sequential code prototype but then throw it out to create the "optimized" parallel version.Parallelisation is an optimisation step;.
I'd think that one of the very earliest design decisions would be "sequential vs. parallel" based on the customer's statements about the sizes of input data, required throughput or response time, time complexity of likely algorithms, and parametric drivers for computation cardinality (e.g., requiring N-digit accuracy implying O(f(N)) samples or time steps).