SlideShare ist ein Scribd-Unternehmen logo
1 von 85
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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 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
 

Ähnlich wie 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
 

Mehr von Gailen Tecnologías

Agile for Scrummies - BilboStack
Agile for Scrummies - BilboStackAgile for Scrummies - BilboStack
Agile for Scrummies - BilboStackGailen 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 incorrectaGailen 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 JavaGailen Tecnologías
 
Deconstructing grails-i18n-fields plugin
Deconstructing grails-i18n-fields pluginDeconstructing grails-i18n-fields plugin
Deconstructing grails-i18n-fields pluginGailen Tecnologías
 
La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - UniencounterGailen 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 multinacionalGailen 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 InvestGailen Tecnologías
 

Mehr von 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
 

Kürzlich hochgeladen

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Kürzlich hochgeladen (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

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