roles in project teams imd07101: introduction to human computer interaction brian davison

34
Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Upload: kristian-franklin

Post on 12-Jan-2016

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Roles in project teams

IMD07101: Introduction to Human Computer InteractionBrian Davison

Page 2: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Agenda• Working in teams• Project management• How to do meetings• UML: Activity diagrams• From specification to plan

Page 3: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Working in teams

Forming

Storming

Norming

Performing

High dependency on leader to clarify objectives and roles. Anxiety about processes

Decisions are difficult; team members compete for importance; rebellion against leader

Roles are clarified; decisions made as a group; group norms established

Shared vision; disagreements resolved positively; constructive problem-solving

Page 4: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Roles not people

• Technical (Microsoft)– Architect– Developer– Designer– Author– Tester– Administrator

• Belbin– Innovator (Plant)– Investigator– Co-ordinator– Shaper– Evaluator– Teamworker– Implementer– Finisher– Specialist

Page 5: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Specification of requirements• Functional

– WHAT the system must do

• Non-functional– HOW the functions are presented

Specification

Implement prototype

Evaluate prototypePlan

Design

Page 6: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Project plan: Gantt chart

List of tasks

Task durations

Timeline Task bar Milestone

Page 7: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Development

Plan Test

Prototype 1 Prototype 2 Prototype 3 Final prototype

Page 8: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

One way to organise your week...

Page 9: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Two kinds of prototype• Throwaway or low-fidelity

– Paper– Powerpoint

• Evolutionary or high-fidelity– Early prototypes develop into finished product

Page 10: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Fixed duration

Controlling prototyping• Dynamic Systems Development Method (DSDM)• Prioritisation of requirements• Timeboxing

Plan Review

Page 11: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Prioritisation

M ust have

o

S hould have

o

C ould have

o

W on’t have

Aim to complete M and S within

timebox

Page 12: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Project Management• Maintain the plan• Ensure timescale is observed• Ensure testing is being done• Ensure documentation is being produced• Review the issue log• Take action to resolve issues

Page 13: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Time management• Whole team agrees a plan• Project Manager ensures everyone performs

• All team members have to take responsibility • The PM helps ensure things happen at the agreed time

• PM adjusts the plan as the project goes along

Page 14: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Communications• Contact details

– Email– Phone

• Shared location– Google Docs– Windows Live– Dropbox– Facebook

Page 15: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

The issue log• Running list• Any team member may add to the list• Reviewed regularly by the Project Manager• Status updated as appropriate• Issue details:

Issue Number

Type (RFC, Off-Spec or General)

Author

Date Identified

Date of Last Update

Description

Status

Page 16: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Team routines• Regular times?• All together?• Prototyping cycle?• Meetings?• Pizza?

Page 17: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Meetings• Purpose

• Process

• Roles– Chair– Minute taker– Participants

Page 18: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Team meetings

Meeting 1

Meeting 2

Meeting 3

MinutesAgenda MinutesAgenda MinutesAgenda

Page 19: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Meeting agenda

1. Apologies

2. Confirmation of previous minutes

3. Matters arising

4. …

5. …

Page 20: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Minutes

AB

AB,CD

AB

CD

Meeting metadata:Title, date, attendees

Action column: Record of who is responsible

Notes divided by agenda item

Page 21: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Short break

Page 22: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Translating ideas into specifications• Use cases

– Identify actors– For each actor, identify interactions

• Activity diagrams– Like flowcharts (but better)– Develop each use case as an activity diagram

Page 23: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Example Library

Borrow book

Extend loan

Place hold

Perform search

Library user

Library staff

Issue book

Actors

Collect hold

Page 24: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Borrow book• Activity diagrams describe

processes

• Allow branching and parallel activities

Find shelfmark on

catalogue

Go to shelf

Self issue Place hold

Wait for emailFind

alternative

[book not on shelf][book on shelf]

Start

Activity (process)

BranchGuard

expression

Fork

JoinEnd

Page 25: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Swimlanes

Request student card

Find item

Issue item

Library staff

Go to library desk

Ask for held item

Provide student card

Library user

Return card

Page 26: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

OXO specificationOXO

Start game

Make move

Player

System

Actors

Check result

Page 27: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

System

Start game

Make move

Player

Check results

[Player starts] [System starts]

Make move

Check results

[Winner] [No winner]

Offer new game

[No winner]

[Winner]

[Spaces]

[No spaces]

[Spaces]

[No spaces]

Page 28: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Use casesOXO

Start game

Make move

Player

System

Actors

Check result

Offer new game

Page 29: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Start game

Click system start

Open home page

Click start button

Player

[System start][Player start]

Page 30: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Make move

Choose square

Place symbol

Player/system

Page 31: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Check result

Check positions

System

[System wins][System does not win]

Display "I win"[Player wins][Player does not win]

Display "You win"

Page 32: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

UML to pseudo-code• Display start page with start options• If system starts

– System moves• While spaces

– Player moves– Check for winner– System moves– Check for winner

• Offer new game

Page 33: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Non-functional requirements• P

– What kind of people will use the system?– How can you reflect their needs in the design?

• A– What kind of activities are involved – work/leisure, urgent/relaxed, etc?– What implications are there for the interface?

• C– In what context will the system be used – work, home, public place, mobile, etc?– Implications?

• T– What technologies are available?– Which technology choice would be appropriate?

Page 34: Roles in project teams IMD07101: Introduction to Human Computer Interaction Brian Davison

Design Principles (Benyon p.90)

• Access, Learn and Remember– Visibility– Consistency– Familiarity– “Affordance”

• A Sense of Control– Navigation– Control – Feedback

• Safety and Security– Recovery– Constraints

• Suitable– Flexibility – Style – Conviviality