For fifty years we have focused on the ‘Artificial’ — computing devices and Turing Machine grounded software. Mathematics, Logic and Engineering have formed our ontology. This perspective has led to major accomplishments and equally major failures (the latter increasingly outnumbering the former).
It is increasingly obvious that we have reached the limits of the engineering mindset and approach. Scale and Complexity have created challenges that cannot be satisfied with engineered solutions. Even though, in principle, it might be possible to build a city like one of Paolo Soleri’s Arcologies, in practice it cannot be done. (And if done, no human could live in an arcology without reducing her or himself to a machine.)
The time has come for an alternate approach, one focusing on the ‘Natural” instead of the ‘Artificial’. This new approach will be grounded in metaphors from organisms, ecologies, and cultural anthropology. It will utilize ideas from contrarian thinkers in software like Pelle Ehn , thinkers like Christopher Alexander, and design leaders like Maya Design, Ideo Design, and Apple.
This workshop will provide a comprehensive foundation for a discipline of Natural Systems Design and Development along with principles, practices and techniques for applying this new discipline to problems of today and tomorrow.
Specifically, attendees will come to understand:
- Why and how Natural Systems Design is a logical extension of, and possible successor to, Domain-Driven Design
- The essential differences between Natural and Artificial Systems along with how and why the formal, engineering, approach is not applicable to natural designs, and has reached it limits with artificial designs.
- How to think about Natural Systems, including foundational metaphors — organisms and ecologies. (Metaphors that replace engineering metaphors of circuits and buildings.)
- Information and computational architectures that support Natural Systems
- An extremely simple and powerful distributed “data” architecture and “data transport protocol” for Natural Systems
- How to model Natural Systems and identify how to enhance them simply by adding/deleting (modifying) elements or relationships among elements
- How to design elements (apps or applications) and introduce them to a Natural System
- Examples that contrast Natural Systems Designs with existing systems designed and deployed using an engineering approach
Attendees will be able to present a problem from their own domain of interest and workshop a Natural Systems solution to that problem.
About the instructor
David West has enjoyed a dual, parallel, career as a professional software developer and academic. His professional career started in 1968 (same year the discipline of Software Engineering was invented) as a COBOL and Assembler programmer. He has held almost every job title in the profession since then: Analyst, Architect, and even CIO.
As an academic he has created several innovative programs; introducing object-oriented development to the world’s largest software engineering program to an award winning software apprenticeship program.
His undergraduate education was in Asian Philosophy — his graduate education included an MS in Computer Science, MA in Cultural Anthropology, and a Ph.D. in Cognitive Science.
He is the author of Object Thinking (2006) and co-author with Rebecca Rikner of Design Thinking (2018). He has also published more than fifty papers on topics ranging from object-orientation to Agile, Patterns, Design, and Complexity.