SlideShare uma empresa Scribd logo
1 de 193
Baixar para ler offline
Software Innovation
     course introduction
course content




    Intensive ESSENCE Course
course design


theory

                          practice    reflection


            preparation



                           IEC       mini-project
•   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
work-style heuristics

          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
the science of
  innovation
motivation – why study SWI
•   macro reasons

    •   standardisation of software

    •   industrialisation

    •   globalisation

    •   user-developed software

•   meso reasons

    •   creative team

    •   innovative firm

•   micro reasons

    •   career
innovation: scientific disciplines
            cognitive                 management
economics                sociology                      others
             science                    science



                        innovation



                                                50-60 articles
                         software
                        innovation
                                                institute’s research



            computer     software     information
             science    engineering     systems
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
(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 audience
time lag                                     a continuous process
(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
(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
(software) innovation: forms




•   the inventor and the imitator
    (Schumpeter)
•   technology transfer
•   local and global innovation
(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
(software) innovation:
         prerequisite


•    openness or ‘absorptive
     capacity’ for outside
     knowledge
•    ability to circumvent
     established thinking
     routines and avoid ‘not
     invented here’ syndrome
(high tech) innovation:
            (Pavitt)


•     ‘science-based’ (research
      and development and
      close contact to organized
      science)
•     ‘special suppliers’
      engineering skills and
      close contact to users
(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)
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.
the innovative software product




          iPad review
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
innovative software products:
               consequences


                                            social
invention   exploitation   diffusion       change




                                       in a user community

            impact delay
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, b
focused
novelty: levels of
innovation (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 system's primary functions - solutions are found more
          often in science than technology.

      level 5 - a rare scientific discovery or pioneering invention of an essentially
          new system
high
incremental and radical innovation
     broad
                                           radical
                                         innovation



  technical
  system
  hierarchy
                    incremental
                     innovation


   focused

              low                                high
                       level of innovation
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
blue ocean strategies
•   strategy canvas
    •   competing factors (software features)

    •   offering level (amount of investment in feature)
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
video
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
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
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
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
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
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)
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
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
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
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
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
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
utility form 6: entertainment

•   software underpins novel entertainment forms

    •   leisure activity

    •   gaming

    •   media clip distribution

    •   user-generated content

    •   sport

    •   culture e.g. music
example: WoW

•   value proposition: social gaming
•   trajectory: digitalization of play
•   convergence of gaming, 3D, virtual
    world, social media
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.
work-style heuristic




target your product’s innovation profile
software innovation timing


            trajectory
          digitalization
         convergence
         infrastructure
      innovation windows
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
technology trajectory
                                                   ???????


                                  music file compression

                                  optics                                ???????
                     transistor                            mp3 player

          valve

                                           cd player
vinyl


                       gramophone



        phonograph                                     digitalization
software technology trajectory


                                                 embedded OS




                                   OS/360
run-time     monitor     GM-NAA I/O IBM              UNIX                   LINUX
libraries   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
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
       gramophone

phonograph
                                     qwerty keyboard      number pad


                                                           calculator
                                          typewriter
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
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
the innovation window
                     technology
                     trajectories

•   software
    technology
                                                       convergence
    trajectories

•   convergence
                           user demand
•   (user) demand
    (= market)
    development

•   infrastructure        infrastructure development
    development                                           innovation
                                                            window


                           t
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
work-style heuristic




keep your head up
the innovative software process
   6 innovation process strategies (+ 1)


how do you develop an innovative software
               product?
innovation: not normally a goal
goal                              method type                explanation
complexity management             traditional                organisation of large development efforts
                                                             with many developers, requirements, lines of
                                                             code, complex architectures
uncertainty management            agile, prototyping         management of development where
                                                             requirements, costs, technology, people, time
                                                             scales are unknown or cannot be reliably
                                                             predicted
project management                traditional, agile         planning; disposition and monitoring of tasks,
                                                             people, time and resources
rational analysis and modelling   traditional, contextual    understanding a work situation or user
                                  design                     environment through models
communication through             traditional                providing explanations for colleague
documentation                                                developers, future developers and users
design through modelling          traditional                structuring design and programming work

automation of manual work         traditional, agile         providing computerised support for manual
processes                                                    work processes in the work situation
working code                      agile                      focusing on programming work
speed                             rapid development, agile   producing a working system in a reasonable
                                                             time period
close relationships with          agile, participatory       improving interactions between people
customers and users               development
linear
    innovation
    in industry



•   Roberts, E.B.,
    Managing invention
    and innovation.
    Research
    Technology
    Management, 1988.
    31(1): p. 11-27.
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 product
specification                     •   conceptualized early in the process
                                  •   developed to be a marketable software system
                prototyping

                                  commercial
                                     build

                                                           release


                                                                                     review
iterative innovation in industry
              -Boeing’s innovation model




•   Lind, J., Boeing's Global Enterprise Technology Process. IEEE Engineering
    Management Review, 2007. 35(1): p. 38-52.
iterative models - also for
   software development
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.
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
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
process, instantiation,
                   improvisation, bricolage

                           improvisation,
                           bricolage
     instantiation

               •     improvisation
the generic          •   deliberate, not a series of accidents
process              •   (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’
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
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
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
six innovation process strategies


• creative requirements analysis
• designed process framework
• low tech prototyping
• user-driven innovation
• community development
• research prototype
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
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
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 prototypes

high tech
    •   rationale: low cost
        experimentation, rapid
        learning
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
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
Lego mindstorms user communities grew rapidly
                              - without company involvement
Members
  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
Within 3 weeks of commercial introduction users had improved it significantly


                 The rules                                                                       The results

Robots 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(http://www.itlug.org/) Contact Mario Ferrari [mario.ferrari@edis.it]
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
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
six innovation process strategies


• creative requirements analysis
• designed process framework
• low tech prototyping
• user-driven innovation
• community development
• research prototype
not a process strategy:
           the designed work environment




•   physical surroundings    Software
•   tool support             Innovation
                             Research
•   integrated media         Laboratory
•   working and management
    conditions
software atelier concept
work-style heuristic




shape your own process
eight perspectives on personal
creativity in software development
1. creativity as the developer’s mental process
                                    (Wallas 1926)


preparation (preparatory work on a problem
    that focuses the individual's mind on the
    problem and explores the problem's
    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 point
verification (where the idea is consciously
     verified, elaborated, and then applied).
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
2. creativity as a set of personal
development 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
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)
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
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
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
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)
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
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
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
work-style heuristic




develop your personal creativity
the innovative software team
team function
dys-functional team




               functional team




                            innovative team
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
•   positive factors
   software team                     •   software team roles
innovation/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
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
negative: group dysfunction

•   destructive dominance
•   freeloading
•   conformance
•   conflict avoidance
•   destructive conflict
•   anchoring: digression
•   search behaviour (premature solution seeking)
•   groupthink
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
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
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.
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
•   positive: accomodation of divergent thinking
•   positive: expertise integration
•   positive: overview, vision, common purpose,
    shared learning
•   positive: environmental scanning
•   positive: tool support
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
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?
overview
work-style heuristics


          keep your head up
target 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
work-style heuristic




be a super team worker
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
creativity tools and techniques
             tools                             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)




                                                                         2
repertoire and situation




toolbox (repertoire)
                             situation: (project, development)
tool support – some literature

Adamides, 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.
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
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
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
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
9
10
11
12
13
14
15
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)
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
creativity tools and techniques


tools                                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)
creativity techniques (Mycoted wiki)
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)
creativity techniques and innovation styles
a starting repertoire
technique           description                                  use

Brainstorming       well-known technique for idea generation     first software product and its
                                                                 feature ideas
Backward mapping    visioning the software product in use        understanding the desired user
                                                                 experience
SCAMPER             substitute, combine, adapt, magnify, put     improve a software concept
                    to other uses, eliminate and rearrange
Six Serving Men     what why when how where who                  fill out and interrogate initial
                                                                 concept
Six thinking hats   facts, emotion, caution, logical positive,   project review
                    ideas, control
Vision box          design the box that the product will be      understand the essential selling
                    shipped in                                   points of the software
Elevator 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)
work-style heuristic




