Вы находитесь на странице: 1из 16

Investigacin en Ingeniera del Software vs.

Desarrollo Software
Esperanza Marcos Grupo KYBELE Universidad Rey Juan Carlos {e.marcos }@escet.urjc.es, Resumen
La investigacin en Ingeniera difiere sustancialmente, tanto en objeto de estudio como en mtodo, de la investigacin en las tradicionalmente llamadas Ciencias. Mientras las Ciencias se ocupan del estudio de objetos y fenmenos existentes (fsica, metafsica o conceptualmente), las Ingenieras basan sus estudios en cmo hacer; cmo crear nuevos objetos. Es por esto, que los mtodos de investigacin cientficos no son siempre directamente aplicables a problemas de investigacin de carcter ingenieril. En este artculo nos centramos en los problemas y mtodos de investigacin en una Ingeniera concreta: la Ingenira del Software. Discutimos, por una parte, la naturaleza del mtodo en este campo. Por otra parte se analiza, mediante un caso de estudio, la similitud de los mtodos de investigacin en Ingeniera del Software con respecto a los mtodos de desarrollo de software. Palabras Clave: Ciencia, Ingeniera, Mtodo de Investigacin, Mtodos Cuantitativos, Mtodos Cualitativos, Mtodos Creativos, Ingeniera del Software, Mtodos de Desarrollo Software.

1. Introduccin
A partir del siglo XVI tiene lugar un importante avance del desarrollo cientfico que tambin afect a los mtodos de investigacin y a los criterios de verificacin de las teoras. Surgen as nuevos mtodos de investigacin ms adecuados a los estudios cientficos de la poca (astronoma, medicina, matemtica y fsica). Estos mtodos se dividen en empricos (inductivo e hipottico-deductivo) [2] que constituyen un cambio radical frente a los mtodos escolsticos, y deductivos, propuestos por Descartes [10], quien descalifica la lgica escolstica y desarrolla nuevos mtodos matemticos. Sin embargo, desde el siglo XVI hasta la actualidad el conocimiento ha experimentado avances importantes entre los que se cuenta el desarrollo de nuevas disciplinas como la ingeniera y, en el caso que nos ocupa, la ingeniera del software (IS). La naturaleza del saber de la ingeniera difiere, en su esencia, de la naturaleza del saber de las ciencias tradicionales. Por ello, del mismo modo que en el siglo XVI surgieron nuevos mtodos de investigacin adecuados a la ciencia de la poca, es necesario ahora definir otros que sean aplicables a los problemas concretos de la IS.

Existen muchas y muy variadas clasificaciones de ciencias1 [1], [5], [6], [17], basadas en diferentes criterios. Dependiendo del tipo de ciencia, se utilizan unos u otros mtodos de investigacin [7], [8], [13]. Sin embargo, ninguno de estos mtodos parece ser totalmente apropiado para la investigacin en IS. Tal y como se propone en [21], las ingenieras no encajan totalmente en las clasificaciones propuestas en la literatura, si bien estn relacionadas con la mayor parte de las disciplinas que en ellas aparecen. Por este motivo, la bsqueda de un mtodo apropiado para la investigacin en IS, y su aplicacin al desarrollo e implantacin de Sistemas de Informacin (SI), se est convirtiendo en un tema de investigacin en s mismo [11], [12], [15], [16], [18], [21], [23]. Pero, el mtodo tiene una gran dependencia del objeto de estudio. Nuestra hiptesis de partida es que el objeto de estudio en las ingenieras (y en particular en la IS), difiere del objeto de estudio de las ciencias formales, humanas y naturales. Mientras estas ciencias se ocupan de estudiar fenmenos u objetos ya existentes, las ciencias de la ingeniera se ocupan de estudiar los mtodos y tcnicas para la creacin de nuevos objetos e incluso de crear estos mtodos y tcnicas. En cuanto que la investigacin en IS se ocupa de la creacin (de nuevas tcnicas y mtodos), tiene similitudes importantes con la aplicacin de la IS que tambin se ocupa de la creacin (de productos software). Por ello, es posible establecer un paralelismo entre el mtodo de investigacin en IS y el mtodo de desarrollo software. En este artculo se discute, en la seccin 2, cul es la naturaleza y el objeto de conocimiento de la investigacin en IS. En la seccin 3 se analizan las similitudes del mtodo de investigacin en IS con respecto al mtodo de desarrollo software; para este anlisis se ha utilizado como caso de estudio, el mtodo de investigacin de una Tesis doctoral que se est llevando a cabo dentro del grupo Kybele y que consiste en la especificacin de una metodologa para el desarrollo de Sistemas de Informacin Web (SIW). En la seccin 4 se presentan las principales conclusiones as como lneas de trabajo que quedan abiertas.

2. La Investigacin en Ingeniera del Software


Para poder llegar al tipo de mtodo de investigacin apropiado para la IS, es preciso determinar previamente cul es la naturaleza del conocimiento en la IS y cul su objeto de estudio.

2.1. Ingeniera del Software: Ciencia o Tecnologa?


