BLUF: Planning is only as valuable if your information is accurate and worthwhile.
Planning and design is the biggest consideration if you have the time and information to apply at this stage. This stage will allow you to reduce code maintenance. It also allows for expectations to be set correctly.
Backwards planning helps you setup tasks that need to be accomplished by a deadline. This planning technique can be used with any software development lifecycle methodology. It allows you to estimate tasks timeline from a deadline and work backwards to see when you need to start each task in order to meet your deadline.
Here is a quick example. Fly from Atlanta to South Africa.
- Deadline: June 18, 2018
- Pack: 1-2 days before
- Find travel amenities (magazines, books, pillow, snacks, etc.): 3-4 days before
- Order new luggage: 1 week before
- Vaccinations: 1 month before
- Book hotels: 1-2 months before
- Book tours: 1-2 months before
- Passport: 4-6 months before
- Purchase plane tickets: 1-6 months before
In this example you have to start your process of getting ready for this trip in January 2018 otherwise you run the risk of not having a passport to leave. If you already have your passport, then you can start in April 2018. Obviously with experience and know how you can further reduce your timeline. All of that is part of the planning phase.
Backwards planning can allow you another tool to tell you if your timeline is accurate or if you need to reduce your workload in order to meet your deadline. This can also help you in finding which features or tasks will never be able to make it into your timeline because it just doesn’t have the runway to accomplish something that is dependent on another team or third party to accomplish.
Realize that this technique can help estimate points in Agile, timelines for Waterfall, or to find predecessors for your tasks. Also realize that you cannot always have a great planning phase without enough information to accomplish your planning. Sometimes things happen that interrupt schedules and cause you and your team to be dynamic.
These dynamics can either be your best accomplishment or greatest downfall as a leader. Don’t allow a misstep in plans to fail your project. Don’t forget…
No battle plan survives contact with the enemy. – Helmuth von Moltke