SlideShare a Scribd company logo
1 of 13
Charles Tolman
Imagination in Software Development
© Charles Tolman 2014
Structure
• Why Imagination?
• Historical Philosophical Background
• Relation to Software Development
• Brain Hemisphere Function
• Exercises
• Discussion
© Charles Tolman 2014
Why?
• Need a better answer to the question: How to improve judgement?
• Continuing surprise at the difference between programmers.
• Need to balance prevailing primary focus on process… results… money.
Frustration with ‘disconnect’ between developers & managers.
Glass 2002 “Facts & Fallacies of Software Engineering” Fact 13. p39.
• Naur’s Theory Building view - importance to maintenance & development.
• Wanting to increase awareness about internal thought processes.
© Charles Tolman 2014
Why look at Imagination?
Historical Background
• Thirty Years War 1618 – 1648
Catholics vs Protestants.
Subjectivity of religious faith.
• Descartes 1596 – 1650
I Think Therefore I Am. The quest for certainty.
The attempt to eradicate subjectivity.
• Goethe 1749 – 1832
The need for a Delicate Empiricism during observation.
The importance of Exact Sensorial Imagination - not ungrounded fantasy.
An Educated subjectivity.
• The Phenomenologists of the 20th Century
Husserl, Heidegger, Wittgenstein, Gadamer
A sea change in looking at how we know anything.
© Charles Tolman 2014
, Descartes & GoetheWar
Software Development
• SW dev marks the transition from EXTERNAL to INTERNAL problem solving.
It is a significant shift that has largely gone unnoticed.
• We will not get far keeping to a purely outward results-oriented approach.
cf Alexander’s ‘Mirror of the Self’ test:
“…which of the two objects seems like a better picture of all of you, the whole of you:
a picture which shows you as you are, with all your hopes, fears, weaknesses, glory
and absurdity, and which – as far as possible – includes everything that you could ever hope to be. In other
words, which comes closer to being a true picture of you in all your weakness and humanity;…”
Nature of Order: Book1: p317.
• Naur’s ‘Theory Building’ view of SW dev. Naur, 1985 “Programming as Theory Building”
The need to keep the ‘Theory’ alive in a team of programmers.
• Jack Reeves on ‘Code as Design’ – the need to see both the parts & the whole.
1992 http://www.developerdotstar.com/mag/articles/reeves_design.html
• SW quality depends upon the quality of our internal problem solving process.
We need to develop self-awareness about these processes.
© Charles Tolman 2014
The Inner Dimension
Brain Function
• Primary resource is “The Master & His Emissary’ by Iain McGilchrist.
• Right Hemisphere [RH] deals with the Immediacy of Lived Experience.
• Left Hemisphere [LH] unpacks/abstracts experience.
• RH presents lived experience to the LH.
LH abstracts & ‘unpacks experience’.
This is reintegrated with the experience.
To generate knowledge.
• Imagination comes into being in the interaction between the hemispheres.
Split-brain patients have problems with dreaming, imagination, creativity.
• But explicit cognition is dependent upon the LH.
• Trying to understand cognition using analytic techniques is difficult.
• But by using an experiential approach we can try…
[Be aware there is controversy about brain hemisphere characterisations]
© Charles Tolman 2014
The Master & His Emissary
The Exercises
• Listening to a short story excerpt.
“The Dark Room” by Rachel Sieffert.
• A minute of individual reflection followed by discussion in small groups (5 mins).
• A film of the same excerpt.
“Lore” by Robin Mukherjee. Director Cate Shortland.
• Listening to the story excerpt again.
• A minute of individual reflection followed by discussion in small groups (5 mins).
• Plenum
• Design Exercise - individually.
• Discussion in small groups (5 mins).
• Plenum.
© Charles Tolman 2014
Story : Film : Story : Design
The Exercises
• Think about the need to cause updates of a static image display to happen while the user is
adjusting an image parameter such as a filter setting.
• Input device can be a pen & tablet or mouse. Output device is any display device.
• It takes a noticeable amount of time to process the image – say 200ms.
• The user can change the control parameters faster than the process time – say 20ms.
• Focus on the basic architectural issues that are needed.
• How do you ensure:
i. The image gets updated while the control parameters are changing.
ii. Once the control parameters have stopped updating – the final image
must show the correct result to match the final values of the parameters.
© Charles Tolman 2014
Design
Concluding Thoughts
• Being a good programmer requires self-development
and part of this is developing a controlled imagination.
• The picture of the inability of the ‘master’ to be a teacher is a fallacy.
• Our job is about being able to map the unknown
and to help our clients do so as well.
• We need both the abstract left brain thinking
as well as gestalt right brain thinking.
• Although this is a ‘soft’ subject compared to the groundedness of C++14
In reality we need to develop BOTH aspects TOGETHER.
© Charles Tolman 2014
Useful References
• ‘The Master and His Emissary’ by Iain McGilchrist.
• ‘Taking Appearance Seriously’ by Henri Bortoft.
Probably the best introduction to Goethe’s method and Phenomenology
and a very good historical overview of the pertinent philosophy.
• ‘The Nature of Order’ by Christopher Alexander.
A lot to read but a master work giving insight into Alexander’s world-view.
© Charles Tolman 2014
Flipchart Notes from Workshop on 12th April 2014
• STORY
Vivid images – more vivid hearing story than reading it.
3 processes: Visual Picturing; Emotional; Logical Probing.
Sense of being in the characters and in the narrative.
Some people filtering images because of dislike of descriptive text.
Focus on the feelings.
Environment is important – image of book cover from slides affected internal images.
Certain motifs – i.e. getting home – carry more emotional weight.
• FILM
Weaker because more concrete.
Better than listening to a description for those that dislike descriptive text.
More manipulative of the emotions – More emotion give by the film.
Logical process happening comparing to previous experience of listening to the story.
© Charles Tolman 2014
Flipchart Notes from Workshop on 12th April 2014
• DESIGN
Past experience affects ideas.
Working from analogous ideas.
Explicit expression (writing down) needed when performing analysis.
Ideas experienced as a story, but sequentially instead of in parallel as when listening to
a story.
Probing the design needs it made explicit on paper.
A process of initial analysis followed by abstracting the core ideas.
Wanting to push back and question the requirements. Can some of them be changed?
• PARTICIPANT FEEDBACK
Be wary of simplistic brain hemisphere characterisations.
• Many thanks to all who participated.
© Charles Tolman 2014
Thank you
Blog
charlestolman.com
Email
ct@acm.org
© Charles Tolman 2014

