Software Innovation


Software Innovation

Software Innovation can be understood in (at least) two ways:

1. Software Product Innovation - the creation of novel and useful software programs.

2. Software Process Innovation - the introduction of novel and useful ways of developing software.

Innovation should be distinguished from invention, and from creativity [Davila, T., M.J. Epstein, and R. Shelton, Making Innovation Work: How to Manage It, Measure It, and Profit from It. Vol. . 2006, Upper Saddle River: Wharton School Publishing.] . Both are relevant to software innovation, but whereas creativity is the state of mind which leads to innovative thinking, and invention could describe a new algorithm or program (or software development technique), innovation implies that the creative act and invention are carried into wider use, leading to substantial kinds of change; thus the successful exploitation of new ideas. Software innovation therefore = invention + exploitation + diffusion Roberts, E.B., Managing invention and innovation. Research Technology Management, 1988. 31(1): p. 11-27.] , where invention refers to the creative act or process, exploitation refers to its enactment in practice, and diffusion of innovations refers to its adoption by a wider audience. Software innovation may refer to both radical (disruptive, discontinuous) and incremental changes to software products and processes Cooper, R.B., Information Technology Development Creativity: A Case Study of Attempted Radical Change. MIS Quarterly, 2000. 24(2): p. 245-276.] [Lyytinen, K. and G.M. Rose, Disruptive information system innovation: the case of internet computing. Information Systems Journal, 2003. 13(4): p. 301-330.] . Typical the result of software innovation is experienced as change – in the way people work, business is carried out, in people’s choice of entertainment, in the way they choose to communicate, or in how they govern their communities and interact with each other.

Software Innovation Models

There are different kinds of underlying models for software innovation, which are derived from studies in technology innovation.

In a linear model, software product innovation is understood as a sequence of stages or phases, rather like the waterfall model of software development. The initial recognition of an innovation opportunity is followed by phases of idea development, problem solving, prototyping, full-scale commercial development and utilization/diffusion . Here the focus is much on the software product, which is conceptualised at the beginning of the process and developed to be a marketable software system.

