SlideShare a Scribd company logo
El síndrome de Niggle,
la orientación a objetos, y
la 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 tree grew, sending 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
https://twitter.com/sandromancuso/status/588503877235781632
http://www.eferro.net/2014/06/de-test-unitarios-de-clases-tests.html
• 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 grow
yet keep the original concerns “centered”
Sometimes, the vision will grow
yet keep the original concerns “centered”
“Madrid desde la torre de bomberos deVallecas”, de Antonio López. 1990 - 2006
Sometimes, the vision will grow
yet 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

More Related Content

Similar to Sindrome de Niggle CAS2015

Writing The Science Fiction Film: Where do you get your ideas from?
Writing The Science Fiction Film: Where do you get your ideas from?Writing The Science Fiction Film: Where do you get your ideas from?
Writing The Science Fiction Film: Where do you get your ideas from?robgrant
 
CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016benosteen
 
Culture & Agile & Change - NYC Scrum Users Group
Culture & Agile & Change - NYC Scrum Users GroupCulture & Agile & Change - NYC Scrum Users Group
Culture & Agile & Change - NYC Scrum Users GroupLeanAgileTraining
 
MTV: Mobile, Transliterate, Visible
MTV: Mobile, Transliterate, VisibleMTV: Mobile, Transliterate, Visible
MTV: Mobile, Transliterate, VisibleAmy Burvall
 
What Would da Vinci Do?
What Would da Vinci Do?What Would da Vinci Do?
What Would da Vinci Do?Amy Burvall
 
Visitor-Centered: What Does it Mean to Walk that Talk?
Visitor-Centered: What Does it Mean to Walk that Talk?Visitor-Centered: What Does it Mean to Walk that Talk?
Visitor-Centered: What Does it Mean to Walk that Talk?Peter Samis
 
Sara quinn poynter_eyetrack_research_atlanta_press_club
Sara quinn poynter_eyetrack_research_atlanta_press_clubSara quinn poynter_eyetrack_research_atlanta_press_club
Sara quinn poynter_eyetrack_research_atlanta_press_clubSara Quinn
 
More pomo stuff (after easter)
More pomo stuff (after easter)More pomo stuff (after easter)
More pomo stuff (after easter)twbsmediaconnell
 
Study guide literacy IA mid-term
Study guide literacy IA mid-termStudy guide literacy IA mid-term
Study guide literacy IA mid-termMeagan Kaiser
 
Creativity & Innovation Management 2007
Creativity & Innovation Management 2007Creativity & Innovation Management 2007
Creativity & Innovation Management 2007Lukas Ritzel
 
Introduction To Documentation
Introduction To DocumentationIntroduction To Documentation
Introduction To DocumentationOpenSpace
 
STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...
STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...
STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...KimberleyMartin
 
Free Time - or - The Flywheel Effect
Free Time - or - The Flywheel EffectFree Time - or - The Flywheel Effect
Free Time - or - The Flywheel EffectRyan Price
 

Similar to Sindrome de Niggle CAS2015 (20)

Writing The Science Fiction Film: Where do you get your ideas from?
Writing The Science Fiction Film: Where do you get your ideas from?Writing The Science Fiction Film: Where do you get your ideas from?
Writing The Science Fiction Film: Where do you get your ideas from?
 
Culture
CultureCulture
Culture
 
CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016
 
Culture & Agile & Change - NYC Scrum Users Group
Culture & Agile & Change - NYC Scrum Users GroupCulture & Agile & Change - NYC Scrum Users Group
Culture & Agile & Change - NYC Scrum Users Group
 
MTV: Mobile, Transliterate, Visible
MTV: Mobile, Transliterate, VisibleMTV: Mobile, Transliterate, Visible
MTV: Mobile, Transliterate, Visible
 
What Would da Vinci Do?
What Would da Vinci Do?What Would da Vinci Do?
What Would da Vinci Do?
 
The art of AI Art
The art of AI ArtThe art of AI Art
The art of AI Art
 
Visitor-Centered: What Does it Mean to Walk that Talk?
Visitor-Centered: What Does it Mean to Walk that Talk?Visitor-Centered: What Does it Mean to Walk that Talk?
Visitor-Centered: What Does it Mean to Walk that Talk?
 
Sara quinn poynter_eyetrack_research_atlanta_press_club
Sara quinn poynter_eyetrack_research_atlanta_press_clubSara quinn poynter_eyetrack_research_atlanta_press_club
Sara quinn poynter_eyetrack_research_atlanta_press_club
 
More pomo stuff (after easter)
More pomo stuff (after easter)More pomo stuff (after easter)
More pomo stuff (after easter)
 
Crinovate
CrinovateCrinovate
Crinovate
 
CIRCUS, Helen Keegan
CIRCUS, Helen KeeganCIRCUS, Helen Keegan
CIRCUS, Helen Keegan
 
Study guide literacy IA mid-term
Study guide literacy IA mid-termStudy guide literacy IA mid-term
Study guide literacy IA mid-term
 
Creativity & Innovation Management 2007
Creativity & Innovation Management 2007Creativity & Innovation Management 2007
Creativity & Innovation Management 2007
 