More Related Content

What's hot

2450 f15 02-norman1_as_delivered
2450 f15 02-norman1_as_delivered2450 f15 02-norman1_as_delivered
2450 f15 02-norman1_as_delivereddrewmargolin
 
2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivered2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivereddrewmargolin
 
Leadership From Below: What Software Developers do for Society and Why Others...
Leadership From Below: What Software Developers do for Society and Why Others...Leadership From Below: What Software Developers do for Society and Why Others...
Leadership From Below: What Software Developers do for Society and Why Others...Trond Arne Undheim
 
2450 f15 05-norman4_as_delivered
2450 f15 05-norman4_as_delivered2450 f15 05-norman4_as_delivered
2450 f15 05-norman4_as_delivereddrewmargolin
 
Tech tools for complex phenomena tech2019
Tech tools for complex phenomena  tech2019Tech tools for complex phenomena  tech2019
Tech tools for complex phenomena tech2019GenWise TalentDev
 
Hpai class 18 - inner voice - 042020
Hpai   class 18 - inner voice - 042020Hpai   class 18 - inner voice - 042020
Hpai class 18 - inner voice - 042020melendez321
 
Design Ethnography for Lean Teams
Design Ethnography for Lean TeamsDesign Ethnography for Lean Teams
Design Ethnography for Lean TeamsWilliam Evans
 
2450 f15 04-norman3_as_delivered
2450 f15 04-norman3_as_delivered2450 f15 04-norman3_as_delivered
2450 f15 04-norman3_as_delivereddrewmargolin
 
