SlideShare una empresa de Scribd logo
1 de 21
An Exploration of the
Phenomenology of Software
      Development




           Charles Tolman
             ct@acm.org
      http://charlestolman.com
   ACCU 2013         12th April 2013
                                       © Charles Tolman 2013
Why Explore Phenomenology?

• And just what has it got to do with Software Development?
    • There has been a major change in the form of tools, from physical to virtual.
       Dijkstra 1972: “[computers] have had a great impact on our society in their capacity as tools…[this] will be
       but a ripple…compared with the much more profound influence they will have in their capacity of
       intellectual challenge which will be without precedence in the cultural history of mankind.”

    • In tune with the underlying Cartesian, dualistic world-view, we focus primarily on
      results. Though necessary - there are significant negative consequences.
    • Phenomenology can lead us to a more integrated world-view which I believe this
      industry needs to be more balanced, and human, if it is to progress.




                                                                                                    © Charles Tolman 2013
Talk Structure

   • Background : Novice – Journeyman – Old Grump.
   • Key Observations : Boundary Crossing.
   • Philosophy : Descartes – Goethe.
   • Software : Knowledge – Imagination – Patterns.
   • The Future?




                                                      © Charles Tolman 2013
Background: Novice – The Early Years

• Started out with Electronics at 17 back in 1974!
  Originally a shy young adolescent ‘nerd’.
  Found comfort within the ‘inner world’ of thought.
• Southampton University Electronic Engineering Degree in 1979.
  Moving swiftly from hardware to software developer in 1980.
• Moved into the field of Media. TV/Film Editing systems.
  Worked with cool tech and was enticed by the faerie glamour of the toys!
  Implemented a multi-tasking scheduler in Assembler.




                                                                             © Charles Tolman 2013
Background: Journeyman - The Dangerous Years!

• Playing with more complex, generic, structures. Many of which don’t get used.
  Focusing on the tools rather than the problem.
  Creating unnecessarily complex solutions.
  Letting the Idea overshadow the Problem Context.
• Optimism & arrogance about what can be done, soon followed by…

    SHEER PANIC as the system gets away from you.
• Lack of realisation that debugging requires more complex thought than coding.
• Highlighting the fact that the programmer needs to become more self-aware in order
  to progress through this phase.




                                                                            © Charles Tolman 2013
Background: The Grumpy Old Programmer

• Very aware of the limitations of one’s thinking:
   One is too frequently WRONG! Again and Again and Again and Again…
   Particularly easy to see when debugging.
• Maintenance becomes a priority, leading to:
   A drive towards simplicity/clarity/minimalism.
   Code can look like novice code but will use complexity when required.
• This Appropriate Minimalism shows the wish to find the TRUE ESSENCE of a problem:
   Yet there is balanced judgement between Perfection and Pragmatism.




                                                                           © Charles Tolman 2013
Key Observations: The Importance of Energy

• It takes a significant amount of mental energy to do this job.
• We are making many decisions minute to minute.
• The difference in the rate of progress when there is more energy.
  As a technical lead a significant concern is the level of ENERGY in a team.
• Obvious points: but easily forgotten in the heat of trying to hit deadlines.




                                                                                 © Charles Tolman 2013
Key Observations: The Foundation in Play

• Many early programmers were amateur electronics/radio enthusiasts.
  Then the amateurs turned professional.
• At the beginning of the PC ‘revolution’ many programs were games.
• Transition from programming as PLAY to programming as ECONOMIC.
  But we forget this foundation in PLAY at our peril:
    • It is a fundamentally human activity that fosters resourcefulness.
    • It helps us to understand the world.
• Of course there is always a need to balance:
   • Play & Economics
   • Quality & Utility
• But the scales have tipped too far away from Play.




                                                                           © Charles Tolman 2013
Key Observations: Boundary Crossing

• Tools/Technology are Amplifiers.
  Industrial Revolution:   Devices to amplify physical capabilities.
  Information Technology: Devices to amplify thought.
  The need to be more awake, not less.
