How do we get a product/service innovator software?

How do we get a product/service innovator software?
Authors:

How do we get a product/service innovator software?

Practical definition on strategies for innovation in software production/operations

In the software industry, new approaches (“low code” and “no code”)[1][2] and tools (e.g. Appinventor[3], Budibase [4], WebRatio [5], etc.) allow building software with little technological knowledge, as well as AI-based tools that generate code automatically (GitHub copilot [6] or OpenAI [7] based on GPT3). In the coming years, if the capacity to build and exploit software products increases, the most competitive companies will be those that have the greatest capacity to explore or discover new innovations in the form of products or services. By then it will be necessary to understand what ‘innovate’ means and what is the most efficient and effective strategy for achieving it. On innovation, there is a variety of reference models and standards in literature (Oslo and Frascati Manuals, Technology Readiness Levels, Art.35 TRLIS, UNEIX 166000:2014, ISO 56002:2019, etc). However, as the reader will see from some of Manuel Giménez Medina’s theses works[8], it is a complex process that although it has been extensively studied from different perspectives, there seems not yet to be consensus on a large majority of concepts. Next, we will briefly see a practical definition of the concept of innovation (not without consensus), as well as some of the existing and widely known strategies, which enable innovation in software to be promoted.

Innovation as a competitive advantage

In practical terms, innovation means that this systematic process that we have been talking about must result in some sort of competitive advantage. The competitive advantage must be unique and sustainable in the long term. A checklist that we could apply to our projects could be as follows:

  1. What kind of innovation is it? There are many types of innovation, our projects could have implications for the business model, for the product (good or service) and even for the software process itself. Any aspect that gives competition companies an advantage. What is the kind of innovation in your project?
  2. What is the competitive advantage of the type of innovation? Time to market, cost reduction, higher quality, etc. We wonder what the advantage of your innovation is. Which advantage offers your innovation?
  3. Is this a unique ‘innovation’? At what level, Objective or Subjective? On the one hand, the advantage gained could be “Objective”, which would imply that some kind of substantial innovation or improvement has been achieved internationally (it would be unique). In the definition of the ministry, this would basically be a R+D+i project. On the other hand, the advantage gained could be ‘Subjective’ which would mean that this is a substantial novelty or improvement but that is not unique, it could be available to other competing companies. In the ministry’s definition this would mean “Technological Innovation” (as we said, this latter concept of innovation might be confused). Is the advantage gained in your project unique?
  4. Is it sustainable in the long term? Why? We wonder if it is protected (e.g. patent), it is difficult to copy and imitate (e.g. requires knowledge and excessively high costs). Is the advantage gained in your project protected, difficult to copy and imitate for others?

Discovery/Research

There are widely known discovery/research strategies that we can apply in our general R+D+i activities to detect hypothetical advantages (which will have to be validated). Some of them are listed below, references are included and only some aspects are discussed which are not mentioned in literature and which can help us to better understand these strategies as well as their relationship to the concept of innovation.

Design Thinking, Design Sprint

Next, we will make a brief comparison between the Design Thinking process and the Design Sprint methodology ‎[13] (inspired, among other strategies, by Design Thinking). This comparison will enable us to understand better what both strategies bring. For more information, reading the following references is recommended [9][10].

Design Thinking is a widely known process, defining stages that (by applying certain practices) allow us to understand the problem (understanding the context, empathise with users, detect their problems and needs, understand what activities they perform, what artefacts, how they are used, etc.) and define it (the problem is complex, we cannot address everything and we have to decide where we focus). All of the above, as seen in the figure of “Discovery”, allows information about the domain of the problem to be increased and bounded. In the Design Sprint methodology, these two stages (“Empathize” and “Define”) are defined in a single one called “Understand”. On the other hand, once we have bounded the problem, the next thing is to carry out an idea-generating process to resolve the problem and a decision-making activity to decide which of these ideas will be part of the final solution. This is again an activity that allows information to be increased and reduced (in this case, about the domain of the solution). In “Design Sprint”, the idea-generating process takes place in the “Sketch” stage and decision-making in “Decide”. In Design Thinking, both activities are carried out in a single stage called “Idea”. Finally, both strategies coincide on the design and validation of the prototype.

Figure 1. Comparative of Design Thinking vs Design Sprint (source: own elaboration)

SAPIENS (of Ferràn Adrià)

SAPIENS‎[11] is a strategy that allows a greater and detailed understanding of the problem to be carried out on the basis of the application of a set of related methods that allow the problem to be analysed from different perspectives. This strategy allows us to connect information about the mastery of the problem and therefore to generate new knowledge which, in turn, can translate into new ideas. The methods are:

  • Lexical, semantic and conceptual method: Questioning the related terms for study purposes and their definitions, elaborating a lexicon of its own that allows precise definition of the object of study
  • Comparative method: Setting parallelisms with other objects of study, as a whole or partially, analyzing their similarities and differences, helps improve dictionary and classification.
  • Classifier method: Question the classifications of concepts linked to the object of study, extending the list of terms and definitions to create a classification of its own.
  • Systemic method: Put the object of study in context and analyze the system.
  • Historical method: To study the origin and evolution of the object of study and specify a timeline of milestones and epochs.

