When dealing with complex tasks the preparation of the key components and the creation of some essential configurations to have a set of building blocks can allow you to speed up the work at a later moment. Having some initial knots unfolded opens up to a higher level of complexity. You buld the final solution step by step, accumulating them in layers growing from sparse foundations up to a more refined artifact. This is the sense of dedicating an initial phase to research, inventory and testing, requiring time and resources, to be able to go faster and iterate quickly once the foundations are solid. There might be a problem in selling this approach when the complexity of the project is not transparent or not easily communicated. That’s another reason why all partially worked pieces and their in progress development should be shared among all collaborators to make them aware of the workflow. If you want to design and develop fast, prepare the components you need going through a careful and dedicated working session, do not rush or improvise, you could risk failing.