Planning ahead can significantly help make the development process go more smoothly and prevent your project from becoming a mess; I’ll go through things here and in other posts, so you will have a good idea of how to go about things.
While you can approach a developer with just an idea and work it all out; it could be pretty inefficient with the back and forth. It is good to at least start with a categorized list of features you’d like to have.
- First, Make a list of everything you would like your software or website to do; a feature list
- Then categorize your features into groups; things that naturally go together
- Next, look at your categories and create broader groups; these groups can become your views or webpages
- And ideally, you should prioritize the features that are most important to your business and overall plan
At this point you could take this directly to a developer and have him help you work through the rest of the design and set up details.
And also, here you could have a graphic designer layout your look and user interface.
A good developer could even take care of contracting this step as part of his contract, or you could do it independently through something like 99designs.com
An advantage of working with a developer for this step, is that they should be familiar with more of the technical ins and outs of what works well, and can suggest revisions to a design, and help pick out the best one.
It isn’t strictly necessary to engage a designer, but it can add extra polish and usability to your project.
Frameworks like Twitter Bootstrap (a interface / layout library), have given more tools for developers alone to deliver fairly polished end results in their own right.
– A side note here:
Trying to get the best results and finding someone with professional level design skills and programing skills probably isn’t your best bet – you will risk one or the other areas suffering. It’s best to get people who specialize in one or the other.
This could be potentially managed though a developer with project management skills, and they could take care of all those details.
If you would like to take the design phase even farther, you could do what is called wire-framing.
The simplest way to go about this is to draw out your software or website on paper.
one or more sheets per view or web page.
Then you map the features to buttons and fields etc.; what happens when a particular button is clicked etc.
This area starts to get more complicated and technical; it is an area a developer could do as an initial part of a project.
But at the least, it would be very helpful to have a categorized feature list.
Check out other posts to learn more about a successful development project, understanding things better so you can avoid pitfalls in the process.