As mentioned above, all the above methods are related in some way. This is why ideas appear to emerge as a result of the “connections” made as a result of applying the above methods. Therefore, it would not be a strategy like Design Thinking or Design Sprint, in fact, the authors seem to have combined SAPIENS with Design Thinking or Design Sprint. Rather, it would fit into the “Understand” and “Idea” stage (though at this stage not explicitly, but rather implicitly).

Figure 2. Design Thinking vs SAPIENS Relation (source: own elaboration)

Design Science (engineering research methodology)

Finally, disseny science ‎[12] is an engineering research-oriented strategy aimed at developing and validating prescriptive knowledge. They follow a process heavily supported by research techniques and practices that allow both the mastery of the problem and the solution to be understood in detail and validated (quests, studies cases and experiments). That is why it is possible to focus on just a few stages of the process, for example, just mastering the problem, only mastering the new solution that we are proposing, or even comparing solutions that already exist (e.g. to compare them and infer some kind of new knowledge). Rather, it follows a Build2Learn approach, that is, learning is carried out once the artifact is constructed, demonstrated and evaluated. For more information, the Oscar Díaz seminar published on the SISTEDES website is recommended ‎[11].

Figure 3. Design Science (Source: ‎[14])

Conclusions

Finally, we will conclude with the most relevant conclusions:

  • One concept of the practical definition of “Innovation” would be to consider it as a competitive advantage as a result of a R+D+i process: This concept would involve orienting software processes (research/discovery, development, operations) towards a “competitive advance” that is “single”, “sustainable”, “protected”, “difficult to copy” and “imitate”.
  • Discovery / Research (knowledge):
    • Strategies such as design thinking or design sprint (and derivatives) allow us to (1) understand and define the problem, (2) explore and make decisions about the solution (3) construct and validate the solution.
    • SAPIENS’s set of methods allows us to better understand the problem and for ideas to emerge as a result of the connection being made to knowledge. They allow us: (1) Defining the object of study conceptually, (2) Defining the system of the object of study, (3) Defining the historical evolution of the system and object of study and (4) Classifying and (5) comparing the object of study with similar ones.
    • For engineering research, there are also strategies such as Design Science. It applies research techniques and practices that allow it to understand in detail and validate both the domain of the problem and that of the solution (quests, cases of studies and experiments). It is possible to focus on just a few stages of the process.

REFERENCES

[1]. El País, “Low Code cómo aparender a programar sin saber programar”, accesible online: https://elpais.com/tecnologia/2022-05-06/low-code-como-aprender-a-programar-sin-saber-programar.html, último acceso: Julio 2022

[2]. ITUSER, ”Estos son los principales beneficios del lowcode en el desarrollo de aplicaciones”, accesible online: https://www.ituser.es/actualidad/2022/05/estos-son-los-principales-beneficios-del-lowcode-en-el-desarrollo-de-aplicaciones, último acceso: Julio 2022

[3]. MIT Appinventor, accesible online: https://appinventor.mit.edu, ultimo acceso: Julio 2022

[4]. BuidBase, accesible online: https://budibase.com, ultimo acceso: Julio 2022

[5]. WebRatio, accessible online: https://www.webratio.com/site/content/es/plataforma-de-desarrollo, ultimo acceso: Julio 2022

[6]. GitHub copilot, accesible online: https://github.com/features/copilot, ultimo acceso: Julio 2022

[7]. OpenAI examples, accesible online: https://beta.openai.com/examples/, útlimo acceso: Julio 2022

[8]. Giménez Medina Manuel, “Towards an agile innovation capability maturity framework to enhance investments on ICT organizations”, CAiSE-DC 2020: 32nd International Conference on Advanced Information Systems Engineering (2020), pp. 21-31. ISBN/ISSN: 1613-0073. https://idus.us.es/handle/11441/107426

[9]. The Design Sprint, How smart teams start big projects, accessible online: https://www.thesprintbook.com/, ultimo acceso: Julio 2022

[10]. IDEA Design Thinking, accessible online: https://designthinking.ideo.com/, ultimo acceso: Julio 2022

[11]. Metodología Sapiens, conectando conocimiento, accesible online: https://metodologiasapiens.com/, último acceso: Julio 2022

[12]. Óscar Díaz García, La Ciencia del Diseño: del desarrollo de software a la investigación en software. Accesible online: https://biblioteca.sistedes.es/seminario/seminarios-sistedes/la-ciencia-del-diseno-del-desarrollo-de-software-a-la-investigacion-en-software/, último acceso: Julio 2022

[13]. Jake Knapp, J. Z. (15 de 12 de 2016). Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days. First Simon & Schuster. ISBN 978-1-5011-2174-6. Obtained from http://www.gv.com/sprint/

[14]. Johannesson, P., & Perjon, E. (2014). An Introduction to Design Science. Springer International Publishing, DOI: 10.1007/978-3-319-10632-8