Assignment 1: HCI activity timing

Change log: 11 September: More guidance added to step #2.

In this week's lecture (L1) you heard about software engineering (SE) processes - especially a sprint-based agile model and an iterative model - and how human-computer interaction (HCI) activities relate to them. Another topic of the lecture was to acquaint oneself to the different aspects that human-centredness in software development entails. In this Exercise, you will have a chance to relate these two areas of knowledge together.

Background: Task tracking using Kanban boards

Kanban boards are commonly used in agile development. One of the popular software implementations for Kanban boards is Trello. Its task tracking screens look like this:

Screenshot from Trello


Scenario for the exercise

Let us assume that you are working in a project that will develop a similar web-based task tracking tool for software development teams. The tool will be similar to Trello shown above. The plan for the project's first iterations are following:

  • 1st iteration: a user interface (UI) where a user can create cards and drag them between columns using a mouse.
  • 2nd iteration: multi-user support: several user can work on the same board and edit its cards.
  • 3rd iteration: each user can work on several boards, and every board can have several users. 

Your task

Your task is to suggest what kind of information about users would be most valuable in each of the three iterations. In other words, what information will the software developers need in each iteration in order to be able to create enjoyable, useful, efficient, and in other ways high quality system?

Illustration of your task
(you can download this diagram in PowerPoint version in the materials below, if you want to)

Steps:
  1. Familiarize yourself with the PACT (Benyon's book, chapter 2) and ABCS (Ritter et al.'s book) frameworks as your guides to think holistically about different human-centred aspects related to this software's design. 
  2. In order to be able to design good user interfaces, one always needs to understand what one is designing for. PACT and ABCS can be used as heuristic guides that direct you to pay attention to issues that will inform you about good design choices. Therefore, in this step you need to consider each aspect category (P, A, C, and T or A, B, C and S) in these frameworks. What are the more detailed pieces of information within these categories that would be particularly relevant in your software development process?
  3. Decide which three issues are most important ones for each of the three iterations.
  4. Draw a diagram similar to the one above, added with boxes that detail the information that would be used as an input to each iteration. Following the previous step's instruction, there can be only three boxes per each iteration.

Some guidance for step 2: You can approach this step by trying to complete the following sentence: "When you are designing a task tracker for software developers, one relevant aspect to know about people/activities/contexts/technologies is X". For example, "when you are designing a task tracker for software developers, one relevant aspect to know about activities is the established practices by which they are commonly used in agile approaches". This idea may come to your mind because you may know that in the agile approach, task tracking is an important part of the process, and this activity poses are special requirements for task trackers. Knowing about them will probably be important for your product's success.

You may search for background information about Kanban and software development in this assignment. This will help you judge which things are probably important in each of the three iterations.

How to return this assignment

Your submission must be returned as a PDF, and it must include 1) your diagram, and 2) a justification for your choice for each piece of human-centred information that you have added to the diagram.

This assignment is carried out independently.

Return your assignment by 23:50 on Sunday 16 September 2018 as a PDF.

Material

David Benyon: Designing interactive systems, Chapter 2 (presents the PACT framework).

Ritter et al.: Foundations for designing user-centred systems (presents the ABCS framework). Available for download within Aalto network. Direct link.

Dhandapani: Agile Software Engineering in UCD (in the end of the paper presents principles for timing HCI activities with respect to a sprint-based agile software development process). Download the PDF below.

Fox: Agile Methods and User-Centered Design: How These Two Methodologies Are Being Successfully Integrated In Industry (another paper that presents suggestions on timing HCI activities with respect to SE processes). Download the PDF below.