bring your own toolbox




                         23
• 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.
• A rope breaks. A bell rings. A man dies.
• 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
• 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
software innovation:
network and community
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)
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
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)
•       Sourceforge.net
    •    50,000+ projects
    •    500,000+ registered users
open-source community principles
virtual net-enabled   communities of programmers set the norms for practice and provide a wider sense of
community             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 a
challenge             challenge to be collectively overcome.

self-organisation in work is self-organised by independent and equal peers in networks across traditional
networks             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 championing
the technological     innovation. Membership of, and status in the technological elite is the primary reward, not
meritocracy           commercial success.

code sharing, peer improvement of the software solution takes place through code sharing and code revision by
feedback,          other programmers. The process is iterative and improvisatory.
improvisation

technology            programmer communities aspire to and attain technology leadership through technical
leadership            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.
competence
development
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
•
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)
work-style heuristic




grow your knowledge community
software innovation – assessment and
              evaluation
       personal and group creativity
       product assessment
       work environment inventory
       summary
facts                    insight
                                                            decision              perceiving
                                                            modifying              exploring
                                                            visioning          experimenting




                                                                   innovation styles:
                                                                   •modifying
                                                                   •exploring
                                                                   •experimenting
                                                                   •visioning




       personal creativity: psycho-metric testing
