That's the core of why outsourcing coding and fixed price projects so often fails - it's overestimating the role of (e), underestimating the difficulty of (a)-(d), and discounting the communication friction when (a)-(d) and (e) is not done by the same person.