Dealing with complexity in development (research) projects
Dealing with complexity in development (research) projectsDealing with complexity in development (research) projects
Dealing with complexity in development (research) projectsEwen Le Borgne
 
Bradford mvsu chapters 2 4 short revised
Bradford mvsu chapters 2 4 short revisedBradford mvsu chapters 2 4 short revised
Bradford mvsu chapters 2 4 short revisedJohn Bradford
 
Multitasking: Maximum Effectiveness, Minimum Errors.
Multitasking: Maximum Effectiveness, Minimum Errors.Multitasking: Maximum Effectiveness, Minimum Errors.
Multitasking: Maximum Effectiveness, Minimum Errors.Rommie Duckworth
 
Next Generation of Government Summit - Official 2011 Program
Next Generation of Government Summit - Official 2011 ProgramNext Generation of Government Summit - Official 2011 Program
Next Generation of Government Summit - Official 2011 ProgramGovLoop
 
I got 99 problems but tech aint one
I got 99 problems but tech aint oneI got 99 problems but tech aint one
I got 99 problems but tech aint oneNirmal Mehta
 

What's hot (17)

2450 f15 02-norman1_as_delivered
2450 f15 02-norman1_as_delivered2450 f15 02-norman1_as_delivered
2450 f15 02-norman1_as_delivered
 
2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivered2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivered
 
Leadership From Below: What Software Developers do for Society and Why Others...
Leadership From Below: What Software Developers do for Society and Why Others...Leadership From Below: What Software Developers do for Society and Why Others...
Leadership From Below: What Software Developers do for Society and Why Others...
 
2450 f15 05-norman4_as_delivered
2450 f15 05-norman4_as_delivered2450 f15 05-norman4_as_delivered
2450 f15 05-norman4_as_delivered
 
Tech tools for complex phenomena tech2019
Tech tools for complex phenomena  tech2019Tech tools for complex phenomena  tech2019
Tech tools for complex phenomena tech2019
 
Hpai class 18 - inner voice - 042020
Hpai   class 18 - inner voice - 042020Hpai   class 18 - inner voice - 042020
Hpai class 18 - inner voice - 042020
 
Multitasking
MultitaskingMultitasking
Multitasking
 
Innovation talk
Innovation talkInnovation talk
Innovation talk
 
Design Ethnography for Lean Teams
Design Ethnography for Lean TeamsDesign Ethnography for Lean Teams
Design Ethnography for Lean Teams
 
2450 f15 04-norman3_as_delivered
2450 f15 04-norman3_as_delivered2450 f15 04-norman3_as_delivered
2450 f15 04-norman3_as_delivered
 
Drawing Rich Pictures as a sense-making tool
Drawing Rich Pictures as a sense-making toolDrawing Rich Pictures as a sense-making tool
Drawing Rich Pictures as a sense-making tool
 
Dealing with complexity in development (research) projects
Dealing with complexity in development (research) projectsDealing with complexity in development (research) projects
Dealing with complexity in development (research) projects
 
Bradford mvsu chapters 2 4 short revised
Bradford mvsu chapters 2 4 short revisedBradford mvsu chapters 2 4 short revised
Bradford mvsu chapters 2 4 short revised
 
PDC+++ Module 1 Class 6
PDC+++ Module 1 Class 6PDC+++ Module 1 Class 6
PDC+++ Module 1 Class 6
 
Multitasking: Maximum Effectiveness, Minimum Errors.
Multitasking: Maximum Effectiveness, Minimum Errors.Multitasking: Maximum Effectiveness, Minimum Errors.
Multitasking: Maximum Effectiveness, Minimum Errors.
 
Next Generation of Government Summit - Official 2011 Program
Next Generation of Government Summit - Official 2011 ProgramNext Generation of Government Summit - Official 2011 Program
Next Generation of Government Summit - Official 2011 Program
 
I got 99 problems but tech aint one
I got 99 problems but tech aint oneI got 99 problems but tech aint one
I got 99 problems but tech aint one
 