based on the innovation styles profile (ISP), http://www.creativeadvantage.com/profile.htm
innovative software product assessment
          (Lobert, B. M. and D. G. Dologite (1994). Measuring creativity of information system ideas:
                                        an exploratory investigation.)




software innovation
innovative software product assessment
          (Lobert, B. M. and D. G. Dologite (1994). Measuring creativity of information system ideas:
                                        an exploratory investigation.)




software innovation
work environment inventory (WEI)

•   six parameters:

    •   freedom

    •   challenging work

    •   sufficient resources

    •   supervisory encouragement

    •   work group support

    •   organizational encouragement
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
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
          •copyright
formal    •patent                               informal




    •return on investment           •goodwill
    •market value                   •developer or firm reputation
    •market share                   •scientific reputation
    •scientific citations


                        long term
work-style heuristic




know when you are (not) innovative
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
keep your head up
do 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 community

are 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?
target your product’s innovation profile

what 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 process


is 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?
develop your personal creativity

are 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-worker

does 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?
bring your toolbox

do 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) innovative

does the team recognise when it is not moving forward and do something differently?
Software Innovation Design Game

         with valuable prize
rules of the design game
1. tasks: first come first served
2. design proposal must be viewable by all and presented in
      five minutes

3. design proposal must be theoretically based
4. evaluation criteria
  •     novelty, utility, elaboration

  •     theoretical justification

5. judges’ decision final
presentation




1. slide(s) (mockup, demonstration) explaining the design
    proposal

2. slide explaining the theoretical connection
design task: sketch an innovative
          software product (not IEC product)
task                    describe a innovative software product

task 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 community
task objective          develop a coherent and defensible idea for a new software
                        product
suggested work method   brainstorm, refine idea, apply innovation profile thinking
                        (consider IEC techniques)
background theory       SI ch. 1,3

output                  slide(s)/mockup showing an overview of the product,
                        perhaps communicated in several different ways
other resources         your IEC experience

success criteria        well-communicated overview of product with clear
                        innovation profile
design task: sketch an innovative
                  software process
task                    design a software process targeted at innovation
task 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 innovation

task objective          software process innovation in the department’s
                        development work

suggested work method   brainstorm, sketch process, include agile practices,
                        creativity techniques

