[Orador 1]: Bienvenidos a este curso muy corto sobre software. Vengo de Lappeenranta, Universidad de Tecnología. Lappeenranta está al sur de Finlandia, es una pequeña ciudad, pequeña ciudad en realidad, con aproximadamente 80.000 personas. un poco más pequeño que Madrid, pero tenemos una universidad bastante buena allí. Vengo de la Escuela de Comercio y Gerencia allí, y soy el jefe del departamento de innovación y software. Somos alrededor de 35 investigadores en este campo, que trabajan principalmente en la investigación de ingeniería de software empírica, con un punto de vista de negocio. Estas lecturas son, en realidad, Una versión más corta de mi curso que tomé el año pasado en Lappeenranta sobre investigación científica en el área de la ingeniería de software De hecho, la mayoría de estos ejemplos y aplicaciones de las que hablo en estos dos días son de la ingeniería de software, pero pueden ser directamente transferidos y usados en cualquier otro campo científico. Así que hay este muy aburrido ideal de que todo el conocimiento de la ciencia es aplicable a cualquier lugar. Así que no hay métodos de investigación específicos en la ingeniería de software. No hay métodos específicos de investigación en la física, no hay métodos específicos de investigación en la sociología, pero hay una especie de universo de ciencia que estamos hablando. Pero, sin embargo, cada campo de estudio considera ciertos abordajes aceptables y prefiere ciertos tipos de abordajes. En el fondo de estas lecturas está el método de la ciencia, que en realidad no es una idea muy simple, pero la pregunta es ¿cómo? ¿Cómo podemos hacer investigación para que los resultados sean válidos para la ciencia? Esto significa que debemos entender qué es la ciencia, Y este cómo significa también que debemos entender el método y la práctica de la ciencia. ¿Qué es la práctica de la ciencia? ¿Cómo hacemos ciencia? Esa es la pregunta. Así que esto no es tanto sobre la teoría de la ingeniería de software que estamos hablando aquí, sino sobre cómo hacemos investigación en la ingeniería de software. Y si vamos muy profundo en esta área, estamos Hemos tenido problemas muy difíciles en la filosofía de la ciencia cuando hablamos de cómo podemos hacer investigación. Y voy a mencionar algunas de ellas, no voy a profundizar mucho en esta área porque seis horas no es suficiente para esto Entonces, ¿qué es esto realmente? Es sobre la práctica de la ciencia que requiere la capacidad de planear investigación y producir resultados válidos Así que el objetivo principal de estas lecturas es entender cuál es la esencia de esta práctica de la ciencia Cómo podemos hacer investigación para que los resultados sean válidos para la ciencia En estos dos días Tendré estos tipos de temas, empezaré con una introducción desde mi punto de vista, describiré lo que pienso que es la ciencia y lo que es la ingeniería de software como ciencia Luego voy a presentar una clasificación de métodos de investigación hecha por Berti Ervinen, un investigador finlandés Es una clasificación muy buena que nos permite entender un poco mejor dónde estamos cuando estamos haciendo investigación Luego hoy hablaré un poco sobre investigación cualitativa, investigación cualitativa y sobre estudios de caso. Y luego te daré una pequeña tarea de planeación que podrías hacer antes de mañana. Y mañana seguiré con abordajes cuantitativos en investigación y sobre experimentos. Esta es una área que es bastante Estudié también en la Universidad de York Algunos profesores de la Universidad de York son muy experientes en hacer estudios experimentales en Ingeniería de Software Luego seguiré con la acción y el diseño en la investigación ¿Cómo podemos hacer una investigación que desarrolle acciones en el entorno real? Y finalmente discutiremos un poco sobre estas tareas que voy a presentar hoy Por favor, interrumpanme en cualquier momento estaré feliz de hablar contigo sobre esto. Bien, pero comencemos esta primera lectura titulada ¿Qué es la ciencia y qué es la ingeniería de software como ciencia? Hablaremos un poco sobre la ciencia en general y sobre la investigación científica en general luego sobre la importancia de la comunidad científica y luego discutiremos algunos términos importantes de la ciencia para que podamos usar estos términos como herramienta en nuestra discusión Y luego voy a terminar esta primera parte de preguntar qué tipo de investigación es la ingeniería de software y darles algunos ejemplos de eso ¿Qué es la ciencia y la investigación científica? podemos pensar que hay un significado profundo de la ciencia y luego hay un significado amplio de la ciencia el significado profundo hace una distinción entre lo natural y lo artificial y piensa que la ciencia estudia sólo la parte natural del mundo podemos decir que este significado profundo de la ciencia incluye la actividad intelectual y práctica que incorpora el estudio sistemático de la estructura y comportamiento del mundo físico y natural a través de observación y experimentos. Así que significa que estamos observando algo en el mundo natural y un campo de estudios que están muy contentos con este definición son, por ejemplo, física, química, biología, y así sucesivamente. Estas son las ciencias naturales Y este tipo de enfoque en la investigación produce explicaciones testables y predicciones sobre el universo Así que es el estudio de las cosas naturales en el mundo Y luego, por supuesto, hay esta parte artificial del mundo que es hecha por los humanos y reproducida por los humanos que no es realmente el objetivo de este tipo de significado en la ciencia Pero luego, por supuesto, si pensamos en sociología, por ejemplo, o estudios culturales o estudios de gestión de negocios, son estudios sobre lo artificial, son estudios sobre el efecto humano en lo que sea el objetivo del estudio. Y para esto, En términos de estudios necesitamos un significado un poco más amplio de la ciencia Podríamos decir que la ciencia es un cuerpo de conocimiento sistémicamente organizado en un tema en particular, lo que sea Así que es sistémico, es un cuerpo de conocimiento organizado Esta definición no dice nada sobre si es natural o no Y este tipo de ciencia produce conocimientos lo suficientemente confiables y enseñables sobre el tema de alguna parte del mundo, ya sea natural o artificial Y luego Como ingenieros de software, debemos pensar qué significa esta distinción para la ingeniería de software. ¿Qué es la investigación científica en la ingeniería de software? Y la pregunta es entonces si la ingeniería de software es un estudio del mundo físico y natural. ¿Qué piensas de esto? ¿La ingeniería de software es un estudio del mundo físico y natural? No. Esa fue una respuesta clara. Sí, estoy de acuerdo con usted. ¿Por qué no es así? Porque está hecha por los humanos. Está hecha por los humanos. Y incluye muchos tipos de interacciones entre los humanos, que incluye, por supuesto, aspectos sociales y culturales muy profundos, y así sucesivamente, que no son parte del mundo natural. Por lo tanto, creo que este segundo significado de ciencia, este significado amplio de ciencia, es mucho más válido para la ingeniería de software. Luego un poco sobre las características de la ciencia, cómo funciona la ciencia. La ciencia incluye la reconocimiento de patrones intersubjetivos o la verificabilidad intersubjetiva, lo que significa que hay algunas maneras en la ciencia que podemos comunicar entre individuos. Así que diferentes individuos entienden las cosas similarmente. Eso es muy importante para la ciencia. Y este tipo de reconocimiento de patrón o variabilidad intersubjetiva es la base para cualquier investigación científica o empírica Así que podemos comunicar efectivamente ideas entre individuos Hay algo que se llama método científico que podemos, después de entender lo que es, podemos preguntar si es válido para todo Pero incluye la idea de la explicación de los eventos de la naturaleza de una manera reproducible Incluye hipótesis Son explicaciones propuestas de algo que está bajo el estudio, el fenómeno y luego pruebas esta hipótesis por experimentación o observación Entonces hay algo que piensas que es verdad y luego pruebas si es verdad o no Y si esta hipótesis sobrevive, piensas que después de esta experimentación y observación que se hizo de acuerdo con las reglas Volvemos después a cuáles son las reglas Puedes adoptar esta hipótesis en tu teoría porque es lo suficientemente verdadero al menos Es parte de la teoría científica Y luego esta teoría es un tipo de modelo o franquicia logísticamente razonable para describir el comportamiento de este fenómeno natural Pueden notar que estamos hablando del significado profundo de la ciencia, del mundo natural Este es el método de la ciencia natural Tienes estas ideas de que esto puede ser verdad y luego lo pruebas a ver si es verdad o no Y si es verdad, lo incluyes en tu teoría Así es como funciona la ciencia natural Este método científico es la base de la ciencia natural, pero no necesariamente de otros Por ejemplo, en la sociología hay formas bastante diferentes de lidiar con teorías y cómo investigas la práctica Pero hablaremos de esto más adelante También deberíamos hacer algunas otras distinciones Hay cosas llamadas ciencias formales Por ejemplo, la matemática es muy esencial para muchas ciencias, especialmente las naturales. Y también los métodos estatísticos son muy importantes para la mayoría de las ciencias. Y luego tienes los métodos computacionales, las ciencias computacionales que son realmente importantes en el avanzamiento de muchas otras ciencias. Pero la pregunta es entonces, ¿es la matemática una ciencia? ¿Son las ciencias computadoras realmente ciencias o qué son? Porque no estudian el mundo natural, por lo que no están incluidos en el significado narrativo de ciencia No hay experimentación o observación incluida, por lo que el método científico no se aplica a la matemática, por ejemplo Por lo tanto, también debemos hacer una diferencia entre las ciencias formales y las ciencias empíricas. Y estas ciencias empíricas pueden incluir, por ejemplo, ciencias naturales o sociales. Bien. Otro concepto muy importante en la práctica de la ciencia Recuerden que esto es sobre la práctica de la ciencia de lo que estoy hablando Esto no es sobre la teoría de la ciencia sino sobre la práctica de la ciencia Un concepto importante en la práctica de la ciencia es la comunidad científica Esto es un tipo de intersubjetivo que decide si sus teorías son buenas o malas podemos definir que es el grupo de todos los científicos interactivos en el campo y la mayoría de los campos de estudio tienen muchas sub-comunidades en muchos niveles que están intercambiando en muchas maneras están conectados pero tal vez puedas reconocer muchas de estas sub-comunidades y también hay comunidades interdisciplinarias Muchas veces la gente pregunta, ¿quién decide qué investigación es válida y de alta calidad? ¿Hay un santo de la ciencia que puede decir si algo es verdad o no? Y creo que la respuesta aquí es que es la comunidad científica la que decide si la investigación es válida y de alta calidad Y es una cosa intersubjetiva lo que está sucediendo Por supuesto hay una jerarquía en estas comunidades científicas Pero también hay independencia de individuos y hay lo que se llama revisión de estudios, que es muy importante para la ciencia En revisión de estudios, la mayoría de las escrituras de investigación son seleccionadas para publicación de revisión de estudios Y, típicamente, hay un número limitado de revisores que evaluan tus manuscritos. Probablemente ya lo conoces. A menudo cuando hay resultados importantes en cualquier área de estudio provocan discusiones intensivas y contrapublicaciones Hay argumentación fiel sobre muchos tipos de foros y eso es muy importante para esta comunidad científica porque Y en algunos niveles de estudio, pero por supuesto no en todos los niveles, los resultados deben ser repetidos por investigadores independientes antes de que sean generalmente aceptados. Bien, luego voy a pasar por algunos términos científicos importantes que necesitamos en estas lecturas. Son deducción e inducción, dos diferentes y opuestos modos de acercarse al estudio. Luego mencionaré el problema de la inducción, que siempre está ahí cuando se trata de una cantidad limitada de datos, por ejemplo. un concepto importante de esta inducción es la falsificabilidad y luego mencionaré la acumulación de conocimiento y revoluciones científicas y también cuestiones importantes son la teoría y la validez que mencioné aquí Bien, entonces, hay dos formas básicas de razonamiento en estudios. Hay razonamiento deductivo y razonamiento inductivo. Y aquí está el proceso de deducción. Típicamente empieza con algún tipo de teoría o hipótesis teórica, que construimos de la teoría. Y luego observamos la práctica y obtenemos la confirmación de la hipótesis, si es verdad o no. De esta manera, la teoría que tenemos en el comienzo crecerá porque obtendremos resultados más confirmados para la teoría. La inducción funciona de la otra manera. La inducción es la manera normal en la que la gente aprende cosas. Cuando veas algo sucediendo, probablemente puedas generalizar que sucederá de nuevo. Observas algo, encuentras que hay un patrón que has observado, y luego puedes hacer alguna tipo de hipótesis tentativa de estos patrones y luego construyes una teoría de ello. Entonces ves algo en el mundo que crees que tiene un determinado patrón en él y luego construyes una teoría de ello. Así que esto es una especie de tipo de razonamiento de base y esto es un tipo de razonamiento de base. Y esta es la manera normal en la que, por ejemplo, los niños normalmente aprenden cosas. Ellos ven cosas y luego aprenden que hay algún tipo de patrón que se repite y luego construyen sus modelos mentales. Y si pensamos en este método de ciencia, la ciencia natural suele ir de esta manera. Tienes algún tipo de hipótesis que pruebas y confirmas. Mientras que en las ciencias sociales el proceso es de otra manera. Here are some examples about deduction and induction. Deductive reasoning. All Frenchmen like red wine. Pierre is a Frenchman, therefore we know already that Pierre likes red wine. If the premises here are true, that these two things are true, therefore we know that Pierre likes red wine. No es cuestionable en absoluto, es verdad. Mientras que la razonación inductiva va de otra manera. Encontramos que los primeros 5X en la caja fueron rotos. Y todos estos huevos tienen el mismo BEST BEFORE DATE estampado en ellos y por lo tanto podemos, quizás, causar que el sexto huevo también esté roto en la caja y no deberíamos usarlo ¿Podríamos saber eso? ¿Es posible saber esto? ¿Podríamos saber la conclusión de estas primeras dos primeras? No, no es posible, no lo sabemos Esto es solo nuestra asumción de las cosas Esto es como funciona la inducción Así que hay este famoso ejemplo de que todas las vacas son blancas. Creemos que todas las vacas son blancas, lo que no es realmente verdad, porque había una especie negra de vacas encontrada en Sudáustralia. Pero antes de eso, era una verdad universal que todas las vacas eran blancas, porque no hemos visto nada más que vacas blancas. Este es el problema de la inducción. No podemos demostrar algo como 100% verdadero. Podemos solo asumir cosas. Este es un famoso ejemplo de los monstruos negros que falsificaron esta asumción de que todos los monstruos son blancos. Esto se trata de falsificación. Así que la inducción no puede demostrar algo como 100% verdadero. Y en realidad, si piensas más profundamente sobre esto, se aplica a la mayor parte de las investigaciones. Cualquier investigación que estés haciendo, a menos que tengas un conjunto completo de datos, todo lo que puedas medir con ti. Por ejemplo, la maíz genéticamente modificada es segura para los humanos. Se ha probado con un gran número de humanos y ninguno de ellos sufrió ningún problema ¿Podemos decir que esto es 100% verdad? No, no podemos porque también es una inducción ¿Alguna investigación estatística que también use un ejemplo es una inducción? Porque siempre es posible encontrar un específico que falsifique tu teoría No puedes decir que si no está en el ejemplo, no está en tus resultados Pero si está fuera de tu ejemplo, pronto o después falsifica tu asumción falsa, si tienes una Y también Toda investigación cualitativa está basada en la inducción, así que la mayor parte de la investigación estatística y toda investigación cualitativa está basada en la inducción. Siempre hay un problema de inducción en tu estudio. Por supuesto, puedes tener un censo completo de la población, no un ejemplo, pero una completa población, todo el datos de la población, entonces no es la inducción lo que estás haciendo. Este es un tema muy importante en la filosofía de la ciencia, esta solución de Karl Popper, que todas las teorías científicas deben ser falsificables. Así que un solo experimento o observación puede falsificar una teoría de tal manera que esta una ocurrencia de una vaca negra falsifica esta teoría de que todas las vacas son blancas. Lo explicaré un poco más en detalle. Esto está en el libro de Karl Popper, Logik der Forschung, de 1933. También se llama refutabilidad en algunos lugares. Dice que las teorías empíricas son caracterizadas por falsificabilidad. La teoría no es una buena teoría si no es posible falsificarla La teoría debe ser construida para que sea posible demostrarla falsa si es falsa Debe ser posible demostrar una teoría científica falsa Así que hay una asimetría entre verificabilidad y falsificabilidad Porque una observación contradictoria es suficiente para falsificar una declaración universal, como esta, todos los sueños son blancos. Se falsifica con solo un específico. Pero la pregunta es entonces, ¿cuántas observaciones necesitas para verificar una declaración universal? ¿Cuántas necesitas? ¿Infinitivamente? ¡Todos ellos! Así que a menudo es imposible verificar que es completamente un estado universal Pero es fácil falsificar Con sólo un específico correcto puedes falsificarlo Pero para verificarlo necesitas todos ellos Bien, esto nos lleva a la cuestión de la validez del pensamiento científico y La pregunta es, ¿cómo evaluar la validez de una proposición, inferencia o conclusión en la investigación? Y esta es una pregunta filosófica extremadamente difícil que incluye que debes entender lo que quieres decir con conocimiento y debes entender lo que quieres decir con la realidad Y cada vez que estamos discutiendo temas como la validez, debemos entender la epistemología y la ontología del estudio. Y hay diferentes tipos de abordajes y diferentes tipos de concepciones sobre epistemología y ontología en la investigación No voy a entrar en esta pregunta, pero esta es una investigación más para ustedes Si quieren introducirse a la filosofía de la ciencia, tendrán un mejor conocimiento de las preguntas epistemológicas y ontológicas Y es importante que entiendas qué tipo de epistemología y ontología es típica en tu campo de investigación Cada campo y metodología de investigación puede tener diferencias en los criterios para la validez Bien Así que estamos hablando de investigación científica, que es una actividad que establece y resuelve problemas de investigación Y hay preguntas difíciles como cómo evaluar la significancia de los problemas de investigación, cómo establecer problemas de investigación que se relacionan con las preguntas de cómo hacer investigación, qué tipo de métodos de investigación pueden ser usados Y la respuesta a todas estas preguntas es que es la pregunta científica de alguna manera acepta o confirma qué tipo de abordajes son aceptables. Así que la investigación se realiza usando los métodos aceptados por la comunidad. Esto es importante entender. Tienes que entender la comunidad en la que estás haciendo la investigación. Qué es valorado allí y qué no. Pero la comunidad científica no es homogénea. Es un grupo de compañeros. Están interactuando. a través de varios foros, conferencias y jornales típicamente y no hay una y solo método científico en estas comunidades, varian y hay muchos tipos de métodos y abordajes para diferentes propósitos Pero es muy típico en la investigación científica que la solución para un problema de investigación debe ser justificada y o probada Y también es importante entender que una opinión subjetiva no es suficiente para la investigación Es la valididad intersubjetiva evaluada por la comunidad científica que es esencial y hay muchas concepciones múltiples sobre el conocimiento, la epistemología, los métodos científicos y los propósitos de la ciencia en esta comunidad científica. Normalmente la relación entre el conocimiento existente o prevalecido es importante y especialmente los conflictos con el conocimiento anterior deben ser demostrados y si no hay conflicto entre entre los resultados, hay una especie de acumulación de conocimiento que está sucediendo en la comunidad de investigación. Pero luego hay esta cuestión de breakthroughs científicos que pueden invalidar el conocimiento anterior, lo que causa un tipo de cambio de paradigma en el cuerpo científico del conocimiento. Pero volveré a eso más tarde. El método de las ciencias naturales es también comúnmente llamado el método positivista ¿Cuántos de ustedes han escuchado de este positivismo antes y se acuerdan de él? Nunca Ok, entonces tengo que explicarlo En este método positivista, el propósito de la ciencia es la explicación, encontrar leyes generales y conexiones causales entre diferentes partes del mundo. La idea es que la ciencia es valiosísima y basada en factos objetivos que se pueden medir. Y este valor libre significa que el investigador es independiente del objetivo de investigación El investigador es un observador independiente Como por ejemplo en la física, donde estás mediendo algunos átomos y movimiento o lo que sea El investigador no afecta al objetivo, ese es el ideal Y también debe ser cierto que los estudios y los medidores pueden ser repetidos en cualquier momento y por cualquiera con los mismos resultados. Entonces, no importa quién hará el estudio y dónde, los resultados siempre serán los mismos. ¿Qué piensas de esto? idea de observador independiente y repetirlo en cualquier momento, en cualquier lugar en la investigación de ingeniería de software ¿Es posible? Es difícil, es muy difícil No recuerdo cuál fue el estudio y quién lo hizo, pero hay un estudio en sociología que muestra que incluso cuando el investigador va al trabajo, el trabajo empieza a funcionar mejor, sin importar lo que haga allí. Por lo tanto, probablemente no es posible ser un observador independiente porque incluso tu presencia en el trabajo cambiará el trabajo. Y cuando estás haciendo investigación organizacional en una gran empresa, por ejemplo, y vas a otra gran empresa, el ambiente es totalmente diferente. Hay una cultura diferente, un negocio diferente, así que no puedes repetir nada. ¿Has visto algún estudio repetido en la ingeniería de software? Títulos, sí. Sí, así que no he visto ningún estudio que haya sido repetido exactamente de la misma manera. Pero esta es la idea de las ciencias naturales. Puedes repetir. Por ejemplo, si inventas una manera de hacer la fusión fría, por ejemplo, y haces el experimento en algún lugar, alguien más quiere repetirlo, si es posible hacerlo. También en este método positivista la idea es que los resultados de la investigación aumenten la cantidad de conocimiento científico Así que la cantidad de conocimiento científico aumentará todo el tiempo Y luego este conocimiento científico acumulado y el método que se usa para producirlo forman un sistema internamente armonioso sin conflictos Si piensas en los estudios sociales, por ejemplo, ¿es posible hacer que todos los estudios sociales estén internamente en armonía o no? Probablemente no Entonces la pregunta es, ¿es este método positivista el criterio de la ciencia? Así que en las ciencias naturales esto es definitivamente verdad. Solo el estudio que cumple este método positivista es aceptable. En la física, en la química, en la biología, en muchos otros áreas también. Este es el método científico típico de las ciencias naturales Pero luego hay este método de las ciencias humanas que es bastante diferente Porque ahí, en el centro, está esta comprensión y interpretación de la actividad humana. Cómo los humanos actúan individualmente en una organización. Cómo su historia, su cultura y sus ideales afectan la forma en que trabajan, por ejemplo. y así sucesivamente. Y luego hay la pregunta de cómo medir ambigüezmente actitudes, normas sociales, creencias y lo que sea, lo que es muy típico de los humanos. ¿Crees que es posible medir actitudes, por ejemplo? es posible interpretarlos para medir como medir la temperatura o la velocidad Y luego esta pregunta de si el investigador es un observador independiente es también muy difícil porque los que estás estudiando son como tú Tienes sentimientos para otros humanos, por ejemplo, que afectan tu interpretación Así que los investigadores normalmente no pueden ser completamente, por supuesto, lo más posible, pero completamente neutros, independientes y sin valor Y ya mencioné que la presencia del investigador puede tener un efecto Sin hacer nada puede haber un efecto importante Y es a menudo no posible repetir el estudio Entonces la pregunta es, ¿es la ingeniería de software una ciencia natural? Ya lo he preguntado, creo Y creo que no es así, especialmente si estás haciendo investigación de software empírico Tiene algo que ver con cómo actúan y se sienten y cómo puedes interactuar con ellos, que no es exactamente como se hace en las ciencias naturales Entonces, si pensamos que el desarrollo de software realmente es una actividad humana, entonces hay ciertos efectos en cómo hacer investigación en la ingeniería de software. La software en sí misma es un artefacto técnico. Pero, por supuesto, se puede pensar que hay un montón de conocimiento humano encodado en este artefacto técnico, lo cual en realidad no es tan sencillo como pensar que es sólo un artefacto técnico. Pero si pensamos que el software en sí mismo es un artefacto técnico puro que puede ser estudiado con ciencias naturales, entonces bien, el desarrollo del software es una actividad humana. Entonces hay dos lados a este tema. Y cuando admitimos eso, debemos pensar en cómo estudiar las actividades humanas, cómo medir y evaluar las actividades humanas Es bastante fácil medir las cualidades y propiedades de la software Podemos medir la complejidad ciclomática o calcular el número de líneas o clases o variables o lo que sea Pero es bastante más difícil medir y evaluar la actividad humana del desarrollo de software. ¿De acuerdo? Sí, un sí. Entonces, si creemos que el desarrollo de software es una actividad humana, entonces deberíamos preguntar ¿qué afecta a las actividades humanas? Aquí hay una lista muy incompleta de cosas que podemos pensar, por supuesto la genética Es lo más natural que afecta a las actividades humanas, actitudes, normas sociales, control de comportamiento percibido, experiencias de dificultades y recompensas, lo que es usualmente beneficioso y lo que no es. ¿Cómo puedo obtener penitencias y recompensas? ¿Cuál es mi creencia, creencia, religión, filosofía? ¿Cuáles son mis instintos, miedos y hábitos? Y así sucesivamente. Hay una lista larga de cosas que afectan a las actividades humanas. La pregunta es cómo medir esto ambiguamente en el desarrollo de software y si es posible. Probablemente no, al menos ambiguamente. Podemos interpretarlo, observarlo, hacer algunas conclusiones, pero no podemos estar 100% seguros de si nuestras interpretaciones son correctas o malas. Aquí hay un ejemplo. ¿Has visto este? El Manifesto para el Desarrollo de Software Agile. Esto es algo muy influyente, sucedió hace unos 15 años Estas personas son muy famosas consultoras en software engineering Dicen que las interacciones y los individuos son más importantes que los procesos y herramientas La tecnología de trabajo es más importante que la documentación comprensiva La colaboración de clientes es más importante que la negociación de contratos Y responder a cambios es más importante que seguir un plan Esto es probablemente lo más influyente en la ingeniería de software en los últimos 25 años o así Esto ha cambiado mucho de cómo las empresas y los profesionales piensan en la acción. Y estos no son realmente, bueno, algunos de ellos pueden ser científicos, pero no diría que sean importantes científicos, son principalmente importantes consultores. Pero como se puede ver aquí, esto no es en absoluto sobre tecnología de software. Esto es sobre actividades humanas, comportamiento humano, cómo la gente trabaja juntos, cómo interaccionan y cómo pueden progresar en el desarrollo de software. Y en realidad no es tanto sobre ingeniería tampoco. Esto es solo sobre cómo se organiza el lugar de trabajo para que la gente obtenga mejores resultados en el desarrollo de software. Entonces, incluso estos consultores aquí reconocen que la actividad humana es mucho más importante en el desarrollo de software, a menudo, no siempre, pero a menudo mucho más importante que la ciencia natural, por ejemplo. Entonces, la pregunta es, ¿está estudiando la ingeniería de software los humanos? Un ejemplo, un investigador desea estudiar cómo los métodos ágiles, como en el último slide, pueden ser utilizados en una organización de software muy grande. Y en este tipo de estudios se necesita evaluar y entender las acciones de las organizaciones individuales y humanas y entender los motivos, valores, expectativas y objetivos de las organizaciones individuales. Y por lo tanto, mi conclusión es que la ingeniería de software también debe tomar a los humanos como temas de investigación para que pueda producir resultados valiosos para la industria, por ejemplo. Bien, esta fue mi primera parte. Ahora hagamos un descanso de diez minutos. Ok, la segunda parte de mis lecturas es lo que yo llamo clasificación de métodos de investigación, y estoy usando una cierta manera de clasificar métodos de investigación por Berti Järvinen, que es un investigador senior finlandés. Es una clasificación de 10 años de edad. es muy bueno para este propósito que entiendas cómo puedes abordar es probablemente sin problemas pero es fácil de usar para entender a dónde estás y también continuaré un poco esta discusión sobre positivismo y lo que llamaré interpretativismo en la investigación ¿Qué es un método de investigación o metodología? Podría decir que la metodología es el análisis teórico sistémico o estudio de los métodos aplicados a un campo de estudio. Es un sistema de métodos y principios utilizados en una disciplina particular. un método de investigación o metodología, el nombre aquí no es muy adecuado en realidad, ambos se usan es un proceso estructurado de investigación puede incluir cualquier de estas siguientes cosas o usualmente la mayoría de ellas cómo recolectas datos, qué tipo de principios hay para la recolección de datos cómo analizas los datos, cuáles son los principios para el análisis ¿Qué es la epistemología general del estudio? ¿Qué es el conocimiento en la investigación? Incluye, al menos implícitamente, algún tipo de asumción sobre eso. Hay, a menudo, descripciones de procesos, cómo se procede en la investigación, qué tipo de fases hay. hay reglas para la análisis hay reglas para validar los resultados y principios de cómo evaluar la validez de los resultados y estos son a menudo muy claramente representados y a menudo no existen si queremos clasificar el método de investigación El primer problema es cómo presentar métodos y abordajes de investigación típicos en la ingeniería de software a los estudiantes para que puedan decir que hay este tipo de estudios y este tipo de estudios y luego hay este tipo de estudios, por ejemplo Así que necesitas un tipo de visión holística para entender estos métodos y abordajes Así que la solución podría ser que puedas clasificarlos en clases distintas donde cada clase tenga funciones claras que puedan contrastarse con otras Y, por supuesto, hay muchas maneras de hacer estas clasificaciones Por ejemplo, hay esta clasificación entre la investigación básica, que tiene sólo el objetivo teórico y la investigación aplicada, donde hay algún tipo de objetivo para beneficiar la práctica o hay investigaciones cuantitativas donde medias números y hay investigaciones cualitativas donde clasificas impresiones, por ejemplo o hay investigaciones positivistas que se basan en ciertos métodos de la ciencia y luego hay investigaciones interpretativas que intentan entender las acciones de los humanos Además, se puede hacer una clasificación basada en el campo de estudio. Hay diferentes campos de estudio con diferentes tipos de abordajes. Pero eso no nos ayuda mucho porque hace un modelo muy multidimensional de esta clasificación de métodos de investigación. Pero para este Para los propósitos de clasificación creo que necesitamos algunos conceptos básicos que deberíamos entender mejor. Ya mencionamos este positivismo, pero luego necesitamos entender qué es interpretativismo o antipositivismo. Luego deberíamos hacer alguna distinción entre cuantitativo y cualitativo en la investigación. Esto ya lo mencioné, el positivismo, el significado positivo con un sentido filosófico impuesto en la mente por la experiencia. Hay una experiencia, una observación de algo que es entonces un hecho positivo sobre las cosas. Históricamente, este positivismo significa la rechaza de la metafísica como explicación. Así que la explicación de algunos fenómenos naturales no se trata de Dios o alguna gran fuerza que causa que las cosas sucedan místicamente. Esta metafísica explica la naturaleza fundamental del ser y del mundo. Pero en el positivismo, el objetivo del conocimiento es describir los fenómenos que experimentamos como experiencias, no por la metafísica. Y la idea es que la ciencia puede explicar sólo lo que podemos observar y medir Así que no deberíamos estudiar pensamientos emocionales o cualquier otra cosa incoherente También hay Se han hecho muchos intentos en estudiar las actividades humanas bajo esta idea de positivismo como el behaviorismo en los años 1920 Skinner se concentró sólo en los comportamientos positivos y negativos para predecir cómo las personas se comportarían. La idea era estudiar cómo las personas reaccionaban a ciertos señales, por ejemplo. Y hay una causa clara que es el signo y la reacción Y todo lo demás es irrelevante porque no puede ser medido Entonces las intenciones de la gente no son importantes porque no pueden ser medidas Solo la relación entre el signo y la reacción es importante Un buen ejemplo de esto es el perro de Pavlov que hizo mucha saliva cuando vieron, no recuerdo lo que fue la experiencia, algunas luces o algún sonido o algo así porque hicieron esta conexión a la comida con este signo. Hay también este término de positivismo lógico o empirismo lógico en el que este conocimiento científico es el único tipo de conocimiento factual y todas las doctrinas tradicionales metafísicas deben ser rechazadas como sin sentido Solo los estímulos que son verificables, tanto lógicamente como empíricamente, son significativos cognitivamente De hecho, esto es de Viena en los años 1920. Había esta escuela de Viena. Uno de los representantes importantes de esto fue Carnap. En su libro, Der Logische auf Baudelswelt, creó métodos estrictos y procedimientos para la observación sensorial para verificar la verdad de la hipótesis científica del universo físico Y con esta observación en combinación con los métodos formales de la lógica matemática Esta es la única manera de lograr cualquier cosa en la ciencia según Carnap Entonces existen estos métodos muy estrictos de observación combinados con la lógica formal que hace posible el conocimiento científico Pero probablemente el problema es que este ámbito social de los humanos puede no ser sujeto a los mismos métodos de investigación como el mundo natural, a pesar de lo que Schinner y Carnap aclararon. Hay muchos problemas en este ámbito social que lo hacen diferente de esta ciencia natural, como la interacción entre teoría y datos. Siempre se puede interpretar los datos humanos en la luz de otra teoría. Se puede crear otra teoría que también explique lo mismo. Por lo tanto, también la investigación sociológica debe concentrarse en los humanos y sus valores culturales No puedes ser completamente libre de valores y científicamente objetivo porque estás estudiando algo de lo que eres parte también de esta sociedad en gran medida Así que debe haber algún tipo de proceso interpretativo en el que el observador exterior se relaciona con la gente o el grupo subcultural en sus propios términos. Así que en los términos que están en este grupo subcultural, en lugar de interpretarlos en el punto de vista de los investigadores. y si traducimos esto a ingeniería de software los observadores son los investigadores de ingeniería de software y luego estos indígenas son los desarrolladores de software en la empresa y debes ser capaz de explicar lo que está sucediendo en este equipo de desarrollo de software con los términos que se usan en este desarrollo de software Este es uno de los problemas. Había mucha crítica contra este positivismo. Y los elementos importantes en la crítica fueron que el positivismo es restringido sólo a fenómenos observables Por ejemplo, es imposible estudiar libertad, irracionalidad y varias acciones impredicables que son muy típicas del comportamiento humano con estas ideas de la escuela positivista y también el conocimiento sobre los humanos nunca puede ser neutro porque en realidad eres parte de la misma sociedad y el conocimiento siempre se traduce directamente en poder si sabes que tienes más poder que los demás y luego hay este intento de dibujar una línea artificial entre el observador y el sujeto que también es un problema Aquí hay una tabla sobre cómo podemos comparar el positivismo y el interpretativismo En el positivismo la realidad es objetiva, tangible y única, solo hay una interpretación, o en realidad no es una interpretación, es el hecho mientras que en el interpretativismo construyes la realidad socialmente, la aprendes de los demás y luego te acuerdas de ella y puede haber múltiples interpretaciones de la realidad El objetivo de la investigación en el positivismo es la explicación, una predicción fuerte, y en el interpretativismo es la comprensión y la predicción frágil. Así que esto es sobre comprender lo que la gente está haciendo, cómo la gente está actuando. Esto es explicar la naturaleza. Y significa que cuando conoces las reglas de la naturaleza, puedes predecir mucho mejor que cómo puedes predecir cómo las personas se comportan. El foco de interés en el positivismo es lo que es general, promedio y representativo Quieres entender en general cómo son las cosas, pero aquí en el interpretativismo cuando estás estudiando a los humanos debes entender lo que es específico, único y cómo se está desviando de otras cosas El positivismo crea leyes que son absolutas libres del contexto, del tiempo y de los valores El interpretativismo intenta entender los significados que son relativos al contexto. Pueden ser diferentes en diferentes tiempos, en diferentes contextos, en diferentes culturas. También son desvalorizados porque El conocimiento es poder En el positivismo hay una separación rígida entre el sujeto y el investigador mientras que en el interpretativismo puede haber una relación interactiva entre el sujeto y el investigador The research may be cooperative, it may be participative. The researcher may participate to the actions of the target even. For example, when you are studying software development, you may go to the software development team and work with them to understand them better. What is desired in la información en el positivismo es, por ejemplo, cuando estás estudiando a los humanos, cuántas personas piensan y hacen una cosa específica o tienen un problema específico, mientras que en el interpretativismo es lo que algunas personas piensan y hacen, qué tipo de problemas se enfrentan y cómo se lidian con ellos. Luego, otra distinción que mencionaré aquí es entre investigación cuantitativa y cualitativa La investigación cuantitativa es describir y medir las cosas que responden a las preguntas ¿cuántas? ¿cuántas veces? por ejemplo, el nivel de ocurrencia en base a números y calculaciones, recolecta datos numéricos Hay una relación deductiva entre teoría y investigación, así que tienes una teoría y una nueva medida para probar si es verdad o no Esto es muy similar a la ciencia natural, hay estos métodos científicos que mencionamos There is an objective conception of social reality and a positivistic view in quantitative research. There are strict methods of observation that are defined by the quantitative research methods. hay este análisis con matemáticas formales, así que esto es exactamente lo que Carnap, el emperista lógico, dijo métodos estrictos de observación y análisis con matemáticas formales Los métodos típicos, herramientas y técnicas incluyen cuestionarios de cerros, experimentos, análisis de correlación, análisis de regresión Tal vez hayan escuchado de esto en sus cursos de estadística anteriormente Así que esto es mucho sobre las estadísticas también Esta investigación cuantitativa Su oposición es a menudo investigación cualitativa que no siempre es usualmente interpretativo y se centra en la profundidad de la comprensión Puede intentar interpretar palabras, percepciones, sentimientos, en vez de analizar números Puede haber experimentos, entrevistas, estudios de caso, grupos de enfoque, cuestionarios con preguntas abiertas, no cerradas Normalmente hay un rango de datos observacionales incluidos en la investigación cualitativa, no siempre, pero normalmente Y aquí la abstracción y la generalización son principios importantes Y estamos especialmente hablando de la abstracción teórica y la generalización de observaciones singulares Que no es lo mismo que la generalización estadística, hay una gran diferencia aquí Y normalmente estos estudios de calidad producen teorías y hipótesis que no son confirmadas ni verificadas. Así que hay una diferencia epistemológica clara entre la investigación cuantitativa y la cualitativa La investigación cuantitativa usualmente intenta construir factos mientras que la investigación cualitativa construye teorías y hipótesis que no son verificadas pero que explican algo que se ha observado Aquí hay una tabla compara las diferencias entre cualitativos y cuantitativos. En cuantitativos, los fenómenos son numéricos. La análisis es descriptiva y las estadísticas inferenciales incluyen preguntas y hipótesis muy específicas. Hay grandes ejemplos. Tiene validez estatística y refleja la población cuando está bien hecho. pero su desventaja es que la investigación cualitativa es a menudo bastante superficial en la comprensión y no puede describir bien los pensamientos o sentimientos de la gente, por ejemplo. En la investigación cualitativa, describes los fenómenos de una manera narrativa, cuentas historias sobre cosas y intentas entender las causalidades de la historia, La análisis incluye la identificación de esquemas mayores, no tanto sobre detalles El escopo es a menudo amplio y hay temas que son cortos y la ventaja principal es que produce una descripción narrativa rica y profunda de la muestra así que va muy profundo y entiende lo que está sucediendo en estos casos específicos no en general, pero en estos casos específicos y no es absolutamente generalizable estatísticamente no se puede decir nada sobre el resto del mundo en realidad no es posible Así que en las estadísticas se puede aclarar que se puede explicar también fuera de la muestra, pero aquí no se puede decir nada sobre lo que está sucediendo fuera de la muestra. Esta es la diferencia epistemológica de estos dos abordajes. Pero después de esta clasificación, positivismo, interpretativismo, cuantitativo y cualitativo, presentaré una clasificación un poco más compleja de los métodos de investigación de Järvinen. Así que esto es sobre, en realidad, sobre métodos de investigación desde el punto de vista de la información, tecnología y sistemas Esto es probablemente válido en nuestro campo Y esto también incluye investigaciones de ingeniería y diseño como parte de ello. No es realmente el nombre de los métodos de investigación actuales que están ubicados en esta jerarquía, pero esta clasificación puede ser usada para poner ciertos métodos de investigación en él. Pero veámoslo. Aquí está la clasificación completa de Yerwinen. Él hace una distinción entre abordajes estudiando la realidad y abordajes matemáticos. Y luego hay esta pregunta, ¿cuál es la realidad que se puede estudiar haciendo estudios conceptuales o estudios empíricos? Los estudios empíricos pueden ser estudios de teoría o estudios de creación de teoría. Y además de estudiar la realidad, hay este estudio de artefactos. Puedes estudiar artefactos que no son realmente realidad, pero puedes crearlos. Puedes construirlos o evaluarlos. Y Germinian afirma que esta distinción explica este enfoque en el campo de la tecnología de la información. Veámoslo. Empecemos con estos abordes matemáticos. Esto no es realmente muy relevante en la investigación de ingeniería de software. Se trata de demostrar que esto es la ciencia formal, demostrar teorías matemáticas y cosas así. Esto se usa mucho en la ciencia de computadoras, pero no exactamente mucho en la investigación de ingeniería de software. Así que esto es algo que realmente se ve puramente en los métodos matemáticos de los ingenieros de software Pero luego la otra parte de los tres fue este método de estudiar la realidad que incluía dos partes ¿Qué es la realidad y la utilidad de los artefactos? Y aquí en ¿Qué es la realidad? Vamos a ir allí primero y a ver qué son los métodos de análisis conceptuales Esto se trata de la análisis de las asumciones detrás de los constructos teóricos Puede incluir la identificación de teorías, modelos y frameworks en la investigación anterior Estudios literarios, quizás abordes conceptuales y analíticos pueden incluir algún tipo de razonamiento lógico donde se sintetiza el conocimiento existente con algo más Pero este abordaje no requiere las observaciones originales de lo que es la realidad Puedes usar estudios existentes para sintetizar algo más Es posible usar este tipo de métodos en la ingeniería de software y puedes encontrar muchos estudios de literatura sistemática o estudios de mapa que son parte de este método. Así que puedes sentarte conveniente en tu habitación y no salir y mirar los papeles y pensar sobre cosas y escribirlas. Así que no estás tan distraído de la realidad. Pero hay este problema de qué partes de los resultados son basadas en opiniones e intuición en lugar de investigaciones científicas Así que este es un enfoque Luego había estos estudios empíricos que son estudios de teoría o estudios de teoría La investigación cuantitativa es también una investigación de teoría, eso es típico. Puedes hacer, por ejemplo, experimentos laboratorios donde medias cómo la gente hace las cosas. Tienes un ejemplo de personas y los pones en un laboratorio para hacer Usted está usando estos métodos de ingeniería requeridos y usted está usando este otro y luego mediremos quiénes son mejores Este es el experimento de la laboratoria o el experimento controlado O usted puede preguntar la opinión de la gente sobre las cosas envíen una formación de survey para 1.000 empresas y luego 100 de ellas lo devuelven a usted y la mitad de ellos no son útiles porque han filtrado tan mal. Así que puedes recoger y analizar datos estatísticos de una población, por ejemplo. O puedes hacer algún tipo de testeo de campo. El estudio de campo es una palabra bastante ambigua. Puede significar algo más también, pero puedes hacer algún tipo de experimentos de campo también. y probar alguna teoría. La mayoría de las investigaciones de teoría son cuantitativas. Mezclas las cosas y luego puedes analizar estatísticamente el resultado. Pero la teoría debe ser tomada de algún lugar, o de la literatura, o obtienes alguna inspiración divina de que esto puede ser verdad, vamos a mezclarlo. Así que de alguna manera debes desarrollarlo o refinarlo, también cuando es tomado de la literatura. Y luego el estudio prueba si la teoría es verdadera o no. Y por supuesto, podemos pensar qué es el significado de verdadero, pero puede ser una cosa difícil de pensar. Hay ciertos problemas en este tipo de abordaje. Cómo seleccionar y desarrollar la teoría, ¿de dónde viene? No es siempre obvio. Pero esto es muy típico en la ingeniería de software. Hay muchos investigadores experimentando, muchos investigadores de survey también. Entonces, la contraparte en la investigación empírica es esta investigación que crea teorías, una estrategia que crea teorías hay una multitud de abordajes que están creando teorías que incluyen, por ejemplo, la mayoría de los estudios de casos que voy a discutir más adelante sobre la mayoría de estas etnografías donde se encuentran entre los nativos y hacen observaciones durante un largo periodo La teoría basada es un método que he estado usando mucho. Es basado en observación inductiva. Observas cosas y luego construyes algo teórico de ellas. Y luego hay muchos otros métodos, como la analización de las causas, y así sucesivamente. En la mayoría, esta investigación de teoría es cualitativa. En la mayoría. No completamente, pero en la mayoría. Inductivamente observas la práctica, la práctica es la realidad y luego haces conclusiones teóricas de ella Y hay varios métodos de recopilación de datos, como que puedes entrevistar a la gente, puedes hacer observaciones directas, puedes recopilar material archivo Y en esta creación de teoría inductiva, refineras estas observaciones hasta obtener una teoría, que después podrás probar con otros métodos si quieres. El problema de todos estos abordajes es si es realmente posible hacer cualquier tipo de generalización de las teorías a otros contextos. Así que sabes que esto sucedió en esta compañía, pero ¿qué pasa con los otros? Así que ninguno de estos abordajes es sin problemas. Luego, si volvemos a la imagen, hubo otras marcas sobre la utilidad de los artefactos que se usan a menudo, especialmente en la investigación de ingeniería y es muy típico en nuestro campo que inventes un nuevo modelo, por ejemplo Otra herramienta de modelación para los pobres desarrolladores de software. o inventas un nuevo tipo de proceso de desarrollo de software donde puedes hacer las cosas más eficazmente o algo así. Ese es otro tipo de artefacto. El artefacto puede ser una software, puede ser un hardware, puede ser algún tipo de proceso o método o lo que sea. Así que es un método o modelo de constructo particular que se aplican y producen un artefacto a partir de eso. Y luego consideran los aspectos de utilidad del artefacto, si es útil para algo o no. Y reportan el artefacto y hacen una especie de evaluación o discusión sobre su utilidad. Este es un enfoque muy común en la ingeniería Puedes hablar de investigación de diseño o de la ciencia de diseño artificial o puedes estudiar el proceso de diseño en sí mismo Pero el problema de este tipo de abordajes es que a menudo dicen que tenemos este artefacto bueno, pero ¿cómo lo evaluamos? ¿Cuál es su valor científico? Si tenemos otro nuevo herramienta de desarrollo de software, ¿qué significa para la ciencia? Una visión un poco diferente a este artefacto es la otra brancha, evaluando el artefacto Donde tienes algún tipo de artefacto que tomas en uso, lo evaluas según algunos criterios diseñados, realizas medidas, observaciones Este tipo de evaluación puede ser un experimento controlado, pero en la vida real eso es a menudo imposible Si estás tomando algún método o herramienta relevante para usar en una gran organización, es muy raro que haya algo controlado en realidad, si sabes eso Un método típico en esto es el método o proceso de investigación de acción Es un tipo de proceso cíclico en el que se diagnosa el problema, se desarrolla una intervención o un artefacto para resolver el problema o se toma una intervención o artefacto listo para uso haces esta intervención o tomas este artefacto en uso y luego evaluas esta intervención, lo aprendes y luego puedes repetirlo de nuevo Este es el proceso de investigación de acción y es bastante usado en muchos tipos de ciencias humanas Lo discutiremos más tarde, mañana Así que esta ha sido la clasificación de Yerwinens sobre los enfoques de investigación y principalmente en estudios de ingeniería de software podemos hacer una distinción entre estudios empíricos donde hay test de teoría y aprendizaje de teoría y luego hay esta utilidad de artefactos donde podemos construir algo útil o evaluar algo útil si es útil o no Y ahora el resto de mi lectura se trata de... Voy a intentar llenar estas cajas aquí, lo que hay dentro de ellas. Discutiré sobre el testeo de teoría y la investigación de la creación de teoría. Discutiré sobre la construcción de artefactos y la investigación de evaluación de artefactos. ¿Cuál es el enfoque de las investigaciones? I would say that... Estos cuatro son todos muy usados. Entonces, la gente hace investigación experimental, experimentaciones laboratorias y experimentos controlados, investigaciones y la gente crea teorías con métodos cualitativos y luego la gente construye diferentes tipos de herramientas y métodos y procesos y presenta ellos y luego la gente también evalúa estos métodos y procesos en práctica. All these four are very much used. And there are different... Action research is typically this. This is design research, typically. This is typically grounded theory or ethnography or something like that. There are also many other variations. Case studies are included here. And then these theory testings are laboratory experiments, controlled experiments and surveys, for example. Creo que estos cuatro, y luego por supuesto hay estos, pondré estudios literarios aquí Pero no sé, no son tantos métodos de investigación quizás, pero son un tipo de... Haces estudios indirectos Meta de tu área Ok, así que esta fue la segunda parte