There is probably a lot of redundancy. It's like learning a new technology. Your first project will take a long time, then, once you've solved the meta-problem, it gets incrementally faster each iteration until it reaches some lower bound. But the knowledge you gain each iteration gets lower too, until it's marginal.