background theory       IEC material and experience, SI ch 4
output                  process steps, tools techniques, practices
other resources         lecture 11 slides, creativity techniques, mind map
success criteria        good communication of well-argued process
design task: sketch the ideal work
           space for an innovative software
                         team
task                    outline a physical and/or psychological environment
                        which maximises the creativity of the software
                        development team
task description        revolutionalize your group room and project conditions and provide a vision
                        for how they could be in the future with a focus on innovation

task objective          developing understandings of stimulating work
                        environments for software developers
suggested work method   brainstorm, visit SIRL, low tech prototypes
background theory       SI ch. 5-7, SIRL
output                  architectural sketches of work-space, descriptions of work
                        practice and management conditions
other resources         SIRL

success criteria        work conditions that are practical, imaginative and
                        stimulating
design task: innovative team tool
                        support
task                    specify ideal tool support for an innovative software
                        development team
task 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 them

task objective          develop understandings of appropriate tool support in
                        innovative development context
suggested work method   brainstorm, low tech prototypes, sketches of screen dumps

background theory       SI ch. 7 (maybe 5, 6)

output                  a model of the team member’s desktop

other resources

success criteria        well-argued tool support collection that underpins the
                        innovative software development task
design task: software developer
           personal creativity short course
task                    design a creativity short course

task 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 field
task objective          support and develop personal creativity in the
                        individual software developer
suggested work method   brainstorm, determine objectives, design supporting
                        activities
background theory       SI ch. 5, 7

output                  outline of course with explanations of activities

other resources         IEC experience

success criteria        well-explained course outline with clear goals and
                        suitable activities
design task: online software
         development innovation community
task                    innovation through virtual software community

task description        devise a strategy for establishing an online community (and its
                        online home) which develops innovative software in a given field
task objective          understand virtual user-community led software
                        innovation
suggested work method   brainstorm, select field, research SourceForge,
                        target community members, sketch portal
background theory       SI ch. 2

output                  community and portal design, community growth
                        strategy, software development strategy
other resources         SourceForge.net

success criteria        clearly-articulated strategies
design task:

task

task description

task objective

suggested work method

background theory

output

other resources

success criteria
software innovation
      course summary
course design


 theory

                        practice    reflection


          preparation



                         IEC       mini-project
learning strategies
Kolb’s
learning
cycle




                 Argyris:
                 double
                 loop
                 learning
content overview




     Intensive ESSENCE Course
infrastructure and trajectory

•   market and technology
    trajectories
•   hardware and software
    convergence
•   market (user demand)
•   infrastructure
    development
•   innovation windows
work-style heuristic




   keep your head up
innovation networks/community
•   innovation networks: theory
•   the social character of knowledge
•   extending knowledge boundaries
•   open source community
•   private collective model
work-style heuristic




grow your knowledge community
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
work-style heuristic




target your product’s innovation profile
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
work-style heuristic




 shape your own process
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
work-style heuristic




develop your personal creativity
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
work-style heuristic




 be a super-team-worker
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
work-style heuristic




   bring your toolbox
evaluating software innovation
work-style heuristic




know when you are (not) innovative
overview
work-style heuristics



          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

Mais conteúdo relacionado

Semelhante a Software Innovation course

Open.source.innovation.20070624
Open.source.innovation.20070624Open.source.innovation.20070624
Open.source.innovation.20070624Vu Hung Nguyen
 
Monetizing data - An Evening with Eight of Chicago's Data Product Management...
Monetizing data  - An Evening with Eight of Chicago's Data Product Management...Monetizing data  - An Evening with Eight of Chicago's Data Product Management...
Monetizing data - An Evening with Eight of Chicago's Data Product Management...Randy Horton
 
GA - product management for entrepreneurs
GA - product management for entrepreneursGA - product management for entrepreneurs
GA - product management for entrepreneurszhurama
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsIBM UrbanCode Products
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationAdaCore
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product managementPhil Barrett
 
Designing for User Experience (UX)
Designing for User Experience (UX)Designing for User Experience (UX)
Designing for User Experience (UX)Eric Shaver, PhD
 