Quiz, una de las clasificaciones de Ciencia mas comnmente aceptada es aquella que divide las ciencias en formales (lgica y matemticas) y empricas
1

El diccionario de la RAE (2001) divide las ciencias en: exactas (matemticas), humanas o sociales (psicologa, sociologa, filosofa, etc.) y naturales (botnica, zoologa, etc. y aveces, tambin se incluyen aqu la fsica y la qumica). El RAE habla tambin de ciencias ocultas (magia, alquimia, astrologa, etc.).

(entre las que se encuentran la biologa, la qumica, etc.). Mientras las primeras emplean mtodos de investigacin deductivos, las segundas se basan en mtodos de investigacin empricos (inductivo e hipottico-deductivo). No es esta, sin embargo la nica clasificacin de Ciencia. Bunge [5] divide a las ciencias en puras y aplicadas, englobando dentro de stas ltimas a las tecnologas. As, por ejemplo, Bunge considera la ingeniera elctrica como una tecnologa fsica, o la medicina como una tecnologa biolgica. No tenemos muy claro donde podra encuadrarse la IS, as como otras ingenieras, dentro de esta clasificacin, no slo porque no es aplicacin directa de una nica ciencia pura, sino porque consideramos que la IS, as como el resto de las ingenieras, no son mera aplicacin de otras ciencias. Esta idea es defendida por Aracil [1] quien hace una dura crtica a las corrientes que no consideran las ingenieras dentro del campo del saber de las ciencias, sino como meras ciencias aplicadas. Sin embargo, Aracil s establece distincin entre ciencia e ingeniera. Segn este autor, la diferencia fundamental entre ambas es que mientras la primera se ocupa del estudio del cmo son las cosas, la segunda se ocupa del cmo deberan ser a fin de llegar a construir nuevos objetos y afirma que las ciencias se ocupan de lo natural, mientras que el dominio especfico de la ingeniera es lo artificial. El estudio del deber-ser acerca las ingenieras a la tica, pues ambos saberes tienen que ver con la accin humana, y a su metodologa, que es bsicamente la de la prudencia, que toma en cuenta factores de tiempo y circunstancia, como la urgencia o la rentabilidad, que las ciencias tradicionales no consideran. En los ltimos aos, dentro de la filosofa de la ciencia se ha insistido mucho, y con razn, en que la ciencia es tambin accin, no slo conocimiento; de modo correlativo deberamos insistir en que la ingeniera tambin es conocimiento, y no slo aplicacin. La diferencia entre ciencia y tecnologa est en los modos de accin y conocimiento que desarrollan, no en que una conozca y otra aplique. Adems de los filsofos de la ciencia, tambin hay autores relevantes en IS que reclaman la necesidad de definir una ciencia de la ingeniera. As, por ejemplo, Blum [4] distingue entre ciencia y tecnologa; detalla la relacin existente entre ciencia y tecnologa, comparando la labor del ingeniero con la del cientfico, as como el conocimiento en cada una de stas reas. Blum afirma: rechazo la estrecha definicin de ingeniera del software procedente de las ciencias de la computacin; en efecto, yo propongo disear una nueva ciencia de la computacin para la ingeniera del software... y contina definiendo la ciencia de la tecnologa de la computacin como el estudio de la transformacin de ideas en operaciones. En la lnea de Blum, nosotros proponemos dos ciencias de la computacin para la disciplina de la Ingeniera del Software que llamaremos: Ciencias de la Ingeniera del Software y Ciencias del Software. Mientras que las primeras, tal y como veremos en los apartados siguientes, se ocupan de estudiar cmo crear software, las segundas se centrar en estudiar, tanto el software, como las tcnicas,

modelos, mtodos, etc. que permiten crearlo. Existira una tercera ciencia que podra considerarse solapada entre las disciplinas de la IS y de los Sistemas de Informacin (SI) y que podramos denominar Ciencias de los Sistemas de Informacin. Esta ciencia se ocupara de cmo implantar y usar, tanto el software, como las tcnicas, modelos, etc. que permiten crearlo.

2.2. El Objeto de Estudio


