Planning is the most important step of a project, and we believe it’s where you should spend most of your time. At Empathy, we routinely spend more than 50% of a project's time in the planning stage.
We didn't always do it this way, but after years of building software we've found the following benefits:
1. You will likely find a more elegant way to solve your problem
Chances are you've built up a process over the years that you have conducted business, and you want your software to follow the same path.
Planning gives you a chance to think deeply about your requirements and try to find a more elegant solution. A lot of complex processes started off simple, but as your business grows and your client base expands, your processes grows in complexity to meet every edge case.
When you are creating new software to solve your needs, you have the ability to rethink your process with an up-to-date understanding of your requirements. Doing so often allows you to find a different, more elegant process that accomplishes the same goals. Diving deeply into your processes is extra useful because...
2. Your most complex features may not be your most used features
It's common to enter a project knowing that your software will need to support a large number of features, or that some components will be extremely complex.
In practice, however, it's common for the bulk of an application's usage to take place in a few key components:
Knowing which parts of your process are used the most gives you a number of options for how to proceed:
- In some cases you may have the luxury of launching a product with a limited feature set, resulting in a quicker launch date and lower development costs
- If you need a complete feature set at launch, you may be able to address your less critical requirements using third-party tools
- There may be ways to integrating your new software into your existing processes, allowing you to launch new implementations of your key requirements earlier and build the remaining feature set iteratively
3. There is less cost associated with experimenting
It's rare to have an idea that remains unchanged from concept to final form. Even the best ideas benefit from experimentation and user feedback. The more built up your product is, the harder and more costly it will be to throw your old ideas out and try something new.
During the planning phase, the cost associated with experimenting with alternative solutions and getting user feedback is the cheapest it will ever be. It's far easier to sketch a new concept or try an idea on a third-party tool than to implement a new program.
4. Work done during planning gets reused
Planning and design are closely related - in fact, the majority of design work in our projects actually gets done during the planning phase. The mockups that come out of our planning phase have many of the key elements of design - the site's navigation, page structure, action items, and flow.
Our 'design' phase is really focused on polish - colour, typography, iconography, animation, and all of the little things that make a product feel good. A good design should start before any code is written.
Your planning work may also include prototyping concepts with third party tools. In some cases, you may find that these prototypes are good enough to meet your needs, saving you from having to move beyond the planning phase.
5. Good planning leads to good MVPs
Good planning is essential when building a minimal viable product.
A good MVP should cover the essential requirements of your product and no more and should not hold you back as you build it up into your final form. There's nothing worse than launching a limited MVP that doesn't do everything you need and that slows you down as you try to turn it into a full-featured product. You want your MVP to be light, but you don't want it to have a weak foundation that cripples your final product.
Good planning allows you to design an MVP that works with you instead of against you as you evolve it into its final form.
Planning saves time
The time spent planning a project can sometimes feel like wasted time, but it's key to launching a product on time and on budget. The work put in at the start pays dividends when the coding work begins.