Maximize your return on investment by:
working on one project at a time;
releasing early and often;
adapting your plans;
keeping your options open; and
planning at the last responsible moment.
Use timeboxing to control your schedule. Set the release date, then manage scope to meet that date. This forces important prioritization decisions and makes the endpoint clear.
Prioritized Minimum Marketable Features (MMFs) and stories form the body of your plan. Demonstrate your progress as you develop and use that feedback to revise your plan.
To minimize rework, develop the details of your requirements at the last responsible moment.