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 El síndrome de Niggle, la orientación a objetos, y la Familia de Juan Carlos I

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 2016
benosteen
 
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
LeanAgileTraining
 
MTV: Mobile, Transliterate, Visible
MTV: Mobile, Transliterate, VisibleMTV: Mobile, Transliterate, Visible
MTV: Mobile, Transliterate, Visible
Amy Burvall
 
What Would da Vinci Do?
What Would da Vinci Do?What Would da Vinci Do?
What Would da Vinci Do?
Amy Burvall
 
The art of AI Art
The art of AI ArtThe art of AI Art
The art of AI Art
Dennis Vroegop
 
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
 
CIRCUS, Helen Keegan
CIRCUS, Helen KeeganCIRCUS, Helen Keegan
CIRCUS, Helen Keegan
University of Salford
 
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 2007
Lukas Ritzel
 
Representation
Representation Representation
Aquifer
AquiferAquifer
Creativity
CreativityCreativity
Creativity
AikiDamilola
 
Introduction To Documentation
Introduction To DocumentationIntroduction To Documentation
Introduction To Documentation
OpenSpace
 
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 Effect
Ryan Price
 

Similar to El síndrome de Niggle, la orientación a objetos, y la Familia de Juan Carlos I (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
 

More from Gailen Tecnologías

Agile for Scrummies - BilboStack
Agile for Scrummies - BilboStackAgile for Scrummies - BilboStack
Agile for Scrummies - BilboStack
Gailen Tecnologías
 
Cuando éramos tres esto lo hacíamos en una semana...
Cuando éramos tres esto lo hacíamos en una semana...Cuando éramos tres esto lo hacíamos en una semana...
Cuando éramos tres esto lo hacíamos en una semana...
Gailen Tecnologías
 
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
Gailen Tecnologías
 
Economías de escala en Agile. Respondiendo a la pregunta incorrecta
Economías de escala en Agile. Respondiendo a la pregunta incorrectaEconomías de escala en Agile. Respondiendo a la pregunta incorrecta
Economías de escala en Agile. Respondiendo a la pregunta incorrecta
Gailen Tecnologías
 
Presentacion cas2013
Presentacion cas2013Presentacion cas2013
Presentacion cas2013
Gailen Tecnologías
 
From Big GORM-centered into a cloud of fast redis nodes
From Big GORM-centered into a cloud of fast redis nodesFrom Big GORM-centered into a cloud of fast redis nodes
From Big GORM-centered into a cloud of fast redis nodesGailen Tecnologías
 
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
Gailen Tecnologías
 
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2 Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
Gailen Tecnologías
 
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre JavaGroovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Gailen Tecnologías
 
Deconstructing grails-i18n-fields plugin
Deconstructing grails-i18n-fields pluginDeconstructing grails-i18n-fields plugin
Deconstructing grails-i18n-fields plugin
Gailen Tecnologías
 
La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - Uniencounter
Gailen Tecnologías
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacional
Gailen Tecnologías
 
¿Agile y distribuido?
¿Agile y distribuido?¿Agile y distribuido?
¿Agile y distribuido?
Gailen Tecnologías
 
Priorización del Valor del Negocio - Euskadi Invest
Priorización del Valor del Negocio - Euskadi InvestPriorización del Valor del Negocio - Euskadi Invest
Priorización del Valor del Negocio - Euskadi Invest
Gailen Tecnologías
 

More from Gailen Tecnologías (16)

Agile for Scrummies - BilboStack
Agile for Scrummies - BilboStackAgile for Scrummies - BilboStack
Agile for Scrummies - BilboStack
 
Cuando éramos tres esto lo hacíamos en una semana...
Cuando éramos tres esto lo hacíamos en una semana...Cuando éramos tres esto lo hacíamos en una semana...
Cuando éramos tres esto lo hacíamos en una semana...
 
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
¿Cuándo dejamos de ser personas para convertirnos en organizaciones?
 
Economías de escala en Agile. Respondiendo a la pregunta incorrecta
Economías de escala en Agile. Respondiendo a la pregunta incorrectaEconomías de escala en Agile. Respondiendo a la pregunta incorrecta
Economías de escala en Agile. Respondiendo a la pregunta incorrecta
 
Presentacion cas2013
Presentacion cas2013Presentacion cas2013
Presentacion cas2013
 
From Big GORM-centered into a cloud of fast redis nodes
From Big GORM-centered into a cloud of fast redis nodesFrom Big GORM-centered into a cloud of fast redis nodes
From Big GORM-centered into a cloud of fast redis nodes
 
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
Sesgo de confirmación, elección de bando, y el síndrome del Comprador de Coches
 
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2 Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
Bielsa, Guardiola, los principios ágiles, y el Scrum 4-4-2
 
Groovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre JavaGroovy: Un nombre tonto para una palanca de productividad sobre Java
Groovy: Un nombre tonto para una palanca de productividad sobre Java
 
Deconstructing grails-i18n-fields plugin
Deconstructing grails-i18n-fields pluginDeconstructing grails-i18n-fields plugin
Deconstructing grails-i18n-fields plugin
 
La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - Uniencounter
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacional
 
Gailen - En 3 minutos
Gailen - En 3 minutosGailen - En 3 minutos
Gailen - En 3 minutos
 
¿Agile y distribuido?
¿Agile y distribuido?¿Agile y distribuido?
¿Agile y distribuido?
 
Transición a proyectos ágiles
Transición a proyectos ágilesTransición a proyectos ágiles
Transición a proyectos ágiles
 
Priorización del Valor del Negocio - Euskadi Invest
Priorización del Valor del Negocio - Euskadi InvestPriorización del Valor del Negocio - Euskadi Invest
Priorización del Valor del Negocio - Euskadi Invest
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
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
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
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...
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 

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

  • 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