user-centered system design agile - uppsala university · • ”backlog” of requirements,...

45
Department of Information Technology Uppsala university User-centered System Design Agile

Upload: others

Post on 04-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Department of Information Technology Uppsala university

User-centeredSystem Design Agile

Page 2: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #2@ UU/IT

Business modeling Requirements Analysis & design Implementation

Test Deployment Configuration & Change Management:

Overview

Project Management Environment

Usability Design

Methods - what are they? Why do we have them?

Page 3: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #3@ UU/IT

Failed IT projects

28

26

27

16

23

28

40

31

49

46

33

53

0% 20% 40% 60% 80% 100%

2000

1998

1996

1994

SuccessCancelledPartly failed

Page 4: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #4@ UU/IT

Why failed projects?Reasons?• Low usability

Not able to produce a good enough system?• Never delivered, or late

Not enough pressure/skill?• Missing functionality, or wrong functions

Not knowing what to do?

Page 5: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #5@ UU/IT

The selling game

Analysis: needs

Req.

Contract

Analysis:time & money

Customer Developer

Page 6: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #6@ UU/IT

Agile: everything on this page is wrong

“Requirements engineering (RE) is receiving increasing attention as it is generally acknowledged that the early stages of the system development life cycle are crucial to the successful development and subsequent deployment and ongoing evolution of the system. As computer systems play increasingly important roles in organizations, it seems there is a need to pay more attention to the early stages of requirements engineering itself (e.g., [6]).”Towards Modelling and Reasoning Support for Early-Phase RequirementsEngineering, Eric S. K. Yu, paper 1 for Neil

Page 7: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #7@ UU/IT

Learing from the bestWhat is a successful system?Why is the reason it is good do you think?• Was this planned or by chance?

Page 8: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #8@ UU/IT

Are we A or B?Q

ualit

y

Functionality

Qua

lity

Functionality

A B

Page 9: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #9@ UU/IT

AgileA reaction against the ”heavy” methods and failed projects• Too little feedback• Too much method• Too large systems• Too many functions• No one likes these methods• The methods don’t deliver, they fail

Overall idea: • Minimize risk by developing software in short

amounts of time.

Page 10: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #10@ UU/IT

AgileMain Entry: ag·ilePronunciation: 'a-j&l, -"jI(-&)lFunction: adjectiveEtymology: Middle French, from Latin agilis,from agere to drive, act 1 : marked by ready ability to move with quick easy grace <an agile dancer>2 : having a quick resourceful and adaptable character <an agile mind> - ag·ile·ly /-j&(l)-lE, -"jI(l)-lE/ adverb

Page 11: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #11@ UU/IT

Key principlesWe cannot do as before. A change is needed.• Individuals and interaction over processes and

tools • Working software over comprehensive

documentation • Customer collaboration over contract

negotiation • Responding to change over following a plan

• http://agilemanifesto.org/

Page 12: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #12@ UU/IT

Agile Manifesto Principles, 1Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-faceconversation.

Page 13: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #13@ UU/IT

Agile Manifesto Principles, 2Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity-the art of maximizing the amount of work not done-is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 14: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #14@ UU/IT

Is this a development process?

Page 15: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #15@ UU/IT

Also a tool"Make sure there are whiteboards and coffee corners all over the building.” (IBM)

Page 16: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #16@ UU/IT

What is Agile development?Framework, of values and principles

DSDM (Stapledon)

eXtremeProgramming

(Beck)Crystal (Cockburn)

AdaptiveSoftwareDevelopment(Highsmith)

FDD

Scrum

AgileModeling (Ambler)

Page 17: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #17@ UU/IT

ScrumKen Schwaber in Financial Times: Scrum is different, he says, as it "takes people out of cubicles and puts them in a room with whiteboards.”

http://www.controlchaos.com/module/FT.php

Observation• SW development can be very different, in different places

Page 18: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #18@ UU/IT

ScrumTakeuchi and Nonaka, 1986The paper that started it all:• The new new product development game• http://apln-richmond.pbwiki.com/f/New%20New%20Prod%20Devel%20Game.pdf

”The rules of the game in new product development are changing. Many companies have discovered that it takes more than the accepted basics of high quality, low cost, and differentiation to excel in today's competitive market. It also takes speed and flexibility.”

Page 19: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #19@ UU/IT

Characteristics of ScrumObservation: • Using small, cross-functional teams historically

produces the best results Based on a rugby metaphor…• A Scrum Master acts as project manager/buffer

to the outside world• Product Owner, represents stakeholders• Team, developers (less than 10)

Page 20: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #20@ UU/IT

Scrum actionsSprint, 30-day iteration• ”backlog” of requirements, decided at the scrum

Managed by Product OwnerDaily meeting, called a ”scrum”• Starts precisely on time with team-decided punishments if late• Only "pigs" may speak (pigs and chickens)• The meeting is time boxed at 15 minutes; all attendees stand

up• The meeting should happen at the same location and same

time every dayAll pigs say:1. What have you done since yesterday? 2. What are you planning to do by tomorrow? 3. Do you have any problems preventing you from

accomplishing your goal?

Page 21: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #21@ UU/IT