Representation
Representation Representation
Representation
 
Aquifer
AquiferAquifer
Aquifer
 
Creativity
CreativityCreativity
Creativity
 
Introduction To Documentation
Introduction To DocumentationIntroduction To Documentation
Introduction To Documentation
 
STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...
STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...
STAK: Serendipitous Tool for Augmenting Knowledge - Bridging gaps between dig...
 
Free Time - or - The Flywheel Effect
Free Time - or - The Flywheel EffectFree Time - or - The Flywheel Effect
Free Time - or - The Flywheel Effect
 

Recently uploaded

Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of ProgrammingMatt Welsh
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareinfo611746
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 

Recently uploaded (20)

Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 

Sindrome de Niggle CAS2015

  • 1. El síndrome de Niggle, la orientación a objetos, y la Familia de Juan Carlos I Jorge Uriarte Aretxaga @jorgeuriarte http://www.slideshare.com/gailen/
  • 2.
  • 3. “La Familia de Juan Carlos I”, de Antonio López
  • 4. “La Familia de Juan Carlos I”, de Antonio López
  • 5.
  • 6.
  • 7.
  • 8.
  • 10.
  • 11. “There was once a little man called Niggle, who had a long journey to make.”
  • 12. “Niggle was a painter. Not a very succesful one.” “There was once a little man called Niggle, who had a long journey to make.”
  • 13. “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.”
  • 14. “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.”
  • 15. “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.”
  • 16. “There was one picture in particular that bothered him.”
  • 17. “It had begun with a leaf caught in the wind, and it became a tree” “There was one picture in particular that bothered him.”
  • 18. “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 tree grew, sending out innumerable branches, and thrusting out the most fantastic roots.”
  • 19. “Strange birds came and settled on the twigs, and had to be attended to.”
  • 20. “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.”
  • 21. “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...”
  • 22. “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.”
  • 23. "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
  • 24. “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."
  • 25. How do we recognize Niggle’s syndrome? • At product “stories” level • At a “technical” level
  • 26. • At product,“stories” level: • Too many things to do • To many details in the wrong areas • “Featuritis” How do we recognize Niggle’s syndrome?
  • 27. 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
  • 29.
  • 31. • 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!
  • 32. 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?
  • 33. So it’s not about tech granularity…
  • 34. So it’s not about tech granularity… …it’s about design
  • 35. So it’s not about tech granularity… …it’s about design And maybe design is essentially…
  • 36. …it’s about design And maybe design is essentially… …the quest for the adequate level of abstraction So it’s not about tech granularity…
  • 37.
  • 38.
  • 39.
  • 40. In some parts, we’ll push toward real-world’s details…
  • 41. In others, we’ll settle for ‘basic function’, and discard ‘form’ or ‘reality’
  • 43.
  • 45.
  • 46. 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”
  • 47. And what about the ‘big’ scope?
  • 48.
  • 49. 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?
  • 50. It’s not a fair comparison, because a painting is not a moving target like software products
  • 51. Or isn’t it? How to approach big scopes?
  • 52. “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”
  • 53. “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.”
  • 54. “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?”
  • 55. “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:”
  • 56. “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.”
  • 57. “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?
  • 58. And change? What about dealing with ‘change’?
  • 59. Sometimes, the vision will grow yet keep the original concerns “centered”
  • 60. Sometimes, the vision will grow yet keep the original concerns “centered”
  • 61. “Madrid desde la torre de bomberos deVallecas”, de Antonio López. 1990 - 2006 Sometimes, the vision will grow yet keep the original concerns “centered”
  • 62. But sometimes, vision asks to evolve in a much more radical way…
  • 63. “Terraza de Lucio”, de Antonio López. 1962 - 1990 But sometimes, vision asks to evolve in a much more radical way…
  • 64. “Terraza de Lucio”, de Antonio López. 1962 - 1990
  • 65. “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
  • 66. Incredible details… …live together with regrets and corrections… …so it’s not a pre-defined vision …where the whole painting evolves…
  • 67. …even though there was a vision
  • 68. 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
  • 69. Not ‘painting’, but ‘reality grasping’ tools Antonio Lopez’s tools
  • 70. “My uncle despised all those strict methodologies. He used to say the sight should be educated, and for long years I thought the same.”
  • 71. “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.”
  • 72.
  • 73.
  • 74. But… but… we’ve got tools too!
  • 75. • 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…
  • 76. • 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…
  • 77. • Lean Startup… ;) • Lean UX… ;) • Lean whatever… • “Design sprint”… But… but… we’ve got tools too! And even more, in the product side…
  • 78. but again… even though they will help us understand the reality we want to model… But… but… we’ve got tools too!
  • 79. 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…
  • 80. So… how should we approach product design?
  • 81. So… how should we approach product design? How could we escape from" “Niggle’s Sydrome” ?
  • 82. So… how should we approach product design? How could we escape from" “Niggle’s Sydrome” ? Are we throwing away our design knowledge?
  • 83. 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.
  • 84. “A work is never finished, just takes you to the limit of your own posibilities” - Antonio López García