In an iterative model (see for example [Lind, J., Boeing's Global Enterprise Technology Process. IEEE Engineering Management Review, 2007. 35(1): p. 38-52.] ), software innovation is considered in a more process–oriented way (reflecting agile software development methods). Innovation takes place through highly focused and creative bursts of development activity (for example storming [Jordan, P.W., et al., Software storming: combining rapid prototyping and knowledge engineering. Computer, 1989. 22(5): p. 39-48.] ), which are repeating but evolving. In this model it is not necessary to have a fully-formed software concept at the beginning of development – the creativity and energy of the process itself offers the conditions for innovative programming and development von Hippel, E. and G. von Krogh, Open Source Software and the “Private-Collective” Innovation Model: Issues for Organization Science. Organization Science, 2003. 14(2): p. 209-223.] .

In the network (or community) model Tiwana, A. and E.R. McLean, Expertise Integration and Creativity in Information Systems Development. Journal of Management Information Systems, 2003. 22(1): p. 13-43.] [Tuomi, I., Networks of Innovation. Oxford Press, 2003.] [Powell, W. and S. Grodal, Networks of Innovators, in The Oxford Handbook of Innovation, J. Fagerberg, Editor. 2005, Oxford: New York.] [Denning, P.J., The social life of innovation. Communications of the ACM, 2004. 47(4): p. 15-19.] the focus is upon the conjunction of people, ideas and expertise. In Silicon Valley, or in the Linux community, are found clusters of highly able software developers - partly competing with each other, and partly co-operating to be at the leading edge of technology development. Important in this model are teams, co-operative work, expertise sharing, timing (in relation to other innovations) and pushing existing boundaries.

Software Technologies: Trajectory, Convergence, Transfer

Software Innovation relies on an understanding of the state-of the-art in a given software technology. Like other technologies, software technologies can be seen to have trajectories [http://en.wikipedia.org/wiki/Technology_trajectory] and convergence. The trajectory of a software technology shows the direction of its development, and can be used to anticipate the next feasible innovations. Thus database software evolves through flat-file, hierarchical, network models to relational and object-oriented models. Its latest development also illustrates software technology convergence, as modern XML databases combine features of databases with their web-implementations. A modern mobile phone is part phone, part camera, part video camera, part calculator, part calendar, part mp3 player, part games console and so on. Each of these kinds of software, together with their hardware platforms and supporting infrastructures have separate technology trajectories but converge in the mobile phone. Many software innovations exploit understandings of trajectories and convergence to provide an innovative software product precisely at the time that the market is ready, and the supporting infrastructure is well-enough developed. Skype, for instance, combines voice over internet protocol (and other messaging services) with peer to peer computing to provide a software product which emerges as the infrastructure of the internet is sufficiently well developed to support it.

An important source of software innovation is domain transfer. As in other forms of technology innovation, software can be adapted to application domains beyond the original target domain. Here the innovation lies not so much in the code itself, but in the novel application that the code is transferred to. Thus the precursor of the World Wide Web, ARPANET, was designed to support military communications in times of disruption through war. Peer to peer computing originally supported Usenet, was adapted to support music file distribution (Napster), and further adapted to support VOIP (Skype).

Software innovations can be market-led or technology-led. Market–led software innovation responds to demand from a particular user-community. Technology-led software innovation is pushed by creativity among software-developers – producing software for which a market has later to be developed. Commonly, software innovations are a mixture of both.

Characteristics of Innovative Software Products

Innovative software products (algorithms, routines, programs, packages) share two characteristics: novelty and utility [http://en.wikipedia.org/wiki/Innovation] . Novelty means that they have not been developed previously, utility that they have some form of application which users value. Different kinds of utility can be distinguished.

• Software innovations can provide underlying improvements for the delivery of other computing services (operating systems, internet browser).

• Software innovations can provide new, improved, more efficient or cheaper services for communities of users (like the Skype application mentioned earlier).

• Embedded software can enable innovation in other technology products, such as cars and washing machines.

• Innovative software can be an enabler or driver for business change.

• Innovative software can change the way people interact and communicate, as for instance with social networking software (Facebook, LinkedIn).

• Innovative software can change leisure and entertainment patterns

Software Process Innovation

Software process innovation can take the form of the development of new techniques, tools or methods for software development, as for example with extreme programming (XP) or SCRUM. It can concentrate on one phase of a more traditional development process, such as requirements elicitation [Dearden, A. and S. Howard, Capturing user requirements and priorities for innovative interactive systems. Proceedings of the Australasian Computer Human Interaction Conference, 1998: p. 160–167.] [Maiden, N. and S. Robertson, Integrating Creativity into Requirements Processes: Experiences with an Air Traffic Management System. Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on, 2005: p. 105-116.] [Mich, L., C. Anesi, and D.M. Berry, Applying a pragmatics-based creativity-fostering technique to requirements elicitation. Requirements Engineering, 2005. 10(4): p. 262-275.] - introducing more creative or imaginative techniques or tools. Software process innovations can be user-led Fraser, J., Inspired innovation: how Corel is drawing upon employees' ideas for user focused innovation. Proceedings of the 2005 conference on Designing for User eXperience, 2005.] , where expert users collaborate in the writing of software which meets their own needs (for example the Linux community). Process innovation can also focus on market analysis:where the demand for new software products lies. Common to many software process innovations is a focus on productive work, and the avoidance of thrashing [McConnell, S., The Power of Process. Computer, 1998. 31(5): p. 100-102.] – unfocused work which is neither productive nor generating new ideas. A more modern pre-occupation is with ‘flow’ [http://en.wikipedia.org/wiki/Flow_%28psychology%29] , (Csíkszentmihályi’s description of a mental state characterized by high energy and focus) in a software team

The relationship between software process innovation and innovative software products is a complex one. At the moment there is no particular evidence that innovative software processes necessarily result in innovative software products. Some forms of innovative software products may be best developed using traditional methods .

The Creative Software Developer

Software innovation pre-supposes creative software developers. Creativity is a mental process involving the generation of new ideas or concepts, or new associations between existing ideas or concepts. From a scientific point of view, the products of creative thought are usually considered to have both originality and appropriateness [http://en.wikipedia.org/wiki/Creativity] . A creative software professional can cope with poorly-defined problems, exhibit novel and unconventional thinking, motivation and persistence, and think in a heuristic, rather than an algorithmic way [Couger, J.D., Ensuring Creative Approaches in Information System Design. Managerial and Decision Economics, 1990. 11(5): p. 281-295.] . They may display different styles of creativity Couger, J.D., Results of a trans-discipline research structure for study of creativity/innovation in IS. System Sciences, 1997, Proceedings of the Thirtieth Hawaii International Conference on, 1997. 3.] ; whereas one prefers to adapt an existing concept, or code, another may prefer to explore an entirely new direction, or experiment with several such directions. Much creative problem solving is experience- and expertise-based – the chances of arriving at a creative or novel solution are greater if the developer knows the programming environment and application area extremely well, and has worked on comparable types of problems before. Creative system developers and programmers also display good overview - the ability to keep many aspects of a problem in play simultaneously, and well-developed mental modelling capacities. This gives them both the ability to understand the relationship between many complex facets of a development task, and to express them in appropriate modelling forms to help others. Creative developers can think ‘out-of the-box’ – that is they can go beyond conventional linear logical thinking and generally held assumptions about how development problems should be tackled to produce original solutions. They can exploit lateral thinking as described by Edward de Bono. In addition to thinking in an original or unconventional way, they can also challenge the mindset of others, and provoke uncharacteristic reactions. Lateral thinking is best described as a creativity technique and there are many others which can be appropriate for software developers, for example: 5W’s + H, manipulative verb, metaphor, Crawford blue slip writing, problem reversal, wishful thinking, peaceful setting, nominal group technique, software games. However these techniques (with the exception of the last) are not designed specifically for use in software development, and can also sometimes be superfluous or unhelpful. It’s thought that creativity in a developer can be improved by focus on their personal innovation practice.

The Innovative Software Team

Creative software developers work in innovative teams. Innovative software teams display high levels of team learning, constructive software practice patterns, excellent communication, appropriate role division and good integration of expertise . Some work environments are thought to promote creativity and innovation, whereas others can hinder it . Innovation enablers include Cougar, J., Measurement of the Climate for Creativity in IS Organisations, in International Conference on System Sciences. 1994, IEEE: Hawaii.] : freedom, challenging work, sufficient resources, supervisory encouragement, workgroup support, organisational encouragement. Other environments create creativity barriers [Ampler, J.L. and D.F. Galletta, Individual and organizational changes necessary for the applicationof creativity techniques in the development of information systems. System Sciences, 1991. Proceedings of the Twenty-Fourth Annual Hawaii International Conference on, 1991. 4.] through workload pressure, rigid work practices, stress and reward systems that penalise mistakes. Though software teams are associated with project work in conventional software development firms, the may also be geographically distributed and supported by co-operative work systems. They can also be self-organising, facilitated by the internet, and motivated by non-commercial goals, as in open source communities. There are several software tools which are designed to support the innovation process, including group support systems [Fellers, J.W. and R.P. Bostrom, Application of group support systems to promote creativity ininformation systems organizations. System Sciences, 1993, Proceeding of the Twenty-Sixth Hawaii International Conference on, 1993. 4.] , IDEA , Knowledge Breeder [Adamides, E.D. and N. Karacapilidis, Information Technology Support for the Knowledge and Social Processes of Innovation Management. Technovation, 2006. 26(1): p. 50-59.] and creativity support tools [Shneiderman, B., Creativity support tools. Communications of the ACM, 2002. 45(10): p. 116-120.] .

Evaluating Software Innovation

A final aspect of software innovation is its evaluation. The benefits of software innovation, and its effects often lie many years in the future, dependent on commercial exploitation and diffusion, whereas software developers need ways of understanding whether they are working innovatively at the time of working, or shortly afterwards. Bad projects need to be closed down and bad development practices improved. A commonly used measure for technology innovation is patents, but this is not always appropriate for software. Common software metrics for software development (such as lines of code, function points, bug counts and so on) are not very helpful indicators for innovation or creativity. Measures for the creativity climate of IS organizations have been developed [Cougar, J., Measurement of the Climate for Creativity in IS Organisations, in International Conference on System Sciences. 1994, IEEE: Hawaii.] , also measures of product utility and novelty for software and personal creativity [Higgins, L., A Comparison of Scales for Assessing Personal Creativity in IS, in International Conference on System Sciences. 1996, IEEE: Hawaii.] .

The original version of theis article was written by Jeremy Rose and Ivan Aaen as part of the work of the Software Innovation Research Laboratory [http://www.sirl.dk/SIRL/Sirl.html] at the Department of Computer Science [http://www.cs.aau.dk/] at Aalborg University

Software Innovation (company)

Software Innovation (ose|SOI) is a Norwegian software company with locations in Norway, Sweden, Denmark and Finland. The company was founded in Oslo in 1984 and is listed on Oslo Stock Exchange.

The company delivers solutions for Customer Relationship Management (CRM) and Document management system (DMS).

External links

* [http://www.software-innovation.com/ Company website]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Software patent debate — is the argument dealing with the extent to which it should be possible to patent software and computer implemented inventions as a matter of public policy. Policy debate on software patents has been active for years. [Cite book |last=Nichols… …   Wikipedia

  • Software patent — Computer programs, software and patent law Topics …   Wikipedia

  • Software patents and free software — Opposition to software patents is widespread in the free software community. In response, various mechanisms have been tried to defuse the perceived problem. Positions from the community Community leaders such as Richard Stallman, [cite web… …   Wikipedia

  • Software libre — Logiciel libre Un logiciel libre est un logiciel dont la licence dite libre donne à chacun (et sans contrepartie) le droit d utiliser, d étudier, de modifier, de dupliquer, et de diffuser (donner et vendre) le dit logiciel. Richard Stallman a… …   Wikipédia en Français

  • Innovation — For other uses, see Innovation (disambiguation). History of technology By technological eras Neolithic Revolution Renaissance technology …   Wikipedia

  • Innovation — Neuerung * * * In|no|va|ti|on 〈[ va ] f. 20〉 Erneuerung, Neuerung, Neugestaltung [<lat. innovatio „Erneuerung“; zu novus „neu“] * * * In|no|va|ti|on, die; , en [spätlat. innovatio = Erneuerung, Veränderung, zu: innovare = erneuern, verändern,… …   Universal-Lexikon

  • Innovation group — Dieser Artikel wurde aufgrund inhaltlicher und/oder formaler Mängel auf der Qualitätssicherungsseite des Portals Wirtschaft eingetragen. Du kannst helfen, indem Du die dort genannten Mängel beseitigst oder Dich an der Diskussion beteiligst …   Deutsch Wikipedia

  • Software rendering — In the context of rendering (computer graphics), software rendering refers to a rendering process that is unaided by any specialized hardware, such as a graphics card. The rendering takes place entirely in the CPU.IntroductionRendering everything …   Wikipedia

  • Innovation game — The phrase innovation game refers to a form of primary market research developed by Luke Hohmann where customers play a set of directed games as a means of generating feedback about a product or service. The research is primary because the data… …   Wikipedia

  • Software Libre — Die Begriffe Free/Libre Open Source Software bzw. Free and Open Source Software und ihre Akronyme FLOSS bzw. FOSS sind hybride Begriffe für Freie Software und Open Source Software. Die Begriffe werden häufig genutzt, um den nicht gelösten… …   Deutsch Wikipedia