White paper -satyam_industrial_practice (3)
White paper -satyam_industrial_practice (3)White paper -satyam_industrial_practice (3)
White paper -satyam_industrial_practice (3)Ramprasad Srivats
 
Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...
Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...
Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...Marco Ajovalasit
 
Prototyping For Early Validation by Michael Hawley, Mad*Pow
Prototyping For Early Validation by Michael Hawley, Mad*PowPrototyping For Early Validation by Michael Hawley, Mad*Pow
Prototyping For Early Validation by Michael Hawley, Mad*PowUIDesign Group
 
Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...Think For A Change
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationJonathan Arnowitz
 
Software Engineering course
Software Engineering courseSoftware Engineering course
Software Engineering courseJeremy Rose
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and SecureDenim Group
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsMike Long
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 

Semelhante a Software Innovation course (20)

Open.source.innovation.20070624
Open.source.innovation.20070624Open.source.innovation.20070624
Open.source.innovation.20070624
 
ILook_CHItaly
ILook_CHItalyILook_CHItaly
ILook_CHItaly
 
Monetizing data - An Evening with Eight of Chicago's Data Product Management...
Monetizing data  - An Evening with Eight of Chicago's Data Product Management...Monetizing data  - An Evening with Eight of Chicago's Data Product Management...
Monetizing data - An Evening with Eight of Chicago's Data Product Management...
 
GA - product management for entrepreneurs
GA - product management for entrepreneursGA - product management for entrepreneurs
GA - product management for entrepreneurs
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configuration
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product management
 
Designing for User Experience (UX)
Designing for User Experience (UX)Designing for User Experience (UX)
Designing for User Experience (UX)
 
White paper -satyam_industrial_practice (3)
White paper -satyam_industrial_practice (3)White paper -satyam_industrial_practice (3)
White paper -satyam_industrial_practice (3)
 
1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction (1)
1 introduction (1)1 introduction (1)
1 introduction (1)
 
Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...
Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...
Design_and_competitive_advantage - Claudio Dell'Era at HCDI seminar 30 April ...
 
Prototyping For Early Validation by Michael Hawley, Mad*Pow
Prototyping For Early Validation by Michael Hawley, Mad*PowPrototyping For Early Validation by Michael Hawley, Mad*Pow
Prototyping For Early Validation by Michael Hawley, Mad*Pow
 
Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software Creation
 
Software Engineering course
Software Engineering courseSoftware Engineering course
Software Engineering course
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and Secure
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 

Último

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Último (20)

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