Dependiendo pues del objeto que trate cada Ciencia, encontraremos un mtodo mas o menos adecuado para su estudio. Pero, cul es el objeto de estudio de la IS? Las ciencias empricas y formales, a fin de encontrar respuesta a numerosos interrogantes sin resolver, se centran en el estudio de objetos existentes para obtener respuestas a dichos interrogantes a travs de la creacin de hiptesis y modelos, la observacin y la experimentacin. Sin embargo, al igual que una ingeniera construye nuevos objetos, las ciencias de naturaleza ingenieril tambin construyen nuevos objetos (modelos, tcnicas, etc.), los cuales podrn ser a su vez objeto de investigacin cientfica. En este sentido, la ingeniera no slo busca un saber sobre determinados objetos, sino principalmente un saber hacer. Si la investigacin se centra en el cmo construir nuevos objetos, necesitaremos nuevos mtodos; si la investigacin se centra en estudiar dichos objetos (o los objetos que permiten construir) quiz nos valga con adaptar alguno de los mtodos usados por las ciencias tradicionales, ya que stas estudian fenmenos y objetos del mundo de manera independiente a cmo fueron creados. La investigacin en IS trata, por tanto, distintos problemas que debern ser abordados con distintos mtodos. Podran plantearse otras clasificaciones ms exhaustivas de los problemas de investigacin en este campo. Por ejemplo, en [15] se presenta un estudio muy completo a cerca de los problemas tratados en la literatura, as como de los mtodos de investigacin utilizados. Este trabajo se basa en la clasificacin presentada en el SWEBOK (Guide to the Software Engineering Body of Knowledge) [26]. El SWEBOK divide la IS en reas de conocimiento cmo, Requisitos Software, Diseo Software, Construccin de software, etc. Sin embargo, para el trabajo aqu presentado no es necesario una clasificacin de estas caractersticas ya que tratamos de dividir los problemas de la investigacin en IS segn la naturaleza del conocimiento. En este sentido, una primera aproximacin nos lleva a distinguir entre: a) La investigacin enfocada a la construccin de nuevos objetos (procesos, modelos, metodologas, tcnicas, etc.). Se realiza en el mbito de lo que hemos denominado Ciencias de la Ingeniera del Software. Este tipo de problemas son de naturaleza ingenieril, en el sentido de que su objeto de estudio es la construccin de nuevas herramientas (mtodos, modelos, etc.) para la construccin de software. b) Investigacin enfocada al estudio de dichos objetos (mtricas, optimizacin, etc.). Se realiza en el mbito de lo que hemos denominado

Ciencias del Software. Su objeto de estudio no difiere del de las ciencias tradicionales sino en que los objetos estudiados son artificiales en lugar de naturales. c) Investigacin enfocada a la implantacin y uso de estos nuevos objetos. Este tipo de investigacin, sin embargo, se realiza principalmente dentro de lo que podramos denominar Ciencias de los Sistemas de Informacin. En cada una de las reas de conocimiento propuestas en el SWEBOK podemos encontrar estas tres aproximaciones. As, por ejemplo, en Diseo de Software, podramos investigar sobre a) nuevas modelos para mejorar el proceso de diseo; b) centrarnos en el estudio de modelos ya construidos; c) como implantar el uso de estos nuevos modelos de diseo en una organizacin. Los problemas de tipo A son de naturaleza ingenieril; los problemas de tipo B tienen, en general, naturaleza emprica; los problemas de tipo C se centran en el estudio de problemas de carcter cultural y social. En este trabajo, nos acercamos al primer tipo de problemas, aquellos que construyen nuevas tcnicas, herramientas, etc. para facilitar el proceso de creacin de nuevos objetos (en general, objetos software). Los problemas de tipo B y C pueden ser estudiados desde la perspectiva de las ciencias tradicionales.

2.3. El Mtodo
Una vez determinado el objeto de estudio, podemos ver que tipos de mtodos se adecuan ms a cada tipo de investigacin. Lgicamente, y como ocurre con cualquier clasificacin, habr problemas que caigan en ms de una de estas clases y que requieran, por tanto, la combinacin de diferentes mtodos. Aunque los mtodos de investigacin pueden clasificarse de diversos modos, una clasificacin ampliamente aceptada en la actualidad y suficiente para nuestra argumentacin, es la que divide a los mtodos en cuantitativos y cualitativos [23]. Los mtodos, deductivos y empricos, podran encuadrase dentro de lo que se denominan mtodos de investigacin cuantitativos y son especialmente apropiados para el estudio de fenmenos u objetos naturales. Sin embargo, el estudio de fenmenos culturales y sociales requiere otro tipo de mtodos, que no se basen en experimentos ni teoras formales, sino en entrevistas, cuestionarios, documentos, impresiones y reacciones del investigador, etc. Reciben el nombre de mtodos cualitativos y entre ellos se encuentran la investigacin en accin, los casos de estudio, la etnografa, etc. Nosotros aadimos un tercer tipo de mtodos, los mtodos de investigacin creativos y que son aquellos que utilizan mayoritariamente las artes, si bien creatividad y ciencia estn siendo cada da mas relacionados [20], [25]. Aunque la creatividad podra verse como una caracterstica de la investigacin, independiente del mtodo, entendemos que hay ciencias cuya investigacin requiere de un alto grado de creatividad en oposicin a la observacin o la

experimentacin. Tal es el caso de las artes y de las ingenieras en cuanto al fuerte componente artstico de las mismas. Cuando la creatividad marca el proceso de investigacin, hablamos de mtodos creativos. Estos mtodos se basan en caractersticas como la imaginacin, premonicin, visualizacin... y en ellos interviene la inteligencia creativa del investigador por encima de la racional. La tabla 1, resume los principales objetos de estudio, ciencias y mtodos utilizados en la disciplina de la IS. CIENCIA TIPO A Ciencias de la Ingeniera del Software TIPO B Ciencias del Software TIPO C Ciencias de los Sistemas de Informacin OBJETO DE ESTUDIO Construccin de nuevos objetos Objeto construido Implantacin y uso de objetos construidos CARACTER Ingenieril Emprico Cultural y social MTODOS Cualitativos Creativos Cuantitativos Cualitativos

