Software Innovation course


Published on

Download the course text (Software Innovation) at

Published in: Technology, Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software Innovation course

  1. 1. Software Innovation course introduction
  2. 2. course content Intensive ESSENCE Course
  3. 3. course designtheory practice reflection preparation IEC mini-project
  4. 4. • pedagogical style: action learning • some formal lectures • some interactive lectures • some action based activity• exercises – no formal exercise times, integrated into 2-day camp and mini-project• oral exam, graded, based on mini-project
  5. 5. work-style heuristics Keep your head up Grow your knowledge communityTarget your product’s innovation profile Shape your own process Develop your personal creativity Be a super-team-worker Bring your toolbox Know when you are (not) innovative
  6. 6. the science of innovation
  7. 7. motivation – why study SWI• macro reasons • standardisation of software • industrialisation • globalisation • user-developed software• meso reasons • creative team • innovative firm• micro reasons • career
  8. 8. innovation: scientific disciplines cognitive managementeconomics sociology others science science innovation 50-60 articles software innovation institute’s research computer software information science engineering systems
  9. 9. basic terms• invention - a new algorithm or program (or software development technique)• creativity – a state of mind which leads to innovative thinking• innovation - creative act and invention carried into wider use, leading to substantial kinds of change; thus the successful exploitation of new ideas
  10. 10. (software) innovation overview • (software) innovation = invention + exploitation + diffusion • invention: the creative act or process and its result (e.g. a software program) • exploitation: commercial development and adaptation to practical situations • diffusion: adoption by a wider audiencetime lag a continuous process
  11. 11. (software) innovation: consequences• installed base = starting point• result of software innovation is experienced as change in • the way people work • the way business is carried out • people’s choice of entertainment • communication habits and interaction • governance of communities• types of (software) innovation • radical (disruptive, discontinuous) • incremental• resistance
  12. 12. (high-tech) innovation: the motor of the economy (Schumpeter)• new products• new methods of production• new sources of supply• the exploitation of new markets• new ways to organise business• meets resistance (inertia) from established players• driven by the entrepreneurial function
  13. 13. (software) innovation: forms• the inventor and the imitator (Schumpeter)• technology transfer• local and global innovation
  14. 14. (software) innovation: is not a ‘linear model’ basic applied industry research research application• nut a more complex ‘system’ involving users, national and regional actors, inventors, researchers, universities and firms
  15. 15. (software) innovation: prerequisite• openness or ‘absorptive capacity’ for outside knowledge• ability to circumvent established thinking routines and avoid ‘not invented here’ syndrome
  16. 16. (high tech) innovation: (Pavitt)• ‘science-based’ (research and development and close contact to organized science)• ‘special suppliers’ engineering skills and close contact to users
  17. 17. (software) innovation: product and process• (software) product innovation – (the creation of novel and useful software programs)• (software) process innovation – (the introduction of novel and useful ways of developing software)
  18. 18. innovative processes and products innovative software innovative software process product• complex relationship between software process innovation and innovative software products• no particular evidence that innovative software processes necessarily result in innovative software products• some forms of innovative software products may be best developed using traditional methods.
  19. 19. the innovative software product iPad review
  20. 20. innovative software products: characteristics• novelty - not previously developed • global/local • time dependence • innovation accumulation• utility - they have some form of application which users value • functional, aesthetic, symbolic • market conditions • utility forms
  21. 21. innovative software products: consequences socialinvention exploitation diffusion change in a user community impact delay
  22. 22. hierarchies of technical systems (Altshuller) broad system subsystem transportation cars, roads, maps, drivers, service stations cars power train, brakes, heating, steering, electrical brakes brake pedal, hydraulic cylinders, fluid, brake pad assembly brake pad assembly pad, mounting plate, rivets pad particles a, b, chemical bond chemical bond molecules a, bfocused
  23. 23. novelty: levels ofinnovation (Altshuller)low level 1 - routine design problems solved by methods well known within the specialty - usually no invention needed. level 2 - minor improvements to an existing system using methods known within the industry. level 3 - fundamental improvement to an existing system using methods known outside the industry. level 4 - a new generation of a system that entails a new principle for performing the systems primary functions - solutions are found more often in science than technology. level 5 - a rare scientific discovery or pioneering invention of an essentially new systemhigh
  24. 24. incremental and radical innovation broad radical innovation technical system hierarchy incremental innovation focused low high level of innovation
  25. 25. blue ocean strategies (Kim and Mauborgne, adapted Yarmosh)• red ocean: where the customers are• price war: race to the bottom• blue ocean: where the noncustomers are• move to uncontested markets• software value (= utility) innovation through value proposition: focus on customer experience
  26. 26. blue ocean strategies• strategy canvas • competing factors (software features) • offering level (amount of investment in feature)
  27. 27. blue ocean strategies• four actions framework Raise: which Eliminate: which of features should be the features that raised well above competitors take the competitors’ for granted should standard? be eliminated? Reduce: which Create: which features should be features should be reduced well below created that competitors’ competitors have standards? never offered? new value curve
  28. 28. video
  29. 29. blue ocean strategies raise: flame and flicker resolution and eliminate: variety create: social sharing, gps reduce: cost positioning, breath control, sound, ignition sonic lighter value curve
  30. 30. utility forms• specify the type of utility that the innovative software product delivers to its users • computing infrastructural • technology enabling • user service • business change enabling • interaction communication • entertainment
  31. 31. utility form 1: computing infrastructural• software innovations can provide underlying improvements for the delivery of other computing services • programming languages, compilers, translators • operating systems • network protocols • internet browser • grid computing
  32. 32. example: TCP/IP (1973-8)• (data arrives in-order, data has minimal error, duplicate data is discarded, lost/discarded packets are resent, traffic congestion control)• underpins TCP/IP internet protocol suite• ARPANET, Cerf, Postel, Crocker, Lelann, Metcalfe• adopted by American computer manufacturers (80’s)• value proposition: file transfer by wire• infrastructure: OS common file systems + porting• social change: basic building block for internet - network society
  33. 33. utility form 2: technology enabling• embedded software can enable innovation in other technology products, such as cars and washing machines• the software is not necessarily the innovation, but the technology product is innovative• convergence of software with other technologies
  34. 34. example:København metro• embedded software enables driverless train• the automated train is the innovation: software may also be innovative• value proposition: automation of driver function• convergence of rail and computing technologies• many infrastructural systems need to be in place – also social (acceptance of automation)
  35. 35. utility form 3: user service• software innovations can provide new, improved, more efficient or cheaper services for communities of users• typically takes and existing service and provides some combination of: • extended functionality • improved usability • cost saving • quality improvement
  36. 36. example: skype• development of telephony service• combines VOIP and peer-to-peer technologies to provide: • technology trajectory context: digitalization of previously analogue technology • extended convergent functionality (phone, chat, address book, video conferencing, file exchange) • value proposition: free telephony
  37. 37. utility form 4: business change enabling• innovative software can be an enabler or driver for business change• new ways of: • doing business • internal administration • reaching, holding, communicating with customers • developing and manufacturing products
  38. 38. example: SAP (ERP system)• technology trajectory: automation of manual business processes• value proposition: integrated support for all conventional business administration, rationalization and efficiency - replaces many function- oriented stand-alone systems• convergence of database and client server technologies• common data model and database• customisable interfaces• variable implementations• best practice business models• integrated management information and data mining• later: web + eBusiness interface• later: supply chain connectivity and management
  39. 39. utility form 5: interaction/communication• innovative software can change the way people interact and communicate, examples: • Web 2,0, social networking software, Second Life• greater reach and range• time independence• supported interactions• varying communication media• social network building• identity control
  40. 40. example: Facebook.• value proposition: social networking software - partial transfer (or digitalization) of social relations to the net• convergence of web 2.0 technologies: video streaming, personalization, IM, mail, large scale server farms, user generated content etc.• timing: Facebook is the long from the first social networking application
  41. 41. utility form 6: entertainment• software underpins novel entertainment forms • leisure activity • gaming • media clip distribution • user-generated content • sport • culture e.g. music
  42. 42. example: WoW• value proposition: social gaming• trajectory: digitalization of play• convergence of gaming, 3D, virtual world, social media
  43. 43. software product innovation profile• the software has a particular user community, and the characteristics of that community are understood• the software is novel – it does something that other software cannot for its user community, adding or combing features in a new way• the software has a particular utility (or value proposition) for the community, the form of which can be understood• when the software is in use in the user community their behaviour will be different in certain ways (social change) and it is understood how• the user community can be understood as a market in an economic sense, and the software has an economic value, price and cost which is understood• the software is technically innovative, perhaps displaying digitalization or convergence, in the context of a particular technology trajectory• the necessary infrastructure for the user community to use the product is in place, or will be when the product is released, and is understood.
  44. 44. work-style heuristictarget your product’s innovation profile
  45. 45. software innovation timing trajectory digitalization convergence infrastructure innovation windows
  46. 46. technology development and economic progress• technology innovation is a good indicator for economic growth • society • industry• developed (= rich) societies/companies are • more dependent on innovation • better innovators • early users of innovations• non-innovative work often performed more cheaply in less developed countries (e.g. outsourcing)• incremental innovation produces change• radical innovation produces transformation
  47. 47. technology trajectory ??????? music file compression optics ??????? transistor mp3 player valve cd playervinyl gramophone phonograph digitalization
  48. 48. software technology trajectory embedded OS OS/360run-time monitor GM-NAA I/O IBM UNIX LINUXlibraries programs IBM SCOPE PLATO PICK CP/M BASIC DOS apple MCP TOPS-10 windows (proprietary OS) (portability) (GUI) 50’s 60’s 70’s 80’s 90’s
  49. 49. technology convergence box camera telegraph still camera DOS telephone apple video camera digital camera windows mobile valve pocket windows transistor silicon chip mp3 player cd player text recognition gramophonephonograph qwerty keyboard number pad calculator typewriter
  50. 50. infrastructure and innovation timing• installed base - technical infrastructure • (Skype) improved internet internet bandwith access • improved bandwidth • many nodes skype • enables convergence of VOIP + peer-to-peer• installed base – social infrastructure • (Skype) improved computer literacy internet • widespread internet use coverage • communication intensification
  51. 51. market (user) demand and innovation timing• recognise or create demand• (Skype) increased consumer demand for telephony and related services• im and sms breakthroughs• increasing tariffs for broadcasting frequency licenses• price war amongst mobile companies
  52. 52. the innovation window technology trajectories• software technology convergence trajectories• convergence user demand• (user) demand (= market) development• infrastructure infrastructure development development innovation window t
  53. 53. head-up software innovation• software innovators know and understand • trends, trajectories • digitalisation, convergence • social and technical infrastructure development • user demand (market) • timing and innovation windows
  54. 54. work-style heuristickeep your head up
  55. 55. the innovative software process 6 innovation process strategies (+ 1)how do you develop an innovative software product?
  56. 56. innovation: not normally a goalgoal method type explanationcomplexity management traditional organisation of large development efforts with many developers, requirements, lines of code, complex architecturesuncertainty management agile, prototyping management of development where requirements, costs, technology, people, time scales are unknown or cannot be reliably predictedproject management traditional, agile planning; disposition and monitoring of tasks, people, time and resourcesrational analysis and modelling traditional, contextual understanding a work situation or user design environment through modelscommunication through traditional providing explanations for colleaguedocumentation developers, future developers and usersdesign through modelling traditional structuring design and programming workautomation of manual work traditional, agile providing computerised support for manualprocesses work processes in the work situationworking code agile focusing on programming workspeed rapid development, agile producing a working system in a reasonable time periodclose relationships with agile, participatory improving interactions between peoplecustomers and users development
  57. 57. linear innovation in industry• Roberts, E.B., Managing invention and innovation. Research Technology Management, 1988. 31(1): p. 11-27.
  58. 58. the light bulb model idea • a sequence of stages or phases each of which is dependent upon the successful completion of the first (waterfall) • conventional product innovation from technology-based industries product • focus is on the software productspecification • conceptualized early in the process • developed to be a marketable software system prototyping commercial build release review
  59. 59. iterative innovation in industry -Boeing’s innovation model• Lind, J., Boeings Global Enterprise Technology Process. IEEE Engineering Management Review, 2007. 35(1): p. 38-52.
  60. 60. iterative models - also for software development
  61. 61. iterative or agile software innovation process model• process–oriented (reflecting agile system development methods)• does not necessarily start with an ’idea’ - a fully-formed software concept at the beginning of development• innovation takes place through highly focused and creative bursts of development activity – e.g. storming• focus on intense communication, room for experimentation• innovation takes pace through the life of the project, and is not confined to an idea generation phase• the creativity and energy of the process offers the conditions for innovative programming and development.
  62. 62. agility and innovation• some aspects of agile methods resemble innovation techniques elsewhere in industry (the iterative model)• the introduction of agile methods to a software firm can be a process innovation• some theoretical reasons to believe that they should be helpful for innovation (e.g. flexibility, freedom from bureaucracy, interaction with customers…………………..)but• agile methods developed in response to perceived need for more effective, programmer- friendly development methods - not innovation• no studies or evidence to support the idea• agility probably necessary but not sufficient
  63. 63. market-led and technology-led software innovation market technology • software technologies develop in particular directions at various speeds• user communities have sets of • some software firms are at the needs which develop over time leading edges of those• those needs can be analyzed and, developments to some extent predicted • leading edge software technologies enable new products• innovative software development which will create their own demand process is targeted at utility - in the market responding to perceptions of future user needs (=the market) • innovative software development process is targeted at novelty - products which have not previously been possible
  64. 64. process, instantiation, improvisation, bricolage improvisation, bricolage instantiation • improvisationthe generic • deliberate, not a series of accidentsprocess • (locally) extemporaneous – without prior plan or method • occurs during action • implies the pre-existence of a set of resources (plans, tools, knowledge, social structure) as the basis for variation • bricolage • ’to use whatever resources and repertoire one has to perform whatever task one faces’ • Improvisation and bricolage are not ‘muddling through’
  65. 65. software process innovation innovation novel software development process software development process (routines, norms, standards, behaviours, resources, tools,techniques, procedures, written and unwritten rules) local global
  66. 66. the global picture• traditional norms = waterfall, prototyping models + variants• many hundreds of development models representing incremental innovations on these norms• some development styles in reaction to the norm (agile, open-source, context-oriented, business-focused)• = a complex picture of both incremental and radical innovation in software methods, techniques tools and processes• distinguish from Software Process Improvement
  67. 67. the local picture• many software firms with method departments, process improvement initiatives• the innovative software developer takes control of process• its then natural to want to improve the way you work• the developer drives the process, the process does not drive the developer
  68. 68. six innovation process strategies• creative requirements analysis• designed process framework• low tech prototyping• user-driven innovation• community development• research prototype
  69. 69. innovation process strategy 1: creative requirements analysis• integrate light bulb thinking RESCUE • conventional requirements analysis into a conventional techniques (activity modeling, system development cycle goal modeling, use cases,• replace requirements requirements management) engineering techniques with • creativity techniques (creativity modes more imaginative interaction – exploratory, combinatorial, and creativity techniques transformational) • analogical reasoning• work with users who are • facilitated workshops primarily responsible for new ideas• (for example) RESCUE, soft systems methodology• rationale: help users to innovate
  70. 70. innovation process strategy 2: designed process framework ESSENCE• in the agile tradition - process • views: product, people, project, process framework rather than • roles: challenger, responder, anchor development method child• tools, techniques, practices, • modes: idea generation, planning, growth roles • in our case: used with creativity• integrated creativity techniques techniques• instantiated at use• developers take responsibility for idea generation• rationale: help developers to innovate
  71. 71. innovation process strategy 3: low tech prototyping low tech • paper prototypes: wireframe, storyboard, card, wizard-of oz, • low-fi mockups: foam and cardboard models, drawing tool, video, powerpoint, html • mashup, patchwork, open source components • code prototypeshigh tech • rationale: low cost experimentation, rapid learning
  72. 72. innovation process strategy 4: user-driven innovation• users need to innovate • need is emerging and is therefore not (yet) recognized by software firms • user need is specific • market niche is not yet attractive for software firms• difficult and costly to transfer information from users to manufacturers (sticky information)• lead users (identified users who are at the leading edge of their profession and have software or computer (super-user) competences• user communities• toolkits• rationale: access to use domain expertise
  73. 73. The Case of Lego Mindstorms Mindstorms robot kit The brain • Computer “brain” within Lego brick Movement • 3 stepper motors Sensors • Light • Touch • Temperature Teaching • Kid-friendly, graphical programming environment • Programs downloaded from PC via infrared Price ~ $200
  74. 74. Lego mindstorms user communities grew rapidly - without company involvementMembers 900 800 700 600 500 400 Robots become widely available Lego robots August 1998 300 announced January 1998 200 100 Nov Jun Feb Oct Jun Jan Aug Apr 1997 1998 1999 1999 2000 2001 2001 2002
  75. 75. Within 3 weeks of commercial introduction users had improved it significantly The rules The resultsRobots follow 7 meter “track” of tape Winner (below left)• Light sensors detect tape • Used hacker-developed LegOS software• Internal software tells robot how to • Time under 10 seconds (73 cm/s) move Second place (below right)Fastest time around track wins • Used program based on LEGO firmware • Time of 25 seconds (28 cm/s)About one dozen participants Ability to rapidly sample sensors was the key Source: Italian Lego Users Group( Contact Mario Ferrari []
  76. 76. innovation process strategy 5: community development – the open source model• private collective model• rapid iterative development• developer=user expertise• virtual collaboration example: Apache • peering, sharing, openness, acting globally founder: Robert McCool• rationale: many expert hands
  77. 77. innovation process strategy 6: research prototype• external funding• groupings of organizations example: KIWI (Knowledge in a Wiki) • funded by European Union• cross-functional expertise • universities, Logica, Sun integration Microsystems, Semantic Web • researchers understand • Company convergence of wiki + tagging + scientific boundaries database + social sharing • developers understand technologies commercial applications• rationale: collaboration with researchers at knowledge boundaries• speciale project on a larger scale
  78. 78. six innovation process strategies• creative requirements analysis• designed process framework• low tech prototyping• user-driven innovation• community development• research prototype
  79. 79. not a process strategy: the designed work environment• physical surroundings Software• tool support Innovation Research• integrated media Laboratory• working and management conditions
  80. 80. software atelier concept
  81. 81. work-style heuristicshape your own process
  82. 82. eight perspectives on personalcreativity in software development
  83. 83. 1. creativity as the developer’s mental process (Wallas 1926)preparation (preparatory work on a problem that focuses the individuals mind on the problem and explores the problems dimensions),incubation (where the problem is internalized into the unconscious mind and nothing appears externally to be happening),intimation (the creative person gets a feeling that a solution is on its way),illumination or insight (where the creative idea bursts forth from its preconscious processing into conscious awareness); and discovery pointverification (where the idea is consciously verified, elaborated, and then applied).
  84. 84. 2. creativity as a set of personal development competences• concerned with both solving problems and recognising opportunities• the creative software professional can: • cope with poorly-defined problems• exhibits: • novel and unconventional thinking • self-motivation • persistence • heuristic, rather than algorithmic thinking
  85. 85. 2. creativity as a set of personaldevelopment competences (continued)• creative problem solving:• is experience- and expertise-based: • developer knows the programming environment and application area extremely well, and has worked on comparable types of problems before• requires • good overview - the ability to keep many aspects of a problem in play simultaneously • well-developed mental modelling capacities - the ability to understand the relationship between many complex facets of a development task, and to express them in appropriate modelling forms• can be learned
  86. 86. 3. creativity as a style of thinking (Miller: Innovation Styles Profile)• visioning: to envision the ideal future (e.g. a user-group with an improved work-process supported by innovative software)• modifying: to refine and optimize what has come before (e.g. take an agile development process and focus it on innovation)• exploring: to discover new and novel possibilities (e.g applying table top computing to the development process)• experimenting: to combine and test many unique combinations: (e.g. use a paper prototype to explore interaction paths for a large database interface)
  87. 87. 4. creativity as meta (divergent)-thinking: recognising unconscious pre-dispositions• mindset: • ‘a set of assumptions, methods or notations held by one or more people or groups of people which is so established that it creates a powerful incentive within these people or groups to continue to adopt or accept prior behaviours, choices, or tools’ (Wikipedia)• recognising and challenging your own mindset• thinking ‘out-of the-box,’ lateral thinking, divergent thinking • beyond conventional linear logical thinking and generally held assumptions• challenging the mindset of others, provoking uncharacteristic reactions
  88. 88. 5. creativity as whole-brain thinking: beyond rationality • the conscious, the pre-conscious, the unconscious • right and left brain thinking LEFT BRAIN FUNCTIONS RIGHT BRAIN FUNCTIONS uses logic  uses feeling  detail oriented  "big picture" oriented  facts rule  imagination rules In the conceptual age, we will need to words and language  symbols and images  present and past  present and future foster and encourage right-directed math and science  philosophy & religion thinking (representing creativity and can comprehend  can "get it" (i.e. meaning)  knowing  believes emotion) over left-directed thinking acknowledges  appreciates  order/pattern perception  spatial perception (representing logical, analytical thought) - knows object name  knows object function Pink (2005) reality based  fantasy based  forms strategies  presents possibilities  practical  impetuous  safe  risk taking
  89. 89. 6. creativity as a relationship between the developer and the outside world• the systems model (Csiksentmihalyi) • domain: a set of symbolic rules and procedures • field: the people who act as gatekeepers to that domain
  90. 90. 7. creativity as a state of mind:• flow (Csiksentmihalyi) • clear goals at every stage • immediate feedback • challenge/skill balance • action and awareness merged • distractions excluded from consciousness • no worry of failure • self-consciousness absent • time distortion • activity becomes autotelic (an end in itself)
  91. 91. 8. creativity as a universal mental skill - to be enhanced (Csiksentmihalyi)• acquisition of creative energy• curiosity• cultivating flow• habits of strength• internal traits• problem finding• divergent thinking• choosing a special domain
  92. 92. eight perspectives on personal creativity in software development:creativity as: the developer’s mental process: recognising and exploiting discovery points a set of personal development competences concerned with both solving problems and recognising opportunities a style of thinking associated with different strengths in individual’s development personalities meta-thinking: recognising predispositions and tendencies in one’s own (and others’ ) thinking and coming beyond them
  93. 93. eight perspectives on personal creativity in software development: (continued)creativity as: whole-brain thinking: beyond rationality a relationship between the individual developer and communities of people and ideas (domain, field) a state of mind: the way the developer’s mind is disposed when being creative (flow) a universal mental skill to be enhanced
  94. 94. work-style heuristicdevelop your personal creativity
  95. 95. the innovative software team
  96. 96. team functiondys-functional team functional team innovative team
  97. 97. types of software teams• co-located small project team (AAU project group) versus:• geographically distributed • supported by co-operative work systems• bureaucratic• self-organising/non-commercial • facilitated by the internet
  98. 98. • positive factors software team • software team rolesinnovation/creativity • communicative interactions factors • the accommodation of divergent thinking • team learning • negative factors • overview (common • creativity barriers purpose) • group dysfunction • expertise integration • social practice patterns • environmental scanning
  99. 99. negative: creativity barriers• workload/time pressure• rigid work practices, bureaucracy• stress• inappropriate evaluation systems• reward systems that penalise mistakes• routine work• poor project management• resource shortage
  100. 100. negative: group dysfunction• destructive dominance• freeloading• conformance• conflict avoidance• destructive conflict• anchoring: digression• search behaviour (premature solution seeking)• groupthink
  101. 101. positive: innovation team roles• conventional: idea generators, entrepreneur/product champion, program manager/leader, gatekeepers/boundary communicators, sponsor/coach• research oriented: plant, resource investigator, co-ordinator, shaper, monitor evaluator, teamworker, implementer, completer finisher, specialist (Belbin)• descriptive: patron, solo virtuoso, gatekeeper, matron, mercenary analyst, surrogate customer, legend, wise fool, peace maker, sacrificial lamb, guru, producer, supporter, deadbeat (Coplien)• formative: XP: coach, programmer, tester, tracker, consultant, big boss on-site customer. SCRUM: product owner, scrum master, chicken (observer)• innovative: ESSENCE: challenger, responder, anchor, child
  102. 102. positive: innovation team interaction• process choices: 1. participants independently and silently generate a list of ideas • free interaction 2. the facilitator records one idea at a • facilitated time going round the group • technique-determined 3. group members discuss each idea for clarification only, without considering (e.g. brainstorming, its merit nominal group technique, …………) 4. participants independently rate and rank the ideas• communicative 5. the group prioritizes the suggestions interaction: from by voting discussion to dialogue Nominal Group Technique
  103. 103. technology positive: team learning domain innovative team use functional team project domain domain dysfunctional team • project domain: organisation and management of the development project, its process, structuring, management, tool support, financing, project members and customers. • technology domain: the hardware, software environment, programming languages, design techniques, architectures and algorithms. • use domain: the application area that the software is intended to be used in, the habits and work (or entertainment) patterns of the users, their way of interacting, the purpose and function of the software product in its use context.
  104. 104. positive: innovative social patterns (work habits) • unity of purpose • engage customers• a social pattern of • domain expertise in roles interaction • architect controls product• a work habit or • distribute work evenly routine • function owner and• a way of organizing a component owner software project • mercenary analyst• innovative patterns? • architect also implements • firewalls • developer controls process Coplien’s top ten patterns
  105. 105. • positive: accomodation of divergent thinking• positive: expertise integration• positive: overview, vision, common purpose, shared learning• positive: environmental scanning• positive: tool support
  106. 106. an innovative team displays:• good understanding and exploitation of roles, especially those which promote creativity• highly functional dialogue-based communicative interactions, including accommodation of divergent thinking• high levels of team learning leading to flexible response to challenges (agility)• good shared understanding of common purpose (overview) even in the situation of rapid change• constructive software practice patterns – that is productive work practices• diverse and deep expertise, well integrated• intense awareness of their environment
  107. 107. some defining teamwork questions:• which people would you want in your innovative team?• which roles should be filled in an innovative team process?• how structured should the team process be (tools and techniques versus free interaction)?• what is the creativity environment for a your team and how can you improve it?• what are the innovative work habits (patterns) of your teams?• how does the team promote team learning and dialogue?• how does the team develop a shared purpose and overview?• what kind of automated tool support does an innovative team need?• what learning do you need from outside the project and when do you need it?• how do you know when the team is working innovatively?
  108. 108. overview
  109. 109. work-style heuristics keep your head uptarget your product’s innovation profile shape your own process develop your personal creativity be a super-team-worker grow your knowledge community bring your toolbox know when you are (not) innovative
  110. 110. work-style heuristicbe a super team worker
  111. 111. creativity tools and techniques (article review) research questions:what kind of software tool support can underpin innovative software projects? what kinds of techniques can underpin innovative software projects? 1
  112. 112. creativity tools and techniques tools techniquessoftware support for the creative ways of accomplishing tasks in the development process creative development process e.g. mind mapping (ideas organised hierarchically as nodes and edges) 2
  113. 113. repertoire and situationtoolbox (repertoire) situation: (project, development)
  114. 114. tool support – some literatureAdamides, E. D. and N. Karacapilidis (2006). "Information Technology Support for the Knowledge and Social Processes of Innovation Management." Technovation 26(1): 50-59.Greene, S. L. (2002). "Characteristics of applications that support creativity." Communications of the ACM 45(10): 100-104.Shneiderman, B. (2000). "Creating creativity: user interfaces for supporting innovation." ACM Transactions on Computer-Human Interaction (TOCHI) 7(1): 114-138.Shneiderman, B. (2002). "Creativity support tools." Communications of the ACM 45(10): 116-120.Shneiderman, B. (2007). "Creativity Support Tools." Communications of the ACM 50(12): 20-32.
  115. 115. research style• two types of article • general frameworks (inspirational, structural, situational) (collect, relate, create, donate) • tool development report• purposes • generalized advice • tool promotion • lessons learned• methods • literature review • (anecdotal) eclectic examples • (under-theorised) tool development
  116. 116. problems for SWI• not software developer (domain area) specific• eclectic examples• frameworks too generalized to be operationalised• many aspects of SWI potentially to be supported• many potential use situations
  117. 117. characteristics of applications supporting creativity (Greene)• applications support: • (pain free) exploration and experimentation (sandbox mode) • engagement with content to promote active learning and discovery • search, retrieval and classification • collaboration • iteration • instructive mistakes • domain-specific actions
  118. 118. creativity support tool tasks: (Shneiderman)(1) searching and browsing digital libraries, the web, and other resources(2) visualizing data and processes to understand and discover relationships(3) consulting with peers and mentors for intellectual and emotional support(4) thinking by free associations to make new combinations of ideas(5) exploring solutions—what-if tools and simulation models(6) composing artefacts and performances step-by-step(7) reviewing and replaying session histories to support reflection(8) disseminating results to gain recognition and add to the searchable resources
  119. 119. 9
  120. 120. 10
  121. 121. 11
  122. 122. 12
  123. 123. 13
  124. 124. 14
  125. 125. 15
  126. 126. Commercial Creativity Support Tools ACTA Advantage  Mind Mapper Axon Idea Processor  MindMan Brainstorm  MoonLite BrainStormer  MORE Brainstorming 1.0.1  Paramind Brainstorming Toolbox  Personal Best 3.1 CK Modeller  Plot Prompt CM/1  Plots Unlimited ComedyWriter  Powerpoint Concept Draw  Scriptware Corkboard/Three by Five  Serious Creativity CreaPro  Simplex Creative Whack Pack  Sirius Creative Studio  StoryBuilder Decision Explorer  StoryCraft Dramatica  StoryCraftNet for Writers DynoNotePad  SuperMemo Genius Handbook  The Creativity Machine GroupSystems II  The Electric Brain Grouputer  The Electric Mind Idea Generator Plus  The Solution Machine IdeaFisher  Thoughtline IDEGEN++  Thoughtpath In Control  TreePad InfoDepot  Turbo Thought Innovation Toolbox  Visimap / InfoMap Inspiration  VisionQuest Invention Machine  Visual Outliner MaxThink  WinGrid MicMac  WordPerfect Microsoft Word (Outlining Feature)  Yeahwrite Ref: Creativity Web Microsoft Word (Thesaurus Module)
  127. 127. a proposed software support toolbox• support for escaping routine work • programming editors, visual editors, case tools and diagrammers, project management tools, code management and versioning• sandbox tools • prototyping tools, screen painters, demo makers, animation and slide-show software, visual RAD tools• knowledge tools • search tools, technical problem solving and coding documentation sites, knowledge base, wiki, experience exchange, idea repository• collaboration tools • internal and external collaboration, communication tools, collaborative writing, social network support, dialogue support• visualisation and overview support • simple diagrammatic support for visualising and agreeing common purpose in the face of complexity: mind maps, Microsoft Visio• creativity technique support • support for particular creativity techniques used in the project
  128. 128. creativity tools and techniquestools techniques software support for the creative ways of accomplishing tasks in the development process creative development process e.g. mind mapping (ideas organised hierarchically as nodes and edges)
  129. 129. creativity techniques (Mycoted wiki)
  130. 130. conceptual schemas Mycoted Martin Leith • Worldview 1 - The World is a Machine (based on• Process rational cause and effect thinking, and first order change - emphasis on producing many• Problem Definition ideas and selecting the brilliant one)• Idea Generation • Worldview 1 Plus - The World is a Network of Relationships• Idea Selection • Worldview 2 - The World is a System (complex issues are addressed through context• Idea Implementation manipulation, pattern analysis and constraint removal) • Worldview 3 - The World is a Field of Energy and Consciousness (involves heightening the perception of the idea generator)
  131. 131. creativity techniques and innovation styles
  132. 132. a starting repertoiretechnique description useBrainstorming well-known technique for idea generation first software product and its feature ideasBackward mapping visioning the software product in use understanding the desired user experienceSCAMPER substitute, combine, adapt, magnify, put improve a software concept to other uses, eliminate and rearrangeSix Serving Men what why when how where who fill out and interrogate initial conceptSix thinking hats facts, emotion, caution, logical positive, project review ideas, controlVision box design the box that the product will be understand the essential selling shipped in points of the softwareElevator test who (statement of the need or describe the product effectively opportunity) the (product name) is a to others outside the project (product category) that (key benefit, compelling reason to buy) unlike (primary competitive alternative) our product (statement of primary differentiation)
  133. 133. work-style heuristicbring your own toolbox 23
  134. 134. • A man lives on the twelfth floor of an apartment building. Every morning he takes the elevator down to the lobby and leaves the building. In the evening, he gets into the elevator, and, if there is someone else in the elevator -- or if it was raining that day -- he goes back to his floor directly. Otherwise, he goes to the tenth floor and walks up two flights of stairs to his apartment.
  135. 135. • A rope breaks. A bell rings. A man dies.
  136. 136. • You live in an poorly developed African county and are responsible for developing the central phone service. The program is going slowly, cable installation is expensive and only the major towns have acceptable service
  137. 137. • you work for SAP – you need to understand requirements for the next generation of your ERP system in order to continue to be a market leader – but you have many different installations in diverse countries, industries and firms
  138. 138. software innovation:network and community
  139. 139. network (community) model: practice• the conjunction of people, ideas and expertise • physical: Silicon Valley, Bangalore, Zhongguancun Science Park, Hsin-Chu ……………… • virtual (e.g. open source)
  140. 140. innovation networks: theory• invisible college, thought community, community of practice (Wenger), practice network• field, domain (Csiksentmihalyi)• reflective practice• knowledge as social process, social construction of meaning, knowledge creation space (“ba” - Nonaka)• knowledge exchange
  141. 141. open source community indicators• Free Software Foundation, Linux, Freenet, Apache, Fetchmail• hero/legend (Richard Stallman, Linus Torvalds, Ian Clarke, Rob McCool, Eric Raymond)• joining ritual, high entry threshold, start with bug-reporting and fixing• specialists and generalists (core developers, architects)• copyleft (GPL)• • 50,000+ projects • 500,000+ registered users
  142. 142. open-source community principlesvirtual net-enabled communities of programmers set the norms for practice and provide a wider sense ofcommunity contributing and belonging. The community is often enabled by the internet and the products of the community are free and open to all its members.the software the focus of the community is the software it builds: the software solution, characterised as achallenge challenge to be collectively overcome.self-organisation in work is self-organised by independent and equal peers in networks across traditionalnetworks organisational boundaries, rather than managed in the traditional sense. Networks merge, change and dissolve in response to evolving technical challenges.technical mastery programmers aspire to technical excellence – mastery of their craft - where the ability to create innovative or elegant programming solutions is the primary measure of success.self-realisation in the community sets the scene for personal expression, creativity, heroism and championingthe technological innovation. Membership of, and status in the technological elite is the primary reward, notmeritocracy commercial success.code sharing, peer improvement of the software solution takes place through code sharing and code revision byfeedback, other programmers. The process is iterative and improvisatory.improvisationtechnology programmer communities aspire to and attain technology leadership through technicalleadership mastery applied to the production of software solutions. The techno-elite do not follow markets or technology trends – they lead the markets and set the trends through innovation.code quality the engineering quality of the resultant code is the measure of success.programming programming competence development is the motivating factor for improvement.competencedevelopment
  143. 143. open source community principles virtual net-enabled community• the software challenge• self-organisation in networks• technical mastery• self-realisation in the technological meritocracy• code sharing, peer feedback, improvisation• technology leadership• code quality• programming competence development•
  144. 144. private collective model (von Hippel and von Krogh)• existing economic innovation models: • private investment (industry) • innovation supported by private investors (typically companies) who expect private returns • intellectual property law, copyright, patent (=knowledge/innovation loss to society) • collective action model (science) • innovators relinquish control of new knowledge to a common pool for the common good • typically supported by the state• new model (open source) • private collective • Developer-users invest their own resources • free revealing of knowledge (code)
  145. 145. work-style heuristicgrow your knowledge community
  146. 146. software innovation – assessment and evaluation personal and group creativity product assessment work environment inventory summary
  147. 147. facts insight decision perceiving modifying exploring visioning experimenting innovation styles: •modifying •exploring •experimenting •visioning personal creativity: psycho-metric testingbased on the innovation styles profile (ISP),
  148. 148. innovative software product assessment (Lobert, B. M. and D. G. Dologite (1994). Measuring creativity of information system ideas: an exploratory investigation.)software innovation
  149. 149. innovative software product assessment (Lobert, B. M. and D. G. Dologite (1994). Measuring creativity of information system ideas: an exploratory investigation.)software innovation
  150. 150. work environment inventory (WEI)• six parameters: • freedom • challenging work • sufficient resources • supervisory encouragement • work group support • organizational encouragement
  151. 151. problems for SWI• eclectic examples• no systematic framework• many sides of SWI to be evaluated• many conventional assessment techniques are long term measures• highly situation dependent
  152. 152. software innovation measures here and now •flow •psychometric testing •team performance •product assessment •technical challenge •market assessment •customer relations •work environment •user responses assessment •project status •challenge/response level •copyrightformal •patent informal •return on investment •goodwill •market value •developer or firm reputation •market share •scientific reputation •scientific citations long term
  153. 153. work-style heuristicknow when you are (not) innovative
  154. 154. the work heuristic here-and-now informal project evaluator tool keep your head up grow your knowledge community target your product’s innovation profile shape your own process develop your personal creativity be a super-team-worker bring your toolbox know when you are (not) innovative
  155. 155. keep your head updo you know the latest technical development in the field you are working on?do you know the rival products that other companies are working on?do you understand the emerging technology potential?what infrastructure do you need and is it in place?what is the potential market for your product? grow your knowledge communityare you in contact with leaders in the field, researchers, universities, lead users?can you import necessary expertise for the project when you need it?do you get valuable external feedback?
  156. 156. target your product’s innovation profilewhat is the added value (utility) for the user?why is your product new and original?do you understand your user community?how will their lives change when they use your product? shape your own processis the development process suitable for the task?are there techniques and practices which stimulate the creativity of the team?does it allow space for creativity and innovation?do you adapt it to the current needs of the project?can you improvise your way out of the difficulties?
  157. 157. develop your personal creativityare you learning fast?does your role suit you?can you bring your expertise and experience to bear on the problem?are you challenged by the tasks you have without feeling chronic stress?are you often in flow? be a super-team-workerdoes the team have a shared vision and know where it is going?does the team have effective communication (dialogue)?how does the team accommodate divergent thinking?does the team communicate its experience and expertise and learn fast?
  158. 158. bring your toolboxdo you have creativity techniques that help you to move forward?do you have the right tool support to maximise progress and minimise drudge work? know when you are (not) innovativedoes the team recognise when it is not moving forward and do something differently?
  159. 159. Software Innovation Design Game with valuable prize
  160. 160. rules of the design game1. tasks: first come first served2. design proposal must be viewable by all and presented in five minutes3. design proposal must be theoretically based4. evaluation criteria • novelty, utility, elaboration • theoretical justification5. judges’ decision final
  161. 161. presentation1. slide(s) (mockup, demonstration) explaining the design proposal2. slide explaining the theoretical connection
  162. 162. design task: sketch an innovative software product (not IEC product)task describe a innovative software producttask description sketch an idea for a software product which displays novelty and utility with a defined innovation profile (SI p.54) for a particular user communitytask objective develop a coherent and defensible idea for a new software productsuggested work method brainstorm, refine idea, apply innovation profile thinking (consider IEC techniques)background theory SI ch. 1,3output slide(s)/mockup showing an overview of the product, perhaps communicated in several different waysother resources your IEC experiencesuccess criteria well-communicated overview of product with clear innovation profile
  163. 163. design task: sketch an innovative software processtask design a software process targeted at innovationtask description the process should provide a lightweight, adaptable process framework which would guide a student project team through a semester project with a focus on innovationtask objective software process innovation in the department’s development worksuggested work method brainstorm, sketch process, include agile practices, creativity techniquesbackground theory IEC material and experience, SI ch 4output process steps, tools techniques, practicesother resources lecture 11 slides, creativity techniques, mind mapsuccess criteria good communication of well-argued process
  164. 164. design task: sketch the ideal work space for an innovative software teamtask outline a physical and/or psychological environment which maximises the creativity of the software development teamtask description revolutionalize your group room and project conditions and provide a vision for how they could be in the future with a focus on innovationtask objective developing understandings of stimulating work environments for software developerssuggested work method brainstorm, visit SIRL, low tech prototypesbackground theory SI ch. 5-7, SIRLoutput architectural sketches of work-space, descriptions of work practice and management conditionsother resources SIRLsuccess criteria work conditions that are practical, imaginative and stimulating
  165. 165. design task: innovative team tool supporttask specify ideal tool support for an innovative software development teamtask description a creative software team needs software tool support for its work - envision the suite of tools that might be necessary and choose, specify or design themtask objective develop understandings of appropriate tool support in innovative development contextsuggested work method brainstorm, low tech prototypes, sketches of screen dumpsbackground theory SI ch. 7 (maybe 5, 6)output a model of the team member’s desktopother resourcessuccess criteria well-argued tool support collection that underpins the innovative software development task
  166. 166. design task: software developer personal creativity short coursetask design a creativity short coursetask description design a short course (e.g. 2 days) which challenges and stimulates the ability of the individual software developer to generate and develop innovative ideas in the software fieldtask objective support and develop personal creativity in the individual software developersuggested work method brainstorm, determine objectives, design supporting activitiesbackground theory SI ch. 5, 7output outline of course with explanations of activitiesother resources IEC experiencesuccess criteria well-explained course outline with clear goals and suitable activities
  167. 167. design task: online software development innovation communitytask innovation through virtual software communitytask description devise a strategy for establishing an online community (and its online home) which develops innovative software in a given fieldtask objective understand virtual user-community led software innovationsuggested work method brainstorm, select field, research SourceForge, target community members, sketch portalbackground theory SI ch. 2output community and portal design, community growth strategy, software development strategyother resources SourceForge.netsuccess criteria clearly-articulated strategies
  168. 168. design task:tasktask descriptiontask objectivesuggested work methodbackground theoryoutputother resourcessuccess criteria
  169. 169. software innovation course summary
  170. 170. course design theory practice reflection preparation IEC mini-project
  171. 171. learning strategiesKolb’slearningcycle Argyris: double loop learning
  172. 172. content overview Intensive ESSENCE Course
  173. 173. infrastructure and trajectory• market and technology trajectories• hardware and software convergence• market (user demand)• infrastructure development• innovation windows
  174. 174. work-style heuristic keep your head up
  175. 175. innovation networks/community• innovation networks: theory• the social character of knowledge• extending knowledge boundaries• open source community• private collective model
  176. 176. work-style heuristicgrow your knowledge community
  177. 177. the innovative software product• invention v. innovation• novelty and utility• consequence = social change• incremental v. radical• technical system hierarchies/levels of innovation profile: innovation• utility forms •novelty • computing infrastructural •utility • technology enabling •user community • user service •social change • business change enabling • interaction/communication •market • entertainment •technical innovation• innovation profile •infrastructure dependence
  178. 178. work-style heuristictarget your product’s innovation profile
  179. 179. the innovative software process• IEC experience• linear and iterative innovation models• linear: the light bulb model• agility: necessary, not sufficient• market-led and technology-led software innovation• improvisation, bricolage• six innovation process strategies • creative requirements analysis • designed process framework • low tech prototyping • user-driven innovation • community development • research prototype
  180. 180. work-style heuristic shape your own process
  181. 181. the creative software developer• the developer’s mental process: recognising and exploiting discovery points• a set of personal development competences concerned with both solving problems and recognising opportunities• a style of thinking associated with different strengths in individual’s development personalities• meta-thinking: recognising predispositions and tendencies in one’s own (and others’ ) thinking and coming beyond them• whole-brain thinking: beyond rationality• a relationship between the individual developer and communities of people and ideas (domain, field)• a state of mind: the way the developer’s mind is disposed when being creative (flow)• a universal mental skill to be enhanced
  182. 182. work-style heuristicdevelop your personal creativity
  183. 183. the innovative software team• negative • creativity barriers • negative: group dysfunction• positive • innovation team roles • positive: innovation team interaction • positive: team learning • positive: innovative social patterns • positive: accommodation of divergent thinking • positive: expertise integration • positive: overview, vision, common purpose, shared learning • positive: environmental scanning
  184. 184. work-style heuristic be a super-team-worker
  185. 185. tools and techniques for innovative development• creativity techniques • brainstorming • backward mapping • repertoire • SCAMPER • six serving men • situational choice • six thinking hats • vision box • elevator test• tools for: • support for escaping routine work • sandbox tools • knowledge tools • collaboration tools • visualization and overview support • creativity technique support
  186. 186. work-style heuristic bring your toolbox
  187. 187. evaluating software innovation
  188. 188. work-style heuristicknow when you are (not) innovative
  189. 189. overview
  190. 190. work-style heuristics keep your head up grow your knowledge communitytarget your product’s innovation profile shape your own process develop your personal creativity be a super-team-worker bring your toolbox know when you are (not) innovative