Both sides previous revisionPrevious revisionNext revision | Previous revision |
2013:code_as_a_crime_scene [2013/01/02 07:31] – jonjagger | 2013:code_as_a_crime_scene [2016/06/11 14:05] (current) – external edit 127.0.0.1 |
---|
**Proposer**: [[2013:adam_petersen]]\\ | **Proposer**: [[2013:adam_petersen]]\\ |
**Type**: Tutorial\\ | **Type**: Tutorial\\ |
**Duration**: 90 minutes\\ | **Duration**: 45 minutes\\ |
**Description**: Software design is at the edge of our cognitive capabilities. In his classic talk at the Turing awards, Dijkstra remarked that computer programming is an “intellectual challenge which will be without precedent in the cultural history of mankind”.\\ | **Description**: |
\\ | Human intuition is unequaled when it comes to assessing the quality of a design. Intuition, however, is not without problems. It's prone to social and cognitive biases that are hard to avoid. Human expertise also suffers from a lack of scalability. As such, intuition rarely scales to encompass large software systems and we need a way to guide our expertise.\\ |
This session will look into those intellectual challenges on both individual and social levels. We'll identify the cognitive constraints, the social pitfalls and the individual factors at work during programming. The goal is to come up with recommendations for software designs that fit the way our brain works. It will be recommendations for designs optimized for learning, reasoning, collaboration and understanding.\\ | We need strategies to identify design issues, a way to find potential suspects indicative of code smells, team productivity bottlenecks, and complexity. Where do you find such strategies if not within the field of criminal psychology? Inspired by modern offender profiling methods, we'll develop a metaphor for identifying weak spots in our code. Just like we want to hunt down offenders in the real world, we need to find and correct offending code in our own designs. \\ |
\\ | The session will look into test automation, software metrics and findings from different fields of psychology.\\ |
The material will be based on research from cognitive, social, and personal psychology. We'll see how the findings map to the challenges of design and the empirical studies of programming. I'll probably throw some findings from the fascinating field of the psychology of attractiveness into the mix too. As far as code goes, I'll give some examples in Lisp, Erlang, and JavaScript to see how the solutions match the psychological principles and how they influence our design space.\\ | |
\\ | \\ |
Ewan: MAYBE. Looks in the same ballpark as "An Exploration of the Phenomenology of Software Development" - room for only one of them?\\ | Ewan: MAYBE. Looks in the same ballpark as "An Exploration of the Phenomenology of Software Development" - room for only one of them?\\ |
Roger: I agree\\ | Roger: I agree\\ |
Asti: sounds interesting \\ | Asti: sounds interesting \\ |
| |