SprintA Product Owner compiles all the changes planned for the product and prioritizes the possible functionalities.The result of the Product Owner’s work is a Product Backlog – a to-do list that is constantly reprioritized. Before each Sprint, the highest prioritized goals are transferred to a Sprint Backlog.Together with a user, the project members form a Scrum Team consisting of 5–9 people. During discussions with the Product Owner, the goal of the Sprint is determined and the prioritized functionality is broken down into detailed tasks. The team is self-organized and the members have a joint responsibility for the results.The Scrum Master coaches the development team, removes any possible impediments and constantly works to ensure that the team has the best possible circumstances for realizing the goals fixed for the Sprint.

Page 22: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #22@ UU/IT

http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf

Page 23: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #23@ UU/IT

ReadingScrum in 5 minutes• http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf

Ken Schwaber, co-developed the Agile process, Scrum. Video from Google Tech Talks: • http://video.google.com/videoplay?docid=-7230144396191025011

Page 24: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #24@ UU/IT

At the same time…OOP is different from traditional procedural programmingThe business requirements were changing• Time-to-market important• Design-driven market• Need to show progress• Short product life expected

OOP-people see the successful patterns in problems like this

Page 25: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #25@ UU/IT

XPKent Beck (1996/2000)A heavyweight methodology has many rules, practices, and documents. It requires discipline and time to follow correctly. A lightweight methodology has only a few rules and practices or ones which are easy to follow.

Page 26: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #26@ UU/IT

Extreme ProgrammingA deliberate and disciplined approach to software developmentTo be more agile than traditional methodsCreate better software• Stresses customer satisfaction

Emphasizes team work

Page 27: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #27@ UU/IT

Main aim of XP is to reduce the cost of change

Cos

t

Time

Then

Now

Page 28: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #28@ UU/IT

5 values of XPCommunicationSimplicityFeedbackCourageRespect

Page 29: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #29@ UU/IT

Communication tools?

Richness of communication channel

Com

mun

icat

ion

Effe

ctiv

enes

s

2 people atwhiteboard

2 people on phone

2 peopleon email

Videotape

Paper

Page 30: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #30@ UU/IT

CommunicationAll communication must be rapid • No formal documentation

Frequent communication• One single room for all

Small note paper• Small design

Page 31: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #31@ UU/IT

SimplicityDesign for what you knowDo not plan ahead! • No “what if…”• No big design up front• What most people find difficult about XP

A simple design…• Can easily be understood• Has higher quality, because it is stable• Is easier to change• Is faster to implement, has less errors

Page 32: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #32@ UU/IT

What exit is the right one?

Page 33: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #33@ UU/IT

FeedbackFrom system• Unit testing: test first, then code

From customer• Always present in room, takes part in acceptance

testsFrom team• Direct time estimates on new functionality

Page 34: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #34@ UU/IT

User storiesSomething a userwants the system to do. Testable.

Page 35: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #35@ UU/IT

User stories

Page 36: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #36@ UU/IT

CourageNot to do more than requiredTo be able to re-factor code fast enoughTo review other’s code (and your own)Knowing when to throw away a bad solution

Issues• No place to hide!• This is quite a big problem

Page 37: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #37@ UU/IT

RespectNot to break other’s codeAim for high qualityBe motivated and loyal

Page 38: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #38@ UU/IT

What’s extreme?If tests are good, test all the time (start with Unit tests)If code review is good, always do reviews (pair programming)If iteration is good, deliver oftenSimplicity, do the simplest possible solutionUsers, have them in the same room

Page 39: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #39@ UU/IT

XP’s 12 activitiesFine scale feedback• Pair programming• Planning Game (once per iteration, typically once a week)• Test driven development• Whole team (everyone needed is there)

Continuous process• Continuous Integration• Refactoring or Design Improvement• Small Releases (called “builds”, alpha)

Shared understanding• Coding Standards• Collective Code Ownership• Simple Design• System Metaphor

Programmer welfare• Sustainable pace

Page 40: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #40@ UU/IT

Page 41: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #41@ UU/IT

User stories

Page 42: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #42@ UU/IT

Page 43: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #43@ UU/IT

Is Agile user-centered?No:• Focus on code

No explicit way to handle usability• Involves users, maybe not the right ones, not in

the right environment• Hard for users to speak about their needs• Small increments – no overall view of the

situation and the interaction

Page 44: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #44@ UU/IT

Is Agile user-centered?Yes:• User stories, by users• Direct communication• Simple representations • Iterations• Continuous testing and delivery• Change is welcome• About people, not processes

Page 45: User-centered System Design Agile - Uppsala University · • ”backlog” of requirements, decided at the scrum Managed by Product Owner Daily meeting, called a ”scrum” •

Uppsala university

2009-02-24 | #45@ UU/IT

ReadingAgile Modeling and eXtreme Programming• http://www.agilemodeling.com/essays/agileModelingXP.htm

Is Design Dead? Martin Fowler• http://martinfowler.com/articles/designDead.html

William Hudson: Adopting UCD within an agileprocess• http://www.syntagm.co.uk/design/articles/ucd-xp03.pdf

Larry Constantine: Process Agility and Software Usability• http://www.foruse.com/articles/agiledesign.pdf