Accu2014 Imagination in Software Development

13
Charles Tolman Imagination in Software Development © Charles Tolman 2014

Transcript of Accu2014 Imagination in Software Development

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 – 1650I Think Therefore I Am. The quest for certainty.The attempt to eradicate subjectivity.

• Goethe 1749 – 1832The need for a Delicate Empiricism during observation.The importance of Exact Sensorial Imagination - not ungrounded fantasy.An Educated subjectivity.

• The Phenomenologists of the 20th CenturyHusserl, Heidegger, Wittgenstein, GadamerA 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, gloryand 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 imagemust show the correct result to match the final values of the parameters.

© Charles Tolman 2014

Design

Concluding Thoughts

• Being a good programmer requires self-developmentand 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 unknownand to help our clients do so as well.

• We need both the abstract left brain thinkingas well as gestalt right brain thinking.

• Although this is a ‘soft’ subject compared to the groundedness of C++14In 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 Phenomenologyand 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

• STORYVivid 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.

• FILMWeaker 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

• DESIGNPast 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 FEEDBACKBe wary of simplistic brain hemisphere characterisations.

• Many thanks to all who participated.

© Charles Tolman 2014

Thank you

Blogcharlestolman.com

[email protected]

© Charles Tolman 2014