Software Innovation course
Post on 12-May-2015
1632 Views
Preview:
DESCRIPTION
Transcript
Software Innovationcourse introduction
course content
Intensive ESSENCE Course
course design
preparation
practice
theory
reflection
IEC mini-project
• pedagogical style: action learning
• some formal lectures
• some interactive lectures
• some action based activity
• exercises – no formal exercise times, integratedinto 2-day camp and mini-project
• oral exam, graded, based on mini-project
work-style heuristics
Keep your head upGrow your knowledge community
Target your product’s innovation profileShape your own process
Develop your personal creativityBe a super-team-worker
Bring your toolboxKnow 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
50-60 articles
institute’s research
economics cognitivescience sociology management
science
innovation
others
computerscience
informationsystems
softwareengineering
softwareinnovation
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’
• nut a more complex ‘system’ involving users, national and regional actors, inventors, researchers, universities and firms
basic research
applied research
industry application
(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
• 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.
innovative software productinnovative software process
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
social change
in a user community
innovative software products: consequences
impact delay
invention exploitation diffusion
hierarchies of technical systems (Altshuller)
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
broad
focused
novelty: levels of innovation (Altshuller)
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
low
high
incremental and radical innovation
low highlevel of innovation
technical system hierarchy
incrementalinnovation
radicalinnovation
broad
focused
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
new value curve
Reduce: which features should be reduced well below
competitors’ standards?
Raise: which features should be raised well abovethe competitors’
standard?
Eliminate: which of the features that competitors take
for granted should be eliminated?
Create: which features should be
created that competitors have
never offered?
video
blue ocean strategies
sonic lighter value curve
reduce: cost
raise: flame and flicker
resolution and variety
eliminate:
create: social sharing, gpspositioning,
breath control, sound, ignition
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
trajectorydigitalizationconvergenceinfrastructure
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
???????
phonograph
gramophone
cd player
mp3 player
vinyl
valve
transistor
optics
music file compression
???????
digitalization
software technology trajectory
run-timelibraries
monitorprograms
embedded OS
GM-NAA I/OIBM
OS/360IBM
50’s 60’s 70’s 80’s 90’s
SCOPE
BASICPLATO
(proprietary OS)
MCP TOPS-10
UNIX
PICKCP/M
DOS
(portability) (GUI)
apple
windows
LINUX
technology convergence
DOSapple
windows
pocket windows
typewriter
qwerty keyboard
text recognition
calculator
number pad
telegraph
telephone
mobile
box camera
still camera
video camera
digital camera
phonograph
valve
transistorsilicon chip
gramophone
cd player
mp3 player
internetcoverage
internet bandwith
skype
infrastructure and innovation timing
• installed base - technical infrastructure• (Skype) improved internet
access• improved bandwidth• many nodes • enables convergence of
VOIP + peer-to-peer• installed base – social
infrastructure• (Skype) improved computer
literacy• widespread internet use• 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
• software technology trajectories
• convergence
• (user) demand (= market) development
• infrastructure development innovation
window
t
user demand
infrastructure development
technologytrajectories
convergence
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 process6 innovation process strategies (+ 1)
how do you develop an innovative software product?
goal method type explanationcomplexity 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 design
understanding a work situation or user environment through models
communication through documentation
traditional providing explanations for colleague developers, future developers and users
design through modelling traditional structuring design and programming work
automation of manual work processes
traditional, agile providing computerised support for manual work processes in the work situation
working code agile focusing on programming workspeed rapid development, agile producing a working system in a reasonable
time periodclose relationships with customers and users
agile, participatory development
improving interactions between people
innovation: not normally a goal
linear innovationin industry
• Roberts, E.B., Managing invention and innovation.Research Technology Management, 1988. 31(1): p. 11-27.
the light bulb model• 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
• focus is on the software product• conceptualized early in the process• developed to be a marketable software system
idea
productspecification
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
• user communities have sets of needs which develop over time
• those needs can be analyzed and, to some extent predicted
• innovative software development process is targeted at utility -responding to perceptions of future user needs (=the market)
technology
• software technologies develop in particular directions at various speeds
• some software firms are at the leading edges of those developments
• leading edge software technologies enable new products which will create their own demand in the market
• innovative software development process is targeted at novelty -products which have not previously been possible
process, instantiation, improvisation, bricolage
• improvisation• deliberate, not a series of accidents• (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’
the generic process
instantiation
improvisation, bricolage
software process innovation
software development process (routines, norms, standards, behaviours, resources, tools,
techniques, procedures, written and unwritten rules)
novel software development process
innovation
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 into a conventional development cycle
• replace requirements engineering techniques with more imaginative interaction and creativity techniques
• work with users who are primarily responsible for new ideas
• (for example) RESCUE, soft systems methodology
• rationale: help users to innovate
RESCUE • conventional requirements analysis
techniques (activity modeling, system goal modeling, use cases, requirements management)
• creativity techniques (creativity modes – exploratory, combinatorial, transformational)
• analogical reasoning• facilitated workshops
innovation process strategy 2:designed process framework
• in the agile tradition - process framework rather than development method
• tools, techniques, practices, roles
• integrated creativity techniques• instantiated at use• developers take responsibility
for idea generation
• rationale: help developers to innovate
ESSENCE• views: product, people, project, process• roles: challenger, responder, anchor
child• modes: idea generation, planning,
growth• in our case: used with creativity
techniques
innovation process strategy 3:low tech prototyping
low tech
high 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
• 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 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
Mindstorms robot kit
The Case of Lego Mindstorms
Lego mindstorms user communities grew rapidly- without company involvement
Robots become widely available
August 1998
800
700
600
500
400
300
200
900
Nov1997
Jun1998
Feb1999
Oct1999
Jun2000
Jan2001
Aug2001
Apr2002
100
Lego robots announced
January 1998
Members
Within 3 weeks of commercial introduction users had improved it significantly
The rules
Robots follow 7 meter “track” of tape• Light sensors detect tape • Internal software tells robot how to
move
Fastest time around track wins
About one dozen participants
The results
Winner (below left)• Used hacker-developed LegOS software• Time under 10 seconds (73 cm/s)
Second place (below right)• Used program based on LEGO firmware• Time of 25 seconds (28 cm/s)
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
example: Apache
founder: Robert McCool
• private collective model
• rapid iterative development
• developer=user expertise
• virtual collaboration• peering, sharing, openness, acting globally
• rationale: many expert hands
innovation process strategy 6:research prototype
• external funding• groupings of organizations• cross-functional expertise
integration• researchers understand
scientific boundaries• developers understand
commercial applications
• rationale: collaboration with researchers at knowledge boundaries
• speciale project on a larger scale
example: KIWI (Knowledge in a Wiki)• funded by European Union• universities, Logica, Sun
Microsystems, Semantic Web Company
• convergence of wiki + tagging + database + social sharing technologies
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• tool support• integrated media• working and management
conditions
Software Innovation Research Laboratory
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
verification (where the idea is consciously verified, elaborated, and then applied).
discovery point
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
In the conceptual age, we will need to foster and encourage right-directed thinking (representing creativity and emotion) over left-directed thinking(representing logical, analytical thought) -Pink (2005)
LEFT BRAIN FUNCTIONSuses logic detail oriented facts rule words and language present and past math and science can comprehend knowing acknowledges order/pattern perception knows object name reality based forms strategies practical safe
RIGHT BRAIN FUNCTIONSuses feeling "big picture" oriented imagination rules symbols and images present and future philosophy & religion can "get it" (i.e. meaning) believes appreciates spatial perception knows object function fantasy based presents possibilities impetuous 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 functiondys-functional team
innovative team
functional 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
software team innovation/creativity
factors
• negative factors
• creativity barriers
• group dysfunction
• positive factors
• software team roles
• communicative interactions
• the accommodation of divergent thinking
• team learning
• overview (common purpose)
• 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:• free interaction
• facilitated
• technique-determined (e.g. brainstorming, nominal group technique, …………)
• communicative interaction: from discussion to dialogue
1. participants independently and silently generate a list of ideas
2. the facilitator records one idea at a time going round the group
3. group members discuss each idea for clarification only, without considering its merit
4. participants independently rate and rank the ideas
5. the group prioritizes the suggestions by voting
Nominal Group Technique
positive: team learning
• 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.
project domain
use domain
technology domain
dysfunctional team
functional team
innovative team
positive: innovative social patterns (work habits)
• a social pattern of interaction
• a work habit or routine
• a way of organizing a software project
• innovative patterns?
• unity of purpose
• engage customers
• domain expertise in roles
• architect controls product
• distribute work evenly
• function owner and component owner
• mercenary analyst
• 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 uptarget your product’s innovation profile
shape your own processdevelop your personal creativity
be a super-team-workergrow your knowledge community
bring your toolboxknow when you are (not) innovative
work-style heuristic
be a super team worker
1
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?
2
creativity tools and techniques
tools
software support for the creative development process
techniques
ways of accomplishing tasks in the creative development process
e.g. mind mapping (ideas organised hierarchically as nodes and edges)
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 Axon Idea Processor Brainstorm BrainStormer Brainstorming 1.0.1 Brainstorming Toolbox CK Modeller CM/1 ComedyWriter Concept Draw Corkboard/Three by Five CreaPro Creative Whack Pack Creative Studio Decision Explorer Dramatica DynoNotePad Genius Handbook GroupSystems II Grouputer Idea Generator Plus IdeaFisher IDEGEN++ In Control InfoDepot Innovation Toolbox Inspiration Invention Machine MaxThink MicMac Microsoft Word (Outlining Feature) Microsoft Word (Thesaurus Module)
Mind Mapper MindMan MoonLite MORE Paramind Personal Best 3.1 Plot Prompt Plots Unlimited Powerpoint Scriptware Serious Creativity Simplex Sirius StoryBuilder StoryCraft StoryCraftNet for Writers SuperMemo The Creativity Machine The Electric Brain The Electric Mind The Solution Machine Thoughtline Thoughtpath TreePad Turbo Thought Visimap / InfoMap VisionQuest Visual Outliner WinGrid WordPerfect Yeahwrite Ref: Creativity Web
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
software support for the creative development process
techniques
ways of accomplishing tasks in the creative development process
e.g. mind mapping (ideas organised hierarchically as nodes and edges)
creativity techniques (Mycoted wiki)
conceptual schemas
Mycoted
• Process
• Problem Definition
• Idea Generation
• Idea Selection
• Idea Implementation
Martin Leith
• Worldview 1 - The World is a Machine (based on rational cause and effect thinking, and first order change - emphasis on producing many ideas and selecting the brilliant one)
• Worldview 1 Plus - The World is a Network of Relationships
• Worldview 2 - The World is a System (complex issues are addressed through context 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 to other uses, eliminate and rearrange
improve a software concept
Six Serving Men what why when how where who fill out and interrogate initialconcept
Six thinking hats facts, emotion, caution, logical positive, ideas, control
project review
Vision box design the box that the product will be shipped in
understand the essential selling points of the software
Elevator test who (statement of the need or opportunity) the (product name) is a (product category) that (key benefit, compelling reason to buy) unlike (primary competitive alternative) our product (statement of primary differentiation)
describe the product effectively to others outside the project
23
work-style heuristic
bring your own toolbox
• 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 principlesvirtual net-enabled community
communities of programmers set the norms for practice and provide a wider sense of 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 challenge
the focus of the community is the software it builds: the software solution, characterised as a challenge to be collectively overcome.
self-organisation in networks
work is self-organised by independent and equal peers in networks across traditional 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 technological meritocracy
the community sets the scene for personal expression, creativity, heroism and championing innovation. Membership of, and status in the technological elite is the primary reward, not commercial success.
code sharing, peer feedback, improvisation
improvement of the software solution takes place through code sharing and code revision by other programmers. The process is iterative and improvisatory.
technology leadership
programmer communities aspire to and attain technology leadership through technical 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 competence development
programming competence development is the motivating factor for improvement.
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 creativityproduct assessmentwork environment inventorysummary
personal creativity: psycho-metric testingbased on the innovation styles profile (ISP), http://www.creativeadvantage.com/profile.htm
facts insightdecision perceivingmodifying exploringvisioning experimenting
innovation styles:•modifying•exploring•experimenting•visioning
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
formal informal
here and now
long term
•return on investment•market value•market share•scientific citations
•goodwill•developer or firm reputation•scientific reputation
•copyright•patent
•psychometric testing•product assessment•market assessment•work environment assessment
•flow•team performance•technical challenge•customer relations•user responses•project status•challenge/response level
work-style heuristic
know when you are (not) innovative
the work heuristic here-and-now informal project evaluator tool
keep your head upgrow your knowledge community
target your product’s innovation profileshape your own process
develop your personal creativitybe a super-team-worker
bring your toolboxknow 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?
shape your own process
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?
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
teamtask 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 innovationcourse summary
course design
preparation
practice
theory
reflection
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• utility forms
• computing infrastructural• technology enabling• user service• business change enabling• interaction/communication• entertainment
• innovation profile
innovation profile:•novelty
•utility
•user community
•social change
•market
•technical innovation
•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• SCAMPER • six serving men • 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
• repertoire
• situational choice
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 upgrow your knowledge community
target your product’s innovation profileshape your own process
develop your personal creativitybe a super-team-worker
bring your toolboxknow when you are (not) innovative
top related