The process by which the the end users needs and limitations are the leading factor in design of the software product. This requires usability testing at each iteration of the design process to test the validity of the assumptions made by the original requirements. This lends nicely to an agile methodology in that you may need to modify the original requirements many times.
Consideration for a users mental model is also used to problem solve at each stage of the development process. Mental model means, a persons perspective upon first use of the product, which may include their use of similar products, or if they’ve never used a product to solve the problem.
Competitive analysis – the practice of analyzing your competitors products – can be really helpful in avoiding common pitfalls and finding new innovative ways to address problem solving.
Comparative analysis is forming ideas from use of unrelated products that may have completely different goals. This is especially true for software design being that we have a limited interface with a user (UI, forms, clicks, swipes, screen readers etc.) and it is typically delivered through a browser. I have personally developed ideas for new products based off ideas I’ve developed from dissimilar products.
- The design is based upon an explicit understanding of users, tasks and environments.
- Users are involved throughout design and development.
- The design is driven and refined by user-centered evaluation.
- The process is iterative.
- The design addresses the whole user experience.
- The design team includes multidisciplinary skills and perspectives.
- Who are the users of the document?
- What are the users’ tasks and goals?
- What are the users’ experience levels with the document, and documents like it?
- What functions do the users need from the document?
- What information might the users need, and in what form do they need it?
- How do users think the document should work?
- What are the extreme environments?
- Is the user multitasking?
- Does the interface utilize different inputs modes such as touching, spoken, gestures, or orientation?
This article is my own words, and the lists are from this Wikipedia article.