So, you have a concept for a software application. Perhaps you have a small team that includes a developer who has made use of open source to create a working prototype. Before doing much else, think about taking the time to professionalize your project, to support it with fundamentals.
USER CENTERED DESIGN
While no project can truly be user centered, try to take into consideration user’s needs, goals and wants. Define who your different users are. Give them names, talk about them in conversation. Interview real people who fit the personas you have created. Design for users, and other factors. What are your business goals, and your limitations of technology, timeline, budget. Design for currently understood visual clues – affordances, mental and conceptual models. Do not stray too far out of what your users feel comfortable with currently.
CONSIDERATIONS IN DESIGN
Think about project management, content, UX, branding, technology, marketing/sales. Sketch out user(s) flow, and major screens on a white board. You will have to make choices. Prioritize business goals (your wants) then rate design components on their ability to meet those goals in a pyramid with high (2), medium (3), and low (5) priorities. You may have to define your primary user and make choices to meet that persona’s needs over others. Reduce the set of features and functionalities.
What is your criteria for success for a user when they interact with your application? What is your criteria for success for your business in the same interaction (online sales, repeat customers, number of comments, downloads, time on site, etc.)? Do they match up well? Learn about the perceptions, beliefs, and attitudes of your users towards a similar product by watching, listening in their own environment. Who are they as people? What are they comfortable with from a technology standpoint? Do they use a specific vocabulary? What are their expectations?
Tell the story of how your users will use your application, the user scenario. It should be clear as to what they need, and what their barriers are in meeting that need. One or maybe two paragraphs. Develop use cases out of the user scenario to describe how the user navigates through the application in the attempt to get what they need – like smaller stories that also describe what the responses are from the system. Always think about cases where the user can’t do something – when they make a mistake. What happens then?
How do your competitors achieve user satisfaction? Define qualitative properties of their designs and compare against time, complexity to build, cost, etc. Understand for what you are competing with these other applications. Why do users prefer to go there? What is most important about the site? What is the white space that you can fill?