Design First, Everything Else Later

On April 11, 2012

Design First

When we decide to create an application/software product, a lot of questions come to our mind. Questions like how should we build the product, how should we test it, how many resources will we need to build it, which approach would be the best for development and a lot of other stuff.

When we think about so many things in our head, we lose the most important thing in this chaos. The design of our product. But why should we think about design first? Aren't the other things equally or even more important than that. The answer is simple: NO. 

In fact, every other part of your product development cycle would depend heavily upon the design phase. How? The answer is, when you spend a lot of time on designing only, you save lot of future time that will be spent on other phases like development and testing.

So, before starting any other phase of product development start with the design phase. Spend as much time and as many resources as possible during the design phase itself. Get as much feedback as possible and do as many iterations as possible.

Making changes at start of the project, i.e. the design phase, saves more time, money, and resources than implementing those changes while or after development. This one is a no-brainer. While designing your product it's very easy to try out new mock designs and check if they suit your needs. Once you start development then it's difficult to implement the same changes. 

Sometimes, changes in design also affects some functionality. To implement these new changes, the developers may have to rethink their approach and if the changes are significant, then they may even have to rebuild from scratch.This could be avoided if all the possible iterations are tried while designing phase.

Similarly, if you decide to wait till testing is performed, and make changes based on the feedback, then you may have to redo things all over again. Wouldn't it be much better to take care of users feedback at the design phase itself and be ready with variety of designs to suit user needs. 

This way you can save significant amount of development and testing resources and time. This ultimately results in spending less money on your finished product. You can provide better quality at lower price, if you follow this approach.

But, you may say, that it's not always possible to have the complete design in front of your eyes before the development begins. Many times you have to make the product for a client, who doesn't have full idea about how the product should look and work. So, how can we design everything beforehand? It's simply not possible.

Yes. It's very difficult, if not impossible, to have the final product design made before the development begins. But still, if you take the design approach first and work on all the possible options, you can develop your products in such a way that it leaves lot of room for making new changes in future without affecting the development cycle drastically.

Consider various functionalities that are not needed immediately, but could be required in future. Based on this, take an approach for development that considers these functionalities, and would allow them to be easily added in future without rebuilding everything again or without making significant changes.

This way of developing your product will benefit you in the long term.

Image Source: Juhan Sonin

share this on : twitter | facebook | google+