Estudio comparativo de metodologías de desarrollo de software orientadas a la calidad intrínseca
Professor Advisor
dc.contributor.advisor
Villena Moya, Agustin
Author
dc.contributor.author
Álvarez Contreras, Erwin Gonzalo
Staff editor
dc.contributor.editor
Facultad de Ciencias Físicas y Matemáticas
Staff editor
dc.contributor.editor
Departamento de Ciencias de la Computación
Associate professor
dc.contributor.other
Mateu Brûle, Luis
Associate professor
dc.contributor.other
Barros Arancibia, Benjamín
Admission date
dc.date.accessioned
2014-09-23T18:53:14Z
Available date
dc.date.available
2014-09-23T18:53:14Z
Publication date
dc.date.issued
2014
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/116898
General note
dc.description
Ingeniero Civil en Computación
Abstract
dc.description.abstract
En el mundo del desarrollo de software, existe una necesidad constante de construir sistemas capaces de enfrentar los desafíos de un ambiente siempre cambiante. Uno de los movimientos que acepta el riesgo como parte de su proceso son las metodologías ágiles de desarrollo de software, y dentro de ellas, las metodologías de desarrollo guiado por pruebas (TDD).
El objetivo del Trabajo de Titulo es analizar estas metodologías, en particular el desarrollo guiado por pruebas clásico y el desarrollo guiado por comportamiento, con el fin de entender las fortalezas y debilidades de cada una de ellas. De ésta forma, a partir de este análisis, se espera dar una guía a aquellas personas que se interesan por la calidad, pero se ven abrumadas por la cantidad de estilos o variantes de TDD.
Con el fin de entender a fondo las metodologías, se realizaron experimentos técnicos, los cuales fueron analizados considerando diferentes criterios, entre ellos la necesidad de un diseño a priori, valor entregado al cliente y la curva de aprendizaje. Sin embargo, al momento de la comparación, estos criterios mostraron ser insuficientes pues resultaron ser cualitativos y muy subjetivos. Posteriormente, se intentó un análisis más abstracto, enfocado en el proceso mismo de desarrollo.
A partir de los resultados obtenidos, fue posible comprender que las técnicas presentadas no eran excluyentes, y que cada una de ellas puede entregar recursos interesantes tanto al equipo de desarrollo como al cliente de la aplicación o sistema, fortaleciendo la comunicación entre los actores del desarrollo de software o bien dándole la capacidad de responder de forma confiable al cambio.