Sindrome de Niggle CAS2015

Preview:

Citation preview

El síndrome de Niggle,la orientación a objetos, yla Familia de Juan Carlos I

Jorge Uriarte Aretxaga@jorgeuriarte

http://www.slideshare.com/gailen/

“La Familia de Juan Carlos I”, de Antonio López

“La Familia de Juan Carlos I”, de Antonio López

“Niggle’s syndrome”A fairy tale…

“There was once a little man called Niggle, who had a long journey to make.”

“Niggle was a painter. Not a very succesful one.”

“There was once a little man called Niggle, who had a long journey to make.”

“Niggle was a painter. Not a very succesful one.”

“He was the sort of painter who can paint leaves better than trees.”

“There was once a little man called Niggle, who had a long journey to make.”

“He used to spend a long time on a single leaf, trying to catch its shape, and its sheen, and the glistening of dewdropes on its edges.”

“Yet he wanted to paint a whole tree, with all of its leaves in the same style, and all of them different.”

“He used to spend a long time on a single leaf, trying to catch its shape, and its sheen, and the glistening of dewdropes on its edges.”

“There was one picture in particular that bothered him.”

“It had begun with a leaf caught in the wind, and it became a tree”

“There was one picture in particular that bothered him.”

“It had begun with a leaf caught in the wind, and it became a tree”

“There was one picture in particular that bothered him.”

“and the t ree grew, send ing out innumerable branches, and thrusting out the most fantastic roots.”

“Strange birds came and settled on the twigs, and had to be attended to.”

“all around the Tree, and behind it, thorough the gaps in the leaves, a country began to open out”

“Strange birds came and settled on the twigs, and had to be attended to.”

“all around the Tree, and behind it, thorough the gaps in the leaves, a country began to open out”

“Strange birds came and settled on the twigs, and had to be attended to.”

“…a forest marching over the land, and of mountains tipped with snow...”

“Soon the canvas became so large that he had to get a ladder, and he ran up and down it, putting in a touch here, and rubbing out a patch there.”

"Soon the canvas became so large that he had to get a ladder, and he ran up and down it, putting in a touch here, and rubbing out a patch there."

“Leaf, by Niggle”J.R.R. Tolkien - 1939

“The professional bias toward getting deeply lost into details.”

“Niggle’s Syndrome”

“The obsessive quest for accuracy in our real world's representation, far beyond the point where that level of detail proves itself worthy."

How do we recognize Niggle’s syndrome?

• At product “stories” level

• At a “technical” level

• At product, “stories” level:

• Too many things to do

• To many details in the wrong areas

• “Featuritis”

How do we recognize Niggle’s syndrome?

How do we recognize Niggle’s syndrome?

• At a “technical” level:

• Miniaturism in implementation

• Treating non-core parts as first-class citizens

• Somehow unbalanced granularity between the parts

http

s://tw

itter

.com

/san

drom

ancu

so/s

tatu

s/58

8503

8772

3578

1632

http

://w

ww.

efer

ro.n

et/2

014/

06/d

e-te

st-u

nita

rios-

de-c

lases

-test

s.htm

l

• Much easier code mantainance (way better refactors)

• Lesser bias toward over-design

• Domain much better reflected in code

• Earlier access to a complete solution that will be further refined.

Edu Ferro - http://www.eferro.net/2014/06/de-test-unitarios-de-clases-tests.html

Edu’s words (sort of), not mine!

Sandro Mancuso - http://codurance.com/2015/05/12/does-tdd-lead-to-good-design/

And back to Sandro’s post…

Did we really throw it away?

What happened in the las twenty years?

So it’s not about tech granularity…

So it’s not about tech granularity…

…it’s about design

So it’s not about tech granularity…

…it’s about design

And maybe design is essentially…

…it’s about design

And maybe design is essentially…

…the quest for the adequate level of abstraction

So it’s not about tech granularity…

In some parts, we’ll push toward real-world’s details…

In others, we’ll settle for ‘basic function’, and discard ‘form’ or

‘reality’

http://www.ymedioteatro.com/espectaculos/siete/

“Lung-on-a-chip”“Guts-on-a-chip”

http://www.wired.com/2015/06/chip-mimics-human-organs-design-year/

“Design in its greatest simplicity is minimizing any system down to its elements so as to have the greatest impact”