• This is a transition of many people from EXTERNAL to INTERNAL problem solving.
  It is a significant shift and has many side-effects.
                    THIS HAS LARGELY GONE UNNOTICED!
• Robert Glass’ Fact 13:
  “There is a disconnect between management and their programmers.”
• This means that we are not ‘just’ programming and will need a larger view of the
  discipline in order for there to be constructive progress.




                                                                             © Charles Tolman 2013
Key Observations: The Inner World

• Programming involves the creation of a completely human-made world.
  With little feedback and few checks against external reality.
• The process of software development can be seen as follows:
   • We engage in THINKING.
   • We create MENTAL MODELS or THOUGHT CONSTRUCTS.
   • We transcode these into SOFTWARE.
• A good programmer needs to be SELF-AWARE
  about this Process and their own Learning.
  The computer can be seen as a ‘Thought-Mirror’.
• Initiation in Thinking: formerly mystical/religious
  experience. But now religion is not adequate!




                                                                 © Charles Tolman 2013
Philosophical Interlude: Some Dudes From History

• Bacon       1561 – 1625
• Descartes   1596 – 1650
• Newton      1642 – 1727


• Goethe      1749 – 1832
• Gadamer     1900 – 2002




                                               © Charles Tolman 2013
Philosophical Interlude: Descartes : Dualism

• Descartes : 1596-1650
   • Cleared the decks to be sure of what we can really know.
      Cutting down to the minimum by getting away from the senses.
    • Split between Mind/Body.
    • But trying to fit in with the church’s religious ideas.
      e.g. 4th Law of Impact!
    • Subject vs Object
      res cogitans : Thinking – Mind/Soul : Active.
      res extensa : Extension – Body/Nature : Passive.




                                                                     © Charles Tolman 2013
Philosophical Interlude: Goethe : Delicate Empiricism

• Goethe : 1749-1832
   • Natural Scientist around at the time of the Industrial Revolution.
      Against the Baconian approach of the separation from natural world.
    • Focus on the phenomenon - not on abstract ideas.
      Warned of the danger of over-hypothesizing…
    • The need for a Delicate Empiricism during observation.
      The importance of Exact Sensorial Imagination - not ungrounded fantasy!
    • Rudolf Steiner (1861-1925) realised that the same methods could be used for
      thinking. i.e treating Thought as a Phenomenon in the same way.




                                                                            © Charles Tolman 2013
Philosophical Interlude: Phenomenology

• The process of ‘Coming into Being’, i.e. Appearance (verb), of a Thing.
  A very difficult concept for us to understand.
  But it is this idea that deals with, and heals, the destructive consequences of the
  Cartesian subject-object split.
• We need to understand that the Appearance and the Thing are ONE item.
• The primary enduring insight about brain function [McGilchrist]:
  RIGHT:     Immediacy of Lived Experience.                    Appearance
  LEFT:      Re-Presents what is Lived – in order to Know.     Thing
• We cannot continue to keep focusing on Results as primary.
  [Agile does have the beginnings of this focus on process
   - but primarily as an externalised idea.]




                                                                                © Charles Tolman 2013
Software: Knowledge or Preconceptions?

• The ‘Tracer Bullets’ experience of knowledge generation highlighted
  the dangers inherent in over-hypothesizing.
  It is too easy to become automatic and habituated in one’s thinking.
   [Workshop at OT2001 facilitated by Paul Simmons/Tom Ayerst]

• Just how aware are we about:
    • The limits of our own knowledge?
    • The process by which we expand our knowledge?
• How often do we jump to conclusions rather than carefully collect data
  or information – whether it be debugging or problem analysis?




• A DELICATELY EMPIRICAL method is a MUST HAVE
  when dealing with fault-finding or user requirements.


                                                                           © Charles Tolman 2013
Software: Imagination

• Generally we believe we are in the visual/geometric domain when considering
  software structures…


