Site hosted by Angelfire.com: Build your free website today!

¿Qué es la ingeniería de Software?

Visiones alternas



Después de un tiempo de abogar por la visión tradicional de la Ingeniería de software (ver mi artículo al respecto)y de contrastar esa teoría con la realidad práctica, decidí emprender una investigación empírica amplia para conocer la industria. Así, incursioné en pequeñas, medianas y grandes empresas de software para trabajar y, al mismo tiempo, observar más a fondo lo que ocurría en el trabajo del día a día. Me auxilié de herramientas conceptuales de la sociología de las organizaciones y los estudios organizacionales. Así, poco a poco he ido desarrollando la idea de que la Ingeniería de Software no es lo que uno ha aprendido en la universidad. Aquí doy cuenta de algunos de los avances de mis investigaciones.

Primero remito al lector a un ensayo que se publicó en el libro de H. Oktaba y M. Piattini (Eds.) Software Process Improvement for Small and Medium Enterprises: Techniques and Case Studies, en 2008 por IGI-Global en los Estados Unidos y Europa.



Abstract

The intention of this chapter is twofold. On the one hand, I illustrate the complexity of the small software organization, because it is not a reduced version of a large company. Rather, it has very important advantages and challenges. Then, I use organization studies as a multi-disciplinary and multi-paradigmatic link between disciplines, able to reconcile those distinct visions. On the other hand, I open the discussion on the state of crisis affecting software engineering as a discipline. For that, I try to sensitize the reader to the facts surrounding this crisis, but also to the most promising alternative, which is the redefinition of software engineering as a discipline. One of the possible options for that paradigmatic shift requires a multi-disciplinary orientation because their positivist roots and the adoption of a constructivist ontology and epistemology facilitating the inclusion of visions non-qualified for a systematic, disciplined and quantitative approach. My position is that only by opening up this discussion is it possible to begin transforming and consolidating software engineering as a strengthened and more terrain-attached discipline because of its powerful theoretical and practical explanatory capacity.

Disponible en Google Books o aquí


¿Qué es la ingeniería de software?: Una visión alterna



La Ingeniería de Software: Su filosofía y su desafío

En mis investigaciones, de campo y bibliográficas, llevadas a cabo desde 2005 a la fecha, me han llevado a concluir que la Ingeniería de Software no es lo que uno supone que es, o en otras palabras, no es lo que institucionalmente se nos ha hecho creer. A pesar del nombre de ingeniería, ésta dista mucho de ser tal.

La ingeniería de software, no es una disciplina de ingeniería sino más bien una disciplina técnica y de administración (o management) impulsada desde sus orígenes por el Departamento de Defensa de los Estados Unidos (DoD), como lo demuestra la investigación histórica.

La esencia del objeto de estudio de la Ingeniería de Software como disciplina teórico-práctica, es decir, su ontología es de naturaleza más organizacional que ingenieril, aunque tiene un componente tecnológico muy importante.

Descarga la presentación de la ponencia "La Ingeniería de Software: Su filosofía y su desafío" presentada por mí y por la M.C.C. Rafaela Blanca Silva López de la Universidad Autónoma Metropolitana - Unidad Azcapotzalco, en el XXIV Congreso de la ANIEI en Colima, Colima, México, el 26 de octubre de 2011.


La Ingeniería de Software: Una Discusión Epistemológica


Tesis de maestría en ciencias de la computación, Universidad Autónoma Metropolitana, Unidad Azcapotzalco, México. 2011.

Resumen

La Ingeniería de Software se encuentra en una crisis disciplinaria por la falta de fundamentos bien establecidos. El impulso de la iniciativa Software Engineering Method And Theory (SEMAT) ignorando la Guide to Software Engineering Body of Knowledge (SWEBoK) confirma esa situación que se prolonga ya por más de 40 años. Partiendo de una propuesta epistemológica interdisciplinaria, esta investigación propuso la creación de la Ciencia del Software.

Despues de una profunda revisón histórica y del contexto, se propuso un marco conceptual de cuatro niveles ontológicos complementarios. El primer nivel aborda el “software” como lenguaje de programación, algoritmo, cálculo y como sistema de software acotado por el hardware; es la dimesión técnica. El segundo nivel ontológico abordó el “proceso de producción” o “desarrollo de software” como un proceso de organización del trabajo, un tema central en la teoría de la organización. El tercer nivel se centró en el “proyecto de software” como proceso social y organización temporal, dominio de la teoría de la administración de proyectos. Y el cuarto nivel abordó la “fábrica de software” como una empresa de naturaleza organizacionl y empresarial.

Se propusieron dos modelos en complemento, el primero originado en la psicología social para delinear una estrategia de cambio paradigmático y el segundo, un modelo filosófico originado en la administración, para integrar todos los elementos en una propuesta integral. Así, las “mejores prácticas” estarán basadas en fundamentos ontológicos y epistemológicos sólidos y en un comportamiento ético, que lleve al establecimeinto de la filosofía de la ciencia del software.

Palabras clave: ciencias de la computación, ingeniería de software, ciencia del software, filosofía de la ciencia, crisis desciplinaria, filosofía del software, cambio paradigmático.

Descárgala aquí.

Software Engineering: An Interdisciplinary Epistemological Discussion

(in Spanish)

Master's dissertation in Computer Science, Universidad Autónoma Metropolitana, Unidad Azcapotzalco, México.

Abstract

Software Engineering, as discipline, is on a profound crisis because it has not a clear-cut definition on its fundamentals for a better theory and practice fitting. The Software Engineering Method And Theory (SEMAT) Initiative that overrides the Guide to Software Engineering Body of Knowledge (SWEBoK), confirms this status which extends over more than 40 years.

First, after a deep historical review and context discussion, using an interdisciplinary epistemological framework, founded on a basic element set, this research proposed to create the Science of Software. For that, an ontological four-level framework is propossed. The first ontological level, is organized nearby software as programming language, algorithm, calculus (computation) in a broad sense, and software system but constrained by hardware. The second level focuses on “software development” as a work organization process, a core subject in organization theory. The third level is “software project” as a social process and a temporary organization, a core domain in project management theory. And, fourth level addesses the “software factory” as a wide organizational and entrepreneurial enterprise, more magerial and administrative in nature. But, only the first one level is a computer domain in essence and the best choice for the core or essence on the proposed Science of Software.

As an alternative, if the Science of Software pretends to be all-inclusive, then it requires be a multidisciplinary umbrella and approach. Next, two model-set has suggested, first to define the strategy for the paradigmatic change, and second, to integrate all these items in a well-defined and complimentary framework. Therefore, ‘best practices’ are best fitted with knowledge, ethical behaviorbut, and rooted on its ontology.

Keywords: computer science, software engineering, science of software, philosophy of science, philosophy of software, paradigm shift.

Download it here.


Última actualización: 12 de abril de 2012 17:15 CST

Eres el visitante

desde el 12 de abril de 2012.

Envíame tus comentarios.

Email: jzavalar@yahoo.com

Regresar

Copyright. 2012. Todos los derechos reservados.

Se prohibe la copia y distribución de este material para fines de lucro. Se autoriza la copia para fines personales siempre y cuando se cite la fuente íntegramente.