sketch-wireframes-axure

Transition from Software Requirements to System Design

Requirement analysis is a crucial stage of the software development process. The high level requirements are examined and determined if they are clear, complete, and free of contradictions. It involves frequent communication with system users to establish specific feature expectations, resolution of conflict or ambiguity in requirements, as demanded by the various users or groups of users. It is important to understand the needs of the product owner at this stage.

Gathering the Requirements

There are various practices followed to gather the requirements, the most useful ones are listed as follows:

  • One-on-One Interviews

    The most common practice followed in requirement gathering is setting-up one-on-one meeting and ask them what they need. The interview should be open-ended and focus to uncover the requirements.

  • Group Interviews

    Group interviews are similar to one-on-one interviews except more than one person is being interviewed. Group interviews require formal preparation and results in more clarity of requirements. It takes lesser time from one-on-one interview to conclude the requirements.

  • Questionnaires

    Questionnaires are good tools to extract the requirements from stakeholders. This mostly works for the clients in remote location. The questionnaires also helps when we want to gather the requirements from a number of people.

Design Phase

The key factor in the success of the project is the smooth transition from the requirements to the design phase. A methodological approach described as follows can tie both the phases together. The resultant is a “User-Centric Design” which can benefit the process in decreased development cost, high quality user productivity, low training cost and better customer retention.

User-centered design (UCD) is an approach to design that grounds the process in information about the people who will use the productUsability Professionals Association

 

User-centered design is an approach for employing usability. It is a structured product development methodology that involves users through all stages of Web site development, in order to create a website that meets users’ needs-Usability.Gov

  • Personas for User roles 
    The personas are made on the basis of interviews, observations and research process. It serves as a guide to design process. A persona can be based on a real person or on a set of real people. An example of a User Persona is as follows:Sample_personas
Image Source: http://creatingclassics.blogspot.fr/2009/10/personas.html
 
 
  • User Scenarios
    User scenario is story on how the user will interact with the system – what they will do on the system, when and how they will do it. This is just like a story which describes who uses a system with a certain motivation and a specific goal in mind. Scenarios describe likely goal-driven interactions between types of users(personas) and the system. Scenarios depict likely objective driven interactions between types of users and the system.A good user scenario includes.

    1. Who is the focus audience of the website?
    2. Who is the user I’m designing for?
    3. What are the expectations and motivations of user?
    4. Aims to mirror the real context and usage.
    5. Why does this user come to my site?
  • Brainstorming 
    Brainstorming involves finding solution to a problem with individual or group of people. The session must:

    1. Define the topic or objective of the session.
    2. Identify the group of participants.
    3. Define the evaluation criteria and user goals.
    4. Assign who is responsible for what?
    5. Encourage wild ideas.
    6. Avoid off track discussion.
    7. List down the ideas given by the individuals.
  • User Stories 
    After user scenarios are finalized, the actions and events are separated in a sequence to create the outcome. The combination of sequences is called User Story and each sequence is called Story Point. e.g A CEO will click the button and all employees’ list is displayed. In this case CEO is a type of user, clicking the button is action and the list of employees displayed to him is an event. User stories are quick way to cater new requirement. There is no need to write much of details, just description of need is enough. The benefit of user story is that it is testable.

      1. Text should be minimal instead of huge descriptive texts.
      2. The soothing colors of text should be preferred over striking colors.
      3. Links should be properly differentiable among content.
      4. The text should be indented and properly formatted so users can easily read through articles.
      5. Proper line and characters spacing should be used.
  • Reading Pattern 
    No matter how many bells and whistles you’ve built into the design, the text matters and that alone makes a priority for any designer. The following are some of the easy rules:

      1. Define the topic or objective.
      2. Identify the group of participants.
      3. Define the evaluation criteria and user goals.
      4. Assign who is responsible for what?
      5. Encourage wild ideas.
      6. Avoid off track discussion.
      7. List down the ideas given by the individuals.
  • Evaluation and Prioritization 
    There are multiple evaluation processes followed to prioritize the ideas. The group can also define their custom process. You can set ratings for each idea and do consensus. The dot voting activity can be also done.

download

Image Source: http://www.gogamestorm.com/?cat=33&paged=2

  • Wireframes 
    Wireframe is a static drawing that illustrates the structure of an application or website. It is important intermediate step before the design of actual screens. It allows you to define the hierarchy of your design, and identify what functions are to associated, what needs to be highlighted, the main sections etc.

UXPin_DM1

Image Source: http://designmodo.com/wireframing-prototyping-mockuping/

  • Prototyping
    After the ideas are evaluated and finalized, prototyping is needed to communicate the idea to the end user. Prototypes are the interactive representation of the end product or an advance version of the wireframes. The creation of prototypes are time consuming but the prototypes is easily understandable by the end user and works better than the static wireframes. Clients get engaged earlier faster and at deeper level and better user experience decisions are made.

UXPin_DM2

Image Source: http://designmodo.com/wireframing-prototyping-mockuping/

  • Mockups 
    Mockups are colorful representation of wireframes / prototypes and are very similar to the original website or application. Mockups help in improving the design as we can have an idea of look and feel of the application. We can manipulate with types and colors. The mockups after being reviewed and finalized are used for design implementations.

UXPin_DM3

Image Source: http://designmodo.com/wireframing-prototyping-mockuping/