Tabla1.- Resumen de problemas, ciencias y mtodos de la IS Los problemas que hemos denominado de tipo B, pretenden contestar preguntas cmo: cunto de bueno es un mtodo? es posible obtener un mtodo de acceso ms eficiente?. Son los que ms se asemejan a los problemas tratados por las ciencias tradicionales (formales y empricas). Podra decirse que tienen carcter cientfico en contraposicin con el carcter ingenieril de los problemas de tipo A. Pueden, por tanto, abordarse utilizando mtodos de investigacin cuantitativos (aunque no exclusivamente). Los problemas de tipo C requieren del estudio de factores sociales y culturales. Pretender responder a preguntas cmo: cules son los factores por los que un determinado proceso de software no es aceptado en la empresa? porqu una herramienta de desarrollo software tiene ms o menos aceptacin que otra? Este tipo de problemas no pueden ser abordados nicamente mediante los tradicionalmente llamados mtodos cientficos, es decir, mediante mtodos puramente cuantitativos. Son problemas que deben ser abordados mediante mtodos cualitativos. La resolucin de aquellos problemas cuya naturaleza es puramente de ingeniera, problemas de tipo A, requieren otro tipo de mtodos. En estos casos, no es posible aplicar mtodos empricos, ya que el objeto de estudio an no existe. Segn [14], el objeto de la ciencia emprica reside fuera de nosotros y tiene una existencia en el mundo exterior. Por tanto, su conocimiento es de naturaleza fundamentalmente experimental y, adems, tal experimentacin debe basarse en la realidad. Tal y como afirma Fetzer [13]: La ciencia necesita ms que adecuacin emprica para tener xito, necesita el conocimiento de la realidad. ste no es el caso de las ingenieras, cuyo conocimiento tiene un importante componente de creatividad que dificulta la elaboracin de un mtodo universal para la resolucin

de problemas dentro de este mbito. Adems del componente de creatividad la investigacin en este tipo de problemas tiene un fuerte componente social y cultural en cuanto la adopcin de nuevos paradigmas, la parte de trabajo en equipo de los procesos software, el trabajo colaborativo, etc. Por todo ello, y cada vez ms, se estn empleando mtodos de carcter cualitativo en la investigacin en IS. Por todo lo dicho, parece que un mtodo de investigacin para abordar problemas propios de las Ciencias de la IS, debera estar basado, fundamentalmente, en mtodos cualitativos y creativos. Lgicamente, no existe un nico mtodo. En contra de la opinin de Bunge [5], pensamos que no existe un mtodo universal de resolucin de problemas, sino que cada problema requiere su propio mtodo. Existen varios autores que coinciden con esta opinin [8]. As, por ejemplo, Popper [24] dice: Por regla general, empiezo mis clases sobre el Mtodo Cientfico diciendo a mis alumnos que el mtodo cientfico no existe. De hecho, en el caso que nos ocupa, un mtodo para, por ejemplo, la definicin de un modelo nuevo, consistir fundamentalmente, en estudiar los modelos existentes, reflexionar acerca de ellos determinando sus ventajas y limitaciones, y plantear un nuevo modelo que, manteniendo las ventajas de los modelos estudiados, supere, en la medida de lo posible, las limitaciones de los mismos. El llegar a una mejor propuesta final depender, en gran medida, de la creatividad y sentido comn aplicados a la construccin del nuevo modelo. En Kosso (1992) se habla de la similitud del razonamiento cientfico y el razonamiento general y se afirma: Entre ciencia y sentido comn hay slo algunas sombras de diferencias. Al inicio del artculo, partimos tambin de la idea de que existe una gran similitud entre los mtodos de desarrollo de software y los mtodos de investigacin en Ciencias de la IS. Los mtodos de desarrollo software, al igual que ocurre con los mtodos de investigacin en Ciencias de la IS, tienen tambin un fuerte componente cualitativo (factores humanos, sociales y culturales). Adems, nadie duda de la importancia de la creatividad a la hora de concebir un nuevo producto software. En el siguiente apartado se utiliza un caso de estudio para establecer este paralelismo.

3. Paralelismo entre el Mtodo en IS y el Mtodo en el Desarrollo Software


Para justificar esta similitud entre el mtodo de investigacin en Ciencias de la IS y el mtodo de desarrollo software, utilizamos un caso de estudio. El caso se basa en el mtodo de investigacin que se est utilizando para la especificacin de un mtodo para el desarrollo de Sistemas de Informacin Web [22]. Ntese que se trata de un problema de carcter ingenieril y que hemos clasificado dentro del tipo A; es en este tipo de investigacin en el que nos centramos.

El mtodo de investigacin, se basa en los pasos que, segn Bunge [5], se deben seguir en toda investigacin cientfica (ver figura 1). Aunque estos pasos estn basados en el mtodo hipottico-deductivo, por su generalidad, son aplicables, con ciertas modificaciones, a cualquier tipo de investigacin. La etapa de resolucin ser la que sufrir mayores diferencias, ya que aqu se debern utilizar unas u otras tcnicas (experimentos, entrevistas, etc.) segn que se trate de un mtodo cualitativo, cuantitativo o creativo. En [21] puede encontrarse una descripcin detallada del mtodo; nos centramos aqu en las principales similitudes con respecto a los mtodos de desarrollo de software. La tabla 2 muestra un resumen de dichos paralelismo.
Cuerpo de conocimiento Problemas B s q. d e d o c u m e n t a c. Determinacin del problema

