1 The Dynamics of Creativity in Software Development Daniel Graziotin PROFES 2013 Doctoral Symposium 12 th June, Paphos, Cyprus
2 Introduction Background, Motivation, Purposes Literature Review Creativity, Affective States, Improvisation, Research Questions Conclusion What is next Research Methodology Theory Building, Data Analysis, Theory Representation
Daniel Graziotin 3 ‣ Researcher - Human Factors in SE - Emotions / Moods - Creativity - Productivity - Web Engineering - Open{Source, Access, Data} Background
Daniel Graziotin 4 ‣ Practitioner Web Development Open Source Software Open Knowledge task3.cc Background
Daniel Graziotin 5 ‣ Stuff Singer Electric Bass Background
6 “Programming [..] gratifies creative longings [..] and delights sensibilities we have in common with all men.” Frederick P. Brooks, Jr. The Mythical Man-Month, p. 8
7 Software is for People, by People Human Factors must be studied (Crawford et al., 2012). Process
8 People Trump Process? ( Cockburn, 2001) Picture Credits
9 Focus on People Picture Credits
10 Focus on People Picture Credits
11 Software Development is Cognitive (Khan et al., 2010) ‣ Creativity ‣ Emotions / Moods ‣ Improvisation Picture Credits
12 Software Engineering ignores ‣ Creativity misconception ‣ Emotions/Moods ignored ‣ Improvisation neglected Picture Credits
Purposes of this Study ‣ Definition ‣ Dynamics ‣ Influence 13 Creativity Software Development ‣ Generate a theory
14 Introduction Background, Motivation, Purposes Literature Review Creativity, Affective States, Improvisation, Research Questions Conclusion What is next Research Methodology Theory Building, Data Analysis, Theory Representation
Literature Review ‣ Hundreds of Definitions in Psychology ‣ Product/Idea Generation (evaluation?) Novelty Usefulness 15 Defining Creativity
Literature Review ‣ Definitions limited for the context of Software Development Pre-implementation phases Final Product 16 Defining Creativity
Literature Review ‣ Gu and Tong, 2004, exploratory research. ‣ Software Project developed by students ‣ Measurements: Perceived creative time, perceived discipline-based time, and “other” time. ‣ Formulated Hypotheses: Implementation phase most creative, Post-mortem analysis phase least creative; UML documentation promotes students to do more creative work in requirement specification and architecture design phases; more creative work does neither accelerate nor decelerate development speed compared with discipline-based work; developers prefer development phases including more creative work than discipline-based work 17 Creativity in Software Engineering
Literature Review ‣ Crawford et al., 2012 ‣ Previous research on creativity focused on RE ‣ Techniques to foster creativity are rarely investigated ‣ Linkage between eXtreme Programming and Creative Thinking 18 Creativity in Software Engineering
Literature Review ‣ Several proposals to foster creativity in software requirements ‣ Evaluation is always in terms of the generated product ‣ Requirements look like ideas 19 Creativity in Software Engineering
Literature Review ‣ More than 60 years of studies ‣ Angles Product, Process, Person, and Press ‣ Majority of studies on Product (novelty and value) ‣ Affective States 20 Creativity in Psychology
Literature Review ‣ Affective States (Mood, Emotions, Feelings) ‣ “one of the most widely studied and least disputed predictors of creativity” (Davis, 2009) ‣ Several Studies Tendency: extreme affective states indicate higher creativity No big consensus 21 Creativity and Affective States in Psychology
Literature Review ‣ “Making sense of incoming working events and developing ad- hoc solutions” (Ciborra, 1996) Problem-setting and problem-solving Creative ‣ Do we always follow the process? We report to follow the process We improvise Essential to IT firms ‣ Improvisation is a mood 22 Improvisation
Improvisation, Creativity, Affective States 23 ? Improvisation Creativity Affective States
Research Questions ‣ Is there a misconception of creativity in the context of software development? ‣ What are the key components of creativity in software development at the individual, team, and organizational levels? ‣ What is the relationship between creativity, moods, and improvisation in software development? 24
25 Introduction Background, Motivation, Purposes Literature Review Creativity, Affective States, Improvisation, Research Questions Conclusion What is next Research Methodology Theory Building, Data Analysis, Theory Representation
Research Methodology ‣ Explorative study ‣ Generate a theory from empirical evidence. Define the steps of the theory building process Select a strategy to analyze the data Represent the theory in a meaningful way Choose research methods 26 AIMS
27 Research Questions 1 Case Selection 2 Instruments & Protocols 3 Field Entrance 4 Data Analysis 5 Hypotheses Shaping 6 Literature Enfolding 7 Closure Reaching 8 Theory Building Phases Eisenhardt, 1989
Data Analysis Phases 28 Montoni & Rocha (2010), Charmaz (2006) Context & Scope Audit Data Collection Coding ‣ Overlaps with Step 1 of previous slide ‣ Surveys ‣ Literature Reviews ‣ Structured and semi- structured interviews ‣ Open ‣ Conceptualization ‣ Axial ‣ Relationships ‣ Selective ‣ Prioritization ‣ Validity
Theory Representation Elements of a theory ‣ Constructs ‣ Propositions ‣ Explanations ‣ Scope 29 Sjøberg et al., 2008 Sjøberg et al., 2008, p. 324
30 Introduction Background, Motivation, Purposes Literature Review Creativity, Affective States, Improvisation, Research Questions Conclusion What is next Research Methodology Theory Building, Data Analysis, Theory Representation
Conclusion ‣ Proposal: generate theory on creativity in software development ‣ Creativity, Affective States, Improvisation ‣ Major issue: still no focus. 31
32 Thank you for your attention Daniel Graziotin
References Brooks, F.P.: The Mythical Man-Month. Addison-Wesley, Philippines (1975) Ciborra, C.: Improvisation and information technology in organizations. ICIS p. 26 (1996). Charmaz, K.: Constructing grounded theory: a practical guide through qualitative analysis. Sage Publications, London (2006). Crawford, B. et al.: Agile software teams must be creatives. 5th International Workshop on Co-operative and Human Aspects of Software Engineering. pp. 20–26 (2012). Davis, M.: Understanding the relationship between mood and creativity: A meta-analysis. Organizational Behavior and Human Decision Processes. 108, 1, 25–38 (2009). Dybå, T.: Improvisation in small software organizations. Software, IEEE. September/October, 82–87 (2000). Eisenhardt, K.: Building theories from case study research. Academy of management review. 14, 4, 532–550 (1989). Gu, M., Tong, X.: Towards Hypotheses on Creativity in Software Development. 5th International Conference on Product Focused Software Process Improvement,. pp. 47–61, (2004). Khan, I.A. et al.: Do moods affect programmers’ debug performance? Cognition, Technology & Work. 13, 4, 245–258 (2010). Montoni, M.A., Rocha, A.R.: Applying Grounded Theory to Understand Software Process Improvement Implementation. 7th International Conference on the Quality of Information and Communications Technology. pp. 25–34 IEEE (2010). Sjøberg, D. et al.: Building theories in software engineering. Guide to Advanced Empirical Software Engineering. 1, 1, 312–336 (2008). 33