Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Innovación de software
Ocho heurísticas de estilo de trabajo para
desarrolladores de sistemas creativos
jeremy rosa
Machine Translated by Google
Versión beta
Publicado por primera vez en 2010
Por innovación de software
Universidad de Aalborg
Departamento de Ciencias de la Computación
Selma Lagerløfs Vej 300
Aalborg 9220
Dinamarca
Licencia Creative Commons ReconocimientoNo comercialSin obras derivadas 2.5
Usted es libre de copiar, distribuir, exhibir y realizar el trabajo bajo las siguientes condiciones:
• ATRIBUCIÓN. Debe atribuir el trabajo de la manera
especificado por el autor o el licenciante.
• NO COMERCIAL. No puede utilizar este trabajo para fines comerciales.
propósitos
• SIN OBRAS DERIVADAS. No puede alterar, transformar o construir
sobre este trabajo.
Para cualquier reutilización o distribución, debe dejar en claro a los demás los términos de la
licencia de este trabajo. Se puede renunciar a cualquiera de estas condiciones si obtiene el
permiso del titular de los derechos de autor. Su uso justo y otros derechos no se ven afectados
de ninguna manera por lo anterior.
Copyright (c) 2010 Jeremy Rose
El uso total o parcial del libro debe atribuirse (referenciarse) de acuerdo con la práctica
académica habitual.
2
Machine Translated by Google
3
Machine Translated by Google
Prefacio
Este breve libro se escribió originalmente como notas de curso para una parte de un
nuevo curso de Innovación de software en el Departamento de Ciencias de la
Computación de la Universidad de Aalborg en Dinamarca. Los estudiantes tienen
antecedentes principalmente de ingeniería y una educación principalmente técnica. El
libro tenía la intención de proporcionar un contrapunto, es decir, proporcionar una
descripción científica, pero no técnica, de un tema de desarrollo de sistemas emergentes,
escrito en un estilo no normativo, donde la intención es aumentar la comprensión de los
estudiantes de su propio y otros. práctica de los desarrolladores de sistemas en la
innovación de software, en lugar de proporcionarles una receta para ello. Por lo tanto,
está pensado como un texto complementario para muchos cursos de desarrollo de
sistemas, que utilizarán como texto principal un libro de métodos (en nuestro
departamento, actualmente, 'Análisis y diseño orientados a objetos' de Mathiassen et
al), o un libro de ingeniería de software (como Pressman o Pfleeger).
El tema, la innovación de software, es importante en varios aspectos. La innovación de
software reenfoca la educación en desarrollo de software lejos de lo instrumental, lo
racional, la automatización y lo productivo hacia la innovación, el enfoque que menos
se discute y, posiblemente, el más importante.
El libro será interesante en varios contextos. Las escuelas de ingeniería pueden usarlo
como una especie de antídoto para sus tradiciones normales, mientras que las escuelas
de negocios y humanidades encontrarán una perspectiva alternativa a su educación
de desarrollo de sistemas orientada a métodos. Está diseñado para ser comprensible
en todos estos contextos, con un pie en la tradición de la ingeniería de software y otro
en la tradición de los sistemas de información.
El libro está destinado a la enseñanza más que a una contribución de investigación,
pero como resultado de su proceso de escritura, también funciona como una descripción
general o resumen de lo que se sabe actualmente sobre la innovación de software de
muchas fuentes dispares. Esto se debe a que se investiga y se escribe como una
encuesta bibliográfica extendida de una muestra particular de investigación: aquellas
contribuciones en las que los escritores se centran tanto en la innovación como en el
desarrollo de software o sistemas. Las fuentes primarias de los capítulos se dan al final
de los capítulos y una lista completa de fuentes se da al final del libro.
Hay, sin embargo, muchos vacíos en esta literatura que me he visto obligado a llenar.
4
Machine Translated by Google
Reconocimiento
A mi buen colega Ivan Aaen, quien contribuyó con muchas de las mejores ideas, ya los
muchos estudiantes talentosos con los que trabajamos.
5
Machine Translated by Google
Contenido
Introducción 11
¿POR QUÉ ESTUDIAR INNOVACIÓN EN SOFTWARE? 11
La perspectiva mundial 11
La perspectiva de la competencia 12
La perspectiva del desarrollador 12
FUENTES DE CONOCIMIENTO PARA LA INNOVACIÓN DE SOFTWARE 12
INNOVACIÓN DE SOFTWARE LA FORMA DEL ESTUDIO 14
OCHO HEURÍSTICAS DEL ESTILO DE TRABAJO 15
CONCEPTOS DE INNOVACIÓN Y DESARROLLO DE SOFTWARE 15
Tres puntos de partida básicos: creatividad, invención, innovación 15
Innovación radical e incremental dieciséis
Innovación de productos y procesos 17
Base instalada (infraestructura) 17
Innovación y sistemas de software 17
Fuentes y lecturas adicionales: 18
1. Mantén la cabeza en alto: trayectorias de software e innovación 19
ventanas
TECNOLOGÍA Y DESARROLLO ECONÓMICO 19
BASE INSTALADA, INFRAESTRUCTURA 20
TRAYECTORIAS DE TECNOLOGÍA DE SOFTWARE 22
CONVERGENCIA DE TECNOLOGÍA DE SOFTWARE 24
LA VENTANA DE INNOVACIÓN DE SOFTWARE 25
HEURÍSTICA DEL ESTILO DE TRABAJO 1 MANTENGA LA CABEZA EN ALTO 26
Fuentes y lecturas adicionales: 27
2. Haz crecer tu comunidad: red, conocimiento, aprendizaje 28
COMUNIDAD DE INNOVACIÓN VIRTUAL: EL MOVIMIENTO DE CÓDIGO ABIERTO 30
INNOVACIÓN ABIERTA 32
HEURÍSTICA DE ESTILO DE TRABAJO 2 CRECE TU COMUNIDAD DE CONOCIMIENTO 34
Fuentes y lecturas adicionales: 35
3. Apuntar al perfil de innovación del producto: software innovador 37
6
Machine Translated by Google
CARACTERÍSTICAS DE LOS PRODUCTOS DE SOFTWARE INNOVADORES 37
UTILIDAD JERARQUÍAS DE SISTEMAS TÉCNICOS 39
NOVEDAD: NIVELES DE INNOVACIÓN 40
INNOVACIÓN INCREMENTAL Y RADICAL 41
FORMULARIOS DE UTILIDAD 42
Formulario de utilidad de innovación 1: infraestructura informática 42
Formulario de utilidad de innovación 2: habilitación de tecnología 43
Formulario de utilidad de innovación 3: servicio al usuario 44
Formulario de utilidad de innovación 4: habilitación del cambio empresarial 45
Formulario de utilidad de innovación 5: interacción y comunicación 45
Formulario de utilidad de innovación 6: entretenimiento 46
HEURÍSTICA DE ESTILO DE TRABAJO 3: OBTENGA EL PERFIL DE INNOVACIÓN DE SU PRODUCTO 47
Fuentes y lecturas adicionales: 48
4. Da forma a tu propio proceso: proceso de software e innovación 49
MÉTODO DE DESARROLLO DE SOFTWARE : LA INNOVACIÓN NO ES UN OBJETIVO TÍPICO 49
INNOVACIÓN LINEAL EN LA INDUSTRIA 51
EL MODELO DEL CICLO DE VIDA DE LA INNOVACIÓN DEL SOFTWARE 52
MODELOS DE PROCESO DE INNOVACIÓN DE SOFTWARE ITERATIVO 53
¿FOMENTAN LOS MÉTODOS ÁGILES LA INNOVACIÓN? 54
INNOVACIÓN DE SOFTWARE IMPULSADA POR EL MERCADO Y LA TECNOLOGÍA 54
IMPROVISACIÓN, BRICOLAJE 55
SEIS ESTRATEGIAS DE PROCESO DE INNOVACIÓN 57
Proceso de innovación estrategia 1: análisis de requisitos creativos 57
Estrategia de proceso de innovación 2: marco de proceso diseñado 58
Proceso de innovación estrategia 3: prototipos de baja tecnología 59
Estrategia de proceso de innovación 4: innovación de software impulsada por el usuario 61
Proceso de innovación estrategia 5: desarrollo comunitario y el modelo open source 62
Proceso de innovación estrategia 6: prototipo de investigación 63
INNOVACIÓN DE PROCESOS DE SOFTWARE 64
la imagen mundial 64
la imagen local 66
7
Machine Translated by Google
HEURÍSTICA DE ESTILO DE TRABAJO 4 FORMA TU PROPIO PROCESO 66
Fuentes y lecturas adicionales: 67
5. Desarrolla tu creatividad personal: el software creativo 69
desarrollador
LA CREATIVIDAD COMO PROCESO MENTAL DEL DESARROLLADOR 70
LA CREATIVIDAD COMO CONJUNTO DE COMPETENCIAS PERSONALES 71
LA CREATIVIDAD COMO ESTILO DE PENSAMIENTO 73
LA CREATIVIDAD COMO METAPENSAMIENTO: RECONOCIENDO EL INCONSCIENTE PRE 74
PLAN
LA CREATIVIDAD COMO PENSAMIENTO DEL CEREBRO COMPLETO : MÁS ALLÁ DE LA RACIONALIDAD 75
LA CREATIVIDAD COMO ESTADO MENTAL 76
LA CREATIVIDAD COMO RELACIÓN ENTRE EL DESARROLLADOR Y EL EXTERIOR 77
MUNDO
LA CREATIVIDAD COMO HABILIDAD MENTAL UNIVERSAL A POTENCIAR 78
HEURÍSTICA DEL ESTILO DE TRABAJO 5 DESARROLLA TU CREATIVIDAD PERSONAL 78
Fuentes y lecturas adicionales 79
6. Sea un gran trabajador en equipo: el equipo de software innovador 80
ENTORNOS DE TRABAJO CREATIVOS/INNOVADORES: BARRERAS 81
DISFUNCIÓN DE GRUPO 83
FUNCIONES DEL EQUIPO INNOVADOR: 84
INTERACCIÓN DEL EQUIPO DE INNOVACIÓN 86
APRENDIZAJE E INNOVACIÓN EN EQUIPO 88
ACOMODACIÓN DEL PENSAMIENTO DIVERGENTE 90
INTEGRACIÓN DE EXPERIENCIA 90
VISIÓN GENERAL: INTEGRACIÓN MACRO + MICRO 91
PATRONES INNOVADORES DE TRABAJO EN EQUIPO 92
ESCANEO DEL MEDIO AMBIENTE 93
HEURÍSTICA DE ESTILO DE TRABAJO 6 SER UN SUPERTRABAJADOR EN EQUIPO 94
Fuentes y lecturas adicionales 95
7. Trae tu caja de herramientas: herramientas y técnicas de creatividad 96
HERRAMIENTAS DE CREATIVIDAD 96
CARACTERÍSTICAS DE LAS APLICACIONES QUE APOYAN LA CREATIVIDAD 96
8
Machine Translated by Google
UNA CAJA DE HERRAMIENTAS DE SOPORTE DE SOFTWARE 99
TÉCNICAS DE CREATIVIDAD 100
UN REPERTORIO DE INICIO DE TÉCNICAS DE CREATIVIDAD PARA SOFTWARE 105
DESARROLLO
Lluvia de ideas 105
Mapeo hacia atrás 105
CORRETEAR 106
Seis sirvientes 106
Seis sombreros para pensar 107
caja de visión 108
Prueba de ascensor 108
HEURÍSTICA DEL ESTILO DE TRABAJO 7: TRAE TU CAJA DE HERRAMIENTAS 108
Fuentes y lecturas adicionales 109
8. Saber cuándo eres (no) innovador: evaluación y 110
evaluación
CREATIVIDAD PERSONAL: PRUEBAS PSICOMÉTRICAS 110
EVALUACIÓN DE PRODUCTOS DE SOFTWARE INNOVADORES 111
EVALUACIÓN DEL CLIMA LABORAL 111
RESUMEN DE LA EVALUACIÓN 112
INSTRUMENTO DE EVALUACIÓN RÁPIDO Y SUCIO AQUÍ Y AHORA 113
Manten tu cabeza en alto 114
Haga crecer su comunidad de conocimiento 114
Apunta al perfil de innovación de tu producto 114
Da forma a tu propio proceso 114
Desarrolla tu creatividad personal. 115
Sea un súper trabajador en equipo 115
Trae tu caja de herramientas 115
Saber cuándo eres (no) innovador 116
HEURÍSTICA DEL ESTILO DE TRABAJO 8: COMPRENDA CUANDO USTED (NO) ES INNOVADOR116
Fuentes y lecturas adicionales 116
9. Innovación de software: ocho heurísticas de estilo de trabajo para desarrolladores de sistemas
innovadores 117
INNOVACIÓN DE SOFTWARE 117
9
Machine Translated by Google
OCHO HEURÍSTICAS DE ESTILO DE TRABAJO PARA DESARROLLADORES DE SISTEMAS INNOVADORES 120
Manten tu cabeza en alto 121
Haga crecer su comunidad de conocimiento 121
Apunta al perfil de innovación de tu producto 121
Da forma a tu propio proceso 121
Desarrolla tu creatividad personal. 122
Sea un súper trabajador en equipo 122
Trae tu caja de herramientas 122
Saber cuándo eres (no) innovador 122
LISTA COMPLETA DE LECTURAS Y FUENTES 124
10
Machine Translated by Google
Introducción
El tema del libro es la innovación de software: creatividad e innovación en el desarrollo, diseño y
explotación de sistemas de información (software).
La innovación de software es un tema importante, ya que ahora sustenta la mayoría de los
avances tecnológicos significativos en las sociedades modernas, pero sorprendentemente poco
investigado. Tampoco figura mucho en la educación de los diseñadores y desarrolladores de
sistemas. Esta educación se centra principalmente en técnicas instrumentales y normativas:
programación eficiente respaldada por métodos y técnicas de ingeniería. Los desarrolladores de
sistemas aprenden un oficio de ingeniería (o comercial o de diseño), pero a veces olvidan el
objetivo de sus esfuerzos. Esto es para proporcionar software y sistemas que cambien las
prácticas de sus comunidades de usuarios, una definición central de innovación.
¿Por qué estudiar innovación de software?
Las motivaciones para comprender y estudiar la innovación del software se dividen en tres
perspectivas:
• La perspectiva global
• La perspectiva de la competencia
• La perspectiva del desarrollador
La perspectiva global La creación
de software y el desarrollo de sistemas de información, como todas las formas de trabajo humano,
evoluciona para adaptarse a la sociedad a la que tiene que servir. Sería más exacto decir que el
desarrollo de software evoluciona en una relación circular y dependiente con la sociedad, ya que
los sistemas de información también son una parte importante de la sociedad en la que vivimos.
El mundo en el que vivimos es cada vez más globalizado, lo que significa que las conexiones
entre las sociedades y las empresas en diferentes partes del mundo se están fortaleciendo. Esto
significa que el software y los sistemas se construyen cada vez más para atender a amplios
grupos de usuarios y organizaciones en muchos países. Los lenguajes de programación se basan
en el inglés, pero son esencialmente internacionales, lo que significa que, en principio, el software
se puede crear en cualquier parte del mundo. Otro desarrollo, consecuencia de la globalización,
es la estandarización. Microsoft Word es un paquete de software estandarizado que se utiliza en
todo el mundo; es principalmente el idioma de la interfaz el que es diferente. Hay muchos
paquetes de software de este tipo, incluida la mayoría de las formas de software operativo,
productividad personal y sistemas comerciales (como los sistemas de planificación de recursos
empresariales) que están estandarizados de esta manera. Por supuesto, hay muchos factores
culturales que hacen que no sea práctico construir software en ubicaciones remotas, pero cada
vez más, el desarrollo de software puede subcontratarse, y con frecuencia se subcontrata. Esto
significa que puede ser producido por ingenieros bien formados en países que tienen estructuras
salariales mucho más bajas que en los países desarrollados. Los factores económicos tienden a
dictar que el software se subcontrate si se puede lograr un resultado similar
11
Machine Translated by Google
más barato en otro lugar. La última tendencia que se nota en la evolución del desarrollo de
software es la industrialización. Mientras que el software en los años 60 fue utilizado por un
pequeño número de consumidores altamente educados y desarrollado por una élite de
programación con habilidades que solo poseían unos pocos, ahora es omnipresente. El
software se encuentra en todas partes, en oficinas, hogares, tiendas y automóviles. La
mayoría de nosotros no podemos trabajar sin una computadora, no podemos comunicarnos
sin un teléfono móvil y no podemos administrar una casa sin una amplia gama de dispositivos
que funcionan con software incorporado. La gran escala del desarrollo de software significa
que se está produciendo en masa, hecho para muchos por muchos, en lugar de por una élite.
Esta tendencia significa que gran parte del desarrollo de software es bastante rutinario y
puede ser realizado con relativa rapidez por ingenieros con sólida formación técnica. Este
tipo de desarrollo de rutina a menudo se puede subcontratar.
Con estos tres factores (globalización, estandarización e industrialización) dominando la
evolución actual del desarrollo de software, las empresas de software en países altamente
desarrollados, que emplean ingenieros y consultores costosos pero altamente capacitados,
deben pensar cuidadosamente sobre su posición en el mercado. Ahora, y cada vez más en el
futuro, no podrán competir en el mercado del software de rutina y deberán enfocarse en
formas de desarrollo con mayor valor agregado. Uno de estos es el software.
innovación.
La perspectiva de la competencia Las
macrotendencias cambiantes significan que las empresas de software en los países altamente
desarrollados deben comprender cómo ser innovadoras para conservar sus posiciones
competitivas en el mercado. Necesitan poder atraer a los mejores ingenieros, ser flexibles
frente al rápido desarrollo tecnológico, comprender los métodos de desarrollo modernos,
incorporar tecnologías de software cambiantes y posicionarse a la vanguardia de los mercados
a los que sirven. La innovación de software es uno de los elementos clave del éxito competitivo
en los mercados de software maduros. Las empresas de software innovadoras están en la
cresta de la ola tecnológica.
La perspectiva del desarrollador Los
desarrolladores y consultores altamente competentes, bien educados y experimentados
necesitan desafíos para prosperar. No prosperan en el trabajo repetitivo y rutinario. Necesitan
desarrollar constantemente sus habilidades, aprender nuevas técnicas y tecnologías, tener
libertad de expresión creativa y espacio y tiempo para expresar esa creatividad. Necesitan
cierto control sobre sus propios procesos de desarrollo, y que se les dé suficiente
responsabilidad para experimentar (y ocasionalmente fallar) sin consecuencias drásticas. En
otras palabras, deben ser innovadores de software.
Fuentes de conocimiento para la innovación de software
Desafortunadamente, no existe una ciencia real de la innovación de software, en forma de un
libro de texto definitivo o una serie de programas de investigación bien definidos. Sin embargo
12
Machine Translated by Google
el estudio de la innovación en general está bastante bien desarrollado, con contribuciones de
varias disciplinas, y las diversas disciplinas que se enfocan en el desarrollo de software y
sistemas de información también tienen algún enfoque en la innovación. El conocimiento
representado en este libro proviene de muchos interrelacionados
fuentes.
• La economía nos proporciona conocimientos sobre cómo la innovación (y en particular
la innovación tecnológica) impulsa el progreso económico en la sociedad. La figura
seminal aquí es Joseph Schumpeter. • La ciencia cognitiva y la
psicología contribuyen a nuestra comprensión de la creatividad en el individuo. Por
ejemplo, Csíkszentmihályi teoriza las características de la mente humana cuando
se encuentra en un estado creativo.
• La sociología de la ciencia nos da una comprensión más amplia de cómo
la tecnología y la sociedad se desarrollan de la mano.
• La ciencia administrativa ha desarrollado conocimientos sobre cómo crear y administrar
empresas y equipos innovadores, que son extremadamente relevantes para las
empresas de software y los equipos de desarrollo.
Estas y muchas otras contribuciones pertenecen al campo de estudios denominado innovación.
Sin embargo, las disciplinas centrales de los diseñadores de sistemas también se han
preocupado por la innovación y la creatividad.
• La informática contiene una larga tradición de innovación y es la disciplina base para
los ingenieros de software; muchos de los grandes pioneros del software trabajan
en este campo o en otros relacionados.
• La ingeniería de software ayuda particularmente con la innovación de procesos: aquí la
evolución de los estilos de desarrollo ágil juega un papel importante.
13
Machine Translated by Google
• Los sistemas de información son importantes para la comprensión de la aplicación
de la innovación de software; por tanto, la relación entre el eventual producto de
software innovador y su contexto de implementación (comunidad, organización,
sociedad) y el impacto de la innovación de software como cambio social.
Cuando los investigadores y escritores de estas tradiciones abordan la innovación, a
menudo utilizan los conceptos y teorías desarrollados en los estudios de innovación. Por lo
tanto, la ciencia de la innovación del software comienza en muchos lugares, pero la
combinación de estas tradiciones se puede utilizar para brindar una base relativamente
segura para explorar el tema.
Innovación de software: la forma del estudio
La innovación de software en este libro se entiende como un proceso de desarrollo que
conduce a un artefacto de software: un programa, una aplicación, un algoritmo o un código.
En principio, el proceso, el producto o ambos pueden ser innovadores.
El software es creado por desarrolladores que trabajan en equipos, por lo que es apropiado
estudiar cómo los desarrolladores individuales son creativos y cómo funcionan los equipos
de una manera innovadora. También deberíamos ser capaces de entender dónde el
desarrollo es innovador y dónde lo es menos, en otras palabras, evaluarlo. Hay muchas
técnicas de creatividad que pueden ayudar en el proceso de desarrollo, y todas las
actividades de desarrollo pueden respaldarse con herramientas de software, por lo que
también deben estudiarse. Los estudios de innovación también muestran que la comunidad
fortalece la innovación: la red de expertos que los desarrolladores son
14
Machine Translated by Google
en contacto con. Finalmente, el software no se construye de forma aislada, sino en un contexto
social, y el estudio de la infraestructura y de la tecnología y las tendencias del mercado pueden
ser importantes para la planificación y el momento de las innovaciones.
Ocho heurísticas de estilo de trabajo
El libro no es una guía técnica o de proceso, ni un método o modelo para la innovación de software.
En cambio, sugiere que los desarrolladores de sistemas innovadores trabajan de formas
características particulares. Estos estilos de trabajo pueden expresarse como heurísticas bastante
amplias: es decir, preceptos generalizados para las actitudes hacia el trabajo de desarrollo. Una
heurística, en este contexto, es una directriz amplia para el comportamiento o la acción que
"proporcionará una solución aceptable a un problema en muchos escenarios prácticos, pero para
la que no existe una prueba formal de su corrección" (Wikipedia). Las ocho heurísticas son:
Manten tu cabeza en alto
Haga crecer su comunidad de conocimiento
Apunta al perfil de innovación de tu producto
Da forma a tu propio proceso
Desarrolla tu creatividad personal.
Sea un súper trabajador en equipo
Trae tu caja de herramientas
Saber cuándo eres (no) innovador
Se discuten más en los siguientes capítulos.
Conceptos de innovación y desarrollo de software Ahora vamos a pasar
a algunos conceptos básicos en los estudios de innovación (que ayudarán a definir una
comprensión básica del tema) y su relevancia para el desarrollo de software. En cada caso, los
términos se explican, no con una definición formal, sino como se usan consistentemente en el libro.
Tres puntos de partida básicos: creatividad, invención, innovación
Tres términos aparecerán una y otra vez en este estudio. Están relacionados pero también son
distintos.
• La creatividad se refiere a las características personales (o grupales) que pueden conducir
a la invención, a menudo descritas como habilidades, estados o relaciones internas.
15
Machine Translated by Google
• La invención se refiere al proceso o resultado de la creatividad, a una idea o artefacto
que es novedoso, o la acción de desarrollarlo.
• La innovación describe el acto creativo y la invención llevados a un ámbito más amplio.
uso, que conduce a cambios sustanciales; por lo tanto, la explotación exitosa de nuevas
ideas.
Así debemos entender que la innovación es más que creatividad y más que invención. Simplemente
diseñar algo nuevo no es innovación; de hecho, las ideas novedosas son bastante comunes y, a
menudo, no son la parte difícil de la innovación. La invención debe ser desarrollada y producida
(normalmente comercialmente), distribuida y puesta en uso. El resultado final de la innovación es el
cambio social, un cambio de comprensión o práctica en una comunidad de personas.
Por lo tanto, la innovación a veces se describe como una fórmula:
Innovación = Invención + Explotación + Difusión donde la
innovación se compone de la invención (nueva idea o artefacto) en sí misma, su desarrollo y
explotación comercial, y su adopción en una comunidad más amplia de usuarios. Así, el resultado
de una innovación exitosa se experimenta como un cambio en la forma en que la gente trabaja, la
forma en que se llevan a cabo los negocios, la elección de entretenimiento de la gente, sus hábitos
de comunicación e interacción, el gobierno de las comunidades y en muchos otros aspectos de la
vida social.
La innovación es en sí misma, como descubriremos más adelante, social; por lo general, el trabajo
de muchas personas, en lugar de un único generador de ideas.
Innovación radical e incremental
Podemos distinguir entre dos tipos de innovación: radical e incremental.
La innovación radical implica un cambio disruptivo o discontinuo, una ruptura con lo anterior y una
forma completamente nueva de hacer las cosas. La innovación radical es rara (la rueda, la máquina
de vapor, la computadora, Internet).
A veces se asocia con la resistencia, ya que las formas de pensar y trabajar de las personas
cambian fundamentalmente en períodos cortos de tiempo. Estos cambios pueden ser dolorosos,
dejar sin trabajo a grupos de personas o cambiar el equilibrio político del poder. La innovación
incremental es mucho más común y consiste en mejoras relativamente pequeñas de las prácticas o
ideas existentes. Sin embargo, no todas las mejoras incrementales pueden describirse como
innovación, para que se considere innovación, la mejora debe tener una cierta escala de impacto.
La innovación incremental hace que sea significativo hablar de ciclos de innovación : series iterativas
o secuenciales de mejoras menores y mayores que impulsan el avance tecnológico (por ejemplo,
desde las primeras máquinas voladoras hasta los aviones de pasajeros actuales).
dieciséis
Machine Translated by Google
Innovación de productos y procesos
Otra distinción útil es entre innovación de productos y procesos . Un producto innovador
es un artefacto (o un sistema de software) que muestra características de novedad y
utilidad. Novedad significa que el producto no ha sido desarrollado antes, mientras que
utilidad se refiere a su valor económico (lo que los consumidores están dispuestos a
pagar por él). El modelo T de Ford, el primer automóvil realmente exitoso, es un
ejemplo. La innovación de procesos, por el contrario, es la innovación en las formas en
que se fabrican los artefactos, su método de desarrollo o proceso de ingeniería. El
modelo T no podría haber tenido éxito sin las técnicas de producción en masa
(principalmente la producción automatizada o línea de montaje) utilizadas para
construirlo. Permitieron que se produjera en un cierto volumen y a un precio determinado
que podría hacerlo muy atractivo.
Base instalada (infraestructura)
La innovación depende del tiempo y de la situación, lo que significa que un cambio en
una situación en un momento no es necesariamente innovador, mientras que el mismo
desarrollo en otro momento o lugar podría serlo. Tomemos como ejemplo la provisión
de internet. En los países escandinavos, casi todo el mundo tiene acceso a Internet en
el momento de escribir este artículo, mientras que en el África subsahariana muy pocas
personas lo tienen. La introducción de Internet supuso un gran cambio social en la
década de los 90, revolucionando tanto las prácticas laborales como las de ocio. Sin
embargo, la provisión de Internet al resto de la población escandinava en este momento
no puede describirse realmente como innovación, aunque podría cambiar la vida de
estas personas hasta cierto punto. Internet tampoco podría describirse como una
innovación en Escandinavia en los años 70. Existía como una invención, pero no lo
suficientemente explotada o difundida como para ser descrita como una innovación.
Sin embargo, la adopción generalizada de Internet en la región subsahariana actual
podría ser experimentada como una innovación por los africanos: tienen poca
experiencia al respecto y podría producir grandes cambios. Para presentar otro ejemplo:
los métodos de desarrollo ágil no son realmente nuevos, pero las empresas de
desarrollo que los introducen en los proyectos por primera vez definitivamente
experimentarán el cambio como una innovación de proceso. Por lo tanto, la idea de
base instalada se toma prestada del estudio de la infraestructura; lo usamos aquí para
describir el punto de partida de la innovación, es decir, la situación actual en términos
de software disponible o proceso de desarrollo. De ello se deduce que podemos pensar
en la innovación de software en diferentes niveles, desde el nivel de la sociedad global
hasta el nivel de la comunidad local, donde grupos relativamente pequeños de usuarios
o desarrolladores experimentan la innovación como un cambio.
Innovación y sistemas de software Todos
estos conceptos básicos de innovación se pueden aplicar sin dificultad a los sistemas
de software. Nos interesará la creatividad de los desarrolladores y consultores de
software, y la forma en que trabajan en equipos creativos. Nos interesarán los sistemas
de software innovadores (productos) y cómo pueden desarrollarse comercialmente y,
en consecuencia, difundirse ampliamente en la sociedad. Nosotros
17
Machine Translated by Google
estarán interesados en los efectos que los sistemas de software innovadores tienen en sus
usuarios y en las comunidades en general. Nos interesará estudiar las innovaciones radicales en
los sistemas informáticos y de información, pero se centrará en gran medida en lo que se puede
lograr con mayor frecuencia: la innovación incremental.
Estaremos especialmente interesados en el proceso: las formas en que los desarrolladores de
sistemas trabajan de manera innovadora y los métodos y técnicas que utilizan.
Fuentes y lecturas adicionales:
COOPER, RB (2000) Creatividad de desarrollo de tecnología de la información: un estudio de
caso de intento de cambio radical. MIS Quarterly, 24, 245276.
DENNING, PJ (2004) La vida social de la innovación. Comunicaciones de la ACM, 47, 1519.
FAGERBERG, J. (2005) Innovación: una guía para la literatura. EN FAGERBERG, J., MOWERY,
C. & NELSON, RR (Eds.) The Oxford Handbook of Innovation Oxford, Oxford University Press.
ROBERTS, EB (1988) Gestión de la invención y la innovación. Gestión de Tecnologías de la
Investigación, 31, 1127.
18
Machine Translated by Google
1. Mantén la cabeza en alto: trayectorias de software y
ventanas de innovación
En este capítulo veremos la innovación de software en su contexto en la sociedad.
La teoría se deriva principalmente de los estudios sociales y económicos de la innovación
tecnológica y se adapta, como siempre, al contexto de la innovación del software.
Sin embargo, el enfoque no será una comprensión generalizada del papel de la innovación
de software en una sociedad o una economía, sino en la aplicación de este tipo de
entendimiento por parte del innovador de software. Ya hemos establecido que la
innovación depende del tiempo y nuestro tema de interés será principalmente el tiempo:
cuándo innovar. El capítulo desarrollará la idea de una ventana de innovación de software:
un espacio de tiempo en el que las condiciones para la innovación de software son
óptimas. La proposición detrás del capítulo será que estas condiciones son, al menos en
parte, analizables y, por lo tanto, es posible que el innovador de software inteligente esté
en el lugar correcto en el momento correcto. Para hacer este tipo de análisis tendremos
que entender varios fenómenos diferentes, incluyendo
• infraestructura (base instalada): el entendimiento de que toda innovación de
software depende de la condición de las infraestructuras que las respaldarán,
que pueden ser tanto técnicas como sociales
• trayectoria de la tecnología de software : la idea de que las tecnologías de software
se desarrollan en direcciones históricas particulares que pueden entenderse y,
en cierta medida, predecirse •
convergencia de la tecnología de software : un fenómeno en el que las tecnologías
de software tienden a unirse y a integrarse en las aplicaciones
o dispositivos
• ventanas de innovación de software : la caja de tiempo donde se encuentra la innovación
posible, y donde todavía es posible tener un impacto en el mercado antes de
que sea dominado por otros innovadores.
Tecnología y desarrollo económico La innovación
tecnológica es un buen indicador del crecimiento económico. Los países que son capaces
de sostener altos niveles de innovación tecnológica (medida, por ejemplo, en patentes)
también disfrutan de prosperidad económica. Incluso hay alguna evidencia de que la
tecnología de la información y las revoluciones de Internet están ampliando la brecha
entre los innovadores y los no innovadores : "los estados prósperos
en la vanguardia del cambio tecnológico han reforzado su liderazgo en la nueva economía
del conocimiento, pero hasta ahora los beneficios de la Internet no se ha filtrado………los
aumentos de productividad de la tecnología de la información pueden ampliar el abismo
entre las naciones más prósperas y las que carecen de las habilidades, los recursos y las
infraestructuras para invertir en la sociedad de la información.' NORRIS, P. (2001) Digital
Divide, Cambridge, Cambridge University Press.
19
Machine Translated by Google
Parte de la razón de esta relación es que se necesitan muchas estructuras sociales para
facilitar la innovación de la variedad global. Estos pueden describirse como infraestructura
o base instalada. En el África subsahariana, donde muchas aldeas no tienen suministros
de energía confiables, no tiene mucho sentido esperar que los usuarios adopten un
juego de computadora basado en Internet; sin embargo, si innova en el campo de la
generación de energía con paneles solares, tiene un mercado en desarrollo.
La misma imagen que opera a nivel social se puede encontrar a nivel de empresas.
Aquellas empresas que son tecnológicamente innovadoras, por ejemplo en sus procesos
de fabricación, o en la adopción de tecnologías de la información, normalmente tendrán
una ventaja competitiva sobre las no innovadoras (aunque debe entenderse que, tanto
en el ámbito social como en el industrial, la innovación es solo una de las muchos
factores que contribuyen al éxito económico).
Las sociedades desarrolladas (ricas) y las empresas de vanguardia son más dependientes
de la innovación, mejores innovadores y primeros usuarios de las innovaciones. De esta
manera, se involucran en un ciclo continuo de innovación, donde los beneficios
económicos de la innovación se invierten en más innovación. A medida que las
innovaciones son absorbidas por el uso general, se vuelven parte de la base instalada
sobre la cual se puede realizar la próxima generación de innovaciones. Las estructuras
sociales, como los departamentos de investigación y desarrollo y los equipos de
investigación universitarios, también se basan en logros pasados en un ciclo de éxito.
La otra cara de la moneda del ciclo de innovación es la tendencia de las formas rutinarias
y bien establecidas de trabajo técnico a trasladarse a lugares donde la mano de obra es
más barata. Si una tecnología se entiende relativamente bien y las infraestructuras
locales son lo suficientemente buenas, entonces el trabajo de tecnología no innovadora
a menudo se puede realizar de manera más económica en los países menos
desarrollados. Por lo tanto, la fabricación de acero se alejó de los países en el centro de
la revolución industrial original, y la construcción de barcos y automóviles se ha reubicado
en mayor medida de las naciones occidentales avanzadas a las naciones orientales
emergentes. La construcción de software actualmente está pasando por la misma
transición, donde es lo suficientemente maduro y bien entendido (rutina) para que
muchas partes se subcontraten o se reubiquen. India lidera el impulso de las naciones
emergentes para capturar este mercado, y las áreas alrededor de Calcuta y Bangalore
se han convertido en el Silicon Valley de India.
Base instalada, infraestructura
Central para la comprensión del desarrollo tecnológico en esta perspectiva social
bastante amplia es la idea de infraestructura. Puede pensar en la infraestructura como la
innovación de ayer. Una vez que un ferrocarril, el motor de gasolina, un enrutador de
Internet o un compilador de software fue una innovación, ahora es parte de la experiencia
diaria de su comunidad. Siempre está disponible, más o menos siempre funciona,
realmente no piensas en ello a menos que no esté funcionando. Cuando tenga un
apagón, se irritará si no puede cargar su teléfono, pero nunca pensará en estar
agradecido por la gran mayoría de los
20
Machine Translated by Google
tiempo que puedes cargarlo sin esfuerzo. La infraestructura es la condición previa
desapercibida para la innovación tecnológica.
innovación (invención + explotación + difusión)
condición previa para se convierte
infraestructura – base instalada
Podemos distinguir dos formas de infraestructura, la física y la social.
La infraestructura de nuestro sistema de carreteras es en parte una estructura física de
asfalto, metal y plástico, y en parte una serie de convenciones sociales sobre en qué
lado de la carretera acordamos conducir y qué hacemos cuando el semáforo está en rojo.
La infraestructura no es permanente, sino que está en constante desarrollo y
modificación.
La base instalada (infraestructura) es fundamental para la innovación de software. Es
difícil separar el desarrollo de hardware y software de manera rigurosa, pero cada
aplicación de PC depende de un conjunto complejo de requisitos de hardware para
ejecutarse. Es poco probable que una aplicación comercial actualizada funcione bien
(si es que lo hace) en una computadora que tiene cinco años. El procesador será
demasiado lento, habrá muy poca memoria disponible y faltarán varios protocolos y
sistemas operativos. Las aplicaciones basadas en la web dependen del ancho de banda
disponible para un gran número de usuarios que habría sido impensable hace diez
años. La velocidad con la que las innovaciones de software y hardware en los campos
de la informática y la tecnología de la información se adoptan y difunden y pasan a
formar parte de la base instalada es notable en relación con los tipos de innovación anteriores.
Ilustraremos la relación entre la base instalada y la innovación de software con un
estudio de caso. Skype es un programa de comunicación basado en Internet basado
en VOIP y tecnologías peertopeer. Integra una gama de servicios de apoyo a la
comunicación y explota sus tecnologías para proporcionar una relación costobeneficio
a sus usuarios en comparación con los
servicios de telefonía fija y móvil
convencionales.
Se convirtió en un éxito considerable,
pero depende completamente de la
existencia de ciertas infraestructuras. En
primer lugar, depende de tener suficiente
ancho de banda disponible para los usos
de Internet para admitir un grado razonable
de calidad de sonido en los intercambios
de voz. En los primeros días de Internet,
nadie tenía esto, y solo recientemente la
banda ancha ha estado disponible a un
precio que los consumidores estaban
dispuestos a pagar, y solo en los países desarrollados.
21
Machine Translated by Google
países. En segundo lugar, depende de la cobertura: la cantidad de usuarios conectados.
Sin muchos usuarios conectados (nodos) no hay nadie en línea con quien hablar. Solo
cuando se alcanza una masa crítica es probable que las personas con las que intenta
comunicarse también estén en línea. También se necesitan muchos nodos para admitir
arquitecturas eficientes de igual a igual. Además, es necesario contar con una variedad
de infraestructuras sociales, en particular el grado de alfabetización informática y la
aceptación generalizada de Internet, lo que hace posible cambiar la tecnología de
telefonía fija convencional conocida.
Es fácil ver que Skype nunca puede ser un éxito si no se dispone de estas
infraestructuras. Pocas personas necesitan un servicio que no te conecte con nadie
con quien quieras hablar o que no te permita escuchar lo que se dice.
Trayectorias de la tecnología de software
La segunda idea que usaremos para comprender el tiempo en la innovación de software
es la de la trayectoria. Una trayectoria describe la dirección en la que viaja algo, y se
utiliza en la literatura sobre la "conformación social" de la tecnología para describir el
desarrollo histórico de las tecnologías y su relación con sus circunstancias sociales.
Por lo tanto, podemos examinar el desarrollo del reproductor de mp3 moderno desde
los primeros días de las tecnologías de reproducción de sonido: cilindros de cera,
agujas y bocinas acústicas,
pasando por discos de
vinilo, válvulas (algunos
melómanos todavía las
prefieren), transistores,
tecnologías ópticas y
compresión de archivos
( el formato mp3). En tal
análisis, se podría rastrear
la forma en que se
adoptaron e integraron
inventos en otros campos
(plásticos, electrónica,
óptica, transmisión de
datos) en la reproducción de sonido en una cadena de eventos históricos. También se
podría estudiar la evolución de los hábitos de escucha como un fenómeno social
relacionado con los desarrollos tecnológicos.
Otro fenómeno que debe tener en cuenta es la digitalización: la tendencia de las
tecnologías de la información mecánica a convertirse primero en electrónica y luego en digital.
En la producción musical moderna, todo el proceso de composición, distribución y
escucha se puede gestionar digitalmente. Una canción se compone y produce en un
programa secuenciador, usando sonidos muestreados e instrumentos de software; el
resultado se convierte en un archivo .mp3, se distribuye a través de la web, se descarga
y se reproduce en un reproductor de mp3. No es necesario que haya intervenciones
analógicas mecánicas. Este potencial de digitalización reside en cualquier producto
orientado a la información.
22
Machine Translated by Google
Las trayectorias de la tecnología de software se pueden analizar de la misma manera.
En el siguiente diagrama, la descripción de Wikipedia de la evolución del sistema
operativo se analiza como un árbol de trayectorias, trazando el desarrollo de los sistemas
operativos desde las bibliotecas de tiempo de ejecución de los años 50, a través de los
diversos sistemas operativos propietarios dependientes de la máquina de los años 70
hasta integrados, orientados a mainframe y sistemas de PC de la actualidad.
Sin embargo, la pregunta realmente interesante para los innovadores de software aún no
se ha planteado: ¿es posible utilizar estas descripciones históricas de las trayectorias
tecnológicas para predecir el futuro? Como en toda ciencia predictiva, la pregunta no se
puede responder con certeza, pero es razonable esperar que los desarrolladores de
software que trabajan en tecnologías de punta tengan un conocimiento profundo de la
evolución de las tecnologías con las que trabajan, estén muy bien orientados con
respecto a la ciencia. avanzar en su campo y trabajar en estrecho contacto con otros
especialistas y expertos. Esto los pone en posición de comprender lo que viene a
continuación antes que el público en general y diseñar sus productos en consecuencia.
Pueden estar bastante seguros de los desarrollos en los que están trabajando
actualmente, o de los que están a la vuelta de la esquina, pero mucho menos seguros de
lo que sucederá en el futuro. Muchos de los campos se mueven tan rápido que es difícil
predecir con más de cinco años de antelación. Cuanto más adelante uno intente mirar,
mayor será el grado de incertidumbre de la predicción. Además, las innovaciones
radicales, aunque raras, pueden alterar la trayectoria de una tecnología de manera
bastante marcada y rápida. IBM predijo en los años 80 que el futuro de la computación
(su trayectoria) estaba en el mainframe, y vendió el sistema operativo que luego se
convirtió en DOS a Bill Gates, y subcontrató su tecnología de microprocesadores a Intel.
La innovación radical de la microcomputadora (o computadora personal) tomó la dirección
23
Machine Translated by Google
de la evolución de la computación en una dirección completamente diferente y le costó
a IBM su posición líder en el mercado.
Si volvemos al análisis de Skype, podemos notar dos trayectorias tecnológicas que
son particularmente importantes. El primero es el desarrollo de la voz sobre Internet
(VoIP). Los protocolos que permiten la transmisión de voz sobre conexiones de
banda ancha (como alternativa a la telefonía tradicional con hilo de cobre) se
sofisticaron cada vez más en la década de los 90. Las empresas de telefonía
tradicionales comenzaron a implementar soluciones de Internet, las principales
empresas de software como Cisco desarrollaron software de conmutación, los
proveedores de servicios de Internet vieron la oportunidad de ampliar sus carteras
de servicios y los clientes se interesaron en una alternativa de telefonía
potencialmente barata (o gratuita). El segundo es el auge de las redes peertopeer (P2P).
Las redes de muchos nodos surgieron como una alternativa a las arquitecturas de servidor
cliente para permitir el intercambio de archivos. UseNet se hizo popular para compartir artículos
de noticias, mientras que Napster se convirtió en un servicio para compartir música muy conocido.
BitTorrent es un equivalente moderno. Todos estos servicios combinan algunos
elementos P2P con una perspectiva particular sobre el intercambio gratuito de
información heredado de los primeros fundadores de Internet. Los desarrolladores
estonios de Skype (Sky peertopeer) pudieron comprender el futuro potencial de
estas tecnologías y combinarlas de una manera novedosa.
Convergencia de tecnología de software
Más tendencias
que se puede observar
con trayectorias
tecnológicas son
de digitalización y
convergencia. Estos
pueden ilustrarse con un
dispositivo de comunicación
portátil de bolsillo, como
un iPhone o Blackberry.
El dispositivo El
contiene muchas
características y
funcionalidades diferentes
más allá de su función
básica de comunicación móvil. Es potencialmente una base de datos de contactos, una
cámara, un reproductor de música, una radio, una calculadora, un buscador de rutas, un
navegador de Internet, un despertador, un dispositivo de almacenamiento de archivos, una
consola de juegos. Cuenta con un sistema operativo y capas de software que manejan
interfaces de comunicaciones, GPS, SMS, MMS y Bluetooth, y sincronización con la PC
del propietario. Ninguna de estas tecnologías de software es novedosa en sí misma
(aunque su creación puede requerir un ingenio de programación considerable): son
adaptaciones de conceptos bien entendidos. La mayoría de las funciones tienen vidas independientes en otro
24
Machine Translated by Google
el trabajo del diseñador es armar un paquete de funcionalidad que tenga utilidad para el
propietario potencial. Regularmente se agrega una nueva tecnología a la mezcla: cámara,
pantalla táctil, sensores de movimiento; sin embargo, estas tecnologías también se encuentran
en otros dispositivos. Por lo tanto, se puede decir que las tecnologías convergen en el nuevo
dispositivo.
En una perspectiva histórica más amplia, se puede observar otra tendencia: la digitalización
de las tecnologías mecánicas. Ni una libreta de direcciones, ni una cámara, ni un reproductor
de música, ni una radio, ni una calculadora, ni un buscador de rutas, ni un despertador, ni un
dispositivo de almacenamiento de archivos son originalmente tecnologías digitales; en
instancias anteriores, eran libretas de direcciones en papel, cámaras de caja, radios de
válvulas. , mapa, mecanismo de relojería y archivador. Con el tiempo, el contenido de la
información del servicio se identifica, se digitaliza y se desarrollan las tecnologías de software para manipularl
Eventualmente, la tecnología mecánica desaparece y es reemplazada por la tecnología digital
más conveniente.
Podemos observar la convergencia tecnológica y la digitalización en los servicios que ofrece
Skype: no solo un sustituto del teléfono, sino una libreta de direcciones, una función de
búsqueda de contactos, un servicio de mensajería instantánea, conferencias telefónicas,
videoconferencias, elaboración de perfiles, juegos, sincronización con Outlook, fax, skype
móvil, diferentes tipos de interfaces con telefonía convencional.
La ventana de innovación de software
Cuando consideramos las
implicaciones de los diversos
análisis en este capítulo, se
vuelve obvio que el momento
de la innovación del software
es importante.
a
Demasiado pronto para
comercializar, y las
infraestructuras necesarias
estarán demasiado poco
a
desarrolladas para apoyar
la innovación, al menos a
un precio que los consumidores estén dispuestos a pagar. Demasiado tarde para comercializar
y el desarrollador corre el riesgo de que la oportunidad de innovación sea visible para muchos
competidores y que haya muchos productos de la competencia disponibles. Hay una ventana
de oportunidad de innovación. Durante la ventana, las infraestructuras técnicas y sociales
necesarias estarán disponibles para el grupo de usuarios objetivo.
Las tecnologías que impulsarán la innovación pueden madurar en sus trayectorias. Una
tecnología mecánica puede estar madura para la digitalización. Una combinación particular
de tecnologías puede converger en el producto de software innovador. Finalmente, la
comunidad de usuarios potenciales expresará una
25
Machine Translated by Google
demanda de nuevos servicios digitales, o habrá una determinada etapa de desarrollo social que
permitirá generar tal demanda.
En este análisis final de Skype podemos observar las condiciones sociales y técnicas (su ventana
de innovación) que permitieron que Skype fuera ampliamente adoptado y un éxito comercial. Ya
hemos discutido las condiciones de ancho de banda y adopción de usuarios en la tecnología de
infraestructura (Internet). Hemos observado las trayectorias tecnológicas de VoIP y P2P, que
alcanzaron la madurez suficiente para combinarse de manera innovadora. También hemos
observado la convergencia de un conjunto particular de funciones que podría ofrecer utilidad al
usuario. En el entorno social podemos ver la intensificación de
comunicación, a medida que las personas se acostumbran más a la telefonía móvil y asequible;
en particular, los adolescentes comienzan a desarrollar hábitos telefónicos previamente
desconocidos. Muchas personas están en línea en el trabajo y se sientan frente a una computadora
durante largos períodos de tiempo e Internet es conocido como una fuente de información gratuita:
hay poca tradición de pagar por los servicios de Internet. Al mismo tiempo, la aparición de los
juegos en línea significa que muchas personas también están en línea en su tiempo libre. El uso
de los servicios de SMS crece de manera explosiva, en relación con la rápida expansión de la
telefonía móvil, lo que también significa que los monopolios nacionales de los proveedores de
telefonía tradicional se rompen y se establece un patrón de telefonía más variado. Los proveedores
de telefonía móvil se encuentran en una guerra de precios, aumentando el enfoque en el precio
de la telefonía, que se convierte en un foco importante en la elección de los consumidores.
Sin embargo, el aumento de las tarifas de las licencias de frecuencias de radiodifusión evita que
los precios bajen tanto como para hacerlos insignificantes.
Estas son algunas de las condiciones sociales y técnicas que los desarrolladores de Skype
supieron reconocer y explotar.
Heurística de estilo de trabajo 1: mantén la cabeza en alto
En este capítulo hemos examinado el contexto más amplio de la innovación de software, en
particular, las tendencias en el desarrollo de tecnología en la sociedad. Usamos Skype como un
caso de estudio de innovación para ilustrar los principios teóricos. Las observaciones y el análisis
apuntan en dos direcciones particulares:
1. La innovación de software depende de mucho más que la habilidad de programación y
el método de desarrollo: habilidades de ingeniería tradicionales. 2. Muchos
de los factores situacionales en las comunidades de usuarios y las tendencias tecnológicas
sociales pueden entenderse y analizarse.
Los factores situacionales que hemos considerado aquí son:
• tendencias y trayectorias tecnológicas •
convergencia y digitalización desarrollo de
• infraestructura social y técnica • demanda del usuario
(mercado)
26
Machine Translated by Google
• ventanas de tiempo e innovación
No es la intención retratar la innovación de software como un ejercicio de análisis
sociotécnico racional; Las ideas presentadas aquí tampoco brindan las herramientas
necesarias para hacerlo. Sin embargo, debe quedar claro que la innovación del software
depende de un conocimiento de la situación extremadamente bueno, lo que hace
necesario que los desarrolladores saquen la cabeza de las pantallas de sus computadoras
de vez en cuando. Otro término para esto es exploración ambiental. Esta conciencia
situacional hace que los equipos de innovación de software dependan de una variedad
de competencias complementarias que son ortogonales a las competencias de
programación. En este libro, la forma abreviada de este estilo de desarrollo de software
de alerta de tendencia es innovación de software 'advertencia'.
Fuentes y lecturas adicionales:
HACKLIN, F., RAURICH, V. & MARXT, C. (2004) Cómo la innovación incremental se
vuelve disruptiva: el caso de la convergencia tecnológica.
Congreso de Gestión de la Ingeniería. IEEE International
HELO, P. (2003) Trayectorias tecnológicas en telecomunicaciones móviles.
Revista Internacional de Comunicaciones Móviles, 1, 233246.
KOSKI, HA (1999) El efecto de la base instalada: algunas pruebas empíricas del
mercado de las microcomputadoras. Economía de la Innovación y Nuevas Tecnologías,
8, 273310.
WALKER, GH, STANTON, NA & YOUNG, MS (2001) ¿Dónde está la computación
conduciendo automóviles? Una trayectoria tecnológica del diseño de vehículos. Revista
internacional de interacción humanocomputadora, 13, 203229.
27
Machine Translated by Google
2. Haz crecer tu comunidad: red, conocimiento,
aprendizaje
En la teoría de la innovación, la innovación se entiende como un proceso social. Aunque
a menudo nos imaginamos a un científico genio solitario estereotipado con una bata
blanca y el cabello suelto (Einstein siempre viene a la mente), la innovación científica
suele ser el trabajo de equipos o comunidades de personas que trabajan en los mismos problemas.
Sus conocimientos y habilidades profesionales se desarrollan, reproducen y mejoran a
través de las diversas interacciones (práctica social) de la comunidad.
Una comunidad de innovación puede describirse como la conjunción de personas, ideas
y experiencia que involucra tanto la cooperación como la competencia. Dicha comunidad
puede ser física (reunión cara a cara) o virtual y, por lo general, es una combinación de
ambas. Una conferencia científica es un ejemplo: establecer los principales problemas en
el campo, revisar y desarrollar el trabajo de los participantes y establecer nuevas
cooperaciones. Las comunidades de innovación se conocen en la teoría de la innovación
como redes, pero evitamos el término debido a sus muchas otras connotaciones en el
trabajo de desarrollo. Un sistema de innovación (un término utilizado por los teóricos de
la innovación) puede incluir a los responsables políticos gubernamentales, los capitalistas
de riesgo, las organizaciones no gubernamentales, los científicos, los activistas y las
empresas, cada uno con un papel distinto que desempeñar en la promoción de la innovación.
Muchos teóricos han trabajado con las ideas de conocimiento y comunidad. Se puede
pensar en una comunidad de innovación como una universidad invisible, un término
utilizado por Diana Crane para describir los mecanismos para la fertilización cruzada de
ideas y la difusión del conocimiento en las comunidades científicas. Ludvig Fleck usó el
término comunidad de pensamiento o colectivo de pensamiento para describir
comunidades de científicos que producen y reproducen conceptualizaciones, prácticas y tecnologías.
Cada comunidad de pensamiento tiene su propio estilo de pensamiento, que define lo
que puede ser un conocimiento significativo para la comunidad en cuestión. Esta
conceptualización comparte ciertas características con el uso que hace Csiksentmihalyi
del concepto de campo : la comunidad que comprende las ideas y prácticas del dominio
en el que se recibe una innovación y que evalúa su valor. Etienne Wenger y Jean Lave
desarrollaron la idea de comunidad de práctica para describir un grupo de profesionales
que trabajan en esfuerzos compartidos y exhiben un aprendizaje situado a través de la
práctica y la participación. El conocimiento profesional se adquiere convirtiéndose en un
participante periférico legítimo en una comunidad de práctica, a través de la interacción
social. Por lo tanto, el aprendizaje depende de la aceptación en la comunidad, y la
experiencia, la identidad y la pertenencia a la comunidad son inseparables. Red de
práctica es un concepto que se usa para describir tanto a la comunidad estrechamente
acoplada como a los muchos compañeros profesionales y colegas con quienes tienen
conexiones mucho más flexibles (menos frecuentes y menos involucradas).
La comunidad y el conocimiento con el que trabaja están íntimamente conectados:
“Durante la última década ha aumentado el interés por comprender la base social de la
tecnología y el conocimiento. Se ha argumentado que el conocimiento existe sólo en un
contexto social, y que este contexto social es creado por las prácticas sociales.
28
Machine Translated by Google
De acuerdo con este punto de vista, el conocimiento se crea y reproduce en las comunidades,
y el conocimiento solo tiene sentido en relación con dichas comunidades. Además, este
punto de vista rechaza la idea de que el conocimiento se puede descontextualizar, o que es
algo que puede basarse de forma trivial en una “realidad externa”. En cambio, esta visión ve
el conocimiento como un producto de un proceso social. El conocimiento organiza las
prácticas sociales al institucionalizar formas de interpretar el mundo. El conocimiento está
integrado en las prácticas sociales, los sistemas conceptuales y los artefactos materiales que
se utilizan en las prácticas sociales. La tecnología, la práctica social y el conocimiento se
complementan y su evolución es parte de un mismo proceso”. (Tuomi, 2001, págs. 34)
Nonaka (1991) también entiende el conocimiento como un proceso social, en el que el
significado se construye, el conocimiento tácito se hace explícito y el conocimiento explícito
se internaliza en un espacio de creación de conocimiento (ba). Nonaka distingue entre
conocimiento explícito (codificable) y tácito (innato) que interactúan entre sí en las actividades
creativas de los seres humanos. Este proceso de conversión del conocimiento se caracteriza
por cuatro actividades: socialización, externalización, combinación e internalización.
La socialización transfiere conocimiento tácito entre individuos a través de
observación, imitación y práctica. La externalización se desencadena por el diálogo o la
reflexión colectiva y se basa en la analogía o la metáfora para traducir el conocimiento tácito
en documentos y procedimientos. La combinación reconfigura cuerpos de conocimiento
explícito a través de procesos de clasificación, adición, combinación y categorización y los
difunde a lo largo de una organización o comunidad profesional. La interiorización traduce el
conocimiento explícito en conocimiento tácito individual.
Si el conocimiento es un proceso social, entonces la idea de una comunidad de constructores
de conocimiento también cobra importancia. Un sorprendente ejemplo físico de una
comunidad de innovación se resume en el concepto de un parque científico. Aquí muchos
científicos, ingenieros e investigadores se concentran en un espacio relativamente
29
Machine Translated by Google
espacio pequeño. Los parques científicos (como Zhongguancun en China) atraen
inversiones masivas y, a menudo, se ubican cerca de las universidades. Las empresas
líderes en tecnología, así como las nuevas empresas emprendedoras, encuentran conveniente estar allí.
Hay muchas instalaciones costosas (laboratorios, equipos, computadoras potentes) y
diferentes conocimientos que pueden brindar soluciones a los problemas de desarrollo de
productos. Tienen economías que se basan en la financiación de la investigación y (a
menudo) privilegios fiscales y capital de riesgo. Tienen incubadoras para nuevas empresas
y proyectos, y una gran reserva de empleo bien educada, para que las personas puedan
cambiar de trabajo. Cerca, están las instalaciones culturales y las oportunidades de vivienda
que atraen a las clases creativas; personas con talento se mudan a la zona, estimulando
tanto el crecimiento económico como el del conocimiento. En la industria del software,
muchas empresas se agrupan en el Silicon Valley de California para explotar estos
beneficios, y la mayoría de los países orientados a la tecnología tienen áreas
correspondientes.
Comunidad de innovación virtual: el movimiento de código abierto
Silicon Valley es un ejemplo físico de una comunidad de innovación de software, pero
nuestro campo tiene su propio ejemplo sorprendente de comunidad virtual en el modelo de
código abierto. Según la Iniciativa de código abierto (OSI), "el código abierto promueve la
confiabilidad y la calidad del software al admitir la revisión por pares independientes y la
rápida evolución del código fuente. Para obtener la certificación OSI, el software debe
distribuirse bajo una licencia que garantice el derecho a leer, redistribuir, modificar y utilizar
el software libremente". Los proyectos de código abierto bien conocidos (Free Software
Foundation, Linux, Freenet, Apache, Fetchmail) muestran muchas características comunes
asociadas con las comunidades. Tienen sus héroes y leyendas (Richard Stallman, Linus
Torvalds, Ian Clarke, Rob McCool, Eric Raymond). Tienen un fuerte sentido de la reputación
y un principio de cooperación establecido. El conocimiento se distribuye libremente en
forma de código abierto. La reputación en la comunidad es importante y existen rituales de
unión informales y un umbral de entrada relativamente alto. Los programadores interesados
comienzan con el informe y la corrección de errores, antes de que se les anime a pasar a
tareas más importantes. Tienen un marco legal distinto para su trabajo: la Licencia Pública
General, también conocida como copyleft. Tienen su propia casa de comunidad virtual:
Sourceforge.net, con más de 50 000 proyectos y más de 500 000 usuarios registrados. El
sitio en sí no es simplemente un depósito de código, sino que admite muchas funciones de
redes sociales, como creación de perfiles, debates y gestión de la reputación.
30
Machine Translated by Google
principios de la comunidad de código abierto
comunidad virtual habilitada las comunidades de programadores establecen las normas
para la red para la práctica y brindan un sentido más amplio de contribución
y pertenencia; la comunidad a menudo está habilitada por
Internet y los productos de la comunidad son gratuitos y están
abiertos a todos sus miembros.
el reto del software el foco de la comunidad es el software que construye: la solución
de software, caracterizada como un desafío a ser superado
colectivamente.
autoorganización en redes el trabajo es autoorganizado por pares independientes e
iguales en redes a través de los límites organizacionales
tradicionales, en lugar de administrarse en el sentido tradicional:
las redes se fusionan, cambian y disuelven en respuesta a
los desafíos técnicos en evolución.
Los programadores de dominio técnico aspiran a la excelencia técnica.
dominio de su oficio, donde la capacidad de crear soluciones de
programación innovadoras o elegantes es la principal medida del
éxito.
autorrealización en la la comunidad prepara el escenario para la expresión
meritocracia tecnológica personal, la creatividad, el heroísmo y la innovación: la
membresía y el estatus en la élite tecnológica es la
recompensa principal, no el éxito comercial.
compartir código, la mejora de la solución de software se lleva a cabo mediante
el intercambio de código y la revisión del código por parte de
otros programadores; el proceso es iterativo e
retroalimentación entre pares, improvisación
improvisado.
liderazgo Las comunidades de programadores aspiran y alcanzan el
tecnológico liderazgo tecnológico a través del dominio técnico aplicado a
la producción de soluciones de software: la tecnoélite no sigue los
mercados o las tendencias tecnológicas, ellos lideran los
mercados y marcan las tendencias a través de la innovación.
calidad del código la calidad de ingeniería del código resultante es la medida del
éxito.
desarrollo de el desarrollo de competencias de programación es el factor
competencias de motivador para la mejora.
programación
31
Machine Translated by Google
Según von Hippel y von Krogh (2003), el movimiento de código abierto es un ejemplo de
una forma de innovación completamente nueva: el modelo colectivo privado. Identifican dos
modelos de innovación económica existentes: el modelo de inversión privada (típico en la
industria) y el modelo de acción colectiva (típico del sistema universitario).
inversión privada acción colectiva
• innovación apoyada por inversores • innovación apoyada por el estado
privados (típicamente empresas) que
esperan retornos privados
• los inversores conservan el conocimiento a través • los innovadores ceden el
de la ley de propiedad intelectual, derechos de control del nuevo conocimiento
autor, patentes a un fondo común para el bien
común •
• pérdida de conocimiento/innovación para la conocimiento difundido a través
sociedad de la sociedad
El movimiento de código abierto representa un nuevo modelo porque es privado, pero
colectivo. Los desarrolladoresusuarios invierten sus propios recursos, principalmente en
forma de tiempo de programación; sin embargo, el resultado final (el código) es de libre
acceso. Así invierten sus recursos privados para la libre revelación del conocimiento
(código), lo que beneficia a cualquiera que decida utilizarlo.
Innovación abierta
Aunque hemos analizado principalmente el proyecto de código abierto clásico en la sección
anterior, existen muchos modelos de innovación abierta, y muchos de ellos son modelos
híbridos en los que participan empresas privadas y otros innovadores de código cerrado.
Chesbrough argumenta que, con la innovación abierta, las organizaciones reconocen que:
• no todas las personas inteligentes trabajan para nosotros; tenemos que trabajar con inteligencia
personas dentro y fuera de nuestra empresa
• la I+D externa puede crear un valor significativo; se necesita I+D interna para
reclamar una parte de ese valor
• no tenemos que originar la investigación para beneficiarnos de ella
• construir un mejor modelo de negocio es mejor que llegar primero al mercado si
• hacemos el mejor uso de las ideas internas y externas, ganaremos, y
• debemos beneficiarnos del uso de nuestra propiedad intelectual por parte de otros,
y debemos comprar la propiedad intelectual de otros cada vez que avance
nuestro propio modelo de negocios.
Los proyectos de innovación abierta no necesariamente se planifican estratégicamente. Al
principio, la empresa danesa Lego se angustió al descubrir que una pequeña comunidad
de piratas informáticos se había formado en torno a su producto Mindstorms y trató de
acabar con él. Luego observaron dos cosas: en primer lugar, que esto creaba una gran cantidad de
32
Machine Translated by Google
malos sentimientos y resentimiento entre sus usuarios más dedicados y, en segundo lugar, que
algunas de las mejoras de código que aportaron los piratas informáticos eran mejores que las
soluciones proporcionadas por sus propios desarrolladores. La solución: integrar a los piratas
informáticos en la comunidad beta del producto y liberar partes del código. Desde entonces, la
comunidad se ha convertido en una parte importante del desarrollo del producto, con su propio
sitio web similar a un wiki. De esta forma pudieron activar los cuatro principios de la colaboración
masiva basada en la red articulados por Tapscott y Williams:
• peering: colaboración voluntaria entre agentes libres basada en un de
modelo centralizado, no jerárquico •
intercambio: intercambio de conocimientos como base de la colaboración
• apertura: libre acceso a ideas y código • actuación
global: acceso (basado en la red) para una amplia base de usuarios para promover el flujo
de intercambio de ideas y conocimientos.
IBM tiene un gran compromiso de innovación abierta con contribuciones a más de 120 proyectos
de código abierto, incluidos Eclipse, Apache Derby, Apache Geronimo, Apache Tuscany y
Apache Harmony, y más de mil millones de dólares en desarrollo de Linux®. La empresa
ejecuta un portal de acceso parcialmente abierto como soporte web para su comunidad, con
descargas, recursos de aprendizaje y recursos de la comunidad, incluidos foros y blogs.
“Entre las principales ventajas del código abierto se encuentra que las dificultades y los costos
de diseñar, desarrollar y mejorar el software se pueden distribuir entre muchos colaboradores.
IBM puede estar gastando $100 millones al año en el desarrollo de Linux, pero firmas como
Nokia, Intel y Hitachi también están haciendo inversiones sustanciales. Se estima que las
inversiones comerciales en Linux superan los mil millones de dólares al año.
Por considerable que sea su contribución, IBM está compartiendo con otros el esfuerzo y el
gasto de desarrollar esta infraestructura central.... IBM puede aprovechar la innovación abierta
en curso realizada por otros en Linux y otros proyectos GPL porque la GPL requiere la
divulgación del código fuente de los programas derivados del software GPL. Al estudiar las
innovaciones de otros, los ingenieros de IBM pueden percibir oportunidades para construir
nuevas tecnologías sobre la base de código abierto. Algunos creen que el modelo de innovación
abierta facilita un ritmo más rápido de innovación” (Samuelson 2006 p.24)
Gassmann y Enkel introducen tres tipos básicos de procesos de innovación abierta:
1. El proceso de afuera hacia adentro: el conocimiento externo, la tecnología y los
derechos de propiedad intelectual se adquieren del exterior y se introducen en la
empresa.
2. El proceso de adentro hacia afuera: la tecnología no utilizada o los DPI se introducen en
el mercado y explotados fuera de la empresa.
3. El proceso acoplado: los procesos de afuera hacia adentro y de adentro hacia afuera
están acoplados y la empresa trabaja en alianza con otras empresas.
33
Machine Translated by Google
La forma en que la empresa coopera con los demás varía, y el lugar de la
innovación suele estar fuera de la empresa.
También se ha visto que la innovación abierta tiene ventajas en el surgimiento de
estándares, por ejemplo con Open Mobile Alliance, que ha influido en el desarrollo de
estándares para servicios móviles 3G como gestión de dispositivos, servicios de
mensajería, servicios de ubicación y presencia, servicios de transmisión y gestión de
derechos digitales.
Otra dimensión del movimiento de innovación abierta es la aparición de intermediarios
(corredores) cuya función principal es unir a los propietarios de problemas de
innovación con los proveedores de soluciones. InnoCentive, por ejemplo, permite a
los innovadores potenciales buscar catálogos de problemas no resueltos ("desafíos"
organizados por disciplina y área problemática ("pabellón") para ubicar innovaciones
donde sus habilidades y conocimientos, patentes y derechos de propiedad pueden ser
invaluables. El principal proveedor de ERP SAP tiene su propio pabellón donde lanza
muchos desafíos que representan sus problemas de innovación actuales con la
esperanza de atraer soluciones que ellos mismos no necesariamente pueden imaginar
o implementar.
Heurística de estilo de trabajo 2: haga crecer su comunidad de conocimiento
Este capítulo pretende disipar el mito del innovador de software solitario, que trabaja
desde su garaje. La innovación de software se entiende como un emprendimiento
comunitario, porque la innovación va unida al aprendizaje y la generación de
conocimiento y estos también son de base comunitaria. Las comunidades fomentan el
avance colectivo del conocimiento a través de la colaboración y la cooperación, pero
también a través de la competencia. Las comunidades de innovación a veces son
internas de grandes empresas como Google y Apple, que necesitan proteger sus
avances de conocimiento e ideas de productos por razones comerciales, pero a
menudo abarcan empresas desarrolladoras, empresas usuarias, usuarios líderes,
comunidades de usuarios beta, instituciones de investigación y universidades. El
movimiento de código abierto es un caso especializado en el campo del desarrollo de
software, donde es particularmente fácil ver los elementos de la comunidad en
funcionamiento; sin embargo, existen muchos otros modelos de innovación abierta.
Parece que la mayoría de las innovaciones de software ocurren en un contexto social;
la innovación tiene, en palabras de Denning, una 'vida social'.
Si tuviéramos que extraer algunas lecciones para los jóvenes innovadores de software
y las empresas, deberían comprender cómo administrar y mejorar sus redes sociales,
los vínculos comunitarios que son importantes para su trabajo y desarrollo personal.
Estas pueden ser personas con las que trabajan en proyectos, administradores y
desarrolladores de software experimentados, profesores y mentores, investigadores
con los que entran en contacto en conferencias y muchos tipos de usuarios, grupos y
organizaciones que encargan y trabajan con los sistemas que construyen. Estos
grupos ayudan a definir lo que es una innovación de software prometedora, a generar
y probar ideas, a crear prototipos y pruebas de usuarios, y a explotar, comercializar y
difundir tanto el conocimiento como los productos que son el
34
Machine Translated by Google
resultado final del proceso creativo. Necesitan dirigirse a aquellas comunidades de práctica
que son importantes en su trabajo y obtener la admisión a ellas.
Los jóvenes desarrolladores necesitan comprender el estado del arte, trabajar en equipo
con colegas con habilidades complementarias y probar sus ideas con otros expertos en el
campo. De la misma manera, un proyecto de innovación de software no siempre es mejor
atendido por el secreto comercial. En muchos casos, la apertura y la colaboración, la
asociación y el intercambio de conocimientos ofrecen muchas ventajas.
El innovador de software no es un lobo solitario, sino un experto en redes.
Fuentes y lecturas adicionales:
CHESBROUGH, H. (2003) Innovación abierta: el nuevo imperativo para crear y sacar
provecho de la tecnología, Boston, MA, Harvard Business School Publishing.
CSIKSZENTMIHALYI, M. (1997) Creatividad: flujo y la psicología del descubrimiento y la
invención, Harper Perennial.
DENNING, PJ (2004) La vida social de la innovación. Comunicaciones de la ACM, 47,
1519.
FAGERBERG, J. (2005) Innovación: una guía para la literatura. EN FAGERBERG, J.,
MOWERY, C. & NELSON, RR (Eds.) The Oxford Handbook of Innovation Oxford, Oxford
University Press.
GASSMANN, O. & ENKEL, E. (2004) Hacia una teoría de la innovación abierta, tres
arquetipos de procesos centrales. Jornadas de Gestión de I+D+i. Sesimbra.
NONAKA, I. (1991) La Empresa Creadora de Conocimiento. Harvard Business Review, 69.
POWELL, W. & GRODAL, S. (2005) Redes de Innovadores. EN FAGERBERG, J. (Ed.) El
Manual de Innovación de Oxford. Nueva York, Oxford.
SAMUELSON, P. (2006) El abrazo pragmático de código abierto de IBM.
Comunicaciones de la ACM, 49, 215.
TAPSCOTT, D. & AD, W. (2006) Wikinomics: How Mass Collaboration Changes Everything,
Nueva York, Portfolio Hardcover.
TUOMI, I. (2001) Internet, Innovación y Open Source: Actores en la Red. Primer lunes, 6.
TUOMI, I. (2003) Redes de Innovación. Oxford Press.
VON HIPPEL, E. & VON KROGH, G. (2003) Software de código abierto y el modelo de
innovación "privadocolectivo": problemas para la ciencia de la organización.
Ciencia de la Organización, 14, 209223.
VON KROGH, G., SPAETH, S. & LAKHANI, KR (2003) Comunidad, unión y especialización
en innovación de software de fuente abierta: un estudio de caso.
Política de investigación, 32, 12171241.
35
Machine Translated by Google
36
Machine Translated by Google
3. Apuntar al perfil de innovación del producto: software
innovador
En esta sección inspeccionamos el producto de software innovador. Esto, como muchos
de los términos utilizados en este estudio, es difícil de definir con precisión, pero se refiere
al resultado del desarrollador de sistemas, principalmente el código. Esto puede tomar la
forma de una aplicación, un sistema operativo, un conjunto de protocolos de comunicación
(como el modelo OSI), un algoritmo, software integrado, software móvil o una variedad de
otras expresiones. En principio, todos los artefactos informáticos que no son hardware son
productos de software, pero en el caso del software integrado, incluso esta distinción es
difícil de mantener. En muchos casos, el hardware y el software se desarrollan en paralelo
(piense en un teléfono móvil, por ejemplo), de modo que son interdependientes. Hemos
adaptado el término 'producto de software' de la literatura de innovación, aunque suene un
poco extraño para la mayoría de los desarrolladores, para cubrir estas muchas instancias
diferentes. Analizamos las características del software innovador y desarrollamos la idea
del 'perfil de innovación' de un producto.
Características de los productos de software innovadores Los
productos de software innovadores, según la teoría de la innovación, muestran las
cualidades de novedad y utilidad.
La novedad global es una característica de un producto de software que es un avance
significativo sobre otros productos en su dominio en todos los ámbitos, es decir, nunca
antes desarrollado. Sin embargo, la innovación de productos de software depende tanto
del tiempo como de la comunidad de usuarios. Una innovación es una innovación en un
punto en el tiempo: cuando se usa ampliamente, se convierte en parte de la base instalada
sobre la cual se construyen otras innovaciones de software. Un producto de software
también es novedoso en relación con la experiencia de una comunidad de usuarios en
particular: si nunca lo han visto o usado antes, entonces es novedoso para ellos ( novedoso
localmente ) incluso si no lo es globalmente.
Los productos de software pueden representar una innovación incremental o radical . Por
lo tanto, el paso de una interfaz de sistema operativo de línea de comandos a una basada
en ventanas gráficas basada en una metáfora de escritorio podría entenderse como una
innovación importante (radical), mientras que las mejoras posteriores, por ejemplo, las
mejoras para admitir la utilización de varios tipos de medios podrían entenderse como
innovaciones incrementales. Las innovaciones radicales suelen ser discontinuas,
divergentes y, a menudo, polémicas; la aparición de Mac OS y Microsoft Windows en el
mercado de las computadoras personales marcó la adopción casi universal del nuevo estilo
de interacción entre los usuarios finales.
Sin embargo, los administradores de sistemas y los programadores, con una comprensión
mucho mejor de la organización conceptual de un sistema operativo, tendían a ceñirse a
una interfaz de línea de comandos para Unix y Linux, y las interfaces gráficas de usuario
disponibles para estos sistemas operativos (X Window, por ejemplo) no han requerido el
mismo grado de sofisticación y pulido. Sin embargo radical
37
Machine Translated by Google
las innovaciones de este tipo son bastante raras y la mayoría de las innovaciones en los
productos de software son incrementales y proceden mediante el control de versiones. Cada
nueva versión de un sistema operativo aporta una mejora incremental a la anterior e incorpora
pequeños avances. Los cambios más importantes están señalados por los nuevos
lanzamientos de productos (Windows 3.0, Windows 95, Windows XP, Vista, Windows 7). Con
el tiempo, estas muchas pequeñas mejoras constituyen un grado significativo de innovación
en el producto: innovación acumulada o evolutiva .
Patente "Administrador de ventanas" de IBM 30 de enero
de 2001 Las realizaciones preferidas de la presente invención proporcionan un método y un
aparato para administrar y controlar el tamaño y la ubicación de las ventanas en un sistema
informático basado en GUI. Específicamente, se proporciona un mecanismo de control de
ventana para mejorar las características funcionales básicas de una ventana en cualquier
entorno de ventanas. Al interactuar con el mecanismo de control de la ventana, un usuario
puede reubicar y cambiar el tamaño de una ventana rápida y fácilmente sin mover el mouse
innecesariamente. En una realización preferida de la presente invención, el usuario invoca el
mecanismo de control de la ventana colocando el cursor sobre la barra de título de una
ventana y usando ambos botones de un ratón de dos botones. En otra realización preferida
de la presente invención, el usuario invoca el mecanismo de control de la ventana colocando
el cursor sobre la decoración de una ventana y usando ambos botones de un ratón de dos
botones. Otra realización preferida más de la presente invención permite al usuario especificar
una combinación de teclas del teclado para invocar el mecanismo de control de ventana.
Además de la novedad, las innovaciones de productos de software muestran utilidad: tienen
algún tipo de aplicación que los usuarios valoran y están dispuestos a pagar. El papel del
software en las sociedades desarrolladas es extremadamente amplio y más adelante en esta
sección se consideran algunas formas diferentes de utilidad. Por lo tanto, la utilidad de un
producto de software es inseparable del mercado al que ingresa el producto, que define lo
que se puede pagar por un producto determinado en un momento determinado.
Las consideraciones de mercado, tales como la disponibilidad de productos rivales o
sustitutos, el costo del producto en relación con su utilidad percibida y la disponibilidad de
capital de préstamo para financiar la compra del producto dictan la amplitud y rapidez con la
que se puede adoptar un nuevo producto de software. (difundido). Algunas excepciones a
este principio en relación con la innovación de código abierto y el software gratuito se analizan
en otra parte. A su vez, las condiciones del mercado se ven afectadas por tendencias sociales
más amplias, como cambios en los patrones de trabajo o aumentos en el tiempo libre.
El nuevo software a menudo se patenta, particularmente en los Estados Unidos, donde las
leyes de patentes permiten el acceso a una amplia variedad de productos de software. europeo
38
Machine Translated by Google
las leyes son algo más restrictivas, pero todavía permiten muchas patentes de
productos que incorporan software. Patentar es, por las razones ya discutidas, un mejor
indicador de invención que de innovación. Patentar es un tema polémico, particularmente
para el movimiento de software libre, y no está claro si patentar promueve la innovación
(salvaguardando la inversión del desarrollador original) o la obstaculiza (al evitar que
la invención se convierta en parte de la base instalada (accesible) para que otras
invenciones pueden incorporarlo o construir sobre él). El resultado de la difusión de un
producto de software innovador debería evaluarse más adecuadamente observando el
cambio que el software facilita en su comunidad de usuarios. Por lo tanto, la innovación
de software exitosa puede promover cambios bastante generalizados en el
comportamiento de su comunidad de usuarios; piense, por ejemplo, en la difusión de
software de redes sociales como Facebook. Usamos la abreviatura de cambio social
para referirnos a estos cambios:
la innovación (invención + explotación + difusión) conduce al cambio social.
El cambio social no suele indicar un cambio en toda la sociedad, sino un cambio en la
práctica social, es decir, la forma en que un grupo de personas se comporta o interactúa
habitualmente. Tenga en cuenta que esta formulación no especifica que el cambio sea
siempre positivo para todos los grupos de personas en todo momento. La innovación
de software no es un bien universal y fácilmente puede tener efectos que muchos no
encontrarían deseables (en armamento, por ejemplo). Las innovaciones pueden dejar
sin trabajo a grandes grupos de personas o perturbar el equilibrio político del poder.
El cambio social es, además, relativo a una determinada comunidad de usuarios. Esto
significa que una aplicación de software no tiene que tener un impacto en toda la
sociedad para ser innovadora. Los ejemplos (como Facebook) que hacen esto son
útiles porque muchos pueden relacionarse con ellos, pero la cirugía con láser robótico
es una innovación muy importante entre un pequeño grupo de usuarios: los cirujanos
oculares. Los secuenciadores digitales (Garage Band) y los programas de notación
musical (Sibelius) son un avance significativo para los escritores de canciones y
compositores que también incorporan otro cambio social: ampliar el rango de personas
a las que está disponible la actividad. Puede más o menos escribir una canción en
Garage Band sin ningún tipo de experiencia musical.
Utilidad jerarquías de sistemas técnicos
Podemos examinar el alcance del cambio social en el que una innovación de software
puede ser fundamental con la ayuda de las jerarquías de técnicas de Altshuller.
39
Machine Translated by Google
sistemas Esta jerarquía ilustra la forma en que las innovaciones tecnológicas están
interrelacionadas y dependen en gran medida unas de otras. Podríamos entender el
sistema de transporte como un sistema muy amplio de toda la sociedad compuesto por
muchos subsistemas. En la tabla de la derecha, cada sistema técnico se divide en
subsistemas que luego se dividen en subsistemas adicionales. Los enlaces químicos
son parte de la estructura de una pastilla de freno, que es parte de un conjunto de
pastillas de freno, que constituye el sistema de frenado de un automóvil que forma parte
de nuestro sistema de transporte. Los cambios en el sistema de transporte (amplio)
(teletransportación, máquina voladora personal) pueden tener impactos sociales de
gran alcance, mientras que los cambios en el nivel de concentración (enlace químico)
tienen un impacto relativamente pequeño (al menos en esta jerarquía). Sin embargo, la
forma más común de innovar es incremental, a través de múltiples innovaciones en
subsistemas. Por lo tanto, el diseño de un automóvil permanece relativamente estable
(cuatro ruedas, estructura de metal, puertas, ventanas), pero muchos de sus subsistemas
se mejoran continuamente, lo que lleva a una mejora incremental evolutiva en el diseño general.
También es posible pensar en el software en esta forma jerárquica de muchas capas
(el modelo OSI también es una forma de estratificación jerárquica). Por lo tanto, los
juegos en línea masivos para varios jugadores (una especie de revolución en los
juegos) se ven facilitados por muchos pequeños avances: en protocolos de
enrutamiento y transporte de red e infraestructura de hardware que hacen posible
transmitir suficientes datos y alojar con suficientes usuarios, en técnicas de
personalización y en 3D. y programación gráfica, en algoritmos para representar
leyes naturales (por ejemplo, la gravedad) y en técnicas de cultivo de bases de datos y aplicaciones d
World of Warcraft descansa en la cima de una pirámide de jerarquías de
soporte de innovaciones técnicas, donde solo el peso combinado del progreso
técnico hace posible la cumbre.
Novedad: niveles de innovación
Mientras que la teorización de jerarquías de sistemas técnicos de Altshuller puede
ayudarnos a comprender el impacto, la utilidad y el cambio social, su especificación de
cinco niveles de innovación (junto con la investigación que indica qué tan comunes son
los diferentes niveles) nos ayuda a comprender la novedad en la innovación. Los cinco niveles son:
• nivel 1: problemas de diseño de rutina resueltos mediante métodos bien
conocidos dentro de la especialidad; por lo general, no
• se necesita invención. nivel 2: mejoras menores a un sistema existente
usando métodos conocidos
• dentro de la industria. nivel 3: mejora fundamental de un sistema existente
utilizando métodos conocidos fuera de la
• industria. nivel 4: una nueva generación de un sistema que implica un nuevo
principio para realizar las funciones principales del sistema; las soluciones se
encuentran más a menudo en la ciencia
• que en la tecnología. nivel 5: un descubrimiento científico raro o una invención
pionera de un sistema esencialmente nuevo.
40
Machine Translated by Google
La innovación de nivel 1 está realmente más cerca de la resolución de problemas en el
trabajo diario de diseño de software, que la mayoría de los desarrolladores de software
encuentran a diario sin pensar realmente en ello como algo especialmente innovador.
Según la investigación de Altshuller, la mayoría (casi el setenta por ciento) de las
innovaciones se pueden clasificar en el nivel 1 y alrededor del 95 % en el nivel 1 o 2. El
trabajo radical y pionero (nivel 5) es mucho más raro (menos del uno por ciento) y a
menudo combinado con avances en informática. Aquí podríamos pensar en el trabajo
pionero con ARPANET, el precursor de Internet, entre el Departamento de Defensa
estadounidense y los científicos informáticos de las universidades estadounidenses, incluidas Stanford y U
Innovación incremental y radical
Reunir las teorías de las jerarquías
del sistema técnico y los niveles
de innovación (el gráfico de la
derecha) también nos ayudará a
comprender la innovación radical
e incremental.
mejor. Mientras que el nivel 5
(pioneros) innovaciones
que contribuyen a la tecnología
amplia (los sistemas
por de Internet,
ejemplo) serán experimentados
como un cambio bastante radical
por muchas comunidades de
usuarios, la mayor parte de la
innovación tendrá lugar en
sistemas técnicos más enfocados en niveles de innovación más bajos y se experimentará
como una innovación incremental. Algunos trabajos están tan concentrados y el nivel de
innovación es tan bajo que normalmente lo consideraríamos un trabajo de diseño normal
o una resolución de problemas, en lugar de etiquetarlo como innovación. Sin embargo,
estos juicios siempre se hacen en retrospectiva histórica, esto se debe a que el impacto
de una innovación puede tardar muchos años en desarrollarse.
la innovación (invención + explotación + difusión) conduce al cambio social
retraso del impacto: retraso entre la invención y el cambio social causado por el tiempo
requerido para la explotación comercial y la difusión a la comunidad de
usuarios
Esta imagen se complica aún más por las muchas innovaciones acumulativas incrementales
de Internet y sus muchos subsistemas a medida que la explotación y la difusión avanzan
con el tiempo. Por lo tanto, el impacto de ARPANET en términos de cambio social es más
bien pequeño, y solo años más tarde, después de muchos cambios adicionales.
41
Machine Translated by Google
desarrollos, que puede reconocerse como parte de la innovación radical conocida como Internet,
que también se encuentra en la cima de las muchas jerarquías técnicas en evolución (innovación
acumulada) necesarias para su desarrollo y difusión continuos.
formularios de utilidad
En esta sección del capítulo analizamos algunos de los propósitos del software innovador. El
software se usa en muchos contextos diferentes, para muchos propósitos diferentes, lo que significa
que puede conducir a muchas formas de cambio. Para corresponder con la terminología utilizada
anteriormente, veremos las formas de utilidad: las diferentes formas en que el software innovador
brinda beneficios y conduce al cambio. Es imposible proporcionar una serie de categorías que
cubran todas las posibles formas de utilidad, pero aquí especificamos seis formas de utilidad que
brindan una amplia cobertura del rango de utilidad que se puede lograr. El propósito de hacer esto
es desbloquear los silos mentales en los que muchos de nosotros operamos, donde los estudiantes
de ciencias de la computación pueden estar interesados principalmente en problemas técnicos de
infraestructura, mientras que los estudiantes de escuelas de negocios tienden a entender la
computación como grandes aplicaciones comerciales. Parte de la innovación es la capacidad de
relacionar influencias, habilidades y conceptos dispares, y los innovadores tienden a tener una gran
experiencia y una visión general. Las seis formas de utilidad son:
• infraestructura informática •
habilitación de tecnología
• servicio al usuario
• cambio de negocio que permite • la
interacción y la comunicación
• entretenimiento
Este análisis también nos dará la oportunidad de examinar algunos ejemplos concretos de productos
de software innovadores y preguntarnos por qué deberían considerarse innovadores. ¿Qué aportan,
en qué medida son novedosos y útiles, y a qué tipos de cambios conducen? Estas serán preguntas
básicas que los desarrolladores se hacen cuando trabajan en nuevos conceptos y soluciones de
software.
Formulario de utilidad de innovación 1: infraestructura informática Las
innovaciones de software pueden proporcionar mejoras subyacentes para la prestación de otros
servicios informáticos. De esta forma, ayudan a hacer avanzar la infraestructura informática y a
construir plataformas que permiten la ejecución de nuevos tipos de aplicaciones. Algunos ejemplos
podrían ser:
• Sistemas operativos de PC: proporcionan la plataforma para el software
aplicaciones para ejecutar
• protocolos de red: proporcionan el marco de transmisión para la
intercambio de datos digitales
42
Machine Translated by Google
• enrutamiento móvil: permite la conmutación transparente entre celdas de red
y proveedores de servicios
• grid computing: proporciona el entorno informático para aplicaciones de procesamiento
extremo
Tales innovaciones permiten el cambio de infraestructura y alteran la práctica de los desarrolladores
de software y administradores de sistemas, pero podría argumentarse que el cambio social es un
efecto secundario de la innovación de infraestructura. Así, la infraestructura de Internet no influye
directamente en la sociedad en general, pero sí lo hacen las aplicaciones que se ejecutan en ella
(correo electrónico, VOIP, mensajería, aplicaciones distribuidas).
Ejemplo de innovación: TCP/IP (19738)
Es difícil recordar que las computadoras solían ser dispositivos independientes, una especie de
calculadora que ocupaba toda una habitación. Vinton Cerf y su equipo con sede en la Universidad
de Stanford desarrollaron las primeras implementaciones de la conmutación de paquetes que
permitieron la ARPANET militar en el Protocolo de control de transmisión y el Protocolo de
Internet. Se aseguran de que los paquetes de datos lleguen en el orden correcto, que tengan un
error mínimo, que los paquetes duplicados se descarten, que los paquetes perdidos se reenvíen
y gestionen la congestión del tráfico. Los protocolos fueron adoptados primero por el ejército
estadounidense y luego por los fabricantes de computadoras estadounidenses en la década de
1980. Demostraron ser extremadamente robustos (¡hay una implementación para palomas
mensajeras que se demostró que funciona!) y aún forman la base del conjunto extendido de
protocolos en capas que permiten la transmisión de datos en la Internet moderna. No son la causa
del auge de Internet (aquí intervienen otros factores comerciales y de desarrollo), pero son una
condición previa. Internet está asociado con un nivel social muy significativo de cambio social,
descrito en el libro del sociólogo Manuel Castells 'The Rise of the Network Society'.
Formulario de utilidad de innovación 2: habilitación de tecnología
El software integrado puede permitir la innovación en otros productos tecnológicos, como
automóviles y lavadoras. Aquí el software no es necesariamente la innovación, sino que el
producto tecnológico que posibilita es innovador. Muchos productos de nueva tecnología, como
aspiradoras robóticas, sistemas de frenado automático, sistemas de control de lavadoras y
juguetes programables (como Lego Mindstorm) dependen del software incorporado para
proporcionar la parte de la funcionalidad de la máquina que se experimenta como novedosa y útil.
43
Machine Translated by Google
El software puede requerir una gran habilidad e ingenio para escribirlo o, alternativamente, puede
ser un trabajo de programación bastante rutinario. El punto es que no es directamente la utilidad
del software lo que está en cuestión, sino la utilidad que habilita en la nueva máquina.
Ejemplo de innovación: metro de Copenhague
Puede ser una experiencia desconcertante subirse a un tren que se parece a un tren convencional
y mirar hacia adelante a través del parabrisas delantero directamente a un túnel. Por un segundo,
no se da cuenta de por qué está perturbado, pero luego se da cuenta de que espera estar mirando
la parte posterior de la cabeza del conductor, y el conductor no está allí. La experiencia puede
provocar un instante de resistencia: ¿qué ocurrirá en caso de accidente o imprevisto? En esta
innovación, el software integrado permite el tren sin conductor. El software impulsa los sistemas
de control muy complejos que preservan la funcionalidad y la seguridad en el tren en ausencia de
la persona que normalmente asume la responsabilidad del control. Sin embargo, el tren se
experimenta como la innovación, y los complejos sistemas de software utilizados para hacerlo
funcionar permanecen fuera de la vista. Sin embargo, la innovación depende de muchas
decisiones de diseño e ingeniería, en las que el software desempeña su papel (y el software
también puede ser innovador por derecho propio). Aunque el software y los sistemas de ingeniería
son caros de construir, el tren es eventualmente más barato de operar, ya que no hay salarios de
conductores que pagar. Por lo tanto, se puede esperar que la innovación sea impopular entre al
menos un grupo de personas: los conductores de trenes.
Formulario de utilidad de innovación 3: servicio al
usuario Las innovaciones de software pueden proporcionar servicios nuevos, mejorados, más
eficientes o más baratos para las comunidades de usuarios. Estos tipos de innovaciones
normalmente toman un servicio existente y brindan una combinación de funcionalidad extendida,
facilidad de uso mejorada, ahorro de costos y/o mejora de la calidad, lo que representa varios
aspectos de utilidad para el usuario.
Ejemplo de innovación: Skype
Nuestro ejemplo de innovación aquí es Skype, una extensión del servicio de telefonía convencional.
Skype combina tecnologías de Internet y de igual a igual para brindar una funcionalidad
convergente ampliada (teléfono, chat, libreta de direcciones, video, conferencias, intercambio de
archivos). Además cuenta con buenas interfaces con los servicios de telefonía fija y móvil más
convencionales. Ninguna de estas funciones es exclusiva de Skype ni innovadora en sí misma
(aunque la solución de implementación descentralizada sí lo es). Sin embargo, el servicio
proporciona un conveniente paquete de funcionalidad que es distinto de sus principales
competidores. La plataforma de Internet descentralizada admite otra utilidad para sus clientes: es
barata. Los ahorros de costos para los clientes se compensan con un nivel más bajo de servicio y
mayores riesgos de seguridad, pero muchas personas pueden aceptarlos.
44
Machine Translated by Google
Formulario de utilidad de innovación 4: posibilitar el cambio empresarial
El software innovador puede ser un facilitador o impulsor del cambio empresarial. Aquí admite
nuevas formas de:
• hacer negocios (por ejemplo, comercio electrónico) •
administración interna (por ejemplo, automatización de reclamos de seguros) • llegar,
mantener y comunicarse con clientes (como con
sistemas de gestión de la relación con el cliente)
• desarrollo y fabricación de productos (como con Computer Aided
Diseño y líneas de producción robotizadas)
Ejemplo de innovación: SAP (sistema ERP)
Los sistemas de planificación de recursos empresariales brindan soporte integrado para la
administración comercial más convencional. En los últimos diez años han sido adoptados casi
universalmente por las principales empresas globalizadas, a pesar de los costos muy altos y
muchos problemas de implementación y adaptación. Ahora se están extendiendo rápidamente
a empresas más pequeñas y al sector público. En comparación con la generación anterior de
sistemas autónomos orientados a funciones (nómina, gestión de recursos humanos, gestión de
stock), ofrecen muchas ventajas:
• modelo de datos y base de datos comunes
• interfaces personalizables
• implementaciones variables •
modelos comerciales de mejores prácticas
• reemplaza muchos sistemas independientes orientados a funciones
• información de gestión integrada y minería de datos • interfaces
web + eBusiness
• conectividad y gestión de la cadena de suministro
Formulario de utilidad de innovación 5: interacción y comunicación Las
aplicaciones de software innovadoras pueden cambiar la forma en que las personas interactúan
y se comunican. Es especialmente el desarrollo del acceso generalizado a Internet y los
conceptos y tecnologías Web 2.0, junto con buenas interfaces para dispositivos móviles, lo que
facilita este tipo de innovaciones. Deberíamos distinguir entre el correo electrónico y Skype
(donde las formas tradicionales de comunicación e interacción simplemente se facilitan mejor)
y las aplicaciones que fomentan tipos de interacciones bastante nuevos. Las innovaciones
actuales en la interacción comunicativa se centran en:
• mayor alcance y rango: acceso a muchos contactos sociales de muchas zonas
geográficas y horarias en un nivel poco acoplado, donde el nivel de interacción es
bastante superficial
45
Machine Translated by Google
• independencia temporal: almacena el contexto para la interacción y facilita las
comunicaciones sincrónicas y asincrónicas • interacciones admitidas: ofrece
diferentes oportunidades de interacción, como intercambio de videos (archivos) y juegos, o
interacción remota a través de avatares • diversos medios de comunicación: ofrece
soporte para medios mixtos
interacción (voz, texto, chat) creación de redes sociales
• persona en línea: control de la forma en que el usuario se presenta a otros
usuarios
• conectividad de plataforma: el entretejido de diferentes dispositivos móviles y de red
plataformas de interacción
Ejemplo de innovación: Facebook.
Facebook está lejos de ser el primer software de red social en volverse popular, pero ha alcanzado
(en el momento de escribir este artículo) niveles de uso que superan con creces a sus rivales, al
menos en ciertas partes de Europa y EE. UU. Admite actividades de redes sociales como:
• mostrar el perfil de usuario •
encontrar y hacer amigos • organizar
grupos para mantenerse
• en contacto • soporte
para citas • aplicaciones
de entretenimiento • monitoreo
de eventos y feeds • correo electrónico
y mensajería • soporte para
el intercambio de archivos en varios medios • tablón de
anuncios (pared)
Tiene una API abierta y cualquiera puede desarrollar aplicaciones para ella, dentro de sus pautas
editoriales. Al igual que muchas aplicaciones web 2.0, tiene una gran utilidad para muchos
usuarios, pero no el tipo de utilidad por la que necesariamente pagarán, por lo que el uso básico
del servicio es gratuito y el modelo de ingresos se basa principalmente en la publicidad, lo cual es
atractivo porque de los múltiples usuarios y acceso a grupos socioeconómicos segmentados.
Forma de utilidad de innovación 6: entretenimiento Una
parte relativamente grande de la innovación de software moderno es el diseño para sustentar
nuevas formas de entretenimiento. Mientras que los sistemas comerciales respaldan nuestras
actividades laborales, los sistemas de entretenimiento respaldan nuestras actividades de ocio.
Algunos de los desarrollos más significativos de los últimos años están relacionados con los juegos (que
46
Machine Translated by Google
se ha convertido recientemente en línea), la distribución de clips de medios (música y
video) y la evolución del contenido generado por el usuario. Dichos desarrollos dependen
de las mejoras en la infraestructura (principalmente el ancho de banda y el almacenamiento
de datos), pero también del alcance y alcance de la Internet moderna: más usuarios tanto
para contribuir como para participar. La generación de contenidos también se ha convertido
en una parte importante de la autoexpresión de los usuarios (puedes visitar mis
composiciones de banda de garaje en http://www.reverbnation.com/theelectricmusicbox)
y la frontera entre lo recreativo y lo profesional se erosionó. (como en las páginas de
muchas bandas en MySpace). El intercambio de este contenido es una nueva forma
importante de interacción (ver arriba). Muchas personas encuentran más interesante pasar
su tiempo libre con una computadora interactiva que sentarse pasivamente frente a un
televisor.
Ejemplo de innovación: World of Warcraft
Como nuestro ejemplo para este tipo de innovación, podemos tomar el extremadamente
popular juego masivo en línea para múltiples jugadores WoW. Aquí las innovaciones
técnicas están relacionadas con la programación 3D del mundo virtual, los gráficos y el
manejo de múltiples jugadores a través de la red. Otros aspectos del juego (juego de
roles, misiones, gremios, niveles de adquisición de habilidades, recompensas y el
trasfondo del mundo de fantasía) son familiares del mundo del juego independiente.
Heurística de estilo de trabajo 3: apunte al perfil de innovación de su producto
En esta sección investigamos el producto de software innovador. Esto es importante para
aquellos que se ganan la vida con la innovación de software, ya que necesitan poder
distinguir un producto innovador, que tiene la posibilidad de encontrar un nicho en el
mercado, de otros tipos de productos de software. Muchos proyectos de software son
encargados, por ejemplo, por ministerios gubernamentales, y son juzgados por qué tan
bien se cumplen las expectativas de los encargados. Sin embargo
algunas empresas, como Google y Apple,
tienen grandes expectativas de innovación
Producto de software innovador
y esperan liderar el mercado del software,
no seguirlo.
Muchas empresas más pequeñas operan
en nichos de mercado en los que Perfil de innovación:
necesitan mantenerse por delante de sus • novedad
competidores para sobrevivir. Se entendió • utilidad
que el producto de software innovador
• comunidad de usuarios
mostraba tanto novedad como utilidad, y
eventualmente puede medirse por su • cambio social •
capacidad para cambiar los patrones de mercado
comportamiento de su comunidad de • técnico
usuarios. Sin embargo, este cambio está innovación
sujeto a retrasos de impacto, por lo que
• infraestructura
rara vez es evidente en las primeras
dependencia
etapas del lanzamiento del producto. Podemos entender la utilidad
47
Machine Translated by Google
mejor refiriéndonos a las jerarquías de sistemas técnicos de Altshuller: aquí somos una
guía para comprender por qué algunas innovaciones tienen un impacto amplio y otras
relativamente poco. Podemos comprender mejor la novedad con la ayuda de su teoría
de los niveles de innovación. Aquí entendemos que la escala de algunas innovaciones
es más profunda que la de otras, desde la solución de problemas de diseño rutinarios
hasta avances científicos pioneros. Finalmente, analizamos seis formas de utilidad
diferentes para las innovaciones de software. El alcance de la innovación de software es
extremadamente amplio, pero centrarse en la utilidad concentra la atención de los
desarrolladores en el uso final de su producto. Los productos que son novedosos, pero
que no se utilizan ampliamente, son invenciones; las innovaciones tienen que ser
adoptadas por sus comunidades de usuarios. Piense en un producto de gran éxito como
el iPhone de Apple. Ahora imagine cuántas otras innovaciones de las que nunca ha oído
hablar: las que llegaron al mercado, pero nunca se generalizaron. Gran parte de la
diferencia se puede expresar como utilidad.
Si usamos estas ideas, y algunas de los capítulos anteriores, podemos entender que un
producto de software tiene un perfil de innovación particular, que los desarrolladores
deben comprender. Aquí están los componentes principales:
• el software tiene una comunidad de usuarios particular, y las características
de esa comunidad se entienden
• el software es novedoso : hace algo que otro software no puede hacer
para su comunidad de usuarios
• el software tiene una utilidad particular para la comunidad, la forma de
que se puede entender
• cuando el software está en uso en la comunidad de usuarios, su comportamiento
será diferente en ciertas formas (cambio social) y se entiende cómo
• la comunidad de usuarios puede entenderse como un mercado en un sentido
económico, y el software tiene un valor económico, precio y costo que se
entiende
• el software es técnicamente innovador, tal vez mostrando digitalización o
convergencia, en el contexto de una trayectoria tecnológica particular •
la infraestructura necesaria para que la comunidad de usuarios use el producto está
en su lugar, o lo estará cuando se lance el producto, y es
comprendido.
Fuentes y lecturas adicionales:
ALTSHULLER, GS (1988) Creativity as an Exact Science, Nueva York, EE. UU., Gordon
& Breach.
Fagerberg, J., C. Mowery y col., eds. (2005). El manual de innovación de Oxford. Oxford,
Prensa de la Universidad de Oxford.
48
Machine Translated by Google
4. Da forma a tu propio proceso: proceso de software e
innovación
Los procesos de software describen las tareas y acciones, las formas y normas y los
procedimientos formales e informales que se encuentran detrás del desarrollo de software.
Estos se expresan en los métodos, herramientas y técnicas que organizan el trabajo de
un desarrollador. Una distinción bien conocida, aunque demasiado simplificada, que
también se utilizará en este capítulo es entre los métodos de desarrollo tradicionales y
los métodos ágiles. Los métodos tradicionales son métodos de desarrollo de métodos
de diseño y análisis lineales estructurados que a menudo se expresan en una serie de etapas.
Se centran en el análisis racional basado en papel, el modelado, los modelos de etapas
lineales, la documentación y la rendición de cuentas. Hay muchos cientos de tales
métodos, la mayoría basados hasta cierto punto en la expresión más simple de un
método de desarrollo por etapas: el ciclo de vida de desarrollo de sistemas (SDLC o
modelo en cascada). Ejemplos bien conocidos son Yourdon, Jackson, Information
Engineering, SSADM, Merise, Euromethod, la generación más reciente de metodologías
orientadas a objetos (Booch, Buhr, Coad and Yourdon, Colbert, Mathiassen et al,
Rumbaugh, ShlaerMellor, Wirfs Brock) y (hasta cierto punto) los métodos de desarrollo
rápido. Los métodos ágiles (Desarrollo de software adaptable, Programación eXtreme,
SCRUM) representan una reacción a esta tradición y se centran en tareas prácticas de
desarrollo, programación, creación de prototipos y contacto con el cliente, generalmente
en un proceso iterativo o incremental que maneja mejor el cambio.
En este capítulo investigaremos dos fenómenos relacionados, pero separados. En la
primera parte, la atención se centrará en los procesos que se encuentran detrás del
proceso de software innovador. Una pregunta relevante para plantear aquí será '¿cómo
se desarrolla un producto de software innovador?' Como respuesta a esto, veremos
seis estrategias conocidas del proceso de innovación. En la segunda parte, en cambio,
nos concentraremos en la innovación en los procesos de desarrollo. La pregunta
relevante es '¿cómo mejoramos (innovamos en) los procesos de desarrollo en las
empresas y equipos de software?'
Método de desarrollo de software: la innovación no es un objetivo típico
Un breve examen de los métodos tradicionales y ágiles revelará que producir un
producto innovador no es realmente su enfoque, propósito u objetivo.
Algunos objetivos típicos de los métodos de desarrollo de software se expresan en la
siguiente tabla.
49
Machine Translated by Google
meta explicación del tipo de método
gestión planificación tradicional y ágil; disposición y
de proyectos seguimiento de tareas, personas, tiempo
y recursos
estrecha relación con los mejorar las interacciones entre las
clientes y desarrollo ágil personas
usuarios y participativo
La innovación rara vez ha sido el foco de los profesionales e investigadores que escriben
normativamente sobre la creación de software. La excepción más llamativa a este análisis es el
movimiento de reingeniería de negocios de la década de 1990, donde la TI se entendía como
un potente facilitador del cambio empresarial. Tom Davenport escribió sobre innovación de
procesos, visiones de procesos y cambio organizacional, Michael Hammer y James Champy
sobre rediseño radical de empresas y tecnologías disruptivas y Henry Johansson sobre 'romper
la porcelana' (una metáfora para el cambio radical). Sin embargo, esta literatura estaba dirigida
a
50
Machine Translated by Google
los gerentes y consultores comerciales, no los desarrolladores de software, y los procesos
comerciales fueron el objetivo de la reinvención en lugar del software de aplicación.
El software se entendió aquí no como una invención en sí misma, sino como el facilitador
preexistente para el cambio empresarial. Por lo tanto, es difícil encontrar orientación o
inspiración para los creadores de sistemas innovadores en esta literatura.
Innovación lineal en la industria
Dado que los procesos detrás del desarrollo de software innovador están poco investigados,
esta discusión está anclada en modelos mejor investigados de procesos de innovación en
las industrias de producción. Aquí hay un modelo típico descrito por un investigador líder
en el campo.
Roberts, EB, Gestión de la invención y la innovación. Gestión de la tecnología
de investigación, 1988. 31(1): pág. 1127.
51
Machine Translated by Google
El modelo se caracteriza por dos características.
• sus seis etapas o fases lineales (reconocimiento de oportunidades,
formulación de ideas, resolución de problemas, desarrollo comercial de
prototipos, difusión de
• tecnología) sus dos motivaciones: impulso tecnológico y atracción del
mercado (discutido más adelante)
El modelo describe un proceso lineal que se basa tanto en las demandas tecnológicas
del desarrollo del producto como en la demanda potencial del mercado. El modelo de
etapa/fase podría recordarnos modelos de desarrollo de software lineales similares.
El modelo del ciclo de vida de la innovación de software
Una descripción lineal de un proceso de innovación, enraizada en una descripción muy
tradicional del desarrollo del sistema, se ve así.
El modelo representa una versión bastante simplificada del desarrollo de nuevas
aplicaciones de software en grandes empresas de software. Se le conoce como "el
modelo de la bombilla" para indicar que depende de una idea de producto de software
novedoso como inspiración que pone en marcha el proceso. Sin embargo, la psicología
de la creatividad muestra que la idea de que la innovación depende principalmente de
una idea inspiradora (punto de descubrimiento), aunque intuitiva, es demasiado
simplificada. La forma de cascada indica una secuencia de etapas o fases, cada una
de las cuales depende de la finalización exitosa de la primera. El concepto del producto
de software debe evolucionar por completo en una etapa temprana, antes de su
realización en el código, aunque hay margen de mejora a través de la creación de
prototipos. La idea original del producto representa la principal innovación,
52
Machine Translated by Google
aunque también hay espacio para innovaciones incrementales en versiones posteriores del
software.
Modelos iterativos de procesos de innovación de software
El modelo de innovación de productos industriales de Roberts se puede relacionar con los
modelos tradicionales de desarrollo de software, pero también existen modelos iterativos. El
modelo de innovación de Boeing (Lind, 2007) con su ciclo descubrirdecidirdesarrollar
implementar, es apropiado para una gran empresa de tecnología con muchos proyectos de
innovación que se ejecutan al mismo tiempo y una cartera de investigación y desarrollo que
abarca mejoras menores a través de la investigación cielo azul sin ningún problema obvio.
aplicaciones en un futuro próximo.
Las técnicas ágiles de desarrollo de software también son principalmente de carácter iterativo
(ver la ilustración del proceso SCRUM), aunque de carácter bastante más informal que el de
Boeing. Los métodos ágiles no se centran principalmente en la innovación, pero ESSENCE
de Aaen (discutido más a fondo más adelante en el capítulo) ofrece un vistazo a un proceso
de innovación de software informal e iterativo. Tal proceso no necesariamente comienza con
una 'idea', un concepto de software completamente formado al comienzo del desarrollo. En
cambio, la innovación tiene lugar a través de ráfagas altamente enfocadas y creativas de
actividad de desarrollo: 'tormentas'. La creatividad está enfocada a lo largo de la vida del
proyecto y no se limita a una fase de generación de ideas al principio (por lo tanto, Aaen
propone tres modos de desarrollo para que los desarrolladores trabajen: generación de
ideas, planificación, crecimiento, en lugar de un modelo de fase lineal) . La creatividad y
energía del proceso ofrece las condiciones para una programación y desarrollo innovadores.
Las técnicas de creatividad y los juegos toman el lugar del análisis racional formal.
53
Machine Translated by Google
¿Los métodos ágiles promueven la innovación?
Muchos desarrolladores pueden
sospechar que los métodos ágiles
ofrecen un proceso de software
que es más propicio para Se ha
innovación. señalado que
algunos aspectos de los métodos
ágiles se asemejan a las técnicas
de innovación en otras partes de
la industria (como el proceso de
Boeing). Está claro que la
introducción de métodos ágiles
en una empresa de software de orientación tradicional puede ser una innovación de
proceso. También hay algunas razones teóricas para creer que deberían ser útiles para la
innovación. La flexibilidad ayuda a lidiar con las incertidumbres de trabajar con tecnologías
de software de vanguardia, la burocracia (que se evita en los métodos ágiles) es una
barrera conocida para la creatividad y la interacción con los clientes desarrolla el
conocimiento del dominio. Sin embargo, los métodos ágiles se desarrollaron en respuesta
a la necesidad percibida de métodos de desarrollo más efectivos y amigables para el
programador, no para promover la innovación. Hay pocos estudios o pruebas que apoyen
la idea de que los métodos ágiles conducen a productos de software más innovadores
que los métodos tradicionales. El desarrollo furioso en respuesta a casos de uso bastante
no reflejados y retrasos en las funciones puede en realidad obstaculizar la innovación al
eliminar el incentivo y la oportunidad para la generación de ideas. Es posible argumentar
que algunos elementos de agilidad son necesarios para un proceso de desarrollo
innovador, pero un proceso ágil difícilmente será suficiente.
Innovación de software impulsada por el mercado y la tecnología
Roberts señala que la innovación tecnológica está influenciada tanto por los desarrollos
tecnológicos como por los mercados potenciales. Por lo tanto, podríamos entender la
innovación de software como impulsada principalmente por el mercado o impulsada
principalmente por la tecnología.
54
Machine Translated by Google
liderado por el mercado liderado por la tecnología
las comunidades de usuarios tienen Las tecnologías de software se desarrollan
conjuntos de necesidades que se en direcciones particulares a varias velocidades.
desarrollan con el tiempo algunas Algunas empresas de software están a la
empresas de software conocen muy bien las vanguardia de esos desarrollos.
necesidades de sus usuarios y los
mercados en los que compiten
las necesidades del usuario y del mercado pueden ser Las tecnologías de software de vanguardia
analizado y, hasta cierto punto, predicho permiten nuevos productos que crearán su propia
demanda en el mercado.
el proceso de desarrollo de proceso de desarrollo de software innovador
software innovador tiene como objetivo tiene como objetivo proporcionar productos de
responder a las percepciones de las tecnología novedosos que antes no han sido
necesidades futuras de los usuarios (el mercado) posibles
Por lo tanto, algunas empresas de desarrollo de software se definirán a sí mismas por sus relaciones
con sus clientes y su enfoque en las necesidades de los clientes, mientras que la identidad de otras
empresas estará más estrechamente relacionada con su capacidad para estar a la vanguardia del
desarrollo tecnológico. Sin embargo, las dos perspectivas no son del todo excluyentes entre sí;
muchas empresas vigilan tanto la tecnología como el mercado. Sin embargo, la comprensión actual
de los procesos de desarrollo de software se centra en gran medida en responder a las necesidades
del usuario, en lugar de comprender las necesidades de un mercado o trabajar con tecnologías de
punta.
Improvisación, bricolaje
Un modelo de proceso subyacente, ya sea tradicional o ágil, solo proporciona un esqueleto que
sustenta el trabajo de innovación de software. La improvisación y el bricolaje dan cuerpo al esqueleto,
sea cual sea el proceso subyacente.
El desarrollo de software técnicamente exploratorio implica maniobrar en aguas desconocidas, donde
las plataformas de desarrollo son inciertas y no probadas, por lo que es poco probable que los
modelos de procesos genéricos o los métodos formales de desarrollo puedan brindar suficiente apoyo
al desarrollador. El progreso en respuesta a tareas de resolución de problemas complejas y de rápido
desarrollo siempre dependerá de la creatividad del desarrollador individual y del equipo. La
improvisación implica la preexistencia de un conjunto de recursos (planes, herramientas, conocimientos
y estructura social) como base para la variación. Cuanto más amplia sea la experiencia acumulada
del equipo, mayor será la oportunidad de variación, pero no todas las variaciones son apropiadas o
es probable que conduzcan a una solución exitosa del problema. Improvisación
55
Machine Translated by Google
representa una secuencia de elecciones deliberadas en una situación, no una serie
de accidentes. Sin embargo, se improvisa durante la acción, sin un plan o método
previo. En una situación de desarrollo, la improvisación a menudo toma la forma de
'probemos esto...': una reunión con un cliente, una técnica de programación, una
técnica de diagramación, un componente de hardware diferente. La improvisación es
la respuesta natural a situaciones problemáticas complejas que no pueden planificarse
o anticiparse completamente por adelantado, pero mientras que la planificación suele
basarse en un análisis racional (estimación, gestión de recursos, distribución de
tareas, elaboración de presupuestos), la improvisación tiene un carácter inspirador.
Esto no quiere decir que no esté razonada, sino que no se dispone del tiempo, los
recursos o los conocimientos necesarios para una planificación racional.
El bricolaje, el uso de cualquier recurso y repertorio que uno tenga para realizar
cualquier tarea que enfrente, es una idea relacionada. Imagina a un artesano
reparando una máquina. Su taller está lleno de herramientas y repuestos, el resultado
de muchos años de construir y reparar máquinas similares. La máquina dañada
necesita una pieza nueva, pero tardará tres semanas en llegar y una herramienta especial para instalar
Toma una pieza similar de su estante, la pone en el torno y la mecaniza a medida, y
la instala improvisando una herramienta de otras herramientas en el taller.
La reparación tarda media hora en lugar de tres semanas. En la situación del software,
los desarrolladores aportan todo tipo de técnicas y conocimientos de programación
de proyectos anteriores y han desarrollado previamente aplicaciones almacenadas
en sus discos duros. Hay componentes de código diseñados para su reutilización y
muchas aplicaciones y rutinas de código abierto. Hay algoritmos de programación
conocidos en los libros de texto. A veces, los problemas se resuelven juntando cosas
del repertorio de los
programadores en lugar de
resolver todos los problemas
desde cero mediante la lógica.
A veces, esto también es una
fuente de innovación e
inspiración: crear nuevas
ideas a través de
yuxtaposiciones no planificadas.
La mayoría de los proyectos de software pueden entenderse como una instanciación
(adaptación a la medida) de un proceso o método genérico. Ningún proceso o método
normativo puede jamás anticipar la situación de un proyecto real y satisfacer
plenamente sus necesidades. Además, sea cual sea el proceso genérico y su
confección, los imprevistos siempre requerirán cierta dosis de improvisación y
bricolaje. En los proyectos de desarrollo no innovadores (rutinarios) hemos llegado a
confiar bastante en seguir un proceso genérico establecido. De hecho, algunas
técnicas formales de mejora de procesos de software, como el modelo de madurez
de capacidad, están diseñadas para hacer cumplir el proceso genérico de una empresa.
Sin embargo, en una situación de innovación, es probable que haya muchos factores
complicados (como nuevas tecnologías y requisitos muy inciertos) y una
56
Machine Translated by Google
mucho cambio. Los proyectos a menudo pierden el foco, van por callejones sin salida o se
atascan. Aquí, por lo general, no será suficiente adoptar un proceso predefinido y ceñirse a
él, incluso si existiera tal proceso. El papel de la improvisación y el bricolaje será crucial para
superar estas situaciones, y un instinto crítico de supervivencia será reconocer cuándo el
proceso de desarrollo ya no es productivo y adaptarlo en una dirección que haga avanzar el
proyecto.
Seis estrategias del proceso de innovación
Aunque hay pocos métodos y marcos de procesos que aborden específicamente la
innovación en el desarrollo de software y, hasta el momento, hay poca discusión en la
literatura de desarrollo de sistemas normativos, hay una serie de estrategias de procesos de
innovación que pueden entenderse y adoptarse. Los seis que se discuten aquí son:
• análisis de requisitos creativos • el
marco del proceso diseñado • creación de
prototipos de baja tecnología
• innovación de software impulsada por el usuario
• desarrollo comunitario • el
prototipo de investigación.
Proceso de innovación estrategia 1: análisis de requisitos creativos
Cuando se prevé un modelo de ciclo de vida de innovación de software (bombilla) (con la
consiguiente necesidad de determinar la forma del producto de software al principio del
proceso), el enfoque lógico estará en la fase de requisitos, donde la especificación del
producto se obtiene de su futuros usuarios. Hay bastante investigación sobre el análisis de
requisitos creativos. Tiende a centrarse en reemplazar la ingeniería de requisitos convencional
con técnicas más imaginativas de interacción y creatividad. Muchas de las técnicas
empleadas (por ejemplo,
Metodología de sistemas blandos, RESCUE) implican una actividad de taller facilitada con
los usuarios. RESCUE (Requirements Engineering with Scenarios for User Centered
Engineering) utiliza técnicas de análisis de requisitos convencionales (modelado de
actividades, modelado de objetivos del sistema, casos de uso, diagramas de contexto,
storyboarding, gestión de requisitos) y las combina con técnicas de la teoría de la creatividad.
Los tutoriales basados en escenarios se utilizan para poner en juego diferentes ideas. Se
organizan talleres para apoyar las fases de preparación, incubación, iluminación y verificación
(ver capítulo 5). El proceso se organiza en torno a los modos de creatividad: exploratorio,
combinatorio y transformacional. También emplea el uso del razonamiento por analogía y
metáfora. Estas técnicas buscan establecer una relación más creativa con los usuarios y
clientes, mediante la cual se pueden obtener y formular ideas de productos más imaginativas
en algo parecido a una especificación de requisitos convencional. El papel del facilitador no
es, como en
57
Machine Translated by Google
ingeniería de requisitos convencional, para determinar un conjunto de requisitos expresados
por los usuarios, pero para ayudar a los usuarios a pensar de manera más imaginativa sobre
sus situaciones de trabajo, sobre nuevas y diferentes formas de trabajar, y sobre las
características del software que pueden soportarlas. El facilitador también enseñará las
técnicas que sustentan el pensamiento creativo del usuario.
Aunque determinados tipos de usuarios (usuarios principales) impulsan la innovación en
otros contextos (ver más abajo), la experiencia muestra que existen algunas limitaciones a la
creatividad de los grupos de usuarios. Los grupos de usuarios a menudo están atados a sus
formas habituales de hacer las cosas, amenazados por el cambio e intimidados por
desarrolladores expertos. Rara vez son buenos para comprender la relevancia o las
implicaciones laborales de las tecnologías de software emergentes con las que no están
familiarizados. También se debe tener en cuenta que gran parte de la innovación de software
por parte de las empresas de software no está impulsada por una relación con un grupo de
usuarios específico, sino por consideraciones de mercado más generales. Aquí, el
pensamiento innovador del producto debe provenir de los propios desarrolladores.
Estrategia de proceso de innovación 2: marco de proceso diseñado Los
investigadores y profesionales interesados en la innovación de software tienen la oportunidad
de diseñar marcos normativos en la larga tradición de la evolución del método en el desarrollo
de software. Dicho marco diseñado normalmente combinará algunas herramientas, técnicas
y prácticas con un modelo de proceso subyacente para brindar orientación a los equipos que
trabajan con la innovación y la creatividad en mente. Esos marcos tardan en aparecer, pero
el más maduro hasta la fecha es Essence de Ivan Aaen. Essence pertenece a la tradición
ágil, toma prestadas varias ideas (por ejemplo, el uso explícito de roles) de esa tradición y
también se puede usar junto con métodos ágiles conocidos como SCRUM y XP. Es un marco
de proceso, más que un método de desarrollo formal. ESSENCE puede estar solo, pero está
diseñado para usarse junto con una infraestructura particular: una disposición del espacio
que utiliza el pensamiento háptico para establecer vistas de trabajo particulares en cada una
de las cuatro paredes de una habitación. En el Laboratorio de Investigación de Innovación
de Software (SIRL) de la Universidad de Aalborg, cuatro grandes pantallas interactivas
representan las cuatro vistas de ESSENCE: producto, personas, proyecto, proceso. La vista
del producto se utiliza para las diversas representaciones del sistema que se construirá
(metáforas, listas de funciones, arquitecturas, modelos de objetos, código). La vista de
personas representa el dominio del usuario:
los sistemas de trabajo, las sugerencias de
requisitos, los patrones y ejemplos de uso y
las diversas comunicaciones con los usuarios.
La vista de proceso se utiliza para representar
explícitamente el proceso de desarrollo, para
adaptarlo a las circunstancias cambiantes y
para asegurarse de que las herramientas
adecuadas,
58
Machine Translated by Google
se implementan técnicas y prácticas para responder a las circunstancias cambiantes y mantener
el proyecto en marcha. Finalmente, la vista del proyecto se utiliza para administrar el proyecto,
para garantizar que se establezcan cronogramas y sprints, que el trabajo se distribuya de manera
sensata y que se cumplan los plazos. Se emplean cuatro roles distintos: retador, respondedor,
presentador y niño.
El retador representa al cliente, usuario o propietario del producto: la persona con el conocimiento
del dominio y la visión del producto. La responsabilidad aquí es articular el desafío del software.
Los respondedores son desarrolladores cuyo trabajo es preparar respuestas ambiciosas al desafío.
El ancla tiene la responsabilidad de facilitar el proyecto: asegurarse de que el proceso y los roles
estén funcionando e intervenir y proponer adaptaciones si hay problemas. Cualquiera puede
adoptar temporalmente el rol de niño en cualquier momento; en este rol, uno tiene el poder de
hacer una pregunta ingenua o hacer una sugerencia divergente o contraria a la intuición. Además
de visiones y roles, Aaen propone tres modos de actividad: generación de ideas, planificación y
crecimiento. Los modos no son secuenciales ni estrictamente iterativos, sino que están destinados
a alternarse en respuesta a las circunstancias del proyecto. La generación de ideas generalmente
se relaciona con el desarrollo de ideas para el proyecto, pero también se puede usar cuando hay
problemas de proceso. La planificación se relaciona con la organización de la siguiente parte del
proyecto, mientras que el crecimiento se dedica principalmente a la programación: la construcción
del producto. En el trabajo realizado en la Universidad de Aalborg, el modo de generación de ideas
de ESSENCE a menudo se integra con técnicas de creatividad como las descritas en el capítulo 7.
Mientras que los usuarios son los principales responsables de la creatividad y las ideas innovadoras
en el análisis de requisitos creativos, esta responsabilidad está firmemente en manos de los
desarrolladores en ESSENCE. La razón de ser de un entorno de proceso diseñado de este modo
es ayudar a los desarrolladores a trabajar de forma creativa.
Estrategia del proceso de innovación 3: creación de prototipos de baja
tecnología La creación de prototipos, según Tom Kelly, es la abreviatura de la innovación.
La creación de prototipos se utiliza en el desarrollo de sistemas en muchos contextos: la creación
de prototipos horizontales representa una vista de alto nivel de un sistema completo, la creación
de prototipos verticales es una representación en profundidad de un conjunto particular de funciones.
La creación de prototipos desechables desarrolla sistemas que nunca pretenden ser la base de un
software de producción comercial, mientras que los prototipos evolutivos e incrementales
representan etapas iniciales o partes de un sistema final eventual. La justificación convencional
para el uso de prototipos es un diálogo mejorado con los usuarios y clientes, y la creación de
prototipos como enfoque de desarrollo casi siempre requiere una revisión iterativa por parte de los
usuarios. En el contexto de la innovación, esto ciertamente puede ser útil, pero la forma principal
de creación de prototipos será de baja tecnología (o baja fidelidad), y la razón principal será la
experimentación de bajo costo y el aprendizaje rápido. La creación de prototipos de alta tecnología
tiende a encerrar a los desarrolladores en ideas de sistemas en las que se ha invertido mucho,
mientras que la creación de prototipos de baja tecnología permite la experimentación con poca
inversión como parte de la generación de muchas ideas o escenarios para un producto. un bajo
59
Machine Translated by Google
El proceso de creación de prototipos tecnológicos permitirá mucho espacio para la experimentación con
diferentes formas de creación de prototipos de bajo costo, antes de pasar a prototipos de código más
convencionales que requieren una mayor inversión de tiempo de codificación y, por lo tanto, son más difíciles
de descartar.
baja tecnología
listas e imágenes lista de características, arquitectura simple o
diagrama de componentes, imagen enriquecida
prototipos de papel bocetos, estructura metálica, guión gráfico, tarjeta,
mago de oz
maquetas de baja fidelidad modelos de espuma y cartón, herramienta de dibujo,
video, PowerPoint, html
combinación de código mashup, mosaico
existente
simulación de código generadores de pantalla, definición de aplicaciones o
software de simulación, reutilización de
componentes, componentes de código abierto
prototipos de código generadores de aplicaciones rápidas, visual basic
alta tecnología
Un proyecto que utiliza una estrategia de creación de prototipos de baja tecnología podría comenzar con una
lista de posibles características y una imagen rica de algunos usuarios con su sistema en una situación de
trabajo, pasar a hacer prototipos en papel (bocetos de pantallas, un guión gráfico) y luego hacer una muy
simple Representación en PowerPoint de las pantallas principales del sistema. Ninguna de estas formas de
representación consume mucho tiempo, por lo que muchas estrategias y alternativas pueden mantenerse
vivas, las discusiones con los usuarios pueden continuar y los prototipos pueden mejorarse, adaptarse
radicalmente, combinarse y descartarse muchas veces. Cuando se establece una dirección, se pueden
desarrollar prototipos más intensivos en esfuerzo: maquetas html, mashups y prototipos de mosaico. Aquí
muchas cosas pueden tomarse prestadas, copiarse y combinarse para dar una mayor fidelidad, pero aún sin
el compromiso de una codificación extensa. Incluso cuando las ideas se vuelven razonablemente firmes,
existen muchas herramientas que simulan o automatizan el trabajo de codificación para permitir la
experimentación con sistemas que tienen una funcionalidad parcial y cierto grado de realismo y pueden
explorarse más a fondo con los usuarios en situaciones reales. Solo cuando la idea del producto esté bien
establecida, la codificación comenzará en serio.
60
Machine Translated by Google
En el ejemplo de la izquierda,
se desarrolló una lista de
funciones mediante entrevistas
y cuestionarios con los
usuarios antes de desarrollar
un papel de estructura metálica
prototipos cuyos
investigan diferentes
estructuras de la página
principal del sistema. El
siguiente prototipo se hizo en
PowerPoint y automatiza la
progresión entre los distintos
pantallas y algunos contenidos
aproximados.
El prototipo final (antes de la
codificación) parece bastante
realista, pero es una
combinación de html: casi
ninguna de las funciones funciona y muchos elementos de la pantalla se cortan y pegan; por
ejemplo, el calendario no es más que un volcado de pantalla de Microsoft Outlook. Cada uno
de los prototipos también sirvió como tema de debate con los usuarios.
Estrategia de proceso de innovación 4: innovación de software impulsada por el usuario
Los usuarios son una fuente muy potente de innovación en algunas situaciones y mercados.
Muchos usuarios se ven impulsados a innovar debido a sus necesidades laborales percibidas.
Un cirujano oftalmólogo anticipa la necesidad de un robot que pueda realizar una cirugía con
una precisión que no puede lograr la mano humana. Un analista del mercado de valores
necesita una herramienta para recopilar y procesar grandes cantidades de datos de movimiento
de acciones y analizarlos con un algoritmo particular. Un gerente de desarrollo responsable de
los sistemas de planificación de recursos empresariales con una gran cantidad de usuarios
diversos necesita recopilar y analizar los requisitos para la próxima versión. En cada uno de
estos casos, el usuario tiene una necesidad específica y un conocimiento de dominio complejo
que es extremadamente difícil de adquirir para un analista o programador. La necesidad
percibida puede estar surgiendo y por lo tanto (todavía) no es reconocida por las empresas de
desarrollo de software. La necesidad puede ser bastante específica, lo que hace que sea
demasiado costoso salir y aprender el conocimiento del dominio requerido; puede ser un nicho
de mercado que aún no es atractivo para los desarrolladores. El conocimiento del dominio que
es difícil de transferir de los usuarios a los fabricantes se conoce como información pegajosa .
En estos casos, un tipo particular de usuario puede impulsar la innovación de software. Tal
usuario principal está en la vanguardia de su profesión (por lo tanto, tiene demandas que aún
no se cumplen) y normalmente tiene competencias informáticas o de software inusualmente
bien desarrolladas. Es poco probable que estas competencias sean competencias de ingeniería
o programación, pero pueden implicar una familiaridad con los paquetes de software adquiridos
en su práctica.
61
Machine Translated by Google
y la capacidad de conceptualizar y describir una nueva aplicación de software, o de
articular sus requisitos de una forma inusualmente precisa y lógica. Los usuarios
líderes también tienen mucho que ganar con las innovaciones en las que participan.
Para los desarrolladores, trabajar con usuarios líderes plantea una serie de problemas
que no se resuelven fácilmente a través de su formación en ingeniería. Gran parte de la
práctica de desarrollo convencional se basa en la idea de que el conocimiento del
dominio del usuario se transfiere (fácilmente) a la cabeza del desarrollador y de allí a un
programa de trabajo. Los desarrolladores realizan estudios de análisis o trabajan a través
de conversaciones con clientes en el sitio. En la innovación impulsada por el usuario, se
puede abandonar el intento de comprender el dominio del usuario y la función principal
del desarrollador puede convertirse en facilitación: ayudar a los usuarios principales a
expresar sus ideas de innovación en forma de código. El conocimiento pegajoso del lado
de la solución pertenece a los desarrolladores, pero el conocimiento pegajoso del
dominio, el problema y la necesidad permanece con los usuarios, quienes por lo tanto
deben incorporarse al proceso de diseño. Aquí un 'juego de herramientas' será valioso.
Este, según von Hippel y Katz, tendrá las siguientes cinco características:
• permitirá a los usuarios realizar ciclos completos de aprendizaje por ensayo
y error
• ofrecerá un espacio de solución que englobará los diseños de software que
el usuario desee realizar
• el kit de herramientas puede ser operado por el usuario usando su propio
lenguaje y habilidades de diseño, sin habilidades de
• programación avanzadas contendrá bibliotecas de módulos o componentes
desarrollados previamente que el usuario puede incorporar en sus
• propios diseños asegurará que el diseño resultante pueda ser fácilmente
transferido al entorno de producción de los desarrolladores sin requerir una
reprogramación masiva.
Los kits de herramientas de gama alta se utilizarán para incluir a los usuarios en el proceso de
innovación, mientras que los kits de herramientas de gama baja facilitan la adaptación y personalización
del software por parte de los usuarios. Muchos proveedores de software Web 2.0 ofrecen juegos de
herramientas que exhiben algunas de estas funciones, por ejemplo, la API de mapas de Google, que
pone a disposición de los programadores con habilidades generales el desarrollo de aplicaciones
orientadas geográficamente. Aún más fáciles de usar son los gadgets de Google y los muchos widgets
disponibles para los usuarios de los servicios de redes sociales. Los desarrolladores de juegos de
computadora proporcionan creadores de niveles, kits de creación de personajes y lenguajes de
secuencias de comandos que permiten un juego personalizado dentro del entorno del juego (mods).
Proceso de innovación estrategia 5: desarrollo comunitario y el modelo de código
abierto
A veces, los usuarios líderes forman comunidades: subconjuntos de organismos
profesionales con un interés particular en desarrollar nuevas herramientas de trabajo
computarizadas o plataformas de juego. Un ejemplo es la comunidad Linux. Aquí, los
desarrolladores también son los usuarios principales del sistema operativo que desarrollan y refinan.
La siguiente estrategia del proceso de innovación se discutió en detalle en el capítulo 2 y
62
Machine Translated by Google
se reitera brevemente aquí. Adopta las ventajas de la colaboración masiva basada en la web:
• peering: colaboración voluntaria entre agentes libres basada en un de
modelo centralizado, no jerárquico •
intercambio: intercambio de conocimientos como base de la colaboración
• apertura: libre acceso a ideas y código • actuación
global: acceso (basado en la red) para una amplia base de usuarios para promover el
flujo de intercambio de ideas y conocimientos.
La colaboración masiva basada en la web se combina con una estrategia de desarrollo
fuertemente incremental e iterativa que debe entenderse como una mejora continua
ascendente. El esfuerzo de desarrollo inicial puede estar a cargo de un pequeño número de
personas talentosas, pero una vez que la comunidad alcanza su masa crítica, muchas
personas pueden contribuir tanto a ampliar el contenido y la funcionalidad del software como
a mejorar la calidad del código base. El desarrollo de código abierto está asociado con un
nuevo modelo de innovación, el modelo colectivo privado, pero podemos distinguir varios
tipos de innovación abierta. Dos tipos particulares de desarrollo comunitario son altamente
innovador:
1. la comunidad de usuarios líderes: donde los desarrolladores también son usuarios
expertos con una fuerte necesidad de nuevas características del producto para
administrar su propia vida laboral. Un ejemplo aquí es Apache Software Foundation,
con su conjunto de productos para desarrolladores y administradores de software.
2. el modelo de plataforma/contenido, donde los desarrolladores son responsables de la
plataforma de software, pero la comunidad de usuarios es en gran parte responsable
del contenido. La plataforma técnica de Second Life la proporciona Linden Labs,
pero el juego no es nada sin la amplia experiencia en el mundo que la comunidad
de usuarios proporciona en su totalidad, utilizando los conjuntos de herramientas
que se ponen a su disposición.
Proceso de innovación estrategia 6: prototipo de investigación
La última estrategia del proceso de innovación está nuevamente orientada a la colaboración,
pero esta vez con el objetivo de unir diferentes tipos de experiencia en investigación y
desarrollo. El modelo está ampliamente gestionado por los programas marco europeos IST
(Tecnologías de la Sociedad de la Información) para la investigación en TIC (Tecnologías de
la Información y la Comunicación). Los marcos prevén varios instrumentos de investigación
diferentes, pero la mayoría exige:
• una combinación de financiación privada y pública
63
Machine Translated by Google
• agrupaciones de organizaciones, denominadas consorcios, que abarcan tanto
organizaciones de investigación (como departamentos universitarios), empresas
de desarrollo de software y hardware y (a menudo) organizaciones de usuarios
• el desarrollo de prototipos de trabajo, llamados demostradores.
Los proyectos también brindan acceso a una variedad de otros servicios de innovación
fomentados por la UE, como la asociación, la creación de redes y la adquisición favorable
a la innovación. El fundamento de esta estrategia de innovación combina la colaboración
con investigadores y desarrolladores en los límites del conocimiento con un mecanismo
de financiación no comercial que permite la experimentación sin penalizaciones graves por
el fracaso. Sin embargo, la estrategia exige una idea de producto relativamente bien
articulada con un beneficio social esperado y un historial en investigación e innovación
como precio de entrada al sistema europeo. No existe un enfoque o método de desarrollo
prohibido, pero el sistema de revisión fomenta encarecidamente la gestión formal de
proyectos. La Fundación Nacional de Ciencias organiza programas similares en América
Innovación en procesos de software
Otro aspecto de este capítulo de procesos se refiere a los nuevos procesos de software y
cómo surgen y se emplean.
Nos ayudará a distinguir entre la imagen global (cómo se diseñan los procesos de software
novedosos en abstracto y el nivel local) en relación con las prácticas reales en las
empresas de software y los equipos de desarrollo.
la imagen mundial
Los métodos y técnicas de desarrollo de software han estado en constante evolución
desde los primeros días del desarrollo de software. Existe una fuerte tradición normativa,
donde profesionales y académicos experimentados escriben libros y artículos que
describen procesos idealizados y generalizados, que
64
Machine Translated by Google
se supone que los practicantes deben
implementar en su trabajo.
Los métodos tradicionales son a
menudo elaboraciones de variantes
del modelo de cascada, o alguna
variante de creación de prototipos.
Las técnicas clásicas de gestión de
proyectos e ingeniería de software,
como la estimación de riesgos, la
como gestión, la
gestión de la configuración y diversas estrategias de prueba, también están bien establecidas. Hay
muchos miles de innovaciones incrementales en estas técnicas establecidas, y cada año aparecen
más. Relativamente pocos de ellos llegan a estar bien establecidos en la práctica, ya sea porque los
practicantes no pueden ver el valor en ellos o les resulta difícil aprenderlos y adoptarlos, o simplemente
porque nunca llegan a ser ampliamente conocidos.
Al mismo tiempo, actualmente se están enfocando varias innovaciones de procesos de software más
radicales, la mayoría de las cuales responden a una falla percibida en las normas tradicionales.
RAD responde a la mala velocidad de
desarrollo rápido entrega
Business Process Re centrado en el negocio responde a la incapacidad de centrarse
ingeniería en la innovación de
procesos de negocio
sesenta y cinco
Machine Translated by Google
Esto representa una imagen compleja de innovación incremental y radical en métodos,
técnicas, herramientas y procesos de software.
La imagen local
Aunque la imagen global de la innovación de procesos de software es de constante evolución,
la relación entre estos sistemas bastante abstractos de ideas normativas y lo que realmente
sucede en la práctica es complicada.
Muchas empresas de software y equipos de desarrollo tienen años de historia con los
métodos tradicionales, y estos están firmemente arraigados en sus prácticas laborales.
Es natural querer mejorar la forma en que trabaja, y las empresas de software a menudo
tienen departamentos de métodos e iniciativas de mejora de procesos que se dedican a
lograr estos fines. Sin embargo, el peso de la tradición facilita la introducción de mejoras
incrementales que crean menos interrupciones y requieren curvas de aprendizaje más bajas.
Los beneficios de una innovación más radical a nivel local, como un cambio hacia la
investigación contextual o la agilidad, a menudo son especulativos o desconocidos, lo que
requiere un gran acto de fe. La mejora de procesos de software (SPI), desarrollada en la
Universidad Carnegie Mellon, es una forma relativamente bien utilizada de centrarse en el
proceso de software y produce innovación de procesos en muchas empresas que la toman
en serio. Sin embargo, el nivel de innovación es local; SPI exige el cumplimiento de modelos
de desarrollo normativo bastante tradicionales que pueden ser nuevos para la empresa en
cuestión, pero que se entienden bien a nivel mundial.
Heurística de estilo de trabajo 4 Da forma a tu propio proceso
En este capítulo investigamos qué procesos de software se utilizan para crear software
innovador y cómo innovan los procesos de software. Los modelos de innovación de la
industria pueden estar relacionados con los modelos de desarrollo con los que estamos
familiarizados, pero hay poca investigación sobre métodos de innovación de software o
tradición normativa centrada en la innovación en la que apoyarse. El capítulo distinguió seis
estrategias del proceso de innovación:
• análisis de requisitos creativos • el
marco del proceso diseñado • creación de
prototipos de baja tecnología
• innovación de software impulsada por el usuario
• desarrollo comunitario • el
prototipo de investigación
Mientras que las primeras tres estrategias son estrategias de procesos convencionales, que
articulan en cierto modo lo que el desarrollador debe hacer y cuándo debe hacerlo, las
últimas tres son principalmente estrategias de colaboración. Estos reflejan la fuerte presencia
del modelo de red/comunidad en la teoría de la innovación. Sin embargo, las consideraciones
de proceso, método y colaboración son solo uno de varios factores que permiten la innovación
de software. Además, las circunstancias especiales, los riesgos y el grado de cambio que
implica estar en el
66
Machine Translated by Google
vanguardia del desarrollo de tecnología hacen que sea poco probable que los métodos genéricos
semiformales en la literatura de desarrollo de sistemas tengan éxito.
Nos quedamos con marcos de orientación más generales, y las habilidades de improvisación y
bricolaje de desarrolladores expertos experimentados.
La ausencia de una ruta dorada del proceso tiene una consecuencia particular: el desarrollador
de software innovador debe tomar el control del proceso. Si diferentes procesos y estrategias
de colaboración muestran potencial para ayudar a la innovación, entonces los desarrolladores
deben mezclarlos y combinarlos adecuadamente. Si el estilo de desarrollo en una casa de
software en particular dificulta la innovación en un proyecto en particular, los desarrolladores
deben modificarlo. Si hay muchos problemas complejos y no hay métodos predeterminados
para resolverlos, el desarrollador debe ajustar el proceso de desarrollo y resolverlos a medida
que surjan. Cuando el proyecto está atascado y se avanza poco, entonces el desarrollador
necesita introducir algo en el proceso que le permita dar la vuelta a la esquina. Un desarrollador
de software innovador no necesita ser un inventor de procesos (hay muchas estrategias,
herramientas, técnicas y prácticas apropiadas), pero debe ser un formador de procesos. El
proceso por sí solo nunca garantizará el éxito.
Fuentes y lecturas adicionales:
BANSLER, J. & HAVN, E. (2004) Improvisación en el desarrollo de sistemas de información. EN
KAPLAN, B. (Ed.) Investigación de Sistemas de Información. Boston, Springer.
DEARDEN, A. & HOWARD, S. (1998) Captura de los requisitos y prioridades de los usuarios
para sistemas interactivos innovadores. Actas de la Conferencia de Interacción Humana
Informática de Australasia, 160–167.
DUGGAN, EW & THACHENKARY, CS (2004) Integración de técnicas de grupos nominales y
desarrollo de aplicaciones conjuntas para la determinación de requisitos de sistemas mejorados.
Información y Gestión, 41, 399411.
FLOYD, IR, JONES, MC, RATHI, D. & TWIDALE, MB (2007) Web Mashups and Patchwork
Prototyping: Innovación tecnológica impulsada por el usuario con Web 2.0 y software de código
abierto. HICSS 2007: 40.ª Conferencia Internacional Anual de Hawái sobre Ciencias de Sistemas.
Hawai.
HOLMQUIST, LE (2004) Innovación impulsada por el usuario en el futuro laboratorio de
aplicaciones. Resúmenes extendidos de CHI '04 sobre Factores humanos en sistemas
informáticos. Viena, Austria, ACM.
KELLY, T. (2001) La creación de prototipos es la abreviatura de la innovación. Revista de
gestión de diseño, 12, 3542.
LIND, J. (2007) Proceso tecnológico empresarial global de Boeing. Revisión de gestión de
ingeniería IEEE, 35, 3852.
MAIDEN, N., MANNING, S., ROBERTSON, S. Y GREENWOOD, J. (2004)
Integrar los talleres de creatividad en los procesos de requisitos estructurados.
67
Machine Translated by Google
Actas de la 5ª conferencia sobre Diseño de sistemas interactivos: procesos, prácticas, métodos y
técnicas. Cambridge, MA, EE. UU., ACM.
MAIDEN, N. & ROBERTSON, S. (2005) Integración de la creatividad en los procesos de requisitos:
experiencias con un sistema de gestión del tránsito aéreo. Ingeniería de Requerimientos, 2005.
Actas. 13ª Conferencia Internacional IEEE sobre, 105116.
ROBERTS, EB (1988) Gestión de la invención y la innovación. Gestión de Tecnologías de la
Investigación, 31, 1127.
VON HIPPEL, E. & KATZ, R. (2002) Shifting Innovation to Users via Toolkits.
Ciencias de la administración, 48, 82133.
AAEN, I. (2008) Esencia: facilitando la innovación de software. Revista Europea de Sistemas de
Información, 17, 543553.
68
Machine Translated by Google
5. Desarrolla tu creatividad personal: el desarrollador
de software creativo
La creatividad a menudo se entiende como una cualidad mental, habilidad, orientación,
estado de ánimo o conjunto de habilidades. Esto significa que los psicólogos brindan
los conocimientos más avanzados sobre la creatividad. La creatividad implica un
pensamiento novedoso y no convencional, motivación y persistencia, la capacidad de
trabajar con problemas vagos y mal definidos, y un pensamiento heurístico más que
algorítmico. Los estudios de creatividad tienen dos focos diferentes que no siempre
están bien diferenciados. La creatividad se estudia en las artes creativas: pintura
musical, literatura, etc. La creatividad también se estudia en el contexto de la invención
y la innovación científicas, y es esta forma de investigación la que nos interesa
principalmente. Muchos investigadores también se han interesado por la creatividad
en el proceso de desarrollo de sistemas. Por lo general, consideran que la creatividad
es un activo importante en un desarrollador de software (de lo contrario, no estarían
interesados en el tema), pero son menos buenos para especificar exactamente por qué debería ser as
Entre las preguntas que investigan estos investigadores están:
• ¿ Qué aporta la creatividad al desarrollo de sistemas? • ¿ Se
puede aprender la creatividad? •
¿ Cómo mide y evalúa la creatividad en los productos y procesos de software?
• ¿ Son los desarrolladores de sistemas más creativos que otros
profesionales? • ¿ Cómo crea condiciones de trabajo que estimulen la
creatividad? • ¿ Se puede aprender la creatividad en el desarrollo de software?
En lugar de tratar de responder a estas preguntas una por una, este capítulo describirá
ocho enfoques diferentes para el estudio de la creatividad personal en el desarrollo de
software. La intención no será tratar de prescribir cómo debe ser creativo un
desarrollador o programador, sino comprender y caracterizar las diferentes formas en
que se utilizan los estudios de creatividad para arrojar luz sobre el trabajo de desarrollo
de software y la creatividad personal. Si ha realizado una formación convencional en
desarrollo de sistemas o ingeniería de software, o ha estudiado la literatura convencional,
es muy posible que sea la primera vez que se le plantea este tema. La literatura asume
en gran medida que el desarrollo de sistemas se refiere a la aplicación precisa de un
conjunto de técnicas y habilidades de ingeniería para automatizar un proceso comercial
manual. Sin embargo, la programación es una actividad intensamente creativa:
comienzas con nada y construyes lentamente una aplicación funcional en la que se
incorporan una gran cantidad de decisiones de diseño.
Las literaturas de diseño son bastante diferentes
y enfatizan el valor de la creatividad y la fusión de la función y la estética, por lo que es
posible que las suposiciones de desarrollo de sistemas convencionales estén fuera de
lugar.
69
Machine Translated by Google
La creatividad como proceso mental del desarrollador
El psicólogo G. Wallas en su libro El arte del pensamiento (1926) identificó cinco
etapas en el proceso creativo, visto como un acto intelectual personal.
1. preparación (trabajo preparatorio sobre un problema que enfoca la mente del individuo
en el problema y explora las dimensiones del problema) 2. incubación (donde el
problema se
internaliza en la mente inconsciente y nada parece estar sucediendo externamente)
3. intimación (la persona creativa tiene la 'sensación' de que hay una solución
en su camino)
4. iluminación o percepción (donde la idea creativa brota de su procesamiento preconsciente
a la conciencia); y 5. verificación (donde la idea es conscientemente
verificada, elaborada y luego aplicada).
La mayoría de los desarrolladores y programadores de sistemas están familiarizados con este proceso,
incluso si no lo articulan de esta manera. Arreglar un molesto error de programación puede tomar
algunos minutos (u horas) de mirar el código, tratando de entender la forma en que está construido,
su propósito e intención y qué es lo que está mal. Se formulan hipótesis para identificar la naturaleza
exacta del error y se realizan algunos experimentos para solucionarlo. Eventualmente, el problema se
enfoca y el error de programación se identifica, rectifica y prueba. Puede haber un momento particular
de comprensión, que podría describirse de diversas formas como un momento 'ajá' o un destello de
iluminación. La bombilla se utiliza como símbolo pictórico universal para este momento, y a veces nos
referimos a ella como un "punto de descubrimiento". En otras ocasiones, el punto de descubrimiento
puede ser esquivo: el error puede permanecer sin corregir durante horas o días, y el punto de
descubrimiento puede ocurrir en medio de alguna actividad no relacionada, como ducharse o preparar
comida. De repente la solución del problema es clara y solo queda correr a la computadora y
ejecutarlo. La mayoría de los desarrolladores de sistemas están ampliamente capacitados en la
resolución racional de problemas y aprenden a articular problemas y sus soluciones a través de
formalismos de ingeniería, pero Wallas nos recuerda que gran parte del acto creativo se encuentra
fuera de nuestra mente consciente. La parte inconsciente de la mente continúa generando ideas y
sopesando soluciones incluso cuando el proceso de pensamiento racional está enfocado en otra
parte, y cada vez hay más pruebas de que el sueño es un momento importante para los procesos
mentales inconscientes. Esta es la razón por la que el estrés no es propicio para la creatividad. A
veces, la forma más inteligente de resolver un problema difícil es tomar un descanso y pensar en otra
cosa.
70
Machine Translated by Google
La creatividad como un conjunto de competencias personales
En un desarrollador de software, la creatividad podría entenderse como un conjunto de
competencias personales, del mismo modo que se entienden como competencias
habilidades profesionales como el modelado de objetos, el diseño de algoritmos y la
experiencia con un determinado lenguaje de programación. Por lo tanto, un desarrollador
o gerente de proyecto podría comprender sus competencias creativas existentes y
proponerse mejorarlas. Las competencias de creatividad se relacionan tanto con la
resolución de problemas como con el reconocimiento de oportunidades. Esta es una distinción importante
• La resolución de problemas requiere un enfoque interno en un aspecto preocupante
de un proyecto: un programa que no se ejecuta, un modelo que está incompleto
o un cliente que no está satisfecho. Las técnicas de ingeniería y el pensamiento
racional son las mejores herramientas que tenemos para la resolución de
problemas. Sin embargo, todos los que han estado en un proyecto de desarrollo
difícil saben que a veces también se necesita inspiración, intuición y coraje
para avanzar en una dirección que no se comprende por completo. Herbert
Simon explicó esto con la idea de la racionalidad 'limitada': los límites de
nuestra capacidad humana para analizar la complejidad y la consiguiente
necesidad de tomar decisiones que se encuentran en los límites o fuera de
nuestro análisis racional.
• Reconocer la oportunidad, por otro lado, requiere un enfoque externo, una visión
general de lo que está sucediendo a su alrededor, un sentido de los límites y
límites de una tecnología o proceso comercial determinado (y cómo se pueden
ampliar estos límites) una capacidad para relacionarse fenómenos
aparentemente inconexos. Una forma abreviada de esta forma de pensar es
el desarrollo 'headsup', que es un estilo de desarrollo en el que los participantes
hacen esfuerzos conscientes para estar al tanto de muchos aspectos de lo
que sucede a su alrededor, en lugar de centrarse únicamente en el editor de
código en su pantalla.
Si trabaja en una organización y se le pide que construya una plataforma de comercio
móvil, entonces tiene un problema que debe resolverse. Si trabajas en una empresa que
desarrolla aplicaciones móviles y hablas con un amigo en una empresa que vende a
través de una plataforma de comercio electrónico convencional, entonces puedes
reconocer una oportunidad.
Aquí hay algunas competencias que se puede esperar que exhiban los profesionales del
software creativo:
• Deben ser capaces de hacer frente a problemas mal definidos. Hay muchos de
estos en el desarrollo de sistemas: especificaciones de requisitos incompletas,
nuevas tecnologías que son relativamente desconocidas, métodos de
desarrollo que solo sirven en parte para organizar un proceso de desarrollo
sensato, clientes que no están contentos, entregables
71
Machine Translated by Google
que están retrasados. En cada caso, el arte es poder avanzar en el proyecto, lo que
también sirve para reducir la incertidumbre. Por lo tanto, una solución a una
especificación de requisitos incompleta podría ser crear un prototipo de algunos
requisitos conocidos y luego pedirle al cliente que considere lo que falta. Ahora hay
dos pasos adelante, hay un pequeño prototipo y hay más información sobre las
necesidades del cliente.
• Deben ser capaces de pensar de forma novedosa y no convencional, y no estar
encerrados en una posición predefinida (por ejemplo, que un problema de sellado
de tiempo de una base de datos siempre se resuelve con una técnica o algoritmo
en particular).
• Deben estar motivados y tomar la iniciativa para resolver problemas o reconocer
oportunidades, y no deben depender de un gerente de proyecto (u otro superior)
para definir su trabajo y monitorear si se hace bien.
• Deben mostrar persistencia: la capacidad de seguir una situación de trabajo incluso
cuando se vuelve difícil o incómoda.
Sin embargo, mirar un error durante cinco horas, cuando su colega más
experimentado podría haberlo detectado en 30 segundos, no es persistencia, es un
mal trabajo en equipo.
• Deben mostrar un pensamiento heurístico, en lugar de algorítmico, es decir, deben ser
capaces de responder a situaciones en desarrollo en lugar de apegarse servilmente
a un plan de acción preprogramado. Por lo tanto, los profesionales experimentados
rara vez siguen rigurosamente una metodología de diseño dada, la aplican y la
adaptan a una situación de desarrollo dada.
La mayoría de estas competencias no son innatas, es decir, no están determinadas por la
estructura psicológica del individuo que no se puede cambiar.
Por tanto, no existen personalidades creativas y no creativas, y las competencias creativas
pueden evaluarse, aprenderse y mejorarse. Además, la competencia siempre se basa tanto
en la experiencia como en la experiencia. Esto significa que los desarrolladores que conocen
muy bien un entorno de programación y un área de aplicación, y que han trabajado antes en
tipos de problemas comparables, probablemente tengan mejores competencias creativas que
los desarrolladores sin experiencia. Tienen muchas experiencias relevantes que se pueden
aprovechar para ampliar la gama de posibles soluciones que pueden considerar.
Otra competencia creativa es la capacidad de mantener muchos aspectos de un problema en
juego simultáneamente: visión general. Proporcionar una solución innovadora a un problema
de desarrollo puede depender de la capacidad de relacionar las facetas del modelo comercial
del cliente, la experiencia del usuario proyectada, algunos principios de usabilidad, el modelo
de datos subyacente, una teoría matemática detrás de la contabilidad de doble entrada y un
poco Patrón de diseño conocido. El punto es que la solución puede no estar disponible para
alguien que no puede ver el panorama general.
La mayoría de los ingenieros y analistas tienen modelos conceptuales muy bien desarrollados.
72
Machine Translated by Google
habilidades: aprenden a usar muchas formas de diagramas para expresar estructuras de
programas, arquitecturas, flujos de información y estructuras de datos. Un programa en sí
mismo puede entenderse como un modelo de una parte de una realidad externa.
Las habilidades de modelado conceptual son muy útiles para fomentar la visión general y
comprender la relación entre muchas facetas complejas de una tarea de desarrollo. Un mapa
mental simple, dibujado en una pizarra, puede ser un gran avance en el diseño de un sistema
si reorganiza componentes significativos en el diseño y los representa de una manera simple
que todos puedan entender y trabajar.
La creatividad como estilo de pensamiento.
El reconocimiento de que los tipos de personalidad no determinan la creatividad (o la falta de
ella), llevó al psicólogo empresarial estadounidense William Miller a desarrollar diferentes
estilos de pensamiento que podrían conducir a la innovación. Desarrolló un cuestionario que
ayudaría a las personas a comprender qué tipo de personalidad innovadora mostraban. Los
estilos se utilizan a menudo en consultoría empresarial y puede encontrar y realizar la prueba
en la web.
Los cuatro estilos de innovación son:
• Visualización: usar los instintos, las percepciones y la intuición de uno para enfocarse
en una idea de cómo podría ser algo en el futuro y llevarla a cabo con persistencia
y determinación. • Explorar: tomar una dirección
nueva y desconocida, buscar soluciones en lugares inesperados, tener muchas ideas en
competencia y seguirlas para ver si conducen a alguna parte.
• Experimentar: seguir minuciosamente una serie de alternativas en pos de una idea
dada hasta encontrar la solución óptima, aplicando procesos establecidos y prueba
y error.
• Modificar: trabajar y adaptar ideas, productos y
procesos para producir algo nuevo y útil.
¿Cómo aborda un proyecto de desarrollo? ¿Puedes ver un nuevo dispositivo o aplicación que
permite a un grupo de usuarios trabajar de una manera completamente nueva? Tienes visión.
¿Generas muchas ideas y soluciones a los problemas y las pasas a tu equipo para ver qué
reacción obtienes? Explora. ¿Le gusta jugar con algunas herramientas de desarrollo rápido y
hacer algunas pantallas o prototipos simples para estimular la imaginación? Experimente.
¿Busca una solución de código abierto o se refiere a una biblioteca de reutilización de código
como punto de partida? Usted modifica. La mayoría de las personas tienden a uno de estos
estilos, pero en algunos aspectos pueden verse como complementarios. Por lo tanto, se
pueden formar equipos innovadores combinando desarrolladores con diferentes estilos de
innovación.
73
Machine Translated by Google
La creatividad como metapensamiento: reconocer las predisposiciones inconscientes
Aunque nos
gusta imaginarnos como pensadores independientes, en realidad no es así. En realidad,
nuestro pensamiento es el producto de la forma en que interactuamos cuando éramos
niños en nuestras familias, de nuestros muchos hábitos de pensamiento y experiencias,
y de las cosas que la gente que nos rodea cree en equipos, organizaciones y sociedades.
Esto produce una fuerte tendencia a pensar en patrones convencionales y probados.
Estos patrones se pueden expresar como mentalidad. Mentalidad es 'un conjunto de
suposiciones, métodos o notaciones mantenidas por una o más personas o grupos de
personas que están tan establecidas que crean un poderoso incentivo dentro de estas
personas o grupos para continuar adoptando o aceptando comportamientos, elecciones
o herramientas anteriores' (Wikipedia). Cuando un grupo de personas adopta
incuestionablemente una determinada forma de pensar, se conoce como pensamiento de grupo.
Echa un vistazo a tu propia mentalidad: ¿cuál es la disciplina central del desarrollo de
sistemas? ¿Es programación, metodología de desarrollo o lógica empresarial? Si la
respuesta es obvia, entonces tienes una mentalidad. Hay varias otras formas de
describir la mentalidad: el sociólogo alemán Dilthey usó el término 'Weltanschaung'
para describir una visión básica subyacente del mundo, mientras que su colega
británico Giddens usó la idea de estructura para describir las reglas y procedimientos
comunes adoptados por las sociedades. Lo que hace que la mentalidad sea difícil de
manejar y potencialmente inhibidora de la creatividad es que siempre, al menos al
principio, es inconsciente. Si sabes que tienes una mentalidad, también puedes
cambiarla, lo que significa que no es realmente una mentalidad. Sin embargo, si tienes
una forma de pensar que normalmente adoptas, pero que es inconsciente, ¿cómo se
supone que debes reconocerla y cambiarla? Tal vez la mayoría de los programas que
construyas tengan una arquitectura que se asemeje al controlador de vista de modelo,
sin que te des cuenta. Necesitaría que alguien lo señale para estar al tanto y proponer
una estrategia alternativa.
Aun así, es posible que se resista bastante a adoptar una arquitectura diferente,
argumentando, con bastante razón, que siempre ha producido buenos resultados en
el pasado. Incluso podría estar bastante nervioso por lanzarse en una dirección
desconocida. Existen muchas técnicas para exponer y trabajar con mentalidades (por
ejemplo, las técnicas dialécticas y de "aparición de suposiciones" de Mitroff), sin
embargo, una de las ideas más sostenidas sobre cómo reconocer la mentalidad y
desarrollar alternativas creativas (también conocida como pensamiento innovador ) es
el pensamiento lateral de Edward de Bono. El pensamiento lateral se contrasta con el
pensamiento vertical: ortodoxo, lógico, poco imaginativo, pero efectivo en muchas
situaciones. Se utilizan una serie de ejemplos, juegos y técnicas para romper el patrón
normal de pensamiento vertical (que depende de la mentalidad) e introducir otro estilo
que es inventivo, lúdico y discontinuo. La intención es ir más allá del pensamiento
lógico lineal convencional y las suposiciones generalmente aceptadas.
En una situación de equipo de desarrollo, es importante poder desafiar la mentalidad
de los demás, provocando reacciones poco características. No es
necesario ni aconsejable continuar con el desarrollo de la cascada o agregar
74
Machine Translated by Google
código fragmentado a sistemas comerciales escritos en COBOL simplemente porque esa es la forma en
que siempre se ha hecho en el lugar donde trabaja. Sin embargo, una de las marcas de un desarrollador
realmente creativo es la capacidad de reconocer y cambiar su propia forma de pensar, si es desafiada. .
La creatividad como pensamiento de todo el cerebro: más allá de la racionalidad
Desde Freud hemos entendido que nuestros patrones de pensamiento consciente, la voz racional que
escuchamos en nuestra cabeza, es solo una parte de la conciencia, y posiblemente una parte bastante
insignificante. Nuestros patrones de pensamiento pueden entenderse como conscientes (aquello de lo
que somos conscientes y a lo que tenemos acceso), preconscientes (aquello de lo que no somos
conscientes pero a lo que podemos acceder) e inconsciente (aquello de lo que no podemos ser
conscientes). Nuestra educación como programadores y desarrolladores de sistemas es muy analítica y
se concentra bastante en desarrollar nuestra racionalidad consciente. Los investigadores del cerebro han
demostrado que los dos hemisferios del cerebro tienen funciones bastante diferentes. En términos muy
generales, el lado izquierdo se ocupa de lo racional, mientras que el lado derecho se ocupa de lo intuitivo.
CEREBRO IZQUIERDO CEREBRO DERECHO
usa la lógica usa el
orientado a los sentimiento orientado al
detalles "panorama general" la
hechos regla palabras y imaginación gobierna
lenguaje presente y símbolos e imágenes
pasado matemáticas y presente y futuro filosofía y
ciencias puede religión puede "captarlo" (es
comprender decir,
saber reconocer significado)
orden/patrón percepción sabe el cree aprecia la
nombre del objeto basado percepción espacial conoce
en la realidad la función del
formas estrategias objeto basado en la fantasía
práctico presenta
seguro posibilidades toma de riesgos impetuosa
Una vez más, nuestro entrenamiento está fuertemente orientado hacia el desarrollo de la función del
cerebro izquierdo; sin embargo, es fácil concluir que muchas de las habilidades y estilos de pensamiento
que hemos estado considerando son funciones del cerebro derecho. Tal vez para desarrollar nuestras
habilidades creativas como desarrolladores de sistemas, también tenemos que centrarnos en las funciones
del cerebro derecho.
75
Machine Translated by Google
La creatividad como estado mental
La mayoría de las personas están familiarizadas con el tipo de concentración intensa
que se experimenta cuando se involucra en un juego de computadora. Otros lo
experimentan cuando juegan al ajedrez o en el campo de fútbol. Muchos también lo
experimentan cuando están absortos en su trabajo. Csiksentmihalyi se interesó por este
estado mental y le dio un nombre: fluir. Alguien en este estado mental experimenta la
mayoría de los siguientes (según Csiksentmihalyi)
• metas claras en cada etapa •
retroalimentación inmediata
• equilibrio desafío/habilidad
• acción y conciencia fusionadas •
distracciones excluidas de la conciencia
• no hay preocupación por
el fracaso • ausencia de timidez
• distorsión del tiempo
• la actividad se vuelve autotélica (un fin en sí mismo)
Por lo tanto, un adolescente absorto en World of Warcraft quizás esté siguiendo una búsqueda
particular (objetivo), controlando su avatar en la pantalla con movimientos rápidos de los dedos
en batallas con otros (retroalimentación) trabajando para lograr el siguiente nivel de habilidad
que está a su alcance (desafío, certeza de éxito), completamente perdidos en el juego hasta la
completa exclusión de todo lo que les rodea (conciencia, distracciones). La distinción entre el
jugador y el avatar es borrosa (ausencia de autoconciencia), el juego se puede jugar durante
horas (o días), pero el jugador no es consciente del tiempo y el único propósito del juego es
alcanzar un nivel superior en el juego. juego. Jugar a un juego de computadora normalmente
se entiende como una actividad de ocio (y también puede ser adictivo y dañino), pero
Csiksentmihalyi también asocia el estado de flujo con la creatividad.
La mayoría de los programadores también reconocerán que los períodos de su trabajo se
gastan en flujo, y esto generalmente indica que el trabajo va inusualmente bien y que están
logrando mucho. Esos períodos fuera del estado de flujo, donde nada funcionará y uno mira
una pantalla en blanco sin poder expresar las ideas en código, son igualmente frustrantes e
improductivos.
La mayoría de los demás trabajos de desarrollo también pueden inducir el estado de flujo; uno
puede estar tan comprometido con el desarrollo de un modelo de relación de entidad, como
sentarse con un usuario que desarrolla un caso de uso. Es fácil ver que estos períodos son
inusualmente productivos, pero la razón por la que Csiksentmihalyi asocia el flujo con la
creatividad es que uno puede observar a personas creativas (por ejemplo, artistas y científicos
destacados) trabajando en el estado de flujo durante períodos excepcionalmente largos.
El flujo es una medida de creatividad fácil de entender: cuando simplemente tienes que terminar
la pantalla en la que estás trabajando y miras la hora y te perdiste el almuerzo, entonces es
probable que estabas en flujo y también es probable que fueras inusualmente productivo. , e
inusualmente creativo.
76
Machine Translated by Google
Una consecuencia potencialmente negativa: el flujo es esencialmente personal,
mientras que el desarrollo de software es un trabajo en equipo. Un miembro del
equipo que se centra únicamente en su propio proyecto y no se comunica con otros
miembros del equipo corre el riesgo de producir una gran cantidad de trabajo mal
dirigido en términos de los objetivos generales del proyecto. El resultado puede ser
un diseño de código que no se puede integrar con otras partes del sistema,
interpretaciones divergentes de los requisitos y casos de uso, pantallas de
presentación que no coinciden con la base de datos subyacente y muchas otras consecuencias prob
La creatividad como relación entre el desarrollador y el
mundo exterior
En esta sección, presentaremos la
idea de que, aunque aquí nos
centremos en el desarrollador
individual, no podemos realmente
divorciar a este individuo de los
sistemas de personas e ideas que
los envuelven.
Csiksentmihalyi
demuestra esto con su modelo de
sistemas, donde relaciona al
individuo, con su proceso de
pensamiento y atributos creativos,
con otras dos consideraciones
importantes. El primero es el dominio: un conjunto de reglas y procedimientos
simbólicos que conforman el campo creativo de investigación. En el desarrollo de
sistemas, el dominio es el mundo del álgebra relacional, los métodos ágiles, la
reingeniería de procesos, los polinomios no deterministas y las redes bayesianas: el
sistema de pensamiento que constituye los mundos profesional y de investigación del
desarrollo de sistemas. Es contra este extenso sistema de pensamiento que
determinamos si una contribución es novedosa, si constituye un avance en la ciencia
o en la práctica. La segunda consideración es el campo: las personas que actúan
como guardianes de ese dominio. Aquí debemos entender que el sistema de ideas
es operado por una comunidad, estas son personas que trabajan con el dominio. Sin
la comunidad que trabaja con el sistema de ideas, las ideas mismas carecen
relativamente de sentido. El campo determinará si un acto de pensamiento es
creativo, evaluándolo frente al dominio actual. Luego se incorporarán avances
significativos en el dominio.
Csiksentmihalyi nos brinda un útil recordatorio de que es bastante inútil hablar de
creatividad personal: solo se establece en relación con el campo y el dominio que la
creatividad adquiere validez y significado.
77
Machine Translated by Google
La creatividad como habilidad mental universal a potenciar Habiendo
entendido la creatividad como una fuerza positiva y productiva, que no está
determinada en nuestro carácter o personalidad (aunque puede ser suprimida a
través de nuestro desarrollo experiencial) deberíamos considerarla como una
habilidad mental universal a ser potenciada. fomentado y mejorado. Podemos
reconocer y centrarnos en situaciones de proyectos de desarrollo en las que tenemos
una energía productiva inusual y permitir que se desarrolle nuestro espacio de
curiosidad. Podemos valorar y cultivar la fluidez, fomentar el pensamiento divergente
y tener el coraje de comunicar nuestras ideas incluso cuando parezcan poco
convencionales. Podemos escuchar las ideas de los demás sin descartarlas si
parecen extrañas a primera vista. Podemos cuestionar aquellas prácticas que parecen
estar determinadas por la costumbre más que por la eficacia. Podemos experimentar
y aprender a no pensar en nosotros mismos como fracasados cuando algo sale mal
o cometemos errores. Podemos fortalecer nuestro conocimiento en los dominios que
elegimos y convertirnos en expertos, y podemos aprender a usar nuestras habilidades
reflexivas para incluir muchas facetas de nuestra experiencia.
Heurística de estilo de trabajo 5: desarrolle su creatividad personal Este
capítulo investigó ocho perspectivas diferentes sobre la creatividad personal en el
desarrollo de software. Estudiamos la creatividad en el proceso de desarrollo de
software como:
• el proceso mental del desarrollador: reconocer y explotar el descubrimiento
puntos
• un conjunto de competencias de desarrollo personal relacionadas tanto con la
resolución de problemas como con el reconocimiento
• de oportunidades un estilo de pensamiento asociado con diferentes fortalezas
en el desarrollo de las
personalidades del individuo • metapensamiento: reconocer predisposiciones y
tendencias en el pensamiento propio (y en el de los demás)
y superarlas • pensamiento de todo el cerebro:
• más allá de la racionalidad un estado de ánimo: la forma en que está dispuesta
la mente del
• desarrollador cuando es creativo (flujo) una relación entre el desarrollador
individual y las comunidades de
• personas e ideas (dominio, campo) una habilidad mental universal a mejorar
Algunos desarrolladores que quieran mejorar su potencial de innovación
podrán progresar cambiando su marco de referencia mental y observando
su propia práctica en relación con estas ideas. Otros querrán ayuda más
concreta y se les remite al capítulo sobre herramientas y técnicas.
78
Machine Translated by Google
Fuentes y lecturas adicionales
COUGER, JD (1990) Garantizar enfoques creativos en el diseño de sistemas de
información. Economía gerencial y de decisiones, 11, 28125.
COUGER, JD (1997) Creatividad/Innovación en Organizaciones de Sistemas de
Información. System Sciences, 1997, Actas de la Trigésima Conferencia Internacional
de Hawái, 3.
COUGER, JD (1997) Resultados de una estructura de investigación transdisciplinar para
el estudio de la creatividad/innovación en SI. System Sciences, 1997, Actas de la
Trigésima Conferencia Internacional de Hawái, 3.
CSIKSZENTMIHALYI, M. (1997) Creatividad: flujo y la psicología del descubrimiento y
la invención, Harper Perennial.
DE BONO, E. (1971) El Uso del Pensamiento Lateral: Un Libro de Texto de Creatividad,
Penguin.
MILLER, WC, COUGER, JD & HIGGINS, LF (1993) Comparación del perfil de estilos de
innovación del personal de SI con otras ocupaciones.
SIMON, HA (1982) Modelos de racionalidad limitada: economía del comportamiento y
organización empresarial, Cambridge, Mass., The MIT Press.
WALLAS, G. (1926) El arte del pensamiento, J. Cape.
WALZ, DB & WYNECOOP, J. (1994) Creatividad y diseño de software: ¿la capacitación
formal ayuda o perjudica? Sistemas, Hombre y Cibernética, 1994.
'Humanos, información y tecnología'., Conferencia internacional IEEE de 1994
79
Machine Translated by Google
6. Sea un gran trabajador en equipo: el software innovador
equipo
Normalmente, el software no lo construyen los individuos (aunque a veces a los
individuos se les atribuyen los avances) sino en equipos. Cuando queremos entender
cómo funcionan los equipos innovadores, debemos recurrir principalmente a la literatura
de la ciencia de la gestión. Un equipo de software innovador es, por definición, no
disfuncional; esto es útil para nosotros porque sabemos mucho sobre las diferentes
formas en que los equipos fallan. Sin embargo, un equipo funcional y de buen desempeño
no es necesariamente innovador; puede funcionar bien en la realización de tareas
relativamente rutinarias, como el mantenimiento de un sistema bancario.
Al tratar de comprender cómo funciona un equipo innovador, necesitaremos ir más allá
de comprender cómo un equipo disfuncional se vuelve funcional. Podemos examinar el
entorno psicológico, administrativo y
físico del equipo, la composición del
equipo, los procesos del equipo (la
forma en que los miembros del equipo
se comunican y trabajan juntos), cómo
aprende el equipo, cómo integra las
diferentes experiencias de sus
miembros, cómo desarrolla una visión
general de comprensión común del
proyecto en el que está trabajando
cómo se adapta al pensamiento o
divergente y a los patrones e
en,
interacciones sociales de los miembros
del equipo.
Si la imagen de un equipo de software evoca una imagen de 7 a 10 desarrolladores
trabajando intensamente en sus escritorios en una oficina abierta, entonces vale la pena
recordar que los equipos de software pueden ser de naturaleza bastante diversa. Este es
un pequeño equipo de proyecto ubicado en el mismo lugar, pero los equipos pueden ser
más grandes (o más pequeños) y pueden estar distribuidos geográficamente. Los equipos
pueden estar compuestos solo por miembros principales, o pueden tener muchos expertos
asociados que desempeñan roles tangenciales que ingresan para resolver problemas
especializados. Pueden interactuar con su entorno externo (clientes, por ejemplo) o estar encerrados fuera de
Los equipos distribuidos trabajan en conjunto con una serie de herramientas de comunicación:
conferencias telefónicas, pantallas de programación compartidas, pizarras en red, sistemas
de intercambio de archivos y herramientas de trabajo colaborativo elaboradas (CSCW) o
entornos de programación compartidos y herramientas de control de versiones como Subversion.
El trabajo puede ser sincrónico con comunicación IM frecuente o asincrónico mediante
el uso compartido de archivos. Por lo tanto, puede haber una interacción cara a cara
frecuente o ninguna, como en algunos proyectos de código abierto. SourceForge
proporciona un entorno de trabajo en Internet para proyectos de código abierto que
admite muchas formas de interacción y herramientas para comunidades que trabajan en bases de código.
80
Machine Translated by Google
Los equipos pueden tener un gerente de proyecto todopoderoso o ser autoorganizados.
Algunos proyectos documentan cada coma en su código y otros dejan que su aplicación
hable por sí misma. La mayoría de los equipos de desarrollo de software son comerciales y
eventualmente tienen que obtener ganancias para sus empresas, pero otros trabajan en
universidades donde reciben fondos del estado pero tienen que publicar sus investigaciones.
Todavía otros trabajan en proyectos de código abierto donde la motivación tiene más que
ver con pertenecer a una comunidad. Esta es una imagen variada de los equipos y el trabajo
en equipo, pero hay poca investigación que sugiera cuál de estos diversos factores hace
que un equipo sea especialmente innovador. Simplemente supondremos que la mayoría de
los tipos de equipo y la mayoría de los tipos de trabajo en equipo pueden promover la innovación.
Primero echaremos un vistazo a lo que se sabe sobre los factores negativos en el
funcionamiento del equipo, en forma de barreras a la creatividad y disfunción del grupo.
Luego pasaremos a enfoques más positivos para apoyar el potencial de innovación de los
equipos de software:
• funciones del equipo de software
• interacciones comunicativas
• la acomodación del pensamiento divergente •
aprendizaje en
equipo • visión general (propósito
común) • integración de
experiencia • patrones de
práctica social • exploración ambiental.
Entornos de trabajo creativos/innovadores: barreras
Cada equipo de desarrollo opera en un entorno de trabajo que está principalmente más allá
de su propio control. Este entorno se compone de prácticas de trabajo estandarizadas,
limitaciones de recursos, entorno físico, práctica de gestión y factores psicológicos y
culturales que tienen que ver con la forma en que las personas normalmente interactúan
entre sí y las normas culturales que operan en la situación laboral. La investigación muestra
que ciertas condiciones ambientales funcionan como barreras para la creatividad, es decir,
inhiben la innovación en el lugar de trabajo. También es posible, a través de instrumentos
como el Inventario de Clima Laboral, investigar las condiciones de trabajo y aislar factores
de mejora. Las principales barreras a la creatividad son:
• Carga de trabajo/presión de tiempo: la presión excesiva sobre los equipos y las
personas provoca estrés y reduce el margen para la reflexión y la experimentación,
descartando efectivamente la exploración, la modificación y la experimentación
(consulte los estilos de innovación de Miller). Por lo tanto, los desarrolladores que
se ejecutan entre varios proyectos, retrasan sus fechas de entrega y se quedan
sin horas de desarrollo para terminar su proyecto tienen una gran necesidad de
pensamiento creativo, pero están mal ubicados para entregarlo.
81
Machine Translated by Google
• Estrés: tiene muchas consecuencias psicológicas y fisiológicas (particularmente
cuando se experimenta durante períodos prolongados) que reducen la
productividad de los desarrolladores.
A veces va acompañado de un "subidón"
engañoso de emoción e impulso, lo que lleva al desarrollador a creer
erróneamente que se está desempeñando bien. Las interacciones del equipo
normalmente se vuelven más pobres cuando el grupo está estresado.
La creatividad se asocia con un mayor rendimiento, no con un rendimiento
reducido. •
Escasez de recursos: fuerza a los equipos de desarrollo a prácticas bien conocidas
y restringe la experimentación y la exploración. • Prácticas de
trabajo rígidas: se cree que las prácticas de trabajo estandarizadas y aplicadas,
como los protocolos estrictos para las especificaciones de requisitos, los
requisitos de documentación, el cumplimiento obligatorio de un método de
desarrollo en particular, inhiben la creatividad. Esto se debe a que fomentan
el pensamiento algorítmico (seguir un conjunto de instrucciones) en lugar del
pensamiento heurístico. Estas técnicas pueden, por supuesto, ser productivas
en situaciones más rutinarias.
• Burocracia: a menudo se ocupa de hacer cumplir las prácticas de trabajo rígidas.
Los desarrolladores documentan en exceso sus procesos de trabajo
principalmente para que sus gerentes puedan estar seguros de que se han
seguido los procesos correctos. •
Sistemas de evaluación inapropiados: muchas empresas de software tienen
procedimientos de evaluación que realmente no recompensan la creatividad:
los desarrolladores son promovidos o recompensados porque se llevan bien
con los gerentes, porque son confiables o porque llevan muchos años en la
empresa. Las habilidades de innovación pueden percibirse como peligrosas
o provocativas, especialmente cuando están asociadas con el pensamiento
divergente o las mentalidades predominantes desafiantes. • Sistemas de
recompensa que penalizan los errores: los proyectos innovadores fracasarán
inevitablemente de vez en cuando, porque la innovación requiere una cierta
aceptación del riesgo (nuevas aplicaciones con mercados no probados,
nuevas técnicas de programación que pueden resultar problemáticas a
medida que los desarrolladores las aprenden, incursionar en una nueva
tecnología ). Si el fracaso significa, en una empresa de software en particular,
que el gerente del proyecto nunca estará a cargo de otro proyecto, esto
actuará como un fuerte desincentivo
para la innovación. • Trabajo rutinario: demasiado es desalentador para las personas creativas y
equipos
• Gestión deficiente de proyectos: los estilos autoritarios de gestión de proyectos
pueden funcionar en situaciones rutinarias de complejidad moderada, pero
82
Machine Translated by Google
desalentar muchas de las características del trabajo en equipo innovador, como
el diálogo y la evolución del propósito compartido.
La conclusión natural es que un equipo de software innovador necesita algunas condiciones
externas básicas para ser más que simplemente funcional.
Si invertimos la forma de pensar de la 'barrera', podemos comenzar a imaginar potenciadores
de entornos de trabajo creativos: libertad, empoderamiento, trabajo desafiante, recursos
suficientes, estímulo de supervisión, apoyo del grupo de trabajo, estímulo organizativo,
reconocimiento profesional, buen trabajo en equipo, armonía, cohesión, compartido. visión,
aprendizaje en equipo, formación en creatividad, mentores, modelos a seguir, networking,
trabajo en equipo multidisciplinar, tensión creativa.
Disfunción de grupo
Los investigadores de administración también saben mucho sobre los signos y las causas
de la interacción grupal disfuncional y el trabajo en equipo deficiente. Algunas disfunciones
importantes están asociadas con
• Dominio destructivo: un miembro o miembros del grupo que exhiben una influencia
inusualmente alta sobre otros miembros del equipo, lo que impide que otros
miembros del equipo expresen sus propias ideas o las adopten, y dirige el proyecto
en direcciones subóptimas. • Freeloading – lo contrario: los miembros del
equipo contribuyen poco o nada. Los equipos innovadores se están desempeñando
excepcionalmente bien, lo que significa que necesitan maximizar las contribuciones
de todos los miembros.
• Conformidad: el surgimiento de normas grupales ("necesitamos una solución de base
de datos", "es imposible evitar un grado significativo de error al calcular las
coordenadas geográficas") y la consiguiente falta de voluntad para hablar con una
mejor solución. • Evitación de
conflictos: falta de voluntad para desafiar ideas debido al miedo a confrontaciones
personales desagradables, lo que a veces da como resultado decisiones grupales
que son contrarias a los deseos de la mayoría de los
miembros
• Conflicto destructivo – su reverso: antagonismo personal prolongado no resuelto que
conduce a un clima psicológico improductivo y comportamiento de postura más
arraigado en el conflicto subyacente que en el progreso del trabajo del equipo.
• Anclaje: desviación de los objetivos principales del proyecto en respuesta a los
intereses tangenciales de los miembros poderosos del grupo. •
Comportamiento de búsqueda: compromiso prematuro con soluciones poco investigadas
principalmente debido a la ansiedad sobre el progreso del proyecto.
83
Machine Translated by Google
• Pensamiento grupal: el equivalente grupal de mentalidad, en el que un conjunto de ideas
se afianza con tanta fuerza que nadie es capaz de pensar en soluciones alternativas.
Esto mata el pensamiento divergente, un componente importante de la innovación.
Algunos o todos estos fenómenos se ven en la mayoría de los equipos disfuncionales. Un equipo
innovador es un equipo con superfunciones, donde normalmente no hay cabida para este tipo de
problemas. Como veremos, el funcionamiento del superequipo deberá permitir algunas formas
de interacción relativamente difíciles, incluido el pensamiento divergente, la integración de
conocimientos, el desarrollo y la revisión de una visión general y patrones sociales relativamente
inusuales.
Habiendo entendido algo sobre las barreras a la creatividad y la disfunción del grupo, pasamos
a algunas características positivas del trabajo en equipo que pueden promover la innovación.
Funciones innovadoras del equipo:
Cada gerente de proyecto de software quiere tener ciertos desarrolladores en su equipo. Las
razones son a veces una mezcla de practicidad y conveniencia.
Este desarrollador es bueno con la configuración de red, tiene una amplia experiencia con .asp,
se puede confiar en un tercero para que trabaje de manera constante y no se queje, un cuarto
es buen amigo de un gerente senior que debería estar impresionado. La innovación se basa en
la experiencia, por lo que los equipos innovadores suelen estar compuestos por personas que
son muy buenas en lo que hacen. Sin embargo, la combinación correcta de experiencia técnica
depende del proyecto en particular, por lo que aquí nos centraremos más en los roles de
innovación. Los roles de equipo son una forma de pensar sobre lo que los miembros del equipo
contribuyen a su equipo y cómo estas contribuciones pueden producir una sinergia que puede
hacer que el equipo sea mucho más efectivo y productivo de lo que podrían ser sus miembros si
trabajaran solos. Los roles de equipo clásicos incluyen:
• generadores de ideas: aquellos a los que se les ocurren muchas ideas variadas y
soluciones de
problemas • empresario/campeón del producto: el visionario que puede sostener el
objetivo final en foco
• gerente/líder del proyecto: la persona que se hace cargo y organiza
el trabajo del equipo
• guardianes/comunicadores de límites: aquellos que se comunican con personas ajenas al
proyecto • patrocinador/entrenador:
figuras de alto nivel que brindan legitimidad y aliento a la organización.
Meridith Belbin, que trabaja en el campo de la psicología de la gestión, aportó la mejor taxonomía
científicamente respaldada de los roles de equipo:
84
Machine Translated by Google
• planta creativo, poco ortodoxo y generador de ideas, a menudo el pensador
divergente. •
investigador de recursos: el perseguidor vigoroso de contactos y oportunidades,
centrado fuera del equipo, hacedor de posibilidades, creador de redes.
• coordinador confiado, estable y maduro, delegador de tareas, decisión
fabricante.
• formador: líder centrado en la tarea con empuje y energía: del tipo ganador,
comprometido con el logro de los objetivos y la canalización de los miembros del
equipo hacia estos objetivos. •
monitor evaluador justo y lógico observador y juez, analítico
pensador y evaluador racional de opciones.
• trabajador en equipo: buenos oyentes y diplomáticos, talentosos para suavizar los
conflictos y ayudar a las partes a entenderse entre sí sin llegar a la confrontación.
• implementador: convertidor
de ideas en acción positiva, eficiente y autodisciplinado, en quien se puede confiar para
entregar a tiempo. • finalizador más completo: el perfeccionista
que hace un esfuerzo adicional para asegurarse de que todo se entregue a tiempo y
funcione perfectamente. • especialista: pericia, concentración, capacidad
y habilidad en un determinado
campo.
Estos roles se presentan en términos positivos, pero Belbin reconoce que todos los roles
también tienen un lado negativo cuando se llevan en exceso o simplemente se colocan en
una situación incorrecta. La planta puede continuar proporcionando ideas poco ortodoxas
cuando llega el momento de implementar lo que se ha decidido, el networker puede introducir
todo tipo de externalidades y falta de enfoque, el coordinador puede ser percibido como
manipulador y tímido en el trabajo, y así sucesivamente.
James Coplien adoptó la idea de roles en su estudio del proceso social en proyectos de
software, describiendo tipos repetidos de figuras con una influencia directa en el proyecto,
por ejemplo: patrón, virtuoso solista, guardián, matrona (apoyador social), analista mercenario
(alguien traído para relevar al equipo del trabajo pesado como la documentación del usuario),
cliente sustituto, leyenda, tonto sabio, pacificador, cordero sacrificado, gurú, productor,
partidario, holgazán.
Hubiera sido útil si una de estas autoridades hubiera proporcionado una receta sobre cómo
componer un equipo de software que garantizara ser innovador.
Desafortunadamente, este no ha sido el foco de sus estudios y, en cualquier caso, es casi
seguro que no existe tal fórmula. Sin embargo, es fácil ver que un equipo compuesto por
productores, implementadores, trabajadores del equipo y personas que completan/terminan
realizarán una gran cantidad de trabajo productivo, pero solo serán innovadores en una
situación particular, es decir, cuando la especificación del software innovador el producto se
les entrega desde fuera del equipo. A
85
Machine Translated by Google
El equipo compuesto por plantas y modeladores tendrá originalidad, empuje y ambición,
pero nadie que entregue el trabajo sólido necesario para progresar.
Los equipos innovadores tendrán diferentes composiciones en diferentes circunstancias,
pero es un ejercicio interesante tomar su proyecto actual, analizar la distribución de roles e
imaginar una composición de roles óptimamente creativa.
La idea de rol se incorpora en los métodos ágiles modernos. Aquí, en lugar de analizar los
roles de los miembros del equipo en función de sus tipos de personalidad, los autores piden
a los desarrolladores que adopten roles conscientemente, con la comprensión de lo que
implica el rol. En eXtreme Programming de Beck, se especifican los roles de entrenador,
programador, evaluador, rastreador, consultor y gran jefe, con algunos consejos sobre cómo
deben desempeñarse en un equipo eficaz. Se asigna un papel especial al cliente en el sitio:
el de simplificar la complejidad de las relaciones con las partes interesadas y los usuarios
externos. SCRUM asigna los roles de propietario del producto (priorizando la acumulación
de productos), maestro de scrum (un desarrollador con responsabilidades especiales para
realizar reuniones de sprint y proteger al equipo de interferencias externas) y pollo (aquellos
que pueden observar pero no interferir). Estas asignaciones de funciones tienen que ver con
hacer que el equipo de desarrollo sea más eficaz, pero en Aaen's Essence la idea se
desarrolla aún más para centrarse en la creatividad. Aquí los roles están diseñados para
asegurar que el equipo desarrolle las tensiones creativas necesarias para la innovación:
“Los miembros del equipo tienen roles que definen sus personajes. Cada rol tiene un
conjunto de ideales o valores que proporcionan una razón de ser clara para el rol. El
Challenger es el cliente y tiene todas las responsabilidades de un cliente en el sitio, pero
debe plantear los requisitos del proyecto en la forma más abierta de desafíos. El Respondedor
es el desarrollador que emplea la competencia técnica para ofrecer respuestas ambiciosas.
Estos dos roles entablan un diálogo en el que se desarrollan soluciones contrastando las
necesidades y los deseos del área de aplicación con la oportunidad técnica. The Anchor
sirve para mantener al equipo absorto y enfocado en brindar soluciones interesantes. El
último papel es el Niño; este rol es temporal ya que cualquier miembro del equipo puede
asumir este rol temporalmente en cualquier momento. El Niño puede plantear cualquier idea
o problema, incluso cuando sea contrario a las decisiones tomadas anteriormente por el
equipo. Este papel lleva el nombre del niño en El traje nuevo del emperador de Hans
Christian Andersen que dijo 'pero no tiene nada puesto', y así reveló la locura del emperador".
AAEN, I. (2008) Esencia: facilitando la innovación de software. Revista Europea de Sistemas de Información, 1
Interacción del equipo de innovación
Se puede decir que los grupos disfuncionales tienen una interacción grupal disfuncional, y
gran parte de la mejora de la función del equipo tiene que ver con mejorar las interacciones.
La interacción se presenta en tres formas principales: puede ser interacción libre, interacción
facilitada o determinada por la técnica. La mayoría de los equipos de desarrollo de sistemas
de información utilizan la interacción libre (sin considerar realmente las opciones). Esto
significa que se deja que las interacciones grupales evolucionen por sí mismas. La mayoría
de los desarrolladores experimentados son bastante conscientes de cómo funciona su
equipo y tienen varias respuestas (derivadas de la experiencia) a las amenazas de
interacción periódicas que son una parte natural de los altibajos.
86
Machine Translated by Google
bajas de cada proyecto. A menudo, las respuestas son intuitivas y, a veces,
inconscientes; por lo tanto, un veterano interrumpirá sin problemas a alguien que está
siendo demasiado pedante con una característica pequeña del sistema y se asegurará
de que la discusión avance, sin que nadie realmente se dé cuenta de lo que está sucediendo.
A veces, las interacciones grupales van más allá de los altibajos comunes y se vuelven
disfuncionales. Una respuesta a esta situación es contratar a un facilitador: alguien que
tenga experiencia en la interacción grupal y, lo que es igualmente importante, que sea
externo al equipo, de modo que no esté atado a la dinámica interna de las interacciones
del equipo. Otras razones para contratar a un facilitador pueden ser mejorar el
desempeño del equipo o administrar equipos temporales con tareas bien definidas,
como un grupo de enfoque de usuarios. En este caso, el facilitador viene con una
comprensión predeterminada de la tarea (p. ej., prueba de usabilidad de una interfaz) y
el proceso para resolver la tarea, y guía al grupo durante la sesión. La tercera forma de
influir en la interacción del grupo es utilizar una técnica diseñada para tal fin. Un ejemplo
es la técnica de grupo nominal. NGT consta de cinco pasos
1. Los participantes generan de forma independiente y en silencio una
lista de ideas 2. El facilitador registra una idea a la vez que pasa alrededor
del grupo 3. Los miembros del grupo discuten cada idea solo para aclarar, sin
considerando su mérito
4. los participantes califican y clasifican las ideas de forma
independiente 5. el grupo prioriza las sugerencias votando
Este proceso elimina efectivamente gran parte de la disfunción típica descrita
anteriormente (dominancia destructiva, carga gratuita, etc.). Sin embargo, puede
experimentarse fácilmente como artificial. Duggan experimentó con la combinación de
esta técnica con el desarrollo de aplicaciones conjuntas, con buenos resultados.
Muchas de las técnicas utilizadas en los métodos ágiles se centran en lograr buenas
interacciones grupales, a menudo aquellas que se basan en algunas formas de respeto
mutuo, combinadas con un compromiso genuino con el trabajo del equipo. Por lo tanto,
una reunión de pie en SCRUM está diseñada para garantizar la comunicación diaria del
progreso y los objetivos, y generar compromiso para lograr el trabajo del día. Hay
contacto visual entre los miembros del equipo, y el scrum master es el facilitador de la
reunión, no el gerente del proyecto que delega tareas.
La forma de reunión fomenta un tipo particular de interacción grupal. Una vez más, sin
embargo, no existe una receta o modelo para las interacciones grupales que resulten
en innovación. Sin embargo, el enfoque en la interacción es vital para los equipos de
software innovadores, que deben combinar la efectividad con una variedad más amplia
de pensamiento divergente, desafío, tensión creativa e incertidumbre que otros grupos
de desarrollo. Los procesos grupales deben permitir tanto un amplio espectro de
generación de ideas como la prueba de modelos mentales, con la evolución de un
propósito común y un alto grado de eficiencia en la implementación.
87
Machine Translated by Google
Aprendizaje e innovación en equipo.
Un equipo con buena interacción comunicativa está en condiciones de aprender de manera
efectiva. Esto es importante porque normalmente
hay mucho que aprender en un proyecto de
desarrollo. Los proyectos difieren y es imposible
caracterizar todas las cosas que el equipo debe
aprender, pero un punto de partida podría ser
considerar tres dominios de aprendizaje.
1. Dominio del proyecto: todas aquellas
cosas que tienen que ver con el
organización y gestión del proyecto
de desarrollo, su proceso, estructuración, gestión, soporte de herramientas,
financiamiento, miembros del proyecto y clientes.
2. Dominio de la tecnología: el hardware, el entorno del software, los lenguajes de
programación, las técnicas de diseño, las arquitecturas y los algoritmos.
3. Dominio de uso: la comprensión del área de aplicación en la que se pretende utilizar
el software. Los hábitos y patrones de trabajo (o entretenimiento) de los usuarios,
su forma de interactuar, el propósito y la función del producto de software en su
uso. contexto.
Cabe señalar que cuando la innovación es el centro de atención, la curva de aprendizaje
puede estar relativamente adelantada,
con la vista puesta en los competidores
externos, las tendencias y trayectorias
de la evolución tecnológica y los
patrones de uso del futuro.
Las tecnologías pueden ser de
vanguardia, lo que normalmente
implica una curva de aprendizaje muy pronunciada para los miembros del proyecto. Por lo
tanto, un equipo de desarrollo innovador normalmente aprende muy rápido y de manera muy
efectiva. Esto permite que el proyecto se mueva rápidamente, cubra mucho terreno y se
mantenga al frente de otros equipos de la competencia que trabajan en productos similares.
El principal modo de aprendizaje en un equipo es a través de la comunicación interna, pero
la discusión no es aprendizaje en sí mismo. El teórico de la gestión Peter Senge señala la
diferencia entre discusión y diálogo. La discusión puede involucrar muchas reafirmaciones de
posiciones individuales, varias formas de lucha por el poder y negociación, rutinas defensivas
donde los participantes defienden sus propias ideas cuando sienten que están bajo ataque,
falta de enfoque, episodios tangenciales y muchas otras interacciones importantes, que sin
embargo no constituyen aprendizaje en equipo. Si los modelos mentales subyacentes de los
participantes, sus formas de pensar, su visión de sus propias áreas de especialización
privadas y su
88
Machine Translated by Google
las actitudes subyacentes hacia el proyecto no cambian, entonces no se está produciendo
un aprendizaje en equipo. Si esto es difícil de entender, considere el caso de tres políticos
de diferentes partidos políticos discutiendo públicamente un tema.
Lo más probable es que haya interacción, pero ningún movimiento hacia una posición
común. Los participantes simplemente continúan explicando sus propias posiciones de
formas nuevas y diferentes. La base del aprendizaje en equipo, señala Senge, no es la
discusión sino el diálogo. En el diálogo, los miembros del grupo acuerdan suspender sus
posiciones y suposiciones individuales y escuchar abiertamente las ideas de los demás,
aceptando esas ideas como igualmente válidas, pero diferentes. La mente colectiva del
equipo avanza y aprende a través de la generación de entendimientos y propósitos
comunes. Especifica tres condiciones que deben darse para que evolucione el diálogo.
• Los participantes deben suspender sus suposiciones, particularmente los juicios
instantáneos no razonados que hacen debido a sus suposiciones subyacentes.
• Los
participantes deben considerarse como colegas, una relación especial en la que el
otro tiene un derecho intrínseco a sus opiniones y argumentos. • Debe haber
un facilitador que
se mantenga al margen del contenido del diálogo, pero que mantenga el contexto
en juego, particularmente las dos primeras condiciones.
Se pueden observar muchos diálogos en la práctica del desarrollo de sistemas. Dos
desarrolladores discuten su estrategia de prueba con JUnit. Tienen estrategias diferentes,
pero válidas. Una desarrolladora experimentada está programando a unos metros de
distancia en su escritorio. Ella no participa mucho, pero da a conocer con su lenguaje
corporal que está siguiendo la conversación: facilita. El tono de la conversación es
constructivo, los argumentos bien razonados y de naturaleza técnica. Finalmente, los
desarrolladores están de acuerdo y, lo que es más importante, ambos se comprometen
con la estrategia de prueba y la colega experimentada vuelve a su pantalla. El equipo ha
progresado; la estrategia de prueba decidió, comunicó y aceptó.
La capacidad de un equipo para aprender de forma efectiva y rápida le otorga una
característica particular que es útil en la mayoría de las situaciones de innovación: la
agilidad. La agilidad es la capacidad de responder productivamente a situaciones y
circunstancias cambiantes, cambiando la dirección de (partes de) el proyecto. Es
probable que los proyectos de innovación presenten muchas dificultades: tecnologías de
punta que no funcionan como se espera, entornos de programación inestables,
escenarios de usuarios que no se exploran y, por lo tanto, están sujetos a alteraciones
repentinas. Los equipos que no pueden responder a estos problemas (mi programa de
mapeo geográfico funcionó bien en nuestros simuladores móviles de PC, pero falla en mi
teléfono Nokia) no pueden progresar mucho. Los equipos ágiles generalmente pueden
responder de manera constructiva a muchos tipos diferentes de cambios en los tres dominios de aprendi
89
Machine Translated by Google
Acomodación del pensamiento divergente Así
como la evolución darwiniana depende de la divergencia genética (pequeños errores
en la transferencia de información genética en la reproducción de las especies), la
creatividad depende del pensamiento divergente. Si todos pensamos igual, la
innovación no es posible. Por lo tanto, los equipos creativos tienen una responsabilidad
especial en la forma en que manejan el pensamiento divergente. Es probable que un
equipo que no esté abierto al pensamiento divergente, al menos en ciertas fases de
su trabajo, no aprenda de manera efectiva, integre su experiencia o responda bien a los desafíos.
Sin embargo, las ideas no son buenas ideas simplemente porque son nuevas; de
hecho, la mayoría de las ideas nuevas no son muy productivas. Algunos son peligrosos.
La sugerencia de que el sistema web de redes sociales que el equipo está construyendo
debería ser realmente una aplicación móvil podría ser el golpe de genio que hará que
la empresa gane mucho dinero, o una pista falsa que hará descarrilar el proyecto y
conducirá a un fracaso catastrófico. . Si el equipo está cerrado a la idea, entonces no
se puede adoptar de todos modos, por lo que nunca lo sabremos. Si el equipo está
abierto a ideas creativas, se deben suspender las suposiciones y establecer un diálogo
adecuado para evaluar el mérito de la idea, un proceso que puede llevar horas, días o
semanas. Si el equipo produce muchas ideas divergentes y todas se evaluaron de esta
manera, entonces el progreso real en el diseño y la construcción de cualquier cosa se
detendrá rápidamente. Muchas ideas divergentes suelen ser más útiles en las primeras
fases de generación de ideas, que dos semanas antes de la fecha límite, con un cliente
expectante esperando entre bastidores. Los equipos creativos desarrollan sus propias
formas de manejar estos dilemas. Un miembro del equipo con muchas ideas divergentes
(una planta) puede ser tomado más en serio al comienzo del proyecto. Una fecha límite
puede suprimir todas las ideas nuevas por un corto período de tiempo. En otras
ocasiones puede haber una larga discusión de ideas aparentemente descabelladas.
Puede haber un subgrupo que esté preparado para escuchar y examinar las ideas
antes de que lleguen a todos.
Integración de experiencia
Los equipos están formados por desarrolladores con diferentes tipos de experiencia.
Algunos vienen con competencias particulares en bases de datos, java o ingeniería
web. Otros son comunicadores experimentados o gerentes de proyectos.
El arquitecto senior de la compañía puede pasar para discutir temas básicos de diseño
y los abogados de la compañía pueden pasar para discutir temas de patentes. Los
desarrolladores a menudo subestiman un tipo de experiencia totalmente diferente que
muestran sus clientes y usuarios: normalmente son los expertos en el dominio de uso,
no los desarrolladores. La creatividad de un equipo está asociada con la integración
de la experiencia. Esto no es simplemente transferencia de conocimiento entre
individuos. Un programador que trabaja en el motor de un juego de computadora puede
tener muchas conversaciones con los diseñadores gráficos. El diseño gráfico influye
en cómo debe configurarse el motor, y lo que el motor puede hacer influye en la forma
en que el juego finalmente se verá y reaccionará para sus usuarios.
La integración de experiencia significa que las diferentes habilidades del diseñador y
el programador se integran a nivel de equipo, de modo que el aprendizaje del equipo de
90
Machine Translated by Google
el proyecto se reenfoca. La integración de la experiencia, de modo que los miembros del
equipo puedan interactuar significativamente con colegas con diferentes especialidades,
aumenta la gama de posibilidades de diseño y soluciones que están disponibles para el debate.
Aumenta el capital relacional social: la confianza y la calidad de interacción del equipo. Es
probable que un equipo que sea capaz de aprovechar diversas formas de experiencia y
que también sea capaz de integrar y absorber esta diversidad sea muy creativo.
Descripción general: integración macro + micro
La creatividad en un equipo de desarrollo también está asociada con la visión general. Un
teórico de la gestión como Senge preferiría llamar a esto propósito común.
El desarrollo de software es una de las actividades más complejas conocidas por la
humanidad, y hay muchísimos detalles, comenzando con cientos, miles o millones de
líneas de código. Un innovador visionario puede definir un producto de software a un alto
nivel, por ejemplo, una interfaz de sistema operativo tridimensional, pero muchos detalles
deben estar en su lugar antes de que pueda funcionar. Un equipo necesita trabajar en una
dirección común, estar alineado, para ser realmente productivo. Esto significa que todo el
equipo ha entendido y comunicado las direcciones más generales en las que todos se
mueven: descripción general. Sin esta visión general (en sí misma una forma de aprendizaje
en equipo), las personas pueden ser productivas por derecho propio, pero pueden trabajar
en sus propias direcciones, con diferentes interpretaciones de los casos de uso (por
ejemplo), una internalización diferente de un modelo de base de datos subyacente o
funcionalidad que duplica la de un compañero de equipo. La descripción general puede ser
bastante difícil de crear en una situación de desarrollo normal, y un líder de proyecto
convencional podría pasar mucho tiempo trabajando con esto, pero el problema se
exacerba en el trabajo de innovación. Hay más incógnitas, menos rutina a la que recurrir,
ideas más vagas sobre los resultados y dificultades con tecnologías que no responden.
Hay más desafíos para la dirección del proyecto, a los que el equipo debe responder de
manera ágil alterando objetivos y prácticas. Esto significa que es probable que la descripción
general de ayer ya esté desactualizada y necesite reparación. Así, el trabajo en equipo de
software innovador combina una mayor necesidad de crear una visión general viable, con
una mayor dificultad para lograrlo. A veces, el visionario del equipo es capaz de mantener
la dirección. Más a menudo, hay demasiados detalles y experiencia subsidiaria involucrados,
y el grupo debe tener herramientas y técnicas y la voluntad de mejorar constantemente su
visión general. Las herramientas simples, como los mapas mentales, pueden ser útiles. Sin
embargo, las instalaciones de innovación especialmente diseñadas, como el Laboratorio
de Investigación de Innovación de Software de la Universidad de Aalborg, a menudo tienen
herramientas integradas para ayudar con la descripción general. SIRL tiene cuatro grandes
pantallas interactivas en sus paredes, que normalmente se utilizan para mantener en juego
cuatro aspectos principales del proyecto al mismo tiempo. Esto permite que el equipo se
concentre en una versión más inclusiva de su proyecto.
91
Machine Translated by Google
Patrones innovadores de trabajo en
equipo Coplien amplió la idea de patrones de diseño de software para cubrir también
las prácticas sociales (de trabajo) de los equipos de software. Comenzó con la idea
de que los equipos productivos tienen hábitos de trabajo (prácticas) que tienen éxito
en una variedad de proyectos. Luego investigó estos patrones en empresas de
desarrollo utilizando un método de investigación apropiado: el análisis de redes sociales.
Realmente hay demasiados de estos patrones para discutirlos extensamente, pero la
propia identificación de Coplien de las prácticas más importantes (las diez principales) se
encuentra en el recuadro de la página siguiente. Al igual que muchas buenas
investigaciones sobre el desarrollo de sistemas, el objeto de la investigación es identificar
buenas prácticas en lugar de potencial de innovación. Sin embargo, podemos ampliar su
idea básica para sugerir que los equipos de software innovadores tienen prácticas de
trabajo particulares que fomentan la creatividad. También podemos notar algunas
similitudes con otras características del trabajo en equipo discutidas en este capítulo. La
unidad de propósito y los controles del arquitecto se correlacionan con la visión general,
excepto por la idea de que el líder del proyecto tiene la responsabilidad exclusiva de
desarrollarlo. El enfoque en el cliente refleja la necesidad de aprender sobre el dominio
de uso (entre otras cosas). La experiencia del dominio se analiza bajo el título de
integración de la experiencia. En ausencia de un conocimiento seguro sobre qué patrones
sociales o prácticas de trabajo promueven una innovación efectiva, debemos ser
meticulosos en la observación de nuestra propia experiencia, para poder aprender.
92
Machine Translated by Google
Las diez mejores prácticas de software de Coplien
unidad de propósito 'el líder del equipo debe inculcar una visión común y
propósito en todos los miembros del equipo.'
Involucrar a los clientes : "es importante que la organización de desarrollo asegure y
mantenga la satisfacción del cliente fomentando la comunicación entre los
clientes y las funciones clave de la organización de desarrollo: combine
estrechamente la función del cliente con las funciones de desarrollador y
arquitecto".
experiencia en el dominio en roles : 'contratar expertos en el dominio con antecedentes comprobados
y dotar al proyecto de personal con la experiencia incorporada en sus roles'
el arquitecto controla el producto : 'crear un rol de arquitecto como una encarnación del
principios que definen un estilo arquitectónico para el proyecto y de la amplia
experiencia de dominio que legitima dicho estilo. Distribuir el trabajo de manera
uniforme : evitar la concentración del trabajo en unos pocos tipos de productores confiables.
propietario de la función y propietario del componente: 'asegurarse de que cada función y cada
el componente tiene un propietario'
analista mercenario : 'contrate a un escritor técnico que sea competente en los
dominios pero que no tiene interés en el diseño en sí mismo' evite el trabajo
pesado y la documentación
el arquitecto también implementa : 'más allá de asesorar y comunicarse con los
desarrolladores, un arquitecto también debe participar en la
implementación
cortafuegos : 'cree un rol de administrador que proteja a otro personal de desarrollo
de la interacción con roles externos'
el desarrollador controla el proceso : 'convierte al desarrollador en el punto focal de la información
del proceso'
Escaneo del medio ambiente
Muchos equipos de desarrollo de software están muy enfocados internamente. Las numerosas intrusiones
y distracciones que interfieren con el flujo del trabajo de desarrollo y el ruido (experimentado como) que
pueden provenir de gerentes y clientes, aparte de la escasez de recursos y los plazos apremiantes, hacen
que los desarrolladores tiendan a agachar la cabeza y a enfóquese en producir código que funcione y
una solución que pueda entregarse más o menos a tiempo. Esta es una tendencia muy natural y en
muchas situaciones una práctica deseable, pero es menos probable que promueva la innovación. Los
equipos innovadores suelen ser muy conscientes de los productos rivales, los departamentos de
tecnología, las nuevas oportunidades de mercado, los desarrollos científicos de vanguardia, los desarrollos
prácticos en sus campos de especialización,
93
Machine Translated by Google
y una variedad de otros factores ambientales. Medio ambiente aquí se refiere a todo lo que
no es interno al proyecto de desarrollo; por lo tanto, la exploración ambiental es el proceso
de recopilación de información relevante desde el exterior. Como se discutió en el capítulo
2, la innovación tecnológica rara vez se lleva a cabo de forma aislada. La imagen popular del
inventor con la idea brillante que revoluciona inmediatamente un campo es algo engañosa.
La innovación tecnológica tiene lugar en oleadas, en la columna vertebral de las
infraestructuras en desarrollo, entre comunidades de expertos en relación con las trayectorias
tecnológicas, en ventanas de tiempo de innovación específicas. Estos factores significan que
los equipos de software innovadores toman una posición de 'advertencia': extremadamente
alerta a lo que sucede en su entorno.
Heurística de estilo de trabajo 6: sé un gran trabajador en equipo
Hemos discutido una serie de factores que contribuyen al trabajo en equipo de software
innovador. Podemos centrarnos en comprender la disfunción del equipo y las barreras a la
creatividad para repararlas y eliminarlas. Podemos entender que es probable que los equipos
innovadores muestren
• buena comprensión y aprovechamiento de los roles, especialmente aquellos que
promueven la
• funcional comunicativo interacciones, incluido
creatividad alta adaptación al pensamiento
• divergente altos niveles de aprendizaje en equipo que conducen a una respuesta
flexible a los desafíos (agilidad)
• buena comprensión compartida del propósito común (resumen) incluso en una
situación de cambio rápido •
patrones de práctica de software constructivos: eso es trabajo productivo
prácticas
• experiencia diversa y profunda, bien integrada • intensa
conciencia de su entorno
Aquí hay algunas preguntas definitorias para hacerle a su equipo de software:
• ¿Qué personas quiere en su equipo innovador? • ¿Qué roles
deben cumplirse en un proceso de equipo innovador? • qué tan
estructurado debe ser el proceso del equipo (herramientas y técnicas
versus interacción libre)?
• ¿Cuál es el entorno de creatividad para su equipo y cómo puede
¿mejoralo? •
¿Cuáles son los hábitos de trabajo innovadores (patrones) de sus equipos? •
¿Cómo promueve el equipo el aprendizaje y el diálogo en equipo ? •
¿Cómo desarrolla el equipo un propósito compartido y una visión general?
• ¿Qué tipo de soporte de herramientas automatizadas necesita un equipo innovador?
94
Machine Translated by Google
• qué aprendizaje necesita de fuera del proyecto y cuándo
¿lo necesita? •
¿Cómo sabe cuándo el equipo está trabajando de manera innovadora?
Cuando tenga respuestas satisfactorias a la mayoría de estas preguntas, entonces es posible que
tenga un equipo innovador y que sea un gran trabajador en equipo.
Fuentes y lecturas adicionales BECK, K.
(2000) Explicación de la programación extrema: abrazar el cambio, Boston, Addison Wesley.
BELBIN, M. (1981) Management Teams, Londres, Heinemann.
COPLIEN, JO & HARRISON, NB (2005) Patrones organizacionales de desarrollo de software ágil,
Pearson Prentice Hall.
COUGER, JD (1996) Prensa: Medición del Clima para la Creatividad en Organizaciones SI. Gestión
de la Creatividad y la Innovación, 5, 273279.
DUGGAN, EW (2003) Generación de requisitos de sistemas con técnicas de grupos facilitados.
Interacción humanocomputadora, 18, 373394.
DUGGAN, EW & THACHENKARY, CS (2004) Integración de técnicas de grupos nominales y
desarrollo de aplicaciones conjuntas para la determinación de requisitos de sistemas mejorados.
Información y Gestión, 41, 399411.
JORDAN, PW, KELLER, KS, TUCKER, RW Y VOGEL, D. (1989)
Tormenta de software: combinación de creación rápida de prototipos e ingeniería del conocimiento.
Informática, 22, 3948.
LOBERT, BM & DOLOGITE, DG (1994) Medición de la creatividad de las ideas del sistema de
información: una investigación exploratoria. Ciencias del Sistema, 1994.
Vol.IV: Sistemas de información: Tecnología de colaboración Sistemas organizacionales y
tecnología, Actas de la Vigésima Séptima Conferencia Internacional de Hawái Hawái.
LYYTINEN, K. & ROSE, GM (2006) Agilidad en el desarrollo de sistemas de información como
aprendizaje organizacional. Revista Europea de Sistemas de Información, 15, 183199.
SAMPLER, JL & GALLETTA, DF (1991) Cambios individuales y organizacionales necesarios para
la aplicación de técnicas de creatividad en el desarrollo de sistemas de información. Actas de la
Vigésima Cuarta Conferencia Anual Internacional de Hawái sobre Ciencias de Sistemas. Hawai.
SENGE, PM (1990) La Quinta Disciplina, Londres, Century.
TIWANA, A. & MCLEAN, ER (2003) Experiencia en Integración y Creatividad en el Desarrollo de
Sistemas de Información. Revista de Sistemas de Información Gerencial, 22, 1343.
AAEN, I. (2008) Esencia: facilitando la innovación de software. Revista Europea de Sistemas de
Información, 17, 543553.
95
Machine Translated by Google
7. Trae tu caja de herramientas: herramientas y técnicas
de creatividad
En este capítulo investigamos el repertorio del desarrollador, es decir, el conjunto de
herramientas que un desarrollador tiene disponible para ayudar con la creatividad y la
innovación. La tesis será que un desarrollador o equipo de software innovador tiene dos
competencias básicas en relación con los conjuntos de herramientas. El primero es el
repertorio , es decir, el conocimiento de las herramientas y técnicas que se pueden utilizar
para respaldar varios aspectos del proceso de desarrollo, particularmente en lo que respecta
a la creatividad. La segunda es la selección , es decir, la capacidad de elegir la herramienta
o técnica que sea productiva en la situación particular de desarrollo en un momento
determinado.
Los términos herramienta y técnica a menudo se usan indistintamente, pero aquí usaremos
principalmente 'herramienta' para referirnos a una pieza de software y 'técnica' para
referirnos a un procedimiento abstracto para hacer algo. Cada desarrollador tiene un
repertorio existente de herramientas y técnicas derivadas de su educación y experiencia
que de vez en cuando se pueden utilizar de forma creativa, o para improvisar una solución
a un problema, por lo que aquí nos enfocamos en herramientas y técnicas para la innovación.
herramientas de creatividad
El desarrollo de sistemas de información está fuertemente automatizado. Viene con muchas
herramientas de software que facilitan la tarea, generalmente automatizando el trabajo
pesado. Los desarrolladores de software no funcionan bien sin sus compiladores,
traductores, interfaces de programación, diagramas y herramientas de casos, herramientas
de control de versiones y muchos otros. Existe una herramienta de software que admite
todas las tareas de desarrollo, desde la gestión de requisitos hasta la prueba y la
implementación, si el desarrollador desea utilizarlas. El acceso a Internet ha reemplazado
en gran medida los volúmenes de documentación de las diversas tecnologías de
programación involucradas. Las herramientas automatizan el trabajo rutinario y estructuran
grandes cantidades de información, pero también pueden crear una burocracia innecesaria
y desviar la atención de tareas más importantes. De ello se deduce que el desarrollador
que trabaja con la innovación también necesitará soporte de herramientas, y esta sección
plantea la pregunta: ¿qué tipo de soporte de herramientas de software puede sustentar
proyectos de software innovadores? Nuevamente, la literatura de investigación es
demasiado escasa para ser realmente útil, por lo que la sección terminará con una
propuesta para una caja de herramientas que es una forma de resumen de las diversas contribuciones de inv
Características de las aplicaciones que apoyan la creatividad
Existe una buena cantidad de investigación sobre aplicaciones que apoyan la creatividad,
donde la creatividad se entiende como un fenómeno científico o artístico generalizado, es
decir, no dirigido particularmente al desarrollo de sistemas de información. Las herramientas
descritas en esta literatura incluyen mapas mentales automatizados, herramientas de
soporte de argumentos (para estructurar discusiones), herramientas para
96
Machine Translated by Google
mejorar las experiencias artísticas (pintura y música), una herramienta de simulación de diálisis (que
ayuda a explorar varios escenarios de diálisis), una herramienta para visualizar la química de las
proteínas sanguíneas en un gráfico tridimensional y una herramienta de diseño de cajas de engranajes.
Según Greene, las herramientas de software de creatividad admiten:
• Exploración y experimentación (sin dolor) (modo sandbox) • Compromiso con el
contenido para promover el aprendizaje y el descubrimiento activos • Búsqueda,
recuperación y clasificación
• colaboración
• iteración
• errores instructivos
• acciones específicas del dominio
Está hablando de una amplia variedad de herramientas que respaldan la creatividad en muchos
campos (incluidas las artes), pero su caracterización respalda nuestra imagen emergente de un
proceso de desarrollo que es atractivo, deja espacio para la experimentación y los errores y tiene
una curva de aprendizaje alta. Shneiderman, también hablando en general, especifica las tareas
de dichas herramientas:
• buscar y explorar bibliotecas
digitales, la web y otros
recursos
• visualizar datos y procesos
para comprender y descubrir
relaciones • consultar con
compañeros y mentores para el
desarrollo intelectual
y apoyo emocional •
pensamiento por
asociaciones libres para hacer nuevas
combinaciones de ideas
• exploración de soluciones—herramientas hipotéticas y modelos de
simulación • composición de artefactos y actuaciones paso a paso •
revisión y reproducción de historiales de sesiones para apoyar la reflexión • difusión
de resultados para ganar reconocimiento y agregar a la búsqueda
recursos
Como muestra la lista a continuación, hay muchas herramientas de software disponibles para
comprar o descargar. Muchas de estas herramientas pueden respaldar aspectos de un proyecto
de software (por ejemplo, la generación inicial de ideas), pero hay poco o nada que esté destinado
directamente al desarrollador de software. Los ejemplos dados en la literatura son eclécticos y los
marcos bastante generalizados. Además
97
Machine Translated by Google
potencialmente hay muchos aspectos de la innovación de software que deben apoyarse y
muchas situaciones de uso diferentes.
Si tratamos de traducir estos principios a un contexto de software, podríamos entender
que la experimentación y la exploración a menudo toman la forma de probar diferentes
ideas de sistemas, donde los prototipos de muy baja tecnología (bocetos y maquetas en
papel) pueden ser reemplazados por prototipos digitales y de código. a medida que las
ideas toman forma. A menudo, estos servirán como punto de partida para el intercambio
de ideas con los usuarios. Los desarrolladores participarán en el descubrimiento y el
aprendizaje activos tanto en la tecnología como en el dominio del uso, generando
soluciones técnicas constructivas, quizás con tecnologías de vanguardia o desconocidas,
y subestimando el potencial de innovación de sus productos, en particular su utilidad para
una comunidad de usuarios en particular. Los desarrolladores pueden pasar mucho
tiempo investigando en la red: buscando bibliotecas de código, observando proyectos de
código abierto relacionados, comprendiendo el contexto de uso, evaluando plataformas y
entornos de desarrollo de la competencia y perfeccionando sus habilidades de
programación. A veces, este conocimiento se registra o codifica para su uso posterior o
para su difusión entre otros desarrolladores en una base de conocimiento, wiki o intranet.
El desarrollo de software en un contexto innovador plantea grandes demandas de
comunicación y colaboración. Algo de esto es interno al proyecto:
98
Machine Translated by Google
intercambio de experiencia, desarrollo de un propósito común, decisiones y estándares de diseño,
modificaciones al código base, refactorización. Otros aspectos son externos, involucrando la colaboración con
clientes y usuarios: estudios contextuales, casos de uso, requisitos, discusiones de listas de funciones,
demostraciones de prototipos, etc. Muchos aspectos de esta colaboración se pueden respaldar de formas
relativamente sencillas; por ejemplo, si su usuario no tiene tiempo para desempeñar el papel de cliente en el
sitio y estar físicamente presente todo el tiempo, al menos puede estar disponible para una videoconferencia
en Skype. Gran parte del desarrollo de software innovador es relativamente iterativo: las aplicaciones rara vez
se crean perfectamente la primera vez en incrementos; más bien se experimentan, se crean prototipos, se
discuten, se mejoran, se descartan, se agregan, se prueban y se demuestran. Además, hay mucho trabajo
rutinario con drones: 1 % de inspiración y 99 % de transpiración, como dice el cliché. Las herramientas de
software tienen el potencial de contribuir aquí. Otra función de las herramientas de software es la visualización.
Muchas técnicas de análisis y diseño de sistemas se ocupan esencialmente de la visualización (representaciones
esquemáticas de conjuntos complejos de relaciones) y están respaldadas por herramientas como Rational
Rose. El diseño arquitectónico comunica una estructura unificadora a un diseño y, a menudo, también se
visualiza en un diagrama.
Una caja de herramientas de soporte de software
Como una forma de resumir este debate, y enfocándolo en la innovación de software, se propone la siguiente
caja de herramientas de soporte de software:
objetivo ejemplos
apoyo para escapar del trabajo rutinario editores de programación, editores visuales, herramientas
de casos y diagramadores, herramientas de gestión de
proyectos, gestión de código y herramientas de control de versiones
herramientas de caja de arena
herramientas de creación de prototipos, pintores de pantalla, creadores
de demostraciones, software de animación y presentación de diapositivas,
herramientas visuales RAD
herramientas de conocimiento herramientas de búsqueda, resolución de problemas técnicos
y sitios de documentación de codificación, base de
conocimientos, wiki, intercambio de experiencias, depósito de ideas
herramientas de colaboración: internas herramientas de cooperación y comunicación, escritura
(proyecto), externo (clientes y otras partes colaborativa, soporte de redes sociales, soporte de
interesadas) diálogo soporte de diagramas
visualización y resumen simples para visualizar y acordar un propósito común frente
apoyo a la complejidad: mapas mentales, Microsoft Visio, herramientas
de casos
apoyo a la técnica de creatividad apoyo para técnicas de creatividad particulares utilizadas en
el proyecto
99
Machine Translated by Google
La caja de herramientas constituye un repertorio , un conjunto disponible de herramientas a
las que se puede recurrir. Normalmente, más no es mejor, en el sentido de que la mayoría de
las herramientas implican una curva de aprendizaje, requisitos de entrada y algo de burocracia.
La mayoría también amenaza con el desplazamiento del objetivo: que el uso de la herramienta
se convierta en el objetivo, en lugar de mejorar el rendimiento de la innovación. Agregar
Microsoft Project y Rational Rose a un proyecto de tres meses y tres personas es más
probable que lo ahogue en documentación que aumente su creatividad. La selección , agregar
el soporte adecuado para el proyecto en particular, es la clave.
Técnicas de creatividad La
creatividad se puede potenciar y hay muchas técnicas que se pueden utilizar para
estimularla. Realmente no es el propósito de este capítulo describirlos en detalle,
pero algunos de los más conocidos son:
• Surgimiento de suposiciones
• Lluvia de ideas •
Tableros gráficos de
tarjetas • Mapeo causal
• Escritura de papelitos de Crawford
• Enfoques dialécticos
• Cinco W y H
• Pensamiento
lateral • Mapas
mentales • Técnica de grupo
nominal • Análisis
FODA • TRIZ
Hay muchas descripciones de este tipo de técnicas en Wikipedia y otros lugares en
la web. La siguiente lista está adaptada de la wiki proporcionada por Mycoted.
100
Machine Translated by Google
102
Machine Translated by Google
Diferentes técnicas pueden adaptarse a diferentes situaciones, diferentes tareas de
desarrollo, diferentes personas y diferentes dinámicas de grupo. Con tantas técnicas
disponibles, la selección se convierte en un verdadero problema y existen algunos
esquemas taxonómicos que intentan agrupar las técnicas por función. Mycoted utiliza
el esquema:
• Proceso
• Definición del problema
• Generación de ideas
• Selección de ideas
• Implementación de ideas
Un esquema más complejo para las técnicas de generación de ideas (proporcionado por Martin
Leith) gira en torno a las visiones del mundo que las técnicas ejemplifican
• Cosmovisión 1 El mundo es una máquina (basado en el pensamiento
racional de causa y efecto, y el cambio de primer orden énfasis en producir
muchas ideas y seleccionar la brillante)
• Cosmovisión 1 Plus El mundo es una red de relaciones
• Cosmovisión 2: el mundo es un sistema (los problemas
complejos se abordan
mediante la manipulación del contexto, el análisis de patrones y la eliminación
de restricciones)
• Cosmovisión 3 El mundo es un campo de energía y conciencia (implica
aumentar la percepción del generador de ideas)
Cada una de las cosmovisiones tiene varias categorías:
103
Machine Translated by Google
Cosmovisión 1 El mundo es un Realización de inventario
Máquina Combinatorio
Deconstruyendo
Edificio
trampolines
Ideas a través de las fronteras
Eliminación de restricciones
Laddering (moverse a través de los niveles de
abstracción)
Anclaje y Marcaje Espacial (a partir de la
programación neurolingüística)
Trabajando al revés
Cosmovisión 1 Plus El mundo es un Conversacional
Red de Relaciones colaborativo
Cosmovisión 2 El mundo es un Romper las reglas
Sistema Haz más de lo que funciona
Intervención minimalista
Cosmovisión 3 El mundo es un campo de Experimental
energía y conciencia chamánica
Algunas técnicas bien conocidas (por ejemplo, mapas mentales) tienen herramientas de software
gratuito que se pueden obtener fácilmente. Con tantas técnicas diferentes disponibles, existen
problemas tanto de repertorio (qué técnicas debería tener uno disponible) como de selección
(qué técnica es apropiada para una situación dada). Las técnicas consideradas aquí varían
mucho en alcance, propósito y nivel de experiencia previa necesaria (desde leer una vez y
ejecutar hasta métodos completos de resolución de problemas académicos que requieren varias
semanas de estudio para dominar). Sin embargo, la mayoría de las personas creativas tienen
sus técnicas favoritas y una idea instintiva de cuándo deben usarse.
Schneiderman pasó algún tiempo categorizando los tipos principales de herramientas y técnicas
de creatividad: Tienden a apoyar (individualmente o en alguna combinación).
• establecer propósito e intención • desarrollar
habilidades básicas • alentar
la adquisición de conocimientos específicos del dominio • estimular y
recompensar la curiosidad y la exploración • generar motivación,
especialmente motivación interna • alentar la confianza y la
voluntad de asumir riesgos • centrarse en el dominio y la autocompetencia
• promover creencias compatibles sobre la creatividad •
proporcionar oportunidades para elegir y descubrir • desarrollar
la autogestión (habilidades metacognitivas)
104
Machine Translated by Google
• técnicas y estrategias de enseñanza para facilitar el desempeño creativo
Sin embargo, las técnicas de creatividad que apuntan directamente al desarrollo de
software y sistemas son mucho más raras. Algunas técnicas generales pueden adaptarse
con bastante facilidad al desarrollo de software; por ejemplo, los juegos de innovación de
Luke Hohman. Rediseñar un proceso de trabajo como un juego es una estrategia
deliberada para abrir diferentes posibilidades de pensamiento creativo, comenzando con
la idea de que lo que está sucediendo es entretenido y abierto, en lugar de la ejecución
rutinaria de un proceso de trabajo genérico. Soporte de juegos de Hohman: decidir las
características del producto (análisis de requisitos), comprender la experiencia proyectada
del cliente (usuario) con el nuevo producto, comprender la relación de mercado del
producto (aplicación de software) con otros productos en el mercado y una variedad de
otros procesos de innovación útiles . La atención se centra en la 'ideación': desarrollo
relativamente temprano de ideas de productos en relación con las necesidades del cliente.
También se centran en el trabajo en equipo, el tema de un capítulo anterior.
Un repertorio inicial de técnicas de creatividad para el desarrollo
de software
Esta sección proporciona algunas sugerencias de técnicas útiles basadas en el trabajo
realizado en el Laboratorio de Investigación de Innovación de Software y los programas
educativos de la Universidad de Aalborg. En cada caso hay una breve descripción de la
técnica junto con su papel en el proceso de desarrollo de software.
Lluvia de ideas
La lluvia de ideas (introducida por Alex Osborn) es una técnica para generar nuevas ideas
que es tan conocida que no necesita descripción. Sin embargo, existen algunas reglas y
técnicas simples para optimizar una sesión de lluvia de ideas, que a menudo se ignoran, y
es aconsejable buscarlas primero y usarlas.
Por lo general, utilizamos la lluvia de ideas para establecer las primeras ideas sobre un
producto y sus características. Tanto los usuarios como los desarrolladores pueden
contribuir fácilmente. También establece una buena dinámica creativa en el grupo, donde
entran en juego muchas ideas, se da la bienvenida al pensamiento divergente y se
establece un tono de comunicación más evaluativo que crítico. Si los usuarios (u otras
partes interesadas) y los desarrolladores trabajan juntos, también se establece el principio
de que las buenas ideas pueden provenir de cualquier lugar (no solo de una lista de
requisitos impulsada por el usuario), y que también deben comunicarse bien a personas
con diferentes antecedentes de experiencia. .
Mapeo hacia atrás
El mapeo hacia atrás es una técnica de visualización que parte de la premisa de que uno
está en el futuro en el estado deseado de éxito, felicidad, seguridad, deleite.
105
Machine Translated by Google
o emoción. Luego requiere que el equipo trabaje hacia atrás y especifique los pasos que tomaron
para lograr este estado.
Esta técnica se utiliza a menudo para centrar la atención de los desarrolladores en las principales
experiencias de los usuarios. Se le pide al equipo que visualice ser el usuario del software terminado
y que especifique su novedad y utilidad, es decir, cómo contribuye positivamente a su práctica y
experiencias. Les pedimos que no se limiten por la practicidad, la viabilidad técnica o la economía,
sino que se establezcan en la experiencia de usuario ideal donde se transforma su vida. Si pueden
describir esto, entonces pueden mapear hacia atrás para describir las diversas características del
software y cómo podrían desarrollarse.
CORRETEAR
SCAMPER (del libro Thinkertoys de Michael Michalko) asume que todo lo nuevo se basa en algo ya
existente. Se pueden desarrollar nuevas ideas, productos, servicios, etc. tomando algo ya existente y
convirtiéndolo en algo nuevo. Proporciona siete formas de hacer esto: Sustituir, Combinar, Adaptar,
Ampliar, Poner para otros usos, Eliminar (o minimizar) y Reorganizar (o invertir). A menudo se usa
con software gratuito que genera preguntas aleatorias que provocan los siete modos de alteración.
Esta técnica se utiliza cuando existe una idea inicial para un producto de software, o más adelante
en el proceso de desarrollo, cuando se percibe la necesidad de una revisión sustancial. El objetivo es
mejorar radicalmente el concepto de software actual, que a menudo se expresa como una acumulación
de funciones, un boceto de interfaz o algún otro tipo de prototipo, modelos de diseño o como parte de
un sistema de trabajo desarrollado de forma incremental. Una función o pantalla puede sustituirse por
otra que funcione mejor, combinarse con otra función, cambiarse para que realice una función
diferente, convertirse en el foco central de todo el concepto, o eliminarse más o menos, etc.
Seis sirvientes
Esta técnica se basa en el poema de Rudyard Kipling: Mantengo
a seis sirvientes honestos (Me
enseñaron todo lo que sabía);
Sus nombres son Qué y Por qué y Cuándo y Cómo
y Dónde y Quién...
Requiere que los participantes consideren las preguntas planteadas por las seis principales palabras
interrogativas en el idioma inglés.
Esta técnica se utiliza en nuestros programas en el punto de especificación inicial, cuando existe
algún tipo de concepto, pero antes de que exista un esfuerzo real de diseño o implementación.
Usamos preguntas como estas:
• ¿ Quién utilizará las funciones principales? por ejemplo, administrador, usuario, visitante del
sitio web o cliente?
106
Machine Translated by Google
• ¿ Dónde se utilizan las funciones principales?
• ¿ Qué componentes y arquitecturas principales estarán involucrados? • ¿ Cuándo
deberían estar disponibles los componentes? • ¿ Por
qué se necesitan estas características? •
¿ Cómo se diseñará o programará una característica?
Seis sombreros para pensar
En esta técnica de discusión desarrollada por Edward de Bono, se identifican seis estilos diferentes
de pensamiento (fáctico, emocional, cauteloso, positivo, creativo y controlador) y luego se asocian
con sombreros de diferentes colores. Los participantes adoptan diferentes sombreros para adaptarse
a los tipos de contribución a la discusión.
Seis sombreros para pensar es una buena técnica de revisión de proyectos y se puede usar
periódicamente para dar una impresión rápida del estado, tal vez en una reunión de pie.
Se deben cubrir todos los estilos de pensamiento, con alguien que se sienta en sintonía con un
estilo de pensamiento que dirija una breve discusión. Debería provocar preguntas como
• El sombrero blanco (hechos): ¿mantenemos nuestro cronograma y presupuesto? ¿Está
completa nuestra lista de características? ¿Tenemos las personas y los recursos que
necesitamos?
• Red Hat (emociones): ¿Se siente bien con el producto de software? ¿Sientes que el equipo
trabaja bien en conjunto? ¿Existe el equilibrio adecuado entre desafío y seguridad? ¿Se
siente feliz con sus tareas?
• El sombrero negro (precaución): ¿ Cuáles son los principales riesgos, inconvenientes y
puntos de crítica? • El
Sombrero Amarillo (positivo lógico): ¿Cuáles son las principales oportunidades y
los emocionantes desafíos?
• El Sombrero Verde (ideas): ¿ Qué más podríamos hacer que no estemos haciendo
actualmente? ¿Podemos trabajar de manera más inteligente? ¿Deberíamos cambiar?
¿dirección?
• El Sombrero Azul (control): ¿Cómo debe organizarse el resto del proyecto? ¿Qué pasos
vienen primero? ¿Cómo nos aseguramos de cumplir nuestros objetivos?
Las siguientes dos técnicas están destinadas a proporcionar un enfoque y una visión general en
relación con la dirección principal del proyecto y las características principales del producto de
software. Por lo general, se utilizan ya sea
1. en la fase de generación de ideas, cuando hay muchas buenas ideas (por ejemplo, para
funciones), pero se necesita un concepto o metáfora central que gobierne, o
107
Machine Translated by Google
2. más adelante en el proyecto, cuando el diseño y la implementación están más avanzados, pero el
proyecto se está desarrollando en varias direcciones, o 3. en situaciones en las que el
proyecto o producto necesita ser efectivo
comunicado a otras partes interesadas.
caja de visión
Vision Box es una técnica para desarrollar un mensaje de marketing que puede impulsar el esfuerzo de
desarrollo del producto. Si el producto fuera a comercializarse en un supermercado, ¿cómo sería su caja?
¿Qué características, beneficios y atributos del producto se destacarían en la caja para atraer a los
compradores y alentarlos a comprar? La técnica fue adoptada por primera vez en el campo del software
por Jim Highsmith y conduce a una maqueta de baja tecnología (cartón y crayón).
Por lo tanto, la técnica funciona bien en algunos contextos de desarrollo, por ejemplo, cuando se está
desarrollando un juego de computadora que finalmente competirá por la atención de los compradores con
otros juegos en los estantes de una tienda especializada en videojuegos. Una variante es desarrollar la
página de inicio del producto.
Prueba de ascensor
La prueba del ascensor desarrolla la capacidad del equipo para explicar el producto de software innovador
a alguien en dos minutos, el tiempo que se tarda en subirse a un ascensor. Viene del libro Crossing the
Chasm de Geoffrey Moore. Sigue la forma de una declaración lógicamente conectada:
para (cliente objetivo) que
(declaración de la necesidad u oportunidad) el (nombre
del producto) es una (categoría de producto) que
(beneficio clave, razón de peso para comprar) es
diferente a (alternativa competitiva principal)
nuestro producto (declaración de diferenciación principal)
Heurística de estilo de trabajo 7: traiga su caja de herramientas
El software rara vez se construye sin una variedad de herramientas de software y técnicas de análisis y
diseño. El desarrollador de software innovador claramente también necesitará trabajar con herramientas y
técnicas adecuadas, pero hay poca investigación que ayude a especificar qué herramientas y técnicas
ayudarán. La elección será claramente contingente, no genérica, es decir, será específica del proyecto y
de la situación.
Hay muchas herramientas de desarrollo de diferentes tipos, pero normalmente no están dirigidas a la
creatividad o la innovación. Hay incluso más técnicas de creatividad para elegir, pero estas no están
dirigidas al desarrollo de software.
Por lo tanto, los desarrolladores de sistemas de información creativos necesitarán un repertorio : una gama
de herramientas y técnicas con las que estén familiarizados. Es imposible aprenderlo todo, y esto también
imposibilitaría el trabajo de elegir. A
108
Machine Translated by Google
el repertorio de un puñado de cada uno es probablemente específico. Las herramientas de software pueden
cubrir (como se sugiere):
• soporte para escapar del trabajo rutinario •
herramientas de sandbox
• herramientas de
conocimiento • herramientas de colaboración: internas (proyecto), externas (clientes y
otras partes interesadas)
• soporte de visualización y visión general •
soporte de técnica de creatividad
Las técnicas de creatividad pueden cubrir algunas funciones básicas del proceso, como la
generación de ideas, el enfoque y la descripción general, la revisión y el cambio de dirección.
El siguiente paso será la selección : hacer coincidir las herramientas y técnicas del repertorio
con la situación de desarrollo en cuestión. Esto puede ser formal y estar integrado en las
condiciones estructurales del proyecto, pero es probable que se improvise como respuesta a
las demandas, desafíos y amenazas actuales del proyecto. Aquí la intuición basada en la
experiencia guiará la selección.
Fuentes y lecturas adicionales
ADAMIDES, ED & KARACAPILIDIS, N. (2006) Soporte de Tecnologías de la Información para
la Gestión del Conocimiento y Procesos Sociales de la Innovación.
Tecnonovación, 26, 5059.
GREENE, SL (2002) Características de las aplicaciones que apoyan la creatividad.
Comunicaciones de la ACM, 45, 100104.
HOHMAN, L. (2007) Juegos de innovación: creación de productos y servicios innovadores,
Boston, Pearson.
LEITH, M. Compendio de métodos de generación de ideas. http://www.idea sandbox.com/wiki/
index.php/Compendium_of_Idea_Generation_Methods MYCOTED, wiki de técnicas de
creatividad. http://www.mycoted.com/
SHNEIDERMAN, B. (2000) Creando creatividad: interfaces de usuario para apoyar la innovación.
ACM Transactions on ComputerHuman Interaction (TOCHI), 7, 114138.
SHNEIDERMAN, B. (2002) Herramientas de apoyo a la creatividad. Comunicaciones de la
ACM, 45, 116120.
SHNEIDERMAN, B. (2007) Herramientas de apoyo a la creatividad. Comunicaciones de la
ACM, 50, 2032.
109
Machine Translated by Google
8. Saber cuándo eres (no) innovador: valoración y
valoración
Cuando los desarrolladores se centren en la innovación de software, será importante que sepan si
lo están logrando o no. En esta sección analizamos algunos métodos formales e informales de
evaluación. La pregunta bajo escrutinio es: ¿cómo saber si se está siendo innovador en el trabajo
de desarrollo?
La literatura contiene ejemplos de varios tipos de evaluación; en particular de
• creatividad personal y grupal • evaluación
de productos de software • inventario de
ambiente de trabajo
El capítulo describirá estos principios de evaluación, pero también reconocerá que no van lo
suficientemente lejos: en particular, son de poca ayuda para los equipos de desarrollo que intentan
evaluar su propio desempeño en una situación de proyecto concreta. Por lo tanto, se presenta un
breve instrumento de evaluación de proyectos aquí y ahora, rápido y sucio.
Creatividad personal: pruebas psicométricas
Las pruebas psicométricas se utilizan ampliamente tanto en la investigación como en la práctica;
por ejemplo, para evaluar la idoneidad de los solicitantes de empleo. Aunque este es un uso
bastante popularizado, en muchos casos las pruebas se basan en una teoría sólida y grandes
conjuntos de datos. Los investigadores han utilizado perfiles de estilo de innovación (consulte el
capítulo sobre creatividad personal) para evaluar los estilos de innovación de los desarrolladores de sistemas.
110
Machine Translated by Google
Un conjunto de preguntas conduce a puntajes numéricos en activos de cuatro escalas,
que luego se utilizan para trazar el estilo de innovación del entrevistado. Aunque la
investigación es interesante, es difícil ver cómo estas técnicas podrían ser de gran
beneficio para los desarrolladores de software en ejercicio, además de ayudarlos a
comprender y desarrollar su potencial creativo personal.
Evaluación de productos de software innovadores
Lobert y Dologite desarrollaron una técnica más relevante. Intentaron evaluar el potencial
de innovación de las propuestas de productos de software y desarrollaron un marco
teórico para este fin. El
El marco se basa en tres dimensiones de la creatividad (novedad, resolución, síntesis y
elaboración) que se utilizan para evaluar la idea del proyecto, su posible efecto en la
organización para la que está diseñado y sus elementos técnicos.
Se desarrolla una serie de preguntas para cubrir estos nueve parámetros. No hay
medidas objetivas; en cambio, las respuestas son evaluadas por expertos.
¡Dos limitaciones obvias de la investigación son que las innovaciones se evalúan en la
etapa de propuesta (idea) y que los expertos en el estudio fueron los profesores de los
estudiantes que hicieron las sugerencias! Sin embargo, en principio la idea es sólida y
podría aplicarse.
Evaluación del clima laboral
Una técnica de evaluación adecuada para los administradores de software es el Work
Environment Inventory (WEI). El inventario ofrece seis parámetros para la evaluación,
con preguntas y puntajes de evaluación.
• libertad
• trabajo desafiante •
recursos suficientes
• estímulo de supervisión
111
Machine Translated by Google
• apoyo al grupo de trabajo
• estímulo organizativo
El resultado final del estudio da una idea de cuán favorable es el ambiente de trabajo
para la creatividad y la innovación.
Descripción general de la evaluación
Aunque las técnicas presentadas anteriormente ofrecen cierto potencial, están muy por
debajo de cualquier forma integral o utilizable de medir o describir la innovación de
software. Entre los problemas que se deben reconocer están:
• son ejemplos eclécticos • no
existe un marco sistemático • hay muchos
aspectos de la innovación de software que evaluar • muchas técnicas
convencionales de evaluación económica son medidas a largo plazo, mientras
que la innovación a menudo implica largas demoras antes de que se puedan
evaluar los beneficios
• la innovación de software depende en gran medida de la situación y es genérica
técnicas no son necesariamente aplicables.
En el marco de la
derecha, una evaluación
medidas son
propuesto y organizado
en torno a dos ejes.
Los ejes distinguen las
medidas que se aplican
aquí y ahora
de las
poder
que serán apropiadas
en el futuro, y las
formas formales
(basadas en la
medidas
recopilación e
interpretación metódicas
de datos) de los tipos
informales de
recopilación de impresiones. Las medidas formales que se pueden aplicar ahora
incluyen las técnicas orientadas a la investigación descritas anteriormente. Una forma
muy convencional de medir la innovación es contar las patentes, pero esto a menudo
se basa en tener una invención formalmente descrita en una etapa relativamente
avanzada de desarrollo. Además, muchas, quizás la mayoría de las invenciones nunca
serán explotadas o difundidas, y por lo tanto no pueden realmente ne
112
Machine Translated by Google
descritas como innovaciones. Las patentes de software son más fáciles de obtener en los
EE. UU. que en Europa, y existen desacuerdos sobre lo que constituye una innovación de
software patentable. Las medidas económicas convencionales, como el retorno de la
inversión (RoI) y la cuota de mercado, dependen de tener la innovación en la producción
(o distribución en el caso de las licencias de software) y los retrasos en el impacto de la
innovación significan que estas medidas pueden ser bastante a largo plazo. Pueden pasar
algunos años después del lanzamiento de un producto antes de que sus efectos
económicos puedan evaluarse adecuadamente. Las medidas informales a más largo
plazo están relacionadas con la buena voluntad de los clientes y la reputación. De mayor
interés en esta etapa de la evolución de la teoría de la innovación de software son las
medidas informales aquí y ahora. Estos pueden permitir a los desarrolladores desarrollar una idea de su p
Incluyen:
• flujo: los desarrolladores a menudo pueden evaluar su propia contribución
observando su estado psicológico durante su trabajo. El
flujo indica productividad y concentración, mientras que la paliza es menos
deseable.
• desempeño del equipo: los equipos innovadores tienen una buena distribución de
roles, diálogo, cierto grado de conflicto no destructivo, la capacidad de trabajar
con pensamiento divergente
• Desafío técnico: los proyectos innovadores se ven desafiados por las demandas
técnicas y de programación, pero no hasta el punto en que la supervivencia del
proyecto se vea amenazada.
• respuestas de los usuarios: los proyectos de desarrollo innovadores tienen
relaciones constructivas y desafiantes con sus clientes y usuarios •
estado del proyecto: un proyecto innovador a menudo está retrasado porque hay
muchas dificultades, pero no en la medida en que se verá fatalmente
comprometido
• nivel de desafío/respuesta: los desarrolladores son desafiados, pero en formas en
las que pueden encontrar reposos adecuados. Están estimulados y emocionados,
pero no bajo un estrés inmanejable durante largos períodos de tiempo.
Instrumento de evaluación rápida y sucia aquí y ahora
El siguiente instrumento no se basa en investigación empírica; sin embargo, tiene una
base teórica ya que se basa en el material de este libro, que se deriva de la investigación
disponible en el área. El cuestionario tarda diez minutos en completarse y se divide en
ocho áreas a las que se les da el mismo peso. En cada caso, debe considerar las
preguntas (cada una de las cuales refleja una subárea teórica específica), luego asigne a
su proyecto una puntuación de siete, donde siete significa que lo está haciendo bien.
Otros miembros del equipo también pueden usar diez minutos y puedes comparar los
resultados.
113
Machine Translated by Google
Manten tu cabeza en alto
¿Entiende las últimas tendencias y desarrollos técnicos en el campo en el que está
trabajando?
¿Conoce los productos rivales en los que están trabajando otras empresas de software?
¿Entiende el potencial de la tecnología emergente?
¿Ha evaluado qué infraestructura requiere su producto y estará disponible cuando se
lance el producto?
¿Ha investigado el mercado potencial para su producto?
¿Es tu tiempo correcto?
puntaje [ ]
Haga crecer su comunidad de conocimiento
¿Está en contacto con líderes en el campo: otros grupos de desarrollo, investigadores,
universidades, usuarios líderes?
¿Se asocia para mejorar su base de experiencia?
¿Puede importar la experiencia necesaria para el proyecto cuando la necesita?
¿Obtiene comentarios externos valiosos de fuera del proyecto? Desde fuera de la
empresa
¿Es usted miembro de comunidades de conocimiento relevantes en línea y fuera de
línea?
puntuación [ ]
Apunta al perfil de innovación de tu producto
¿Puede articular el valor agregado (utilidad) para el usuario?
¿Ha determinado cómo su producto es nuevo y original?
¿Entiende a su comunidad de usuarios, sus hábitos de trabajo y ocio?
¿Entiende cómo cambiará la vida de sus usuarios cuando usen su producto?
¿Trabajas con el perfil de innovación del producto?
puntaje [ ]
Da forma a tu propio proceso
¿Tiene una estrategia de proceso de innovación y es adecuada para la tarea?
¿Tiene el equilibrio correcto de estrategias dirigidas por el mercado y dirigidas por la
tecnología?
114
Machine Translated by Google
¿Existen técnicas y prácticas que estimulen la creatividad del equipo y permite espacio para
la creatividad y la innovación?
¿Puedes improvisar para salir de las dificultades?
¿Adapta continua y explícitamente su proceso a las necesidades actuales del proyecto?
puntaje [ ]
Desarrolla tu creatividad personal ¿Estás,
personalmente, aprendiendo rápido?
¿Su papel en el proyecto le conviene y le estimula?
¿Puedes aportar tus conocimientos y experiencia para enfrentar el desafío del software?
¿Está desafiado y estimulado por las tareas que tiene sin sentir estrés crónico?
¿Estás a menudo en flujo?
puntaje [ ]
Sea un súper trabajador en equipo
¿Eres consciente de los factores que dificultan la innovación del equipo y trabajas para
mejorarlos?
¿Reconoce el equipo el trabajo en equipo subóptimo y trabaja para mejorarlo?
¿El equipo trabaja hacia una visión compartida en evolución y sabe hacia dónde se dirige?
¿El equipo trabaja en la comunicación efectiva (diálogo)?
¿Entiende el equipo cómo acomodar el pensamiento divergente?
¿Los miembros del equipo comunican su experiencia y conocimientos y aprenden unos de
otros?
puntaje [ ]
Trae tu caja de herramientas
¿El proyecto tiene un repertorio de técnicas de creatividad formales o informales y las utiliza
cuando es apropiado para ayudarlo a avanzar?
¿Cuenta con la herramienta adecuada para maximizar el progreso creativo y minimizar el
trabajo pesado?
puntaje [ ]
115
Machine Translated by Google
Saber cuándo eres (no) innovador
¿Reconoce el equipo cuándo no está avanzando, lo discute abiertamente y, como
resultado, hace algo diferente?
puntaje [ ]
Ahora identifique las áreas en las que obtuvo una puntuación baja y considere
respuestas. apropiadas. No las descarte simplemente como inapropiadas para sus
circunstancias. Hay un trasfondo teórico detrás de las preguntas, lo que significa que es
más probable que estés dejando que tus predisposiciones inconscientes dominen
demasiado, a que la pregunta sea irrelevante.
Heurística de estilo de trabajo 8: comprenda cuándo (no) es
innovador
Comprender el estado de innovación de un proyecto de software o el potencial de
innovación de un equipo de desarrolladores es un problema complejo. Algunos
investigadores han desarrollado técnicas bastante limitadas para evaluar aspectos de la
innovación de software, pero son eclécticas y asistemáticas. Sin embargo, el desarrollador
de alertas y el administrador de software tienen formas informales aquí y ahora para
monitorear su trabajo. Los proyectos de software innovadores tienen muchos desafíos:
desafíos técnicos, desafíos de proceso, desafíos de conocimiento, desafíos de relación,
desafíos de comunicación y desafíos económicos. Esto significa que son inevitablemente
difíciles, al menos en algunos períodos. Sin embargo, los largos periodos improductivos,
los conflictos sostenidos o el estrés laboral, los desafíos técnicos insuperables y la mala
comunicación con los clientes y usuarios (y muchas otras cosas) amenazan la innovación.
Los desarrolladores deben comprender cuándo ya no innovan y reaccionar cambiando
las cosas. El instrumento de evaluación rápido y sucio aquí y ahora puede ayudar en
este proceso.
Fuentes y lecturas adicionales
COUGER, JD (1996) Prensa: Medición del Clima para la Creatividad en Organizaciones
SI. Gestión de la Creatividad y la Innovación, 5, 273279.
DAVILA, T., EPSTEIN, MJ & SHELTON, R. (2006) Hacer que la innovación funcione:
cómo gestionarla, medirla y sacar provecho de ella, Upper Saddle River, Wharton School
Publishing.
HIGGINS, L. (1996) Una Comparación de Escalas para Evaluar la Creatividad Personal
en SI. Congreso Internacional de Ciencias de Sistemas. Hawai, IEEE.
LOBERT, BM & DOLOGITE, DG (1994) Medición de la creatividad de las ideas del
sistema de información: una investigación exploratoria. Ciencias del Sistema, 1994.
Vol.IV: Sistemas de información: Tecnología de colaboración Sistemas organizacionales
y tecnología, Actas de la Vigésima Séptima Conferencia Internacional de Hawái Hawái.
MILLER, WC, COUGER, JD & HIGGINS, LF (1993) Comparación del perfil de estilos de
innovación del personal de SI con otras ocupaciones.
116
Machine Translated by Google
9. Innovación de software: ocho heurísticas de estilo de trabajo
para desarrolladores de sistemas innovadores
Innovación de software
En los diversos capítulos de este libro hemos examinado el proceso y producto de software
innovador, el desarrollador de software creativo, el equipo de software innovador, las técnicas de
creatividad y las herramientas de software, la comunidad y red de conocimiento de innovación, las
trayectorias tecnológicas y las ventanas de innovación, y la evaluación de la innovación.
La innovación de software se lleva a cabo en relación con los desarrollos sociales, en particular el
desarrollo de infraestructura y las tendencias tecnológicas y de mercado.
Las tendencias tecnológicas pueden entenderse como trayectorias, moviéndose en direcciones que
pueden analizarse. Las tecnologías mecánicas se vuelven digitales y convergen.
Los mercados de software y la demanda de los usuarios también desarrollan y muestran tendencias.
La innovación de software siempre depende de las infraestructuras sociales y técnicas; si no están
lo suficientemente desarrolladas, es probable que la innovación fracase. Si juntamos estas ideas,
podemos desarrollar el concepto de una ventana de innovación: el momento adecuado para crear
una aplicación en particular.
La innovación científica, empresarial y de ingeniería no la llevan a cabo grupos o individuos aislados
sino en redes de innovación y comunidades de conocimiento.
Las conexiones del desarrollador de software innovador con colegas igualmente innovadores en
campos relacionados son muy importantes para construir y compartir conocimientos e ideas. El
desarrollo de software tiene aquí su propia historia de éxito
117
Machine Translated by Google
– la comunidad de código abierto. El desarrollo de código abierto ha sido aclamado como un
nuevo modelo de innovación de 'colectivo privado'.
El producto de software innovador, concluimos, muestra tanto novedad como utilidad. La
invención (la parte de la novedad) en realidad no es suficiente; la innovación también
contiene la idea de que la invención debe ser explotada y difundida, que debe llegar a su
comunidad objetivo de usuarios y ser adoptada. La consecuencia de la adopción es el
cambio social, no normalmente en el sentido de cambios profundos en la sociedad (aunque
también puede ocurrir), sino en el sentido de comunidades de usuarios que modifican su
trabajo o sus prácticas de ocio mediante el uso del software. Las innovaciones de software
pueden ser incrementales (pequeños cambios en las prácticas en pequeñas comunidades
de usuarios de nicho) o radicales y discontinuas.
Las teorías de Altshuller sobre jerarquías de sistemas técnicos y niveles de innovación
pueden ayudarnos a comprender la diferencia. El rango de innovación es muy amplio: las
tecnologías de software están entretejidas en el tejido mismo de nuestras vidas en las
sociedades desarrolladas. Las seis formas de utilidad describen el ancho de los tipos de
productos de software innovadores.
• infraestructura informática •
habilitación de tecnología
• servicio al usuario
• permitir el cambio de negocio •
comunicación de interacción
• entretenimiento
El libro desarrolla la idea de un perfil de innovación para un producto de software,
involucrando la consideración explícita de la novedad, la utilidad, la comunidad de usuarios,
el cambio social, el mercado, la innovación técnica y la dependencia de infraestructura del
producto.
El proceso de software innovador puede ser lineal, comenzando con un destello de inspiración
que conduce a una nueva especificación de producto más o menos completa (el modelo de
bombilla), o iterativo. Esto refleja una evolución contemporánea en los métodos de desarrollo
de software en los que los métodos ágiles han venido a complementar los métodos
tradicionales. En la forma de proceso lineal, la atención se centra en el análisis de requisitos
creativos; las interacciones creativas con los usuarios pueden ser una forma de desarrollar
un sistema de información innovador que haga más que reflejar un proceso de trabajo
existente. Sin embargo, los ejemplos de métodos reales de desarrollo de sistemas centrados
en la innovación son raros; uno de ellos es ESSENCE de Aaen, en la tradición iterativa y
ágil. Los métodos ágiles son una innovación de proceso global (surgieron recientemente),
pero esto no significa automáticamente que el resultado de un método ágil será un producto
de software innovador. Los métodos ágiles están dirigidos a la eficiencia, no a la innovación.
Sin embargo, hay alguna razón para esperar que la reducción de la burocracia y la carga de
análisis racional puedan conducir a la innovación, y que la respuesta rápida al cambio es
esencial. La mayoría de los métodos de desarrollo de software se centran en las necesidades
del usuario, pero otra forma de pensar en la innovación de software es como mercado
118
Machine Translated by Google
dirigido (lo que comprarán los consumidores) o dirigido por la tecnología (lo que los
desarrolladores pueden idear). Cualquiera que sea el enfoque, será un error suponer que un
método formalizado impuesto desde el exterior podría (por sí mismo) conducir a un producto
innovador; estas situaciones siempre requerirán dotes humanas de improvisación y bricolaje.
El libro desarrolla seis estrategias de proceso de innovación:
• análisis de requisitos creativos • el
marco del proceso diseñado • creación de
prototipos de baja tecnología
• innovación de software impulsada por el usuario
• desarrollo comunitario • el
prototipo de investigación.
La innovación de procesos de software puede tener lugar a nivel global o local. Los métodos
ágiles son un ejemplo de innovación global, mientras que las muchas iniciativas de mejora
de procesos de software pueden conducir a la innovación local.
El libro desarrolla ocho perspectivas sobre el desarrollador de software creativo , entendiendo
la creatividad como:
• el proceso mental del desarrollador: reconocer y explotar el descubrimiento
puntos
• un conjunto de competencias de desarrollo personal relacionadas tanto con
resolver problemas y reconocer oportunidades
• un estilo de pensamiento asociado con diferentes fortalezas en las personalidades de
desarrollo del individuo • meta
pensamiento: reconocer predisposiciones y tendencias en el propio pensamiento (y en
el de otros) y superarlas • pensamiento de todo el cerebro:
más allá de la racionalidad • una relación entre el
desarrollador individual y comunidades de personas e ideas (dominio, campo) • un
estado de ánimo: la forma en que
está dispuesta la mente del desarrollador cuando es creativo (flujo)
• una habilidad mental universal para mejorar
Los desarrolladores trabajan en equipos y caracterizamos al equipo de software innovador
como un equipo súper funcional. Reconocemos varias barreras a la creatividad y estilos de
disfunción grupal como obstáculos para el proceso creativo del equipo. Muchos factores
pueden jugar un papel positivo. Una comprensión de los roles del equipo permite la
construcción de equipos innovadores. La calidad de la interacción del equipo es importante,
la forma en que acomoda el pensamiento divergente y la forma en que reconoce patrones
sociales productivos en su trabajo. El aprendizaje en equipo y la integración de la experiencia
ayudan con el desarrollo y mantenimiento de la visión general, la visión y el propósito común.
Finalmente, un equipo innovador tiene un
119
Machine Translated by Google
actitud de cabeza arriba; comprende los desarrollos comerciales y científicos, así como las tendencias
sociales a su alrededor.
El soporte de herramientas de software es un aspecto importante del desarrollo innovador y el libro
desarrolla una caja de herramientas de soporte de software, diseñada en torno a:
• soporte para escapar del trabajo rutinario •
herramientas de sandbox
• herramientas de conocimiento
• herramientas de colaboración
• soporte de visualización y visión general • soporte
de técnica de creatividad.
Las técnicas de creatividad pueden ser un elemento del proceso de desarrollo de software creativo.
Hay muchos de estos, y normalmente requieren un grado de adaptación para ser significativos en el
trabajo de desarrollo del sistema. El libro desarrolla un repertorio inicial que incluye:
• lluvia de ideas •
mapeo hacia atrás • SCAMPER
• seis sirvientes • seis
sombreros para pensar
• caja de visión
• prueba de ascensor.
Finalmente, los innovadores de software necesitan desarrollar un instinto para saber cuándo su
trabajo va bien. Hay muchas técnicas de valoración y evaluación , pero pocas que estén directamente
dirigidas a la innovación de software. Una estrategia sensata es centrarse en evaluaciones intuitivas
aquí y ahora:
• flujo
• desempeño del equipo •
desafío técnico
• respuesta del usuario
• estado del proyecto •
nivel de desafío/respuesta.
Ocho heurísticas de estilo de trabajo para desarrolladores de sistemas innovadores
El libro no es una guía de métodos o procesos. En su lugar, funciona con la idea de heurística de
estilo de trabajo, una característica amplia que tipifica la forma de trabajar de un desarrollador. Aquí
están las ocho heurísticas desarrolladas en el libro.
120
Machine Translated by Google
Mantenga la cabeza en
alto Los sistemas y los desarrolladores son ingenieros y profesionales de negocios con muchas
habilidades a su alcance: técnicas de análisis, métodos, lenguajes de programación, técnicas de
gestión de proyectos y muchos otros. Gran parte de un proyecto de desarrollo implica la aplicación
de esas habilidades en una comunicación muy cercana con colegas y (a veces) usuarios. El
enfoque de este trabajo es inevitablemente hacia adentro. Los programadores tienen una relación
muy intensa con sus editores de código y pasan muchas horas con la cabeza enterrada en la
pantalla.
La innovación de software, sin embargo, implica la colocación de un producto especializado en
una comunidad de usuarios en un momento determinado. Si la tecnología es inmadura, la
infraestructura no está suficientemente desarrollada o el mercado no está desarrollado, el producto
fallará. Si la tecnología está bien establecida, la infraestructura es más que adecuada y/o el
mercado pide a gritos el producto, entonces es probable que sus competidores ya estén muy por
delante de usted y nunca lo alcance. Nadie está mejor situado para entender estas cosas que tú,
si las estudias a diario.
Haga crecer su comunidad de conocimiento La
innovación depende del conocimiento, y el conocimiento es un proceso social.
Los innovadores de software no suelen ser genios solitarios, a pesar de muchos de los mitos que
circulan. La mayoría de los avances técnicos involucran a muchos contribuyentes en roles más
grandes o más pequeños, incluso si la historia le otorga el crédito a una persona más tarde.
Las empresas, los investigadores universitarios, los institutos de investigación, los usuarios
principales, los programadores de dormitorio especializados, los capitalistas de riesgo y los
responsables políticos, todos tienen su papel que desempeñar. En el mundo del desarrollo hay
roles importantes para los innovadores abiertos, en las diversas comunidades de código abierto y
en colaboración con
Los
empresas.
innovadores de software reconocen la importancia de las comunidades de
las que son miembros, conocen su lugar en esas comunidades y trabajan activamente para
fomentarlas.
Apunte al perfil de innovación de su producto Un producto
de software innovador tiene ciertas características. Es novedoso en relación a su comunidad de
usuarios proyectada y tiene una particular utilidad para ellos. Puede ser una innovación incremental
o más radical, y tener más o menos importancia para un grupo social pequeño o muy grande. Sin
embargo, el innovador debe comprender y orientar el potencial de innovación del producto. Esto
se puede describir como su perfil de innovación. Por supuesto, algunas innovaciones tienen vida
propia y encuentran usos que nunca se pretendieron, pero, en general, un equipo de desarrollo
necesita comprender cómo encajará el producto en la práctica de trabajo o entretenimiento de sus
usuarios, y cómo desarrollará esa práctica. .
Da forma a tu propio proceso
Es probable que el desarrollo de un producto de software innovador sea turbulento y desafiante y,
aunque los desarrolladores de sistemas tienen una larga historia de
121
Machine Translated by Google
desarrollando e implementando (ya veces incluso usando) procesos de diseño, no está
nada claro qué es un proceso de innovación de software óptimo. Lo más probable es
que haya tantos procesos de desarrollo exitosos como equipos innovadores. Común a
todo proceso será la capacidad de improvisar la salida de dificultades, callejones sin
salida y desafíos aparentemente insuperables. El estado de alerta es la clave, y los
desarrolladores deben hacerse cargo de su propio proceso, adaptarse a las necesidades
del proyecto en particular y adaptarlo nuevamente cuando ya no funcione. Y otra vez,
y otra vez................................
Desarrolle su creatividad personal Todos
son creativos a su manera, y cada desarrollador tiene su propio estilo y personalidad
de creatividad. Estos pueden ser bastante diferentes y altamente dependientes de la
situación. Una contribución innovadora en una situación puede ser simplemente una
desventaja en otra. Sin embargo, los innovadores de software son conscientes de sus
propios perfiles creativos: lo que pueden y no pueden contribuir. Los desarrollan
activamente y entienden cómo incorporarlos al trabajo del equipo.
Sea un gran trabajador en
equipo Un equipo de software innovador es un equipo superfuncional. Funciona
particularmente bien en la comunicación y la resolución de problemas, puede gestionar
su propio proceso y lograr una visión general y coherencia, y explota las competencias
de cada uno de sus miembros para lograr un resultado sinérgico. Los desarrolladores
innovadores entienden su papel en dicho equipo y contribuyen no solo a su desempeño
personal, sino también al desempeño conjunto del equipo, que es, al final, más
importante.
Trae tu caja de herramientas
El desarrollo de software depende de herramientas de software y técnicas de desarrollo,
y el desarrollo de software innovador no es una excepción. Un desarrollador de
software innovador tiene un repertorio de herramientas y técnicas, y las aplica de
forma selectiva: la herramienta o técnica adecuada para la situación de desarrollo
correcta.
Saber cuándo eres (no) innovador
No todo va sobre ruedas todo el tiempo. Los proyectos funcionan bien en períodos,
luego desarrollan problemas y se recuperan. A veces se convierten en áreas de desastre.
Los proyectos innovadores son particularmente desafiantes y, por lo tanto, pueden
encontrarse con períodos no creativos. A veces, estos serán temporales y sin
importancia, pero a menudo los desarrolladores deberán ser capaces de reconocer
que existe un problema y reaccionar adecuadamente. A menudo, la reacción adecuada
será algún tipo de ajuste del proceso para que las cosas vuelvan a funcionar.
122
Machine Translated by Google
Manten tu cabeza en alto
Haga crecer su comunidad de conocimiento
Apunta al perfil de innovación de tu producto
Da forma a tu propio proceso
Desarrolla tu creatividad personal.
Sea un súper trabajador en equipo
Trae tu caja de herramientas
Saber cuándo eres (no) innovador
Ahora es tu turno…………………….
jeremy rosa
Aalborg, diciembre de 2010
123
Machine Translated by Google
Lista completa de lecturas y fuentes.
ADAMIDES, ED & KARACAPILIDIS, N. (2006) Soporte de Tecnologías de la
Información para la Gestión del Conocimiento y Procesos Sociales de la
Innovación. Tecnonovación, 26, 5059.
ALTSHULLER, GS (1988) La creatividad como ciencia exacta, Nueva York, EE. UU.,
Gordon & Breach.
AMABILE, TM, CONTI, R., COON, H., LAZENBY, J. & HERRON, M.
(1996) Evaluación del entorno laboral para la creatividad. The Academy of
Management Journal, 39, 11541184.
AMOROSO, DL & COUGER, JD (1995) Desarrollo de Sistemas de Información con
Técnicas de Creatividad: Un Estudio Exploratorio. Actas de la 28ª Conferencia
Internacional Anual de Hawái sobre Ciencias de Sistemas.
BANSLER, J. & HAVN, E. (2004) Improvisación en el desarrollo de sistemas de
información. EN KAPLAN, B. (Ed.) Investigación de Sistemas de Información.
Boston, Springer.
BEARDON, C., EHN, P. & MALMBORG, L. (2002) Diseño de Entornos Creativos
Aumentados por Tecnología. Actas de soporte informático para el aprendizaje
colaborativo 2002, 711.
BELBIN, M. (1981) Management Teams, Londres, Heinemann.
BROOKS, FP (1975) El Mes del Hombre Mítico.
CANDY, L. & EDMONDS, E. (2000) Mejora de la creatividad con tecnologías
emergentes. Comunicaciones de la ACM, 43, 6365.
CHESBROUGH, H. (2003) Innovación Abierta: El Nuevo Imperativo para Crear y
Beneficiarse de la Tecnología, Boston, MA, Harvard Business School
Publishing.
COOPER, RB (2000) Creatividad de desarrollo de tecnología de la información: un
estudio de caso de intento de cambio radical. MIS Quarterly, 24, 245276.
COPLIEN, JO & HARRISON, NB (2005) Patrones organizacionales de desarrollo de
software ágil, Pearson Prentice Hall.
COUGER, JD (1990) Garantizar enfoques creativos en el diseño de sistemas de
información. Economía gerencial y de decisiones, 11, 281295.
COUGER, JD (1996) Prensa: Medición del Clima para la Creatividad en
Organizaciones SI. Gestión de la Creatividad y la Innovación, 5, 273279.
COUGER, JD (1997) Creatividad/Innovación en Organizaciones de Sistemas de
Información. System Sciences, 1997, Actas de la Trigésima Conferencia
Internacional de Hawái, 3.
124
Machine Translated by Google
COUGER, JD (1997) Resultados de una estructura de investigación transdisciplinar para el
estudio de la creatividad/innovación en SI. System Sciences, 1997, Actas de la
Trigésima Conferencia Internacional de Hawái, 3.
CSIKSZENTMIHALYI, M. (1997) Creatividad: flujo y la psicología del descubrimiento y la
invención, Harper Perennial.
DAVILA, T., EPSTEIN, MJ & SHELTON, R. (2006) Hacer que la innovación funcione: cómo
gestionarla, medirla y sacar provecho de ella, Upper Saddle River, Wharton School
Publishing.
DE BONO, E. (1971) El uso del pensamiento lateral: un libro de texto de creatividad,
Pingüino.
DEARDEN, A. & HOWARD, S. (1998) Captura de los requisitos y prioridades de los usuarios
para sistemas interactivos innovadores. Actas de la Conferencia de Interacción
Humana Informática de Australasia, 160–167.
DENNING, PJ (2004) La vida social de la innovación. Comunicaciones de la ACM, 47, 1519.
DUGGAN, EW (2003) Generación de requisitos de sistemas con facilitado
Técnicas de grupo. Interacción humanocomputadora, 18, 373394.
DUGGAN, EW & THACHENKARY, CS (2004) Integración de técnicas de grupos nominales y
desarrollo de aplicaciones conjuntas para la determinación de requisitos de sistemas
mejorados. Información y Gestión, 41, 399411.
ELAM, JJ & MEAD, M. (1987) Diseño para la creatividad: consideraciones para
desarrollo de DSS. Información y Gestión, 13, 215222.
ELAM, JJ & MEAD, M. (1990) ¿Puede el software influir en la creatividad? Investigación de
Sistemas de Información, 1, 122.
EVANS, M., WALLACE, D., CHESHIRE, D. & SENER, B. (2005) Una evaluación del modelado
de retroalimentación háptica durante la práctica del diseño industrial. Estudios de
Diseño, 26, 487508.
FAGERBERG, J. (2005) Innovación: una guía para la literatura. EN FAGERBERG, J.,
MOWERY, C. & NELSON, RR (Eds.) The Oxford Handbook of Innovation Oxford,
Oxford University Press.
FAGERBERG, J., MOWERY, C. & NELSON, RR (Eds.) (2005) The Oxford Handbook of
Innovation, Oxford, Oxford University Press.
FELLERS, JW & BOSTROM, RP (1993) Aplicación de sistemas de apoyo grupal para promover
la creatividad en organizaciones de sistemas de información.
System Sciences, 1993, Actas de la Vigésima Sexta Conferencia Internacional de
Hawái el, 4.
FLOYD, IR, JONES, MC, RATHI, D. & TWIDALE, MB (2007) Web Mashups and Patchwork
Prototyping: Innovación tecnológica impulsada por el usuario con Web 2.0 y software
de código abierto. HICSS 2007: 40.ª Conferencia Internacional Anual de Hawái sobre
Ciencias de Sistemas. Hawai.
125
Machine Translated by Google
FRANKE, N. & HIPPEL, E. (2003) Satisfacción de las necesidades heterogéneas de los usuarios a través
de kits de herramientas de innovación: el caso del software de seguridad Apache. Política de
investigación, 32, 11991215.
FRASER, J. (2005) Innovación inspirada: cómo Corel se basa en las ideas de los empleados para
la innovación centrada en el usuario. Actas de la conferencia de 2005 sobre Diseño para
la experiencia del usuario.
GARFIELD, MJ, TAYLOR, NJ, DENNIS, AR & SATZINGER, JW (2001)
Informe de investigación: modificación de paradigmas: diferencias individuales, técnicas
de creatividad y exposición a ideas en la generación de ideas grupales. Investigación de
sistemas de información, 12, 322333.
GASSMANN, O. & ENKEL, E. (2004) Hacia una teoría de la innovación abierta, tres arquetipos de
procesos centrales. Jornadas de Gestión de I+D+i.
Sesimbra.
GLASS, RL & DEMARCO, T. (2006) Software Creatividad 2.0.
GREENE, SL (2002) Características de las aplicaciones que apoyan la creatividad.
Comunicaciones de la ACM, 45, 100104.
HACKLIN, F., RAURICH, V. & MARXT, C. (2004) Cómo la innovación incremental se vuelve
disruptiva: el caso de la convergencia tecnológica.
Congreso de Gestión de la Ingeniería. IEEE Internacional
HELO, P. (2003) Trayectorias tecnológicas en telecomunicaciones móviles.
Revista Internacional de Comunicaciones Móviles, 1, 233246.
HIGGINS, L. (1996) Comparación de escalas para evaluar la creatividad personal
en ES. Congreso Internacional de Ciencias de Sistemas. Hawai, IEEE.
HOHMAN, L. (2007) Juegos de innovación: creación de productos y servicios innovadores, Boston,
Pearson.
HOLMQUIST, LE (2004) Innovación impulsada por el usuario en el futuro laboratorio de
aplicaciones. Resúmenes extendidos de CHI '04 sobre Factores humanos en sistemas informáticos.
Viena, Austria, ACM.
JORDAN, PW, KELLER, KS, TUCKER, RW Y VOGEL, D. (1989)
Software que combina
Informática,
prototipado rápido y tormentas: ingeniería del conocimiento.
22, 3948.
KANTER, RM (2006) Innovación: las trampas clásicas. revisión de negocios de harvard,
84, 7283.
KELLY, T. (2001) La creación de prototipos es la abreviatura de la innovación. Revista de gestión
de diseño, 12, 3542.
KOSKI, HA (1999) El efecto de la base instalada: algunas pruebas empíricas del mercado de las
microcomputadoras. Economía de la Innovación y Nuevas Tecnologías, 8, 273310.
126
Machine Translated by Google
LEINBACH, TR & BRUNN, SD (2002) Sistemas nacionales de innovación, estrategia
empresarial y habilitación de comunicaciones móviles: el caso de Nokia.
Tijdschrift voor Economische en Sociale Geografie, 93, 489508.
LIND, J. (2007) Proceso tecnológico empresarial global de Boeing. Revisión de gestión de
ingeniería IEEE, 35, 3852.
LOBERT, BM & DOLOGITE, DG (1994) Medición de la creatividad de las ideas del sistema
de información: una investigación exploratoria. System Sciences, 1994. Vol. IV:
Sistemas de información: Tecnología de colaboración Sistemas y tecnología
organizacionales, Actas de la Vigésima Séptima Conferencia Internacional de
Hawái Hawái.
LYYTINEN, K. & ROSE, GM (2003) Innovación disruptiva del sistema de información: el
caso de la computación en Internet. Revista de sistemas de información, 13,
301330.
LYYTINEN, K. & ROSE, GM (2006) Agilidad en el desarrollo de sistemas de información
como aprendizaje organizacional. Revista Europea de Sistemas de Información,
15, 183199.
MAIDEN, N. Y MANNING, S.
MAIDEN, N., MANNING, S., ROBERTSON, S. Y GREENWOOD, J. (2004)
Integrar los talleres de creatividad en los procesos de requisitos estructurados.
Actas de la 5ª conferencia sobre Diseño de sistemas interactivos: procesos,
prácticas, métodos y técnicas. Cambridge, MA, EE. UU., ACM.
MAIDEN, N. & ROBERTSON, S. (2005) Integración de la creatividad en los procesos de
requisitos: experiencias con un sistema de gestión del tránsito aéreo. Ingeniería
de Requerimientos, 2005. Actas. 13ª Conferencia Internacional IEEE sobre,
105116.
MARAKAS, GM & ELAM, JJ (1997) Mejora de la creatividad en la resolución de problemas:
¿mediante software o proceso? Management Science, 43, 11361146.
MARTINICH, L. (2002) Gestión de innovaciones, estándares y capacidades
organizacionales. Conferencia de Gestión de Ingeniería, 2002. IEMC'02. 2002
IEEE Internacional, 1.
MCCONNELL, S. (1998) El poder del proceso. Informática, 31, 100102.
MCLEAN, ER & SMITS, SJ (1993) El líder de I/S como 'innovador'. System Sciences,
1993, Actas de la Vigésima Sexta Conferencia Internacional de Hawái.
MICH, L., ANESI, C. & BERRY, DM (2005) Aplicación de una técnica de fomento de la
creatividad basada en la pragmática para la obtención de requisitos. Ingeniería de
requisitos, 10, 262275.
127
Machine Translated by Google
MILLER, WC, COUGER, JD & HIGGINS, LF (1993) Comparación del perfil de estilos de
innovación del personal de SI con otras ocupaciones.
NONAKA, I. (1991) La Empresa Creadora de Conocimiento. negocio de harvard
Reseña, 69.
PINK, DH (2005) Una mente completamente nueva. Riverhead, Nueva York, NY.
POWELL, W. & GRODAL, S. (2005) Redes de Innovadores. EN FAGERBERG, J. (Ed.) El
Manual de Innovación de Oxford. Nueva York, Oxford.
ROBERTS, EB (1988) Gestión de la invención y la innovación. Investigación
Gestión Tecnológica, 31, 1127.
ROSE, J. (2010) Innovación de software: ocho heurísticas de estilo de trabajo para
desarrolladores de software creativo, Aalborg, Innovación de software, Departamento
de informática, Universidad de Aalborg.
SAMPLER, JL & GALLETTA, DF (1991) Cambios individuales y organizacionales necesarios
para la aplicación de técnicas de creatividad en el desarrollo de sistemas de información.
Actas de la Vigésima Cuarta Conferencia Anual Internacional de Hawái sobre Ciencias
de Sistemas. Hawai.
SAMUELSON, P. (2006) El abrazo pragmático de código abierto de IBM.
Comunicaciones de la ACM, 49, 215.
SHNEIDERMAN, B. (2000) Creando creatividad: interfaces de usuario para apoyar la innovación.
ACM Transactions on ComputerHuman Interaction (TOCHI), 7, 114138.
SHNEIDERMAN, B. (2002) Herramientas de apoyo a la creatividad. Comunicaciones de la
ACM, 45, 116120.
SHNEIDERMAN, B. (2007) Herramientas de apoyo a la creatividad. Comunicaciones de la
ACM, 50, 2032.
SNOW, TA & COUGER, JD (1991) Intervención de mejora de la creatividad en una unidad de
trabajo de desarrollo de sistemas. System Sciences, 1991. Actas de la Vigésima Cuarta
Conferencia Anual Internacional de Hawái.
STEPHENSON, N. (1999) Al principio... fue la línea de comandos, Harper
Perenne.
STREITZ, NA, GEIßLER, J., HOLMER, T., MÜLLERTOMFELDE, C., REISCHL, W., REXROTH,
P., SEITZ, P. & STEINMETZ, R. (1999) i LAND: un paisaje interactivo para creatividad
e innovación.
Actas de la conferencia SIGCHI sobre Factores humanos en sistemas informáticos: el
CHI es el límite, 120127.
TAPSCOTT, D. & AD, W. (2006) Wikinomics: How Mass Collaboration Changes Everything,
Nueva York, Portfolio Hardcover.
THOMAS, JC, LEE, A. & DANIS, C. (2002) Mejora del diseño creativo a través de herramientas
de software. Comunicaciones de la ACM, 45, 112115.
128
Machine Translated by Google
TIWANA, A. & MCLEAN, ER (2003) Experiencia en Integración y Creatividad en el Desarrollo de
Sistemas de Información. Revista de Sistemas de Información Gerencial, 22, 1343.
TUOMI, I. (2001) Internet, Innovación y Open Source: Actores en la Red. Primer lunes, 6.
TUOMI, I. (2003) Redes de Innovación. Oxford Press.
VON HIPPEL, E. & KATZ, R. (2002) Shifting Innovation to Users via Toolkits.
Ciencias de la administración, 48, 82133.
VON HIPPEL, E. & VON KROGH, G. (2003) Software de código abierto y el modelo de innovación
"privadocolectivo": problemas para la ciencia de la organización.
Ciencia de la Organización, 14, 209223.
VON KROGH, G., SPAETH, S. & LAKHANI, KR (2003) Comunidad, unión y especialización en
innovación de software de fuente abierta: un estudio de caso. Política de investigación, 32,
12171241.
WALKER, GH, STANTON, NA & YOUNG, MS (2001) ¿Dónde está la computación conduciendo
automóviles? Una trayectoria tecnológica del diseño de vehículos.
Revista internacional de interacción humanocomputadora, 13, 203229.
WALLAS, G. (1926) El arte del pensamiento, J. Cape.
WALZ, DB & WYNECOOP, J. (1994) Creatividad y diseño de software: ¿la capacitación formal ayuda
o perjudica? Sistemas, Hombre y Cibernética, 1994.
'Humanos, Información y Tecnología'., Conferencia Internacional IEEE de 1994 WARR, A.
& O'NEILL, E. (2005) Comprender el diseño como un proceso creativo social. Actas de la 5ª
conferencia sobre Creatividad y cognición, 118127.
AAEN, I. (2008) Esencia: Facilitando la Innovación Ágil. XP2008. Quintilla cómica,
Irlanda.
AAEN, I. (2008) Esencia: facilitando la innovación de software. Revista Europea de Sistemas de
Información, 17, 543553.
129