And what about the ‘big’ scope?

What about the ‘big’ scope?

• Does having a vision implies BDUF and featuritis?

• How much should we leave for discovery, how much should we pre-define?

It’s not a fair comparison, because a painting is not a moving target like

software products

Or isn’t it?How to approach big scopes?

“in a painting, first thing to decide is its size, the size of the canvas, that the subject of the painting itself will initially drive”

“it takes me a lot of effort to find the proper size for the painting, to decide what size should I use to represent the landscape. It’s too hard to grasp.”

“Sometimes, I will change my mind two or three times.”

“only when I’m able to see the definitive format of the painting, I bring up to myself;

- what amount of city?

- at what scale should I paint it?”

“It can’t be drawn at a very small scale, because it’s all about the balance between how exactly can I get my paint brush into, and the amount of elements that should go into the painting”

“so you start with the big pieces -plenty of space for them- and then, only when you start painting the windows of the big pieces you say:”

“there’s no way for me to put the windows here. I don’t know how to paint them. The paint brushes are too small.”

“And then I know; I should expand the size. And it goes like that until I found the balance.”

“there’s no way for me to put the windows here. I don’t know how to paint them. The paint brushes are too small.”

“And then I know; I should expand the size. And it goes like that until I found the balance.”

I know

too small

until I found the balance

too subjective?where is the method?

And change?What about dealing

with ‘change’?

Sometimes, the vision will growyet keep the original concerns “centered”

Sometimes, the vision will growyet keep the original concerns “centered”

“Madrid desde la torre de bomberos de Vallecas”, de Antonio López. 1990 - 2006

Sometimes, the vision will growyet keep the original concerns “centered”

But sometimes, vision asks to evolve in a much more radical way…

“Terraza de Lucio”, de Antonio López. 1962 - 1990

But sometimes, vision asks to evolve in a much more radical way…

“Terraza de Lucio”, de Antonio López. 1962 - 1990

“Terraza de Lucio”, de Antonio López. 1962 - 1990

Physical center of the canvas changed…

Corrected and expanded for 28 years

Original human figures removed

Main theme of the painting changed

Incredible details…

…live together with regrets and corrections…

…so it’s not a pre-defined vision

…where the whole painting evolves…

…even though there was a vision

Space as a driving factor.

What could we learn?

Adequate distribution of your product features.

The right scale

Continuously learn, integrate change and even failures

Not ‘painting’, but ‘reality grasping’ tools

Antonio Lopez’s tools

“My uncle despised all those strict methodologies. He used to say the sight should be educated, and for long years I thought the same.”

“For a long time we worked like that, at a guess”

“My uncle despised all those strict methodologies. He used to say the sight should be educated, and for long years I thought the same.”

But… but… we’ve got tools too!

• We’ve got SOLID, the Four Rules of Simple Design, patterns, antipatterns…

• They will help us to identify BAD DESIGN

• But does not suffice to warrant a GOOD one

But… but… we’ve got tools too!Yep… in the technical side…

• We’ve got agile, incremental approaches…

• Inceptions, prototyping…

• User story splitting and mapping techniques…

• “Personas”

• Customer Journey

• “Design thinking”…

But… but… we’ve got tools too!And even more, in the product side…

• Lean Startup… ;)

• Lean UX… ;)

• Lean whatever…

• “Design sprint”…

But… but… we’ve got tools too!And even more, in the product side…

but again… even though they will help us understand the reality we want to model…

But… but… we’ve got tools too!

But… but… we’ve got tools too!

…they do not suffice to consistently reach to a GOOD PRODUCT DESIGN

but again… even though they will help us understand the reality we want to model…

So… how should we approach product design?

So… how should we approach product design?

How could we escape from" “Niggle’s Sydrome” ?

So… how should we approach product design?

How could we escape from" “Niggle’s Sydrome” ?

Are we throwing away our design knowledge?

Niggle got lost, never finishing his ideal Tree

Antonio López show us that, no matter how

complex, it can be done

Maybe we must start by admitting that, once we get there, it's not the place we initially thought, not

anymore.

And that our job is, precisely, to walk and help others walk the path down to that place.

“A work is never finished, just takes you to the limit of your own posibilities”

- Antonio López García

@jorgeuriarte