• But is it visual?


• REALLY?
• Or are we thinking in terms of FLOW such that the images drop away…
• And how fit are the structures we are imagining i.e. ‘building’.



• A DISCIPLINED IMAGINATION of structures
  and behaviour is a MUST HAVE for good design.



                                                                          © Charles Tolman 2013
Software: Christopher Alexander & Patterns

• Alexander’s comments about Patterns relate to PHYSICAL space.
  Software deals with a MENTAL space, yet his world-view is still relevant.
• There is a difference between True Liking and Apparent Liking.
  Alexander uses the concept of the Mirror of the Self test to tell the difference.
  True Liking is an art and a skill that needs developing.
• I agree with Jim Coplien that we need to “revisit the Alexandrian roots of Patterns”.
  Although Agile is based upon Alexander’s core values
  we have not properly embraced his idea of patterns.
  [See http://www.youtube.com/watch?v=VV4KXKa5ZdQ]

• If these ideas are developed we can get away from the
  subjectivity of ‘Beauty is in the eye of the beholder’.
  But we need to put ourselves into the picture.

• We need to properly understand
  the perspective of PERSONAL &
  PROFESSIONAL DEVELOPMENT
  implicit in Alexander’s world-view.
                                                                                © Charles Tolman 2013
Cartesian Split or Goethean Unity?

This underlying dynamic of ‘The Split’ occurs in many places:
• Descartes:          Subject & Object.
• Brain Function:     Left & Right Hemisphere.
• Career:             Playful Child & Clever Adult.
• Problem-Solving: Abstract Idea & Grounded Perception.
• Judgement:          Perfection & Pragmatism.


This Split is healed by truly
understanding the UNITY of
APPEARANCE & RESULT that
Phenomenology talks about.


                                                                © Charles Tolman 2013
A VISION FOR THE FUTURE : A CHOICE

We can either:
   A. BE UNCONSCIOUS:
      Allow humans to become harnessed to the technology & the economics,
      so they become just a more effective Software Development Tool
      within a mechanistic world-view.
OR
   B. BE CONSCIOUS:
      Re-assess our world view and work with both our personal and technical
      development so we can better shape technology towards human needs.




                                                                   © Charles Tolman 2013
Todo list if you want to take it further:

• READ:
  ‘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.

• STUDY:
  ‘The Nature of Order’ by Christopher Alexander.
    A lot to read but a master work giving insight into Alexander’s world-view.

• READ:
  ‘The Master and His Emissary’ by Iain McGilchrist.
    Another excellent master work dealing with brain function.
•   DISCUSS:
    Get in touch!




                                                                                  © Charles Tolman 2013
Thank you

       Blog
charlestolman.com




     Email
   ct@acm.org
                    © Charles Tolman 2013

Más contenido relacionado

La actualidad más candente

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
 
Tech tools for complex phenomena tech2019
Tech tools for complex phenomena  tech2019Tech tools for complex phenomena  tech2019
Tech tools for complex phenomena tech2019GenWise TalentDev
 
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
 
Hpai class 18 - inner voice - 042020
Hpai   class 18 - inner voice - 042020Hpai   class 18 - inner voice - 042020
Hpai class 18 - inner voice - 042020melendez321
 
Connected But Alone
Connected But AloneConnected But Alone
Connected But AloneRodd Lucier
 
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
 
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...hacktivity
 
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
 

La actualidad más candente (13)

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
 
Tech tools for complex phenomena tech2019
Tech tools for complex phenomena  tech2019Tech tools for complex phenomena  tech2019
Tech tools for complex phenomena tech2019
 
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
 
Hpai class 18 - inner voice - 042020
Hpai   class 18 - inner voice - 042020Hpai   class 18 - inner voice - 042020
Hpai class 18 - inner voice - 042020
 
Innovation talk
Innovation talkInnovation talk
Innovation talk
 
Multitasking
MultitaskingMultitasking
Multitasking
 
Connected But Alone
Connected But AloneConnected But Alone
Connected But Alone
 
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
 
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
 
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
 

Similar a ACCU 2013 Exploration of Phenomenology of Software Development

vBrownBag Presentation
vBrownBag PresentationvBrownBag Presentation
vBrownBag PresentationJon Hildebrand
 
What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?Matteo Emili
 
VMUG UserCon Presentation for 2018
VMUG UserCon Presentation for 2018VMUG UserCon Presentation for 2018
VMUG UserCon Presentation for 2018Jon Hildebrand
 
2017 VMUG UserCon Presentation (IT Culture & DevOps)
2017 VMUG UserCon Presentation (IT Culture & DevOps)2017 VMUG UserCon Presentation (IT Culture & DevOps)
2017 VMUG UserCon Presentation (IT Culture & DevOps)Jon Hildebrand
 
Organize for Complexity (white paper)
Organize for Complexity (white paper)Organize for Complexity (white paper)
Organize for Complexity (white paper)Silke Hermann
 
CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1John Rooksby
 
Moving Out of Silos - Designing the Enterprise
Moving Out of Silos - Designing the EnterpriseMoving Out of Silos - Designing the Enterprise
Moving Out of Silos - Designing the EnterpriseKeith Senkowski
 
Is scrum incompatible with your brain
Is scrum incompatible with your brainIs scrum incompatible with your brain
Is scrum incompatible with your brainHenrik Berglund
 
Organize for Complexity, part I+II - Special Edition Paper
Organize for Complexity, part I+II - Special Edition PaperOrganize for Complexity, part I+II - Special Edition Paper
Organize for Complexity, part I+II - Special Edition PaperNiels Pflaeging
 
Information and media disrupted: implications for strategy
Information and media disrupted: implications for strategyInformation and media disrupted: implications for strategy
Information and media disrupted: implications for strategySelf-employed
 
Organize for Complexity, part I (BetaCodex12)
 Organize for Complexity, part I (BetaCodex12)  Organize for Complexity, part I (BetaCodex12)
Organize for Complexity, part I (BetaCodex12) Niels Pflaeging
 
Digital Transformation , Chapter 7.pptx
Digital Transformation , Chapter 7.pptxDigital Transformation , Chapter 7.pptx
Digital Transformation , Chapter 7.pptxmichaellim1505
 
LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...Toshiharu Harada, Ph.D
 
Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...
Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...
Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...LeanKanbanIndia
 
1810.mid1043.05
1810.mid1043.051810.mid1043.05
1810.mid1043.05vizualizer
 
Accounting, Reporting, Auditing, and Analysis in a Digital Environmentintro
Accounting, Reporting, Auditing, and Analysis in a Digital EnvironmentintroAccounting, Reporting, Auditing, and Analysis in a Digital Environmentintro
Accounting, Reporting, Auditing, and Analysis in a Digital EnvironmentintroCharles Hoffman
 

Similar a ACCU 2013 Exploration of Phenomenology of Software Development (20)

vBrownBag Presentation
vBrownBag PresentationvBrownBag Presentation
vBrownBag Presentation
 
What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?
 
Applying Cognitive Science to User Assistance
Applying Cognitive Science to User AssistanceApplying Cognitive Science to User Assistance
Applying Cognitive Science to User Assistance
 
VMUG UserCon Presentation for 2018
VMUG UserCon Presentation for 2018VMUG UserCon Presentation for 2018
VMUG UserCon Presentation for 2018
 
2017 VMUG UserCon Presentation (IT Culture & DevOps)
2017 VMUG UserCon Presentation (IT Culture & DevOps)2017 VMUG UserCon Presentation (IT Culture & DevOps)
2017 VMUG UserCon Presentation (IT Culture & DevOps)
 
Organize for Complexity (white paper)
Organize for Complexity (white paper)Organize for Complexity (white paper)
Organize for Complexity (white paper)
 
The Lazy Project Manager
The Lazy Project ManagerThe Lazy Project Manager
The Lazy Project Manager
 
CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1
 
Moving Out of Silos - Designing the Enterprise
Moving Out of Silos - Designing the EnterpriseMoving Out of Silos - Designing the Enterprise
Moving Out of Silos - Designing the Enterprise
 
Is scrum incompatible with your brain
Is scrum incompatible with your brainIs scrum incompatible with your brain
Is scrum incompatible with your brain
 
Organize for Complexity, part I+II - Special Edition Paper
Organize for Complexity, part I+II - Special Edition PaperOrganize for Complexity, part I+II - Special Edition Paper
Organize for Complexity, part I+II - Special Edition Paper
 
Human centered design and Social media
Human centered design and Social mediaHuman centered design and Social media
Human centered design and Social media
 
Information and media disrupted: implications for strategy
Information and media disrupted: implications for strategyInformation and media disrupted: implications for strategy
Information and media disrupted: implications for strategy
 
The foundations of agile
The foundations of agileThe foundations of agile
The foundations of agile
 
Organize for Complexity, part I (BetaCodex12)
 Organize for Complexity, part I (BetaCodex12)  Organize for Complexity, part I (BetaCodex12)
Organize for Complexity, part I (BetaCodex12)
 
Digital Transformation , Chapter 7.pptx
Digital Transformation , Chapter 7.pptxDigital Transformation , Chapter 7.pptx
Digital Transformation , Chapter 7.pptx
 
LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...LinuxCon2009: What does it mean being an Open Source project manager in Enter...
LinuxCon2009: What does it mean being an Open Source project manager in Enter...
 
Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...
Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...
Kanban India 2022 | Sudipta Lahiri |Humanizing work - using Kanban thinking a...
 
1810.mid1043.05
1810.mid1043.051810.mid1043.05
1810.mid1043.05
 
Accounting, Reporting, Auditing, and Analysis in a Digital Environmentintro
Accounting, Reporting, Auditing, and Analysis in a Digital EnvironmentintroAccounting, Reporting, Auditing, and Analysis in a Digital Environmentintro
Accounting, Reporting, Auditing, and Analysis in a Digital Environmentintro
 

Último

Stark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxStark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxjeswinjees
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...Call Girls in Nagpur High Profile
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵anilsa9823
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja Nehwal
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdftbatkhuu1
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...Pooja Nehwal
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneLukeKholes
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Douxkojalkojal131
 
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130Suhani Kapoor
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfParomita Roy
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation decktbatkhuu1
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Call Girls in Nagpur High Profile
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 

Último (20)

Stark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxStark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptx
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, Pune
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
 
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
 
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 

ACCU 2013 Exploration of Phenomenology of Software Development

  • 1. An Exploration of the Phenomenology of Software Development Charles Tolman ct@acm.org http://charlestolman.com ACCU 2013 12th April 2013 © Charles Tolman 2013
  • 2. Why Explore Phenomenology? • And just what has it got to do with Software Development? • There has been a major change in the form of tools, from physical to virtual. Dijkstra 1972: “[computers] have had a great impact on our society in their capacity as tools…[this] will be but a ripple…compared with the much more profound influence they will have in their capacity of intellectual challenge which will be without precedence in the cultural history of mankind.” • In tune with the underlying Cartesian, dualistic world-view, we focus primarily on results. Though necessary - there are significant negative consequences. • Phenomenology can lead us to a more integrated world-view which I believe this industry needs to be more balanced, and human, if it is to progress. © Charles Tolman 2013
  • 3. Talk Structure • Background : Novice – Journeyman – Old Grump. • Key Observations : Boundary Crossing. • Philosophy : Descartes – Goethe. • Software : Knowledge – Imagination – Patterns. • The Future? © Charles Tolman 2013
  • 4. Background: Novice – The Early Years • Started out with Electronics at 17 back in 1974! Originally a shy young adolescent ‘nerd’. Found comfort within the ‘inner world’ of thought. • Southampton University Electronic Engineering Degree in 1979. Moving swiftly from hardware to software developer in 1980. • Moved into the field of Media. TV/Film Editing systems. Worked with cool tech and was enticed by the faerie glamour of the toys! Implemented a multi-tasking scheduler in Assembler. © Charles Tolman 2013
  • 5. Background: Journeyman - The Dangerous Years! • Playing with more complex, generic, structures. Many of which don’t get used. Focusing on the tools rather than the problem. Creating unnecessarily complex solutions. Letting the Idea overshadow the Problem Context. • Optimism & arrogance about what can be done, soon followed by… SHEER PANIC as the system gets away from you. • Lack of realisation that debugging requires more complex thought than coding. • Highlighting the fact that the programmer needs to become more self-aware in order to progress through this phase. © Charles Tolman 2013
  • 6. Background: The Grumpy Old Programmer • Very aware of the limitations of one’s thinking: One is too frequently WRONG! Again and Again and Again and Again… Particularly easy to see when debugging. • Maintenance becomes a priority, leading to: A drive towards simplicity/clarity/minimalism. Code can look like novice code but will use complexity when required. • This Appropriate Minimalism shows the wish to find the TRUE ESSENCE of a problem: Yet there is balanced judgement between Perfection and Pragmatism. © Charles Tolman 2013
  • 7. Key Observations: The Importance of Energy • It takes a significant amount of mental energy to do this job. • We are making many decisions minute to minute. • The difference in the rate of progress when there is more energy. As a technical lead a significant concern is the level of ENERGY in a team. • Obvious points: but easily forgotten in the heat of trying to hit deadlines. © Charles Tolman 2013
  • 8. Key Observations: The Foundation in Play • Many early programmers were amateur electronics/radio enthusiasts. Then the amateurs turned professional. • At the beginning of the PC ‘revolution’ many programs were games. • Transition from programming as PLAY to programming as ECONOMIC. But we forget this foundation in PLAY at our peril: • It is a fundamentally human activity that fosters resourcefulness. • It helps us to understand the world. • Of course there is always a need to balance: • Play & Economics • Quality & Utility • But the scales have tipped too far away from Play. © Charles Tolman 2013
  • 9. Key Observations: Boundary Crossing • Tools/Technology are Amplifiers. Industrial Revolution: Devices to amplify physical capabilities. Information Technology: Devices to amplify thought. The need to be more awake, not less. • This is a transition of many people from EXTERNAL to INTERNAL problem solving. It is a significant shift and has many side-effects. THIS HAS LARGELY GONE UNNOTICED! • Robert Glass’ Fact 13: “There is a disconnect between management and their programmers.” • This means that we are not ‘just’ programming and will need a larger view of the discipline in order for there to be constructive progress. © Charles Tolman 2013
  • 10. Key Observations: The Inner World • Programming involves the creation of a completely human-made world. With little feedback and few checks against external reality. • The process of software development can be seen as follows: • We engage in THINKING. • We create MENTAL MODELS or THOUGHT CONSTRUCTS. • We transcode these into SOFTWARE. • A good programmer needs to be SELF-AWARE about this Process and their own Learning. The computer can be seen as a ‘Thought-Mirror’. • Initiation in Thinking: formerly mystical/religious experience. But now religion is not adequate! © Charles Tolman 2013
  • 11. Philosophical Interlude: Some Dudes From History • Bacon 1561 – 1625 • Descartes 1596 – 1650 • Newton 1642 – 1727 • Goethe 1749 – 1832 • Gadamer 1900 – 2002 © Charles Tolman 2013
  • 12. Philosophical Interlude: Descartes : Dualism • Descartes : 1596-1650 • Cleared the decks to be sure of what we can really know. Cutting down to the minimum by getting away from the senses. • Split between Mind/Body. • But trying to fit in with the church’s religious ideas. e.g. 4th Law of Impact! • Subject vs Object res cogitans : Thinking – Mind/Soul : Active. res extensa : Extension – Body/Nature : Passive. © Charles Tolman 2013
  • 13. Philosophical Interlude: Goethe : Delicate Empiricism • Goethe : 1749-1832 • Natural Scientist around at the time of the Industrial Revolution. Against the Baconian approach of the separation from natural world. • Focus on the phenomenon - not on abstract ideas. Warned of the danger of over-hypothesizing… • The need for a Delicate Empiricism during observation. The importance of Exact Sensorial Imagination - not ungrounded fantasy! • Rudolf Steiner (1861-1925) realised that the same methods could be used for thinking. i.e treating Thought as a Phenomenon in the same way. © Charles Tolman 2013
  • 14. Philosophical Interlude: Phenomenology • The process of ‘Coming into Being’, i.e. Appearance (verb), of a Thing. A very difficult concept for us to understand. But it is this idea that deals with, and heals, the destructive consequences of the Cartesian subject-object split. • We need to understand that the Appearance and the Thing are ONE item. • The primary enduring insight about brain function [McGilchrist]: RIGHT: Immediacy of Lived Experience. Appearance LEFT: Re-Presents what is Lived – in order to Know. Thing • We cannot continue to keep focusing on Results as primary. [Agile does have the beginnings of this focus on process - but primarily as an externalised idea.] © Charles Tolman 2013
  • 15. Software: Knowledge or Preconceptions? • The ‘Tracer Bullets’ experience of knowledge generation highlighted the dangers inherent in over-hypothesizing. It is too easy to become automatic and habituated in one’s thinking. [Workshop at OT2001 facilitated by Paul Simmons/Tom Ayerst] • Just how aware are we about: • The limits of our own knowledge? • The process by which we expand our knowledge? • How often do we jump to conclusions rather than carefully collect data or information – whether it be debugging or problem analysis? • A DELICATELY EMPIRICAL method is a MUST HAVE when dealing with fault-finding or user requirements. © Charles Tolman 2013
  • 16. Software: Imagination • Generally we believe we are in the visual/geometric domain when considering software structures… • But is it visual? • REALLY? • Or are we thinking in terms of FLOW such that the images drop away… • And how fit are the structures we are imagining i.e. ‘building’. • A DISCIPLINED IMAGINATION of structures and behaviour is a MUST HAVE for good design. © Charles Tolman 2013
  • 17. Software: Christopher Alexander & Patterns • Alexander’s comments about Patterns relate to PHYSICAL space. Software deals with a MENTAL space, yet his world-view is still relevant. • There is a difference between True Liking and Apparent Liking. Alexander uses the concept of the Mirror of the Self test to tell the difference. True Liking is an art and a skill that needs developing. • I agree with Jim Coplien that we need to “revisit the Alexandrian roots of Patterns”. Although Agile is based upon Alexander’s core values we have not properly embraced his idea of patterns. [See http://www.youtube.com/watch?v=VV4KXKa5ZdQ] • If these ideas are developed we can get away from the subjectivity of ‘Beauty is in the eye of the beholder’. But we need to put ourselves into the picture. • We need to properly understand the perspective of PERSONAL & PROFESSIONAL DEVELOPMENT implicit in Alexander’s world-view. © Charles Tolman 2013
  • 18. Cartesian Split or Goethean Unity? This underlying dynamic of ‘The Split’ occurs in many places: • Descartes: Subject & Object. • Brain Function: Left & Right Hemisphere. • Career: Playful Child & Clever Adult. • Problem-Solving: Abstract Idea & Grounded Perception. • Judgement: Perfection & Pragmatism. This Split is healed by truly understanding the UNITY of APPEARANCE & RESULT that Phenomenology talks about. © Charles Tolman 2013
  • 19. A VISION FOR THE FUTURE : A CHOICE We can either: A. BE UNCONSCIOUS: Allow humans to become harnessed to the technology & the economics, so they become just a more effective Software Development Tool within a mechanistic world-view. OR B. BE CONSCIOUS: Re-assess our world view and work with both our personal and technical development so we can better shape technology towards human needs. © Charles Tolman 2013
  • 20. Todo list if you want to take it further: • READ: ‘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. • STUDY: ‘The Nature of Order’ by Christopher Alexander. A lot to read but a master work giving insight into Alexander’s world-view. • READ: ‘The Master and His Emissary’ by Iain McGilchrist. Another excellent master work dealing with brain function. • DISCUSS: Get in touch! © Charles Tolman 2013
  • 21. Thank you Blog charlestolman.com Email ct@acm.org © Charles Tolman 2013

Notas del editor

  1. This is still a work in progress.
  2. Idea/Perception: Christopher Alexander reference “Nature of Order” Book 2 p130 cf Le Corbusier etc.
  3. Truth & Method extracts. Gadamer.P350:“Being experienced” does not consist in the fact that someone already knows everything and knows better than anyone else. Rather, the experienced person proves to be, on the contrary, someone who is radically undogmatic; who, because of the many experiences he has had and the knowledge he has drawn from them, is particularly well equipped to have new experiences and to learn from them. P351:The truly experienced person is one who has taken this to heart, who knows that he is master neither of time nor the future. The experienced man knows that all foresight is limited and all plans uncertain. In him is realised the true value of experience.
  4. SergioPellis notes about self-directed play.Picture encapsulates how I wish to be remembered – sharing the playing of flying!
  5. THIS IS A KEY SLIDE!Dijkstra 1972:Automatic computers have now been with us for a quarter of a century. They have had a great impact on our society in their capacity of tools, but in that capacity their influence will be but a ripple on the surface of our culture, compared with the much more profound influence they will have in their capacity of intellectual challenge without precedent in the cultural history of mankind.Rober Glass’ Fact 13:419% Over Budget.193% Over Schedule - 27 months vs estimate of 14130% Over Size for SW, 800% Over Size for FirmwareSuccessfully completed.Did what it was supposed to do (control a medical instrument).Fulfilled its requirement of "no postrelease software defects.”
  6. THIS IS A KEY SLIDE!We run THOUGHT networks in our heads.Attitude is as important as technical ability – if not more so.Cannot take ideas from Eastern traditions as-is.East and West are different!
  7. Please note that I am not an academic philosopher!
  8. Psychologists call this process where we go from sensory experience direct toabstract generalisation without thinking, ‘automatisation’ or ‘habituation’.
  9. McGilchrist:LEFT:Static, Isolated, Fixed, Decontextualised, Abstract -> Clarity, Denotative.Deals with Closed Systems, Perfection.RIGHT:Individual, Changing, Evolving, Interconnected, Implicit, Incarnate, Living.Never fully Graspable, Never Perfectly known. Epistemologically:When we look at something we do not understand or have the concepts to fit, we take some part and SPLIT it out from the context (Cartesian), but then we know it only when we reunite the concept with the percept (Steiner).There is no difference in the external world but now we have knowledge about what we are looking at.
  10. Nature of Order: Book1p342/3 Liking.p453 Appendix 3 Cognitive Difficulty in Seeing WholenessAlexander seemed Bemused at OOPSLA 96.At Stanford, Sceptical about prevailing perspectives in the software industry.We have focused too much on Results rather than Inner Process
  11. Plan A is the hired gun protocol.Time for Plan B.A parting thought:Lest we think that when we talk about technology we are only considering software and hardware:The Hungarian psychology professor MihalyCsikszentmihalyi (author of Flow) considers that human culture can be seen as a technology for mediating interactions.We are NOT just talking about programming…
  12. References:Christopher Alexander : The Nature of Order.Henri Bortoft : Taking Appearance Seriously.Robert Glass : Facts and Fallacies of Software Development.Iain McGilchrist : The Master and His Emissary.