Creacin de la hiptesis

Definicin del mtodo de trabajo RESOLUCIN VALIDACIN VERIFICACI Anlisis de resultados y elaboracin de conclusiones Redaccin del informe final Nuevo Cuerpo de conocimiento Nuevos problemas

Figura1.- Mtodo de Investigacin Etapa 0: Bsqueda de documentacin La bsqueda de documentacin en una investigacin incluye: documentacin a cerca del problema a resolver y documentacin relacionada con el mtodo de resolucin y validacin. La bsqueda de documentacin en un desarrollo incluye: documentacin acerca de las metodologas empleadas, productos utilizados, etc. En muchas ocasiones, antes de comenzar un desarrollo es necesario documentarse tambin sobre el dominio especfico del producto a desarrollar. Etapa 1: Determinacin del problema En esta etapa se trata de determinar y definir claramente, partiendo de los problemas sin resolver dentro de nuestro campo de conocimiento, el problema que se va a abordar. Esta etapa tiene grandes similitudes con la etapa de captura de requisitos en el proceso de desarrollo de software. La captura de requisitos permite

realizar un anlisis del problema a abordar as como delimitar los aspectos concretos que se tendrn en cuenta para el futuro sistema. Etapa 2: Creacin de la hiptesis En los mtodos tradicionales de investigacin cientfica la hiptesis se formula en trminos causales (s ocurre A entonces ocurre B). Estas hiptesis son conjeturas de hechos que el mtodo cientfico deber contrastar y verificar. Sin embargo, es fcil comprobar que la hiptesis en una investigacin en Ciencias de la IS no responde a un planteamiento de causa-efecto. Recurdese que el objeto de estudio en este tipo de ciencia es la construccin de nuevos objetos (modelos, tcnicas o, como en nuestro caso de estudio, mtodos), que, por no existir, no son susceptible de experimentacin. No es este el caso de la investigacin realizada en lo que hemos denominado Ciencias del Software, ya que en estas ciencias el estudio se centra en los objetos creados por las Ciencias de la IS. Una hiptesis vlida en este caso sera: si aumenta el nmero de claves ajenas en un esquema relacional disminuye la mantenibilidad del mismo. Hiptesis en trminos causales que podr ser verificada por medio de mtodos cuantitativos (normalmente experimental). La hiptesis en Ciencias de la IS se formular como la descripcin del nuevo objeto que se desea construir que, en nuestro caso, ser la descripcin de la nueva metodologa de desarrollo: a qu sistemas se quiere aplicar, que etapas del ciclo de vida se abordarn, en qu tecnologa se basar. Y esto corresponde con la especificacin de requisitos software, producto obtenido como resultado de la fase de captura de requisitos. La hiptesis sera pues, la especificacin de requisitos del nuevo objeto a construir. Etapa 3: Definicin del mtodo de trabajo Aunque, en general, los mtodos de investigacin no plantean la definicin del mtodo a seguir como una tarea a realizar para la resolucin y verificacin del problema (tampoco el mtodo de Bunge lo hace), nosotros consideramos que es necesario ya que, tal y cmo vimos en el apartado 2.3., no existe un mtodo universal aplicable a cualquier investigacin. Al igual que ocurre con el mtodo de investigacin, no podemos hablar del proceso o de la metodologa de desarrollo software. Una metodologa de desarrollo debe tomarse como una gua, pero no como algo rgido; debe adaptarse para cada utilizacin de la misma, del mismo modo que el mtodo de investigacin. Al iniciar una investigacin es preciso elegir el paradigma metodolgico que se va a seguir (cualitativo, cuantitativo, etc.), as como el mtodo concreto (investigacin en accin, experimentacin etc.). Del mismo modo, al iniciar un desarrollo de software se decide el paradigma metodolgico (estructurado, orientado a objetos) y la metodologa concreta a seguir (Mtrica, OMT, etc.).