Software Innovation course

  • 1. Software Innovation course introduction
  • 2. course content Intensive ESSENCE Course
  • 3. course design theory practice reflection preparation IEC mini-project
  • 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. work-style heuristics 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
  • 6. the science of innovation
  • 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. innovation: scientific disciplines cognitive management economics sociology others science science innovation 50-60 articles software innovation institute’s research computer software information science engineering systems
  • 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. (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 audience time lag a continuous process
  • 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. (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. (software) innovation: forms • the inventor and the imitator (Schumpeter) • technology transfer • local and global innovation
  • 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. (software) innovation: prerequisite • openness or ‘absorptive capacity’ for outside knowledge • ability to circumvent established thinking routines and avoid ‘not invented here’ syndrome
  • 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. (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. 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. the innovative software product iPad review
  • 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. innovative software products: consequences social invention exploitation diffusion change in a user community impact delay
  • 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, b focused
  • 23. novelty: levels of innovation (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 system's primary functions - solutions are found more often in science than technology. level 5 - a rare scientific discovery or pioneering invention of an essentially new system high
  • 24. incremental and radical innovation broad radical innovation technical system hierarchy incremental innovation focused low high level of innovation
  • 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. blue ocean strategies • strategy canvas • competing factors (software features) • offering level (amount of investment in feature)
  • 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. video
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. utility form 6: entertainment • software underpins novel entertainment forms • leisure activity • gaming • media clip distribution • user-generated content • sport • culture e.g. music
  • 42. example: WoW • value proposition: social gaming • trajectory: digitalization of play • convergence of gaming, 3D, virtual world, social media
  • 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. work-style heuristic target your product’s innovation profile
  • 45. software innovation timing trajectory digitalization convergence infrastructure innovation windows
  • 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. technology trajectory ??????? music file compression optics ??????? transistor mp3 player valve cd player vinyl gramophone phonograph digitalization
  • 48. software technology trajectory embedded OS OS/360 run-time monitor GM-NAA I/O IBM UNIX LINUX libraries 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. 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 gramophone phonograph qwerty keyboard number pad calculator typewriter
  • 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. 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. the innovation window technology trajectories • software technology convergence trajectories • convergence user demand • (user) demand (= market) development • infrastructure infrastructure development development innovation window t
  • 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
  • 55. the innovative software process 6 innovation process strategies (+ 1) how do you develop an innovative software product?
  • 56. innovation: not normally a goal goal method type explanation complexity management traditional organisation of large development efforts with many developers, requirements, lines of code, complex architectures uncertainty management agile, prototyping management of development where requirements, costs, technology, people, time scales are unknown or cannot be reliably predicted project management traditional, agile planning; disposition and monitoring of tasks, people, time and resources rational analysis and modelling traditional, contextual understanding a work situation or user design environment through models communication through traditional providing explanations for colleague documentation developers, future developers and users design through modelling traditional structuring design and programming work automation of manual work traditional, agile providing computerised support for manual processes work processes in the work situation working code agile focusing on programming work speed rapid development, agile producing a working system in a reasonable time period close relationships with agile, participatory improving interactions between people customers and users development
  • 57. linear innovation in industry • Roberts, E.B., Managing invention and innovation. Research Technology Management, 1988. 31(1): p. 11-27.
  • 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 product specification • conceptualized early in the process • developed to be a marketable software system prototyping commercial build release review
  • 59. iterative innovation in industry -Boeing’s innovation model • Lind, J., Boeing's Global Enterprise Technology Process. IEEE Engineering Management Review, 2007. 35(1): p. 38-52.
  • 60. iterative models - also for software development
  • 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. 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. 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. process, instantiation, improvisation, bricolage improvisation, bricolage instantiation • improvisation the generic • deliberate, not a series of accidents process • (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. 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. 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. 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. six innovation process strategies • creative requirements analysis • designed process framework • low tech prototyping • user-driven innovation • community development • research prototype
  • 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. 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. 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 prototypes high tech • rationale: low cost experimentation, rapid learning
  • 72.
  • 73.
  • 74. 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
  • 75. 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
  • 76. Lego mindstorms user communities grew rapidly - without company involvement Members 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
  • 77. Within 3 weeks of commercial introduction users had improved it significantly The rules The results Robots 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(http://www.itlug.org/) Contact Mario Ferrari [mario.ferrari@edis.it]
  • 78. 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
  • 79. 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
  • 80. six innovation process strategies • creative requirements analysis • designed process framework • low tech prototyping • user-driven innovation • community development • research prototype
  • 81. not a process strategy: the designed work environment • physical surroundings Software • tool support Innovation Research • integrated media Laboratory • working and management conditions
  • 84. eight perspectives on personal creativity in software development
  • 85. 1. creativity as the developer’s mental process (Wallas 1926) preparation (preparatory work on a problem that focuses the individual's mind on the problem and explores the problem's 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 point verification (where the idea is consciously verified, elaborated, and then applied).
  • 86. 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
  • 87. 2. creativity as a set of personal development 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
  • 88. 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)
  • 89. 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
  • 90. 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
  • 91. 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
  • 92. 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)
  • 93. 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
  • 94. 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
  • 95. 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
  • 96. work-style heuristic develop your personal creativity
  • 98. team function dys-functional team functional team innovative team
  • 99. 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
  • 100. positive factors software team • software team roles innovation/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
  • 101. 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
  • 102. negative: group dysfunction • destructive dominance • freeloading • conformance • conflict avoidance • destructive conflict • anchoring: digression • search behaviour (premature solution seeking) • groupthink
  • 103. 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
  • 104. 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
  • 105. 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.
  • 106. 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
  • 107. positive: accomodation of divergent thinking • positive: expertise integration • positive: overview, vision, common purpose, shared learning • positive: environmental scanning • positive: tool support
  • 108. 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
  • 109. 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?
  • 111. work-style heuristics keep your head up target 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
  • 112. work-style heuristic be a super team worker
  • 113. 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
  • 114. creativity tools and techniques tools 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) 2
  • 115. repertoire and situation toolbox (repertoire) situation: (project, development)
  • 116. tool support – some literature Adamides, 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.
  • 117. 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
  • 118. 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
  • 119. 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
  • 120. 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
  • 121. 9
  • 122. 10
  • 123. 11
  • 124. 12
  • 125. 13
  • 126. 14
  • 127. 15
  • 128. 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)
  • 129. 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
  • 130. creativity tools and techniques tools 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)
  • 132. 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)
  • 133. creativity techniques and innovation styles
  • 134. a starting repertoire technique description use Brainstorming well-known technique for idea generation first software product and its feature ideas Backward mapping visioning the software product in use understanding the desired user experience SCAMPER substitute, combine, adapt, magnify, put improve a software concept to other uses, eliminate and rearrange Six Serving Men what why when how where who fill out and interrogate initial concept Six thinking hats facts, emotion, caution, logical positive, project review ideas, control Vision box design the box that the product will be understand the essential selling shipped in points of the software Elevator 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)
  • 136. • 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.
  • 137. • A rope breaks. A bell rings. A man dies.
  • 138. • 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
  • 139. • 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
  • 141. 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)
  • 142. 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
  • 143. 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) • Sourceforge.net • 50,000+ projects • 500,000+ registered users
  • 144. open-source community principles virtual net-enabled communities of programmers set the norms for practice and provide a wider sense of community 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 a challenge challenge to be collectively overcome. self-organisation in work is self-organised by independent and equal peers in networks across traditional networks 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 championing the technological innovation. Membership of, and status in the technological elite is the primary reward, not meritocracy commercial success. code sharing, peer improvement of the software solution takes place through code sharing and code revision by feedback, other programmers. The process is iterative and improvisatory. improvisation technology programmer communities aspire to and attain technology leadership through technical leadership 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. competence development
  • 145. 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 •
  • 146. 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)
  • 147.
  • 148. work-style heuristic grow your knowledge community
  • 149. software innovation – assessment and evaluation personal and group creativity product assessment work environment inventory summary
  • 150. facts insight decision perceiving modifying exploring visioning experimenting innovation styles: •modifying •exploring •experimenting •visioning personal creativity: psycho-metric testing based on the innovation styles profile (ISP), http://www.creativeadvantage.com/profile.htm
  • 151. innovative software product assessment (Lobert, B. M. and D. G. Dologite (1994). Measuring creativity of information system ideas: an exploratory investigation.) software innovation
  • 152. innovative software product assessment (Lobert, B. M. and D. G. Dologite (1994). Measuring creativity of information system ideas: an exploratory investigation.) software innovation
  • 153. work environment inventory (WEI) • six parameters: • freedom • challenging work • sufficient resources • supervisory encouragement • work group support • organizational encouragement
  • 154. 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
  • 155. 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 •copyright formal •patent informal •return on investment •goodwill •market value •developer or firm reputation •market share •scientific reputation •scientific citations long term
  • 156. work-style heuristic know when you are (not) innovative
  • 157. 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
  • 158. keep your head up do 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 community are 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?
  • 159. target your product’s innovation profile what 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 process is 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?
  • 160. develop your personal creativity are 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-worker does 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?
  • 161. bring your toolbox do 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) innovative does the team recognise when it is not moving forward and do something differently?
  • 162. Software Innovation Design Game with valuable prize
  • 163. rules of the design game 1. tasks: first come first served 2. design proposal must be viewable by all and presented in five minutes 3. design proposal must be theoretically based 4. evaluation criteria • novelty, utility, elaboration • theoretical justification 5. judges’ decision final
  • 164. presentation 1. slide(s) (mockup, demonstration) explaining the design proposal 2. slide explaining the theoretical connection
  • 165. design task: sketch an innovative software product (not IEC product) task describe a innovative software product task 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 community task objective develop a coherent and defensible idea for a new software product suggested work method brainstorm, refine idea, apply innovation profile thinking (consider IEC techniques) background theory SI ch. 1,3 output slide(s)/mockup showing an overview of the product, perhaps communicated in several different ways other resources your IEC experience success criteria well-communicated overview of product with clear innovation profile
  • 166. design task: sketch an innovative software process task design a software process targeted at innovation task 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 innovation task objective software process innovation in the department’s development work suggested work method brainstorm, sketch process, include agile practices, creativity techniques background theory IEC material and experience, SI ch 4 output process steps, tools techniques, practices other resources lecture 11 slides, creativity techniques, mind map success criteria good communication of well-argued process
  • 167. design task: sketch the ideal work space for an innovative software team task outline a physical and/or psychological environment which maximises the creativity of the software development team task description revolutionalize your group room and project conditions and provide a vision for how they could be in the future with a focus on innovation task objective developing understandings of stimulating work environments for software developers suggested work method brainstorm, visit SIRL, low tech prototypes background theory SI ch. 5-7, SIRL output architectural sketches of work-space, descriptions of work practice and management conditions other resources SIRL success criteria work conditions that are practical, imaginative and stimulating
  • 168. design task: innovative team tool support task specify ideal tool support for an innovative software development team task 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 them task objective develop understandings of appropriate tool support in innovative development context suggested work method brainstorm, low tech prototypes, sketches of screen dumps background theory SI ch. 7 (maybe 5, 6) output a model of the team member’s desktop other resources success criteria well-argued tool support collection that underpins the innovative software development task
  • 169. design task: software developer personal creativity short course task design a creativity short course task 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 field task objective support and develop personal creativity in the individual software developer suggested work method brainstorm, determine objectives, design supporting activities background theory SI ch. 5, 7 output outline of course with explanations of activities other resources IEC experience success criteria well-explained course outline with clear goals and suitable activities
  • 170. design task: online software development innovation community task innovation through virtual software community task description devise a strategy for establishing an online community (and its online home) which develops innovative software in a given field task objective understand virtual user-community led software innovation suggested work method brainstorm, select field, research SourceForge, target community members, sketch portal background theory SI ch. 2 output community and portal design, community growth strategy, software development strategy other resources SourceForge.net success criteria clearly-articulated strategies
  • 171. design task: task task description task objective suggested work method background theory output other resources success criteria
  • 172. software innovation course summary
  • 173. course design theory practice reflection preparation IEC mini-project
  • 174. learning strategies Kolb’s learning cycle Argyris: double loop learning
  • 175. content overview Intensive ESSENCE Course
  • 176. infrastructure and trajectory • market and technology trajectories • hardware and software convergence • market (user demand) • infrastructure development • innovation windows
  • 177. work-style heuristic keep your head up
  • 178. innovation networks/community • innovation networks: theory • the social character of knowledge • extending knowledge boundaries • open source community • private collective model
  • 179. work-style heuristic grow your knowledge community
  • 180. 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
  • 181. work-style heuristic target your product’s innovation profile
  • 182. 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
  • 183. work-style heuristic shape your own process
  • 184. 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
  • 185. work-style heuristic develop your personal creativity
  • 186. 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
  • 187. work-style heuristic be a super-team-worker
  • 188. 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
  • 189. work-style heuristic bring your toolbox
  • 191. work-style heuristic know when you are (not) innovative
  • 193. work-style heuristics 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