Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
This is the naive view of Design:
the ubiquitous UML class diagram
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...
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.
Fowler's book (based on PhD thesis
work by Opdyke) conclusively showed
refactoring is a design activity
interleaved with coding
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?
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.
Simply put, we suck at
estimating our own level of skill.
Overinterpretation: our brains do
not tolerate ambiguity
Mind projection fallacy: we
insist that whatever our minds
perceive is "out there"
All these are actual, well-studied, replicated
results from:
...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.
Systematic distortions of
our estimates when there
is uncertainty
Systematic effects of prior
perceptions on cognitive tasks,
even unrelated
How many attendees
at this conference?
How many days
in a year?
How many days
in a week?
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" !