La realimentacin entre la fase de resolucin y verificacin, y la de definicin del mtodo de trabajo (sealada con trazo discontinuo en la figura 1), muestra como el mtodo se va haciendo, refinando, a medida que se avanza en la resolucin del problema. As, podemos decir que la definicin del mtodo de trabajo no concluye hasta que se finaliza la fase de resolucin y verificacin. La fase de resolucin mostrar cmo resolver el problema y, al igual que ocurre con la fase de definicin del mtodo de investigacin, el mtodo de desarrollo de software en ella definido, se ir haciendo y refinando en aproximaciones sucesivas. De igual modo, cuando se lleva a cabo un desarrollo software, el producto no est totalmente terminado hasta que se realizan las ltimas pruebas y, generalmente, se modifica el software de manera continua. Etapa 4: Resolucin, validacin y verificacin Para la resolucin, validacin y verificacin del problema concreto que nos ocupa, definicin de una metodologa para el desarrollo de SIW, es necesario realizar, de un modo muy simplificado, las siguiente actividades: especificacin del proceso de desarrollo software, especificacin de actividades a realizar en el mismo, especificacin de las tcnicas a utilizar. Aunque para ello se podran emplear diferentes mtodos de investigacin, en nuestro caso proponemos, para cada una de estas actividades: a) Resolucin: mediante el anlisis de casos de estudio y un proceso de imaginacin y creatividad. b) Verificacin: mediante la implementacin de un prototipo que permita eliminar ambigedades y verificar su correccin (podra tambin aqu utilizarse alguna otra tcnica de especificacin formal no necesariamente compilable). c) Validacin: mediante su aplicacin en casos de prueba. Otro mtodo recomendable para la resolucin, validacin y verificacin del problema de investigacin que nos ocupa es la investigacin en accin. Este mtodo nos permitira definir la metodologa al tiempo que se va usando y refinando en casos reales. Es especialmente til para la especificacin, validacin y verificacin de procesos. El problema de este mtodo estriba en la dificultad de trabajar con empresas y de que stas nos permitan efectivamente utilizar sus desarrollos como casos de prueba. El mtodo basado en casos de estudio y casos de prueba se asemejara a una investigacin en accin de laboratorio, cuando el caso de estudio y el de prueba coinciden. En realidad, es fcil comprobar que el mtodo de resolucin propuesto se acerca ms a cualquiera de los mtodos de desarrollo de software (refinamientos sucesivos) que a los mtodos tradicionales de investigacin cientfica. El motivo es que el carcter del problema que se desea resolver es tambin ms cercano a los problemas que se plantean en el mbito de la IS, que a los problemas que la investigacin cientfica trata de resolver. Un mtodo de desarrollo software nos da

las pautas para la construccin de nuevos objetos (software), al igual que el mtodo de investigacin nos da las pautas para la construccin de nuevos objetos (metodologas, modelos, etc.). Si analizamos, por ejemplo, la filosofa de desarrollo propuesta por Beck en su metodologa XP [3], podemos encontrar que es muy cercana en cuanto a planteamientos a los mtodos basados en investigacin en accin. En ambos casos se trata de obtener el producto (software, o metodologa de desarrollo en nuestro caso de estudio), mediante la creacin directa del mismo (programacin o concepcin y diseo), en colaboracin con los usuarios (del software o de la metodologa), probndalo y adaptndolo continuamente durante el propio proceso de creacin. Tambin es fcil encontrar similitudes en un mtodo de desarrollo software con respecto al mtodo de nuestro caso de estudio (basado a su vez en casos de estudio, casos de prueba y creatividad). Por ejemplo, si se desea construir una biblioteca digital, en primer lugar se analizaran otras y mediante un proceso de imaginacin y creatividad se diseara la nueva biblioteca. Mediante un juego de pruebas se verificar que funciona correctamente. La validacin con el usuario tambin podra hacerse, aunque no es ste el nico modo, mediante la utilizacin de un prototipo. Sera posible realizar una comparativa ms exhaustiva sobre los mtodos de investigacin en relacin con los mtodos de desarrollo, pero dejamos esta tarea para un trabajo posterior. Los mtodos tradicionales de investigacin cientfica y, en particular el propuesto por Bunge [5], slo sealan la necesidad de verificar la hiptesis planteada (o la teora propuesta, si se trata de ciencias formales). Sin embargo, en el caso que nos ocupa, la etapa de verificacin tiene dos tareas: la validacin, comprobar que el modelo se ha construido segn la hiptesis planteada, y la verificacin, comprobar que se ha construido correctamente, esto es, que es consistente. Igualmente, podemos realizar una comparativa con cualquier mtodo de desarrollo software donde la validacin nos permite comprobar que se cumplen las especificaciones del usuario y la verificacin nos asegura la correccin del sistema. La fase de resolucin podra corresponder a la creacin de la hiptesis en un mtodo emprico o la elaboracin de la teora en un mtodo deductivo. Visto de este modo, la verificacin del mtodo emprico equivaldra a la validacin de nuestro mtodo, mientras que la verificacin de la teora en un mtodo deductivo equivaldra a la comprobacin de la consistencia en nuestro mtodo, es decir a la tarea de verificacin propiamente dicha. Etapa 5: Anlisis de resultados y elaboracin de conclusiones Se trata de contrastar la hiptesis planteada al comienzo de la investigacin con los resultados obtenidos de sta. Se debe comprobar hasta qu punto se han cumplido los objetivos y en qu medida se ha resuelto el problema. En esta fase es muy importante delimitar los aspectos que no se han podido resolver y otros

