Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading content…
Loading…
Transcript

Making sense of

Agile design practices

Design

This is the naive view of Design:

the ubiquitous UML class diagram

Design isn't only about code or artefacts!

To look only at the source code, or in general

at some objects, is to forget that design is the

product of human intellectual activity - it's done

by human brains. Not knowing enough about brains

can bring about serious isses (I'll try to convince you

of that). So what do we know about brains that's

relevant to design? Let's take a tour of...

Design doesn't precede coding

Design isn't necessarily "visual"

Design isn't a one-person activity

The old view of design as an

activity fully completed before

coding began led to caricatures:

"throw it over the wall to the

developers" type design

Agile has brought a renewed emphasis

on teamwork, and some practices

in fact leverage collective intelligence

in service of design quality (pairing,

continuous integration).

However, nearly all discourse on

design still seems to tacitly assume

a view of design as a one-person

activity.

The visual modality is certainly

important in design activities, but

so are the others: kinesthetic and

auditory.

Agile practice ("Quick design session",

"Agile Modeling") takes whiteboards

to be more important design tools

than UML modelers.

http://www.flickr.com/photos/clankennedy/586319220/

Fowler's book (based on PhD thesis

work by Opdyke) conclusively showed

refactoring is a design activity

interleaved with coding

Agile has helped bust some classic

misconceptions about design

Laurent Bossavit

Institut Agile - http://institut-agile.fr/

is about

helping

Your brain

Practices

Confirmation bias

TDD

...helps prevent...

Which cards do you turn

over to test the rule "Every

card with an EVEN number on

the front has a CONSONANT

on the back?

3

K

8

A

Current

Guess the Rule

Below is an instance generated by

a rule. Give me examples and I'll

tell you if they conform to the

rule or not.

(2, 4, 6)

Value proposition

||

TDD

Pair programming

Has many bugs...

Collectively known

and studied as

"cognitive biases"

Dunning-Kruger effect

Pair programming

...helps prevent...

Confirmation bias

Simply put, we suck at

estimating our own level of skill.

Anchoring

Get a sense of how design-related Agile practices fit together

Overinterpretation: our brains do

not tolerate ambiguity

Mind projection fallacy: we

insist that whatever our minds

perceive is "out there"

Continuous integration

D-K effect

Groupthink

Narrative fallacy

Illusion of transparency

Change blindness

Availability heuristic

Learned helplessness

Conformity

Bystander effect

Pareidolia

Hindsight bias

Many, many more !

All these are actual, well-studied, replicated

results from:

  • social psychology
  • cognitive science
  • psycholinguistics

...these disciplines are HUGELY relevant to

the management of software projects !

But receive approximately as much attention

in software engineering as the size of this dot.

Find new inspiration to try practices you haven't yet

Planning Poker

CRC Cards

...may reinforce...

Planning Poker

Anchoring and priming

Find out about practices you didn't know existed

Systematic distortions of

our estimates when there

is uncertainty

Systematic effects of prior

perceptions on cognitive tasks,

even unrelated

Be inspired to experiment and come up with new ideas

http://www.flickr.com/photos/lemonad/4443963610/

How many attendees

at this conference?

How many days

in a year?

How many days

in a week?

Future directions

Design retrospectives

Coding Dojo, "programming out loud"

deal effectively with

Code

This talk is about "design" in one

particular sense: source code design

(not UI or UX or product design)

{...;}

Landmark article by Martin Fowler:

"Is Design Dead" (2000)

Adresses perception of Extreme Programming,

better known than Scrum at that time and not

yet called Agile, as "code centric", raising the title

question... and answering "no" !

http://www.martinfowler.com/articles/designDead.html

Learn more about creating dynamic, engaging presentations with Prezi