Similar to Accu2014 Imagination in Software Development

Change the Language, Change the Rules
Change the Language, Change the RulesChange the Language, Change the Rules
Change the Language, Change the RulesTom Hoyland
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent isRashmika Nawaratne
 
ALES204 2012: Public Speaking Continued
ALES204 2012: Public Speaking ContinuedALES204 2012: Public Speaking Continued
ALES204 2012: Public Speaking ContinuedJessica Laccetti
 
Slides for Norman Chap 1
Slides for Norman Chap 1 Slides for Norman Chap 1
Slides for Norman Chap 1 drewmargolin
 
Shaping the dynamics of a new virtual team - Tony Llewellyn and Paolo Fidelbo
Shaping the dynamics of a new virtual team - Tony Llewellyn and Paolo FidelboShaping the dynamics of a new virtual team - Tony Llewellyn and Paolo Fidelbo
Shaping the dynamics of a new virtual team - Tony Llewellyn and Paolo FidelboPMIUKChapter
 
Mental Modeling For Content Work: Contextual Inquiry, Personas and Planning
Mental Modeling For Content Work: Contextual Inquiry, Personas and PlanningMental Modeling For Content Work: Contextual Inquiry, Personas and Planning
Mental Modeling For Content Work: Contextual Inquiry, Personas and PlanningDaniel Eizans
 
Art and Media Communications II
Art and Media Communications IIArt and Media Communications II
Art and Media Communications IICHTCT
 
Usability and User Experience Training Seminar
Usability and User Experience Training SeminarUsability and User Experience Training Seminar
Usability and User Experience Training Seminarlabecvar
 
Drawing Out Your Users: Using Sketch Techniques for User Research
Drawing Out Your Users: Using Sketch Techniques for User ResearchDrawing Out Your Users: Using Sketch Techniques for User Research
Drawing Out Your Users: Using Sketch Techniques for User ResearchBennett King
 
Peoplware slides tech session
Peoplware slides  tech sessionPeoplware slides  tech session
Peoplware slides tech sessionKhizra Sammad
 
Reconsider Shlaer-Mellor method as Conceptual Modeling
Reconsider Shlaer-Mellor method as Conceptual ModelingReconsider Shlaer-Mellor method as Conceptual Modeling
Reconsider Shlaer-Mellor method as Conceptual ModelingKnowledge & Experience
 
Gutenberg Revisited
Gutenberg RevisitedGutenberg Revisited
Gutenberg RevisitedCHTCT
 
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUModule 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUSachin Gowda
 
Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Vicenç García-Altés
 
Swampy lowlands
Swampy lowlandsSwampy lowlands
Swampy lowlandsJamie Ward
 
Language and Agile Coaching
Language and Agile CoachingLanguage and Agile Coaching
Language and Agile CoachingTom Hoyland
 

Similar to Accu2014 Imagination in Software Development (20)

Change the Language, Change the Rules
Change the Language, Change the RulesChange the Language, Change the Rules
Change the Language, Change the Rules
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent is
 
ALES204 2012: Public Speaking Continued
ALES204 2012: Public Speaking ContinuedALES204 2012: Public Speaking Continued
ALES204 2012: Public Speaking Continued
 
Slides for Norman Chap 1
Slides for Norman Chap 1 Slides for Norman Chap 1
Slides for Norman Chap 1
 
Shaping the dynamics of a new virtual team - Tony Llewellyn and Paolo Fidelbo
Shaping the dynamics of a new virtual team - Tony Llewellyn and Paolo FidelboShaping the dynamics of a new virtual team - Tony Llewellyn and Paolo Fidelbo
Shaping the dynamics of a new virtual team - Tony Llewellyn and Paolo Fidelbo
 
Mental Modeling For Content Work: Contextual Inquiry, Personas and Planning
Mental Modeling For Content Work: Contextual Inquiry, Personas and PlanningMental Modeling For Content Work: Contextual Inquiry, Personas and Planning
Mental Modeling For Content Work: Contextual Inquiry, Personas and Planning
 