nuevos problemas que hayan surgido como consecuencia de la investigacin y que pasarn a ser puntos de partida de nuevas investigaciones. En mtodos de naturaleza cuantitativa, parece que este aspecto es claro. Cuando la investigacin es de naturaleza cualitativa y la hiptesis formulada no responde a una expresin de causa efecto, la contrastacin de la hiptesis consiste bsicamente en comprobar hasta que punto se han cumplido los requisitos impuestos al principio de la investigacin: cubre la metodologa desarrollada todas las fases del proceso requeridas? es posible su utilizacin en aquellos entornos para los que fue pensada?, etc. Equivaldra, en un desarrollo software, a contrastar con el usuario hasta que punto se han cumplido sus expectativas y analizar si es posible realizar alguna mejora, aunque incluso no hubiera sido tenida en cuenta al inicio del proyecto. Etapa 6: Redaccin del informe final Consiste en la redaccin del informe en el que se expone, paso a paso, la investigacin realizada. En l se detalla: hiptesis, mtodo de investigacin, conclusiones, bibliografa y cualquier otro dato que se considere de relevancia para la comprensin y evaluacin del trabajo realizado. Es conveniente resaltar, en esta fase, la importancia de la tica de la investigacin. Del mismo modo, al finalizar un proceso de desarrollo es conveniente dejar el mismo documentado. Adems de la documentacin generada durante el desarrollo (requisitos de usuario, modelos, etc.), se incluirn manuales de usuario y una gua especificando tanto la funcionalidad del producto, como sus limitaciones. En este aspecto tambin es de especial importancia los aspectos ticos del desarrollo. Tabla 2.- Mtodos de Investigacin vs. Mtodos de Desarrollo Etapas E0: Documentacin Mtodo de Investigacin en Ciencias de la IS Problema a resolver Mtodo de investigacin Mtodo de Desarrollo Software Dominio de la aplicacin Metodologas, tcnicas, herramientas, etc. Anlisis de dominio

E1:Determinacin Estudio de campo problema Delimitacin del problema Captura de requisitos E2: Creac. Descripcin del objeto a Especificacin de requisitos hiptesis construir

E3: Def. Mtodo

Seleccin paradgma (cualitativo, cuantit., etc.) Seleccin del mtodo (experimental, investigacin en accin, etc.) Adaptacin al problema (tcnicas de experimentacin, marcos de validacin, etc.)

Seleccin paradgma (estructurado, OO, etc.) Seleccin del mtodo (Mtrica, XP, etc.) Adaptacin al problema (tcnicas que se usarn, notaciones, etc.)

E4: Resolucin Validacin Verificacin

Casos de estudio, Casos de estudio, creatividad creatividad Juego de pruebas Casos de prueba Prototipo Prototipo herramienta Resolucin, V&V eXtreme Programming Investigacin en accin E5: Anlisis Contrastacin hiptesis Contrastacin requisitos de usuario E6: Informe final Hiptesis, Mtodo, Requisitos, Manual de usuario, Conclusiones, etc. etc. Al finalizar la investigacin, el cuerpo de conocimiento inicial se ha modificado (en general, se habr ampliado) y los problemas de los que partimos ya no son los mismos. Algunos se habrn solucionado, otros se habrn modificado (reducindose o no) y aparecern, adems, nuevos problemas fruto de la investigacin realizada. Este nuevo cuerpo de conocimiento con sus nuevos problemas dar lugar a otros trabajos de investigacin. Al finalizar el desarrollo de software, el conocimiento inicial del cliente a cerca de lo que puede obtener se habr modificado (en general, se habr ampliado) y los problemas de los que partimos ya no son los mismos. Algunos se habrn solucionado, otros se habrn modificado (reducindose o no) y aparecern, adems, nuevos problemas fruto de la implantacin del software desarrollado. Este nuevo cuerpo de conocimiento con sus nuevos problemas dar lugar a otros trabajos de desarrollo.

4. Conclusiones
En este artculo se han discutido, en primer lugar, cual es el carcter del conocimiento en la IS, estableciendo tres dominios cientficos relacionados con esta disciplina. A estos dominios les hemos denominado: Ciencias de la IS, cuando el objeto de estudio no existe sino en la mente del investigador y el proceso de investigacin consiste precisamente en la creacin del mismo (un mtodo, modelo, etc.); Ciencias del Software, cuando el objeto de estudio es cualquier objeto

previamente creado en un proceso de investigacin en las Ciencias de la IS; Ciencias de los Sistemas de Informacin, si el objeto de estudio se centra en el proceso de implantacin y uso de los anteriormente citados objetos. A la vista del objeto de estudio de las Ciencias de la Ingeniera del Software, se ha concluido que los mtodos de investigacin que mejor se adaptan a este tipo de problemas son de naturaleza cualitativa y creativa. Por otra parte, y para poder establecer un paralelismo entre el mtodo de investigacin en IS y el mtodo de desarrollo software, hemos utilizado un caso de estudio. Se trata de un trabajo de investigacin que est llevando a cabo un miembro del grupo Kybele en una Tesis doctoral y que consiste en la especificacin de una metodologa para el desarrollo de SIW. Se ha comparado el mtodo seguido en esta investigacin con un proceso general de desarrollo de software, estableciendo las similitudes existentes entre ambos. Dejamos como tema abierto para un trabajo posterior la comparacin exhaustiva entre los diferentes mtodos y paradgmas de investigacin y los diferentes mtodos y paradgmas de desarrollo. Sera interesante estudiar la evolucin que han seguido los mtodos en cada uno de estos campos (ciencia y tecnologa), viendo en que modo se podran intercambiar entre ellos las lecciones aprendidas. Queda, adems, un gran trecho hasta sentar las bases y fundamentos de esta nueva Ciencia de la IS. Ello requiere, a su vez, de una Filosofa de la Ciencia adaptada, una Filosofa de la Ingeniera del Software, que deber construirse mediante la colaboracin estrecha entre Ingenieros del Software y Filsofos de la Ciencia.

