The document provides an overview of an intensive course on software innovation. It discusses the course content, which includes theory, practice, reflection, and a mini-project. The pedagogical style is action learning with some formal and interactive lectures as well as action-based activities. The document also outlines several work-style heuristics for software innovation, such as keeping an awareness of technology trajectories, infrastructure development, and timing of innovation windows.
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
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.
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
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.
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.
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
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
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
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
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
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
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)
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.
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)
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
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?
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
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
176. infrastructure and trajectory
• market and technology
trajectories
• hardware and software
convergence
• market (user demand)
• infrastructure
development
• innovation windows
178. innovation networks/community
• innovation networks: theory
• the social character of knowledge
• extending knowledge boundaries
• open source community
• private collective model
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
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
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
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
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