¿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.
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í
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.
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í.
¿Qué es la ingeniería de software?: Una visión alterna
La Ingeniería de Software: Su filosofía y su desafío
La Ingeniería de Software: Una Discusión Epistemológica
Software Engineering: An Interdisciplinary Epistemological Discussion
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
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.