Bibliografa
[1] Aracil, J. Mquinas, sistemas y modelos. Un ensayo sobre sistemtica. TECNOS, S.A. Madrid, 1986. [2] Bacon, F. Novum Organum Scienciarum. Traduccin de Francisco Larroyo. Porra, Mxico 1975. [3] Beck, K. Embracing Change with eXtreme Programming. Computer , vol. 32, n 10, pp.70-77, 1999. [4] Blum, B. I. Beyond Programming: To a New Era of Design. Oxford University Press, 1996. [5] Bunge, M. La Investigacin Cientfica. Ed. Ariel, S.A. Barcelona, 1976. [6] Bunge, M. Epistemologa. Ariel S.A. Barcelona, 1985. [7] Chalmers, A. Qu es esa cosa llamada ciencia?. Siglo XXI de Espaa Editores, S.A. Madrid, 2 ed. 1984. [8] Chalmers, A. La ciencia y como se elabora. Siglo XXI de Espaa Editores, S.A. Madrid, 1992.

[9] Cornford, T y Smithson, S. Project Research in Information Systems. A Students Guide. Ed. MacMillan, 1996. [10] Descartes. Discurso del Mtodo. Traduccin de Manuel Garca Morente. Espasa Calpe, S.A. 1970. [11] Dobson, P. J. The Philosophy of Critical Realism-An Opportunity for Information Systems Research. Information Systems Frontiers, 3:2, pp. 199210, 2001 [12] Estay-Niculcar, C.A. y Pastor, J. A. Un Modelo de Madurez para Investigacin-Accin en Sistemas de Informacin. VI Jornadas de Ingeniera del Software y Bases de Datos. Almagro (Ciudad Real), 21-23 de Noviembre de 2001. [13] Fetzer, J. H. Philosophy of Science. Paragon House. Uneted States, 1993. [14] Gallego, A. Ser Doctor. Cmo redactar una Tesis Doctoral. Fundacin Universidad-Empresa. Monografas Profesionales:107. Madrid, 1987. [15] Glass, R.L., Vessey, I. y Ramesh, V. (2002). Research in software engineering: an analysis of the literature. En: Information and Software Technology Ed. Elsevier Science B.V. N.44, pp. 491-506, 2002. [16] Gregg, D. G., Kulkarni, U. R. y Vinz, A. S. Understanding the Philosophical Underpinnings of Software Engineering Research in Information Systems. Information Systems Frontiers, 3:2, pp. 169-183, 2001. [17] Grene, M. About the Division of Sciences. En: Aristotle on Nature and Living Things, Ed. Gotthelf. Mathesis Publications y Bristol Classical Press. Pittsburgh, 1985. [18] Khazanchi, D. y Munkvold, B.E. Is Information Systems a Science? En: Information Systems- The Next Generation. Ed. L. Brooks and C. Kimble. Mc Graw-Hill, pp. 1-12, 1998. [19] Kosso, P. Reading the Book of Nature. An Introduction to the Philosophy of Science. Cambridge University Press, 1992. [20] Manzelli, P. Science and Creativity: cultural and scientific change and innovation in educational and social science. International Congress on Creativity and Society. Habana - Cuba 20-24 April 1998. Recuperado en septiembre de 2002 de: http://www.see.it/icn/cuba1.html. [21] Marcos, E. y Marcos, A. (1998). An Aristotelian Approach to the Methodological Research: a Method for Data Models Construction. En: Information Systems- The Next Generation. Ed. L. Brooks and C. Kimble. Mc Graw-Hill, pp. 532-543, 1998. [22] Marcos, E. Vela, B., Cceres, P. y Cavero, J.M., MIDAS/DB: a Methodological Framework for Web Database Design. DASWIS 2001, Yokohama (Japan), noviembre, 2001. A publicar en: LNCS, Springer Verlag, 2002.

[23] Myers, M. D. Qualitative Research in Information Systems. MIS Quarterly, 21:2, pp 241-242, junio 1997. Recuperado de MISQ Discovery, http://www.auckland.ae.nz/msis/isworld/, ltima actualizacin junio de 2002. [24] Popper, K. Realismo y el objetivo de la ciencia. Ed. Tecnos, Madrid, 1985. [25] Standler, R. B. Creativity in Science and Engineering. Recuperado en septiembre de 2002 de: http://www.rbs0.com/create.htm, enero de 2002. [26] SWEBOK. Guide to the Software Engineering Body of Knowledge. IEEE Computer Society y ACM Software Engineering Coordinating Committee, 2001. Recuperado, septiembre de 2002, de: http://www.swebok.org/

Вам также может понравиться