My project has to deliver middleware components that will support a large, complex system development spanning multiple phases. My phase is due to implement in 6 weeks, with future phases being implemented in 6 months and 12 months from now.
Most of my work is well on track, but we have one component that we are just starting to put in place. We know what is needed to support the current phase, and are confident in our plans to deliver that. However, we don't have a clear view of how the future development phases will be implemented, and so we have not been able to plan our implementation with the future phases in mind. Carrying out the necessary analysis would cost us a couple of weeks, which would delay the overall implementation of the current phase by a week overall.
My question is this: should I opt for the quick implementation that fully meets the current requirement and meets current targets, but does not guarantee an easy future implementation, or should I request a delay to the project, with potential (but unproven) future benefits through avoidance of rework?
We are using a waterfall-based approach, rather than agile, and the technology is relatively new to the organisation. Does this make a difference to your answer?