Art and Media Communications II
Art and Media Communications IIArt and Media Communications II
Art and Media Communications II
 
Usability and User Experience Training Seminar
Usability and User Experience Training SeminarUsability and User Experience Training Seminar
Usability and User Experience Training Seminar
 
Drawing Out Your Users: Using Sketch Techniques for User Research
Drawing Out Your Users: Using Sketch Techniques for User ResearchDrawing Out Your Users: Using Sketch Techniques for User Research
Drawing Out Your Users: Using Sketch Techniques for User Research
 
Creativity
Creativity  Creativity
Creativity
 
Peoplware slides tech session
Peoplware slides  tech sessionPeoplware slides  tech session
Peoplware slides tech session
 
Editing your Doc
Editing your DocEditing your Doc
Editing your Doc
 
Reconsider Shlaer-Mellor method as Conceptual Modeling
Reconsider Shlaer-Mellor method as Conceptual ModelingReconsider Shlaer-Mellor method as Conceptual Modeling
Reconsider Shlaer-Mellor method as Conceptual Modeling
 
Gutenberg Revisited
Gutenberg RevisitedGutenberg Revisited
Gutenberg Revisited
 
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUModule 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
 
The Lazy Project Manager
The Lazy Project ManagerThe Lazy Project Manager
The Lazy Project Manager
 
Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)
 
Swampy lowlands
Swampy lowlandsSwampy lowlands
Swampy lowlands
 
Language and Agile Coaching
Language and Agile CoachingLanguage and Agile Coaching
Language and Agile Coaching
 
Secrets of Scrum
Secrets of ScrumSecrets of Scrum
Secrets of Scrum
 

Recently uploaded

Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
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
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
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
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 

Recently uploaded (20)

Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
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
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
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
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 

