This is part five of a series of posts about how we built Dojo Learning (part one, two, three and four).
Plan each feature on paper and think it through first
Like I mentioned in the last post, wireframes are a great way to visualize and plan new features out. Each screen of what you're building should be wireframed as best as possible to see how it will flow and to spot flaws in your idea.
This also puts the user first, since you're designing around their experience of your software. A natural extension of this aspect of wireframes is usability testing. You can usability test with just wireframes, before you've written any new code.
We also wireframe mostly on paper. I love tools like OmniGraffle for presenting something professional to a customer, but computer interfaces have yet to even get close to paper and pen in terms of just getting your idea out, and trying multiple iterations and alternatives quickly.
For a good example of how to design a user interface with wireframes, see this paper from 37signals.
Paper is also great because you can write user stories, lists, asides and anything else that helps you get a better idea of what you need to build and who you're building it for.
We also try to get our database schema down at this stage too, since that helps us think about other potential uses for the same data down the road. I find this helps ensure we're not being too limited in our data model, which might hinder future feature additions.
So for us, step one is always designing from the end user's perspective and making sure that comes first. Step two is making sure we've thought of everything from a data and implementation standpoint. From there, the code becomes a matter of connecting the dots.
If you liked this post, make sure you subscribe to our blog by RSS or email so you catch the rest of this series of posts.

February 23rd, 2009 // By referatai