Accu2014 Imagination in Software Development

  • 1. Charles Tolman Imagination in Software Development © Charles Tolman 2014
  • 2. Structure • Why Imagination? • Historical Philosophical Background • Relation to Software Development • Brain Hemisphere Function • Exercises • Discussion © Charles Tolman 2014
  • 3. Why? • Need a better answer to the question: How to improve judgement? • Continuing surprise at the difference between programmers. • Need to balance prevailing primary focus on process… results… money. Frustration with ‘disconnect’ between developers & managers. Glass 2002 “Facts & Fallacies of Software Engineering” Fact 13. p39. • Naur’s Theory Building view - importance to maintenance & development. • Wanting to increase awareness about internal thought processes. © Charles Tolman 2014 Why look at Imagination?
  • 4. Historical Background • Thirty Years War 1618 – 1648 Catholics vs Protestants. Subjectivity of religious faith. • Descartes 1596 – 1650 I Think Therefore I Am. The quest for certainty. The attempt to eradicate subjectivity. • Goethe 1749 – 1832 The need for a Delicate Empiricism during observation. The importance of Exact Sensorial Imagination - not ungrounded fantasy. An Educated subjectivity. • The Phenomenologists of the 20th Century Husserl, Heidegger, Wittgenstein, Gadamer A sea change in looking at how we know anything. © Charles Tolman 2014 , Descartes & GoetheWar
  • 5. Software Development • SW dev marks the transition from EXTERNAL to INTERNAL problem solving. It is a significant shift that has largely gone unnoticed. • We will not get far keeping to a purely outward results-oriented approach. cf Alexander’s ‘Mirror of the Self’ test: “…which of the two objects seems like a better picture of all of you, the whole of you: a picture which shows you as you are, with all your hopes, fears, weaknesses, glory and absurdity, and which – as far as possible – includes everything that you could ever hope to be. In other words, which comes closer to being a true picture of you in all your weakness and humanity;…” Nature of Order: Book1: p317. • Naur’s ‘Theory Building’ view of SW dev. Naur, 1985 “Programming as Theory Building” The need to keep the ‘Theory’ alive in a team of programmers. • Jack Reeves on ‘Code as Design’ – the need to see both the parts & the whole. 1992 http://www.developerdotstar.com/mag/articles/reeves_design.html • SW quality depends upon the quality of our internal problem solving process. We need to develop self-awareness about these processes. © Charles Tolman 2014 The Inner Dimension
  • 6. Brain Function • Primary resource is “The Master & His Emissary’ by Iain McGilchrist. • Right Hemisphere [RH] deals with the Immediacy of Lived Experience. • Left Hemisphere [LH] unpacks/abstracts experience. • RH presents lived experience to the LH. LH abstracts & ‘unpacks experience’. This is reintegrated with the experience. To generate knowledge. • Imagination comes into being in the interaction between the hemispheres. Split-brain patients have problems with dreaming, imagination, creativity. • But explicit cognition is dependent upon the LH. • Trying to understand cognition using analytic techniques is difficult. • But by using an experiential approach we can try… [Be aware there is controversy about brain hemisphere characterisations] © Charles Tolman 2014 The Master & His Emissary
  • 7. The Exercises • Listening to a short story excerpt. “The Dark Room” by Rachel Sieffert. • A minute of individual reflection followed by discussion in small groups (5 mins). • A film of the same excerpt. “Lore” by Robin Mukherjee. Director Cate Shortland. • Listening to the story excerpt again. • A minute of individual reflection followed by discussion in small groups (5 mins). • Plenum • Design Exercise - individually. • Discussion in small groups (5 mins). • Plenum. © Charles Tolman 2014 Story : Film : Story : Design
  • 8. The Exercises • Think about the need to cause updates of a static image display to happen while the user is adjusting an image parameter such as a filter setting. • Input device can be a pen & tablet or mouse. Output device is any display device. • It takes a noticeable amount of time to process the image – say 200ms. • The user can change the control parameters faster than the process time – say 20ms. • Focus on the basic architectural issues that are needed. • How do you ensure: i. The image gets updated while the control parameters are changing. ii. Once the control parameters have stopped updating – the final image must show the correct result to match the final values of the parameters. © Charles Tolman 2014 Design
  • 9. Concluding Thoughts • Being a good programmer requires self-development and part of this is developing a controlled imagination. • The picture of the inability of the ‘master’ to be a teacher is a fallacy. • Our job is about being able to map the unknown and to help our clients do so as well. • We need both the abstract left brain thinking as well as gestalt right brain thinking. • Although this is a ‘soft’ subject compared to the groundedness of C++14 In reality we need to develop BOTH aspects TOGETHER. © Charles Tolman 2014
  • 10. Useful References • ‘The Master and His Emissary’ by Iain McGilchrist. • ‘Taking Appearance Seriously’ by Henri Bortoft. Probably the best introduction to Goethe’s method and Phenomenology and a very good historical overview of the pertinent philosophy. • ‘The Nature of Order’ by Christopher Alexander. A lot to read but a master work giving insight into Alexander’s world-view. © Charles Tolman 2014
  • 11. Flipchart Notes from Workshop on 12th April 2014 • STORY Vivid images – more vivid hearing story than reading it. 3 processes: Visual Picturing; Emotional; Logical Probing. Sense of being in the characters and in the narrative. Some people filtering images because of dislike of descriptive text. Focus on the feelings. Environment is important – image of book cover from slides affected internal images. Certain motifs – i.e. getting home – carry more emotional weight. • FILM Weaker because more concrete. Better than listening to a description for those that dislike descriptive text. More manipulative of the emotions – More emotion give by the film. Logical process happening comparing to previous experience of listening to the story. © Charles Tolman 2014
  • 12. Flipchart Notes from Workshop on 12th April 2014 • DESIGN Past experience affects ideas. Working from analogous ideas. Explicit expression (writing down) needed when performing analysis. Ideas experienced as a story, but sequentially instead of in parallel as when listening to a story. Probing the design needs it made explicit on paper. A process of initial analysis followed by abstracting the core ideas. Wanting to push back and question the requirements. Can some of them be changed? • PARTICIPANT FEEDBACK Be wary of simplistic brain hemisphere characterisations. • Many thanks to all who participated. © Charles Tolman 2014