Professional Documents
Culture Documents
Software
1 Introduccin
3. Las personas responsables del desarrollo deben ser pocas pero muy
competentes
4. Las Organizaciones deben vivir con las decisiones de los desarrolladores
5. Las Organizaciones deben de tener un ambiente que facilite la comunicacin
rpida entre miembros del equipo de trabajo
El factor ms importante a tomar en cuenta, es probablemente, el tamao del
proyecto. [10] Cuando el tamao crece, la comunicacin cara a cara se hace ms
difcil. Por lo tanto, los Mtodos giles son convenientes para proyectos con
equipos pequeos, es decir, que involucren menos de 20 personas.
Para determinar la conveniencia individual del empleo de Mtodos giles, se
requiere de un anlisis sofisticado; los Mtodos DSDM, por ejemplo, proporcionan
para este propsito un filtro de conveniencia (suitability-filter); la familia de
Mtodos Crystal proporcionan criterios que ayuden a seleccionar el mtodo
adecuado para un proyecto y la eleccin est basada, en el tamao del proyecto,
riesgos y prioridades. Sin embargo, otros Mtodos giles no proporcinan ningn
instrumento explcito para evaluar su conveniencia para un proyecto.
Algunos Mtodos giles, como DSDM y FDD (Feature Driven Development,
Desarrollo Conducido por Rasgos), son considerados convenientes para cualquier
proyecto de desarrollo de software gil, independientemente de caractersticas
circunstanciales. [11]
Una comparacin de Mtodos giles revela que ellos soportan diferentes fases
de un ciclo de vida de desarrollo de software en varios grados y esta caracterstica
individual puede ser empleada como criterio de seleccin para elegir al Mtodo
gil adecuado.
El desarrollo gil ha sido documentado extensamente [7] y se conoce que
trabaja bien para equipos pequeos (menos de 10 desarrolladores) que son
capaces de afrontar requerimientos imprevisibles o que se cambian rpidamente.
La aplicabilidad del Desarrollo gil a los siguientes escenarios es cuestionable:
Los esfuerzos de desarrollo a gran escala (ms de 20 desarrolladores), las
estrategias empleadas, ya han sido descritas. [12]
Los esfuerzos de desarrollo distribuido (equipos no localizables dentro de la
compaa), sus estrategias han sido descritas en Bridging the Distance
(Acortamiento de Distancia) [13] y en Using an Agile Software Process with
Offshore Development (Utilizando un Proceso de Software gil con Desarrollo
en el Exterior) [14].
Esfuerzos Crticos: Misin - y vida (Mission- and life-critical efforts).
Culturas de Empresa: Comando y Control (Command-and-control).
8 Sandra Dinora Orantes Jimnez
Barry Boehm y Richard Turner sugieren que el anlisis de riesgo sea usado para
escoger entre mtodos adaptables ("gil") y predictivos ("conducidos por plan"). [7]
Los autores sugieren que cada mtodo tenga su propio sitio:
Mtodos giles:
Bajo riesgo
Desarrolladores Senior
Requerimientos muy cambiantes
Nmero pequeo de desarrolladores
Cultura que prospera sobre el caos
Mtodos Predictivos:
Alto riesgo
Desarrolladores Junior
Bajos cambios en los requerimientos
Nmero grande de desarrolladores
Cultura que exige tener orden
Lograr que los proyectos desarrollados con Metodologas giles sean de calidad
no es una tarea fcil, se tiene que garantizar que el mtodo elegido es confiable y
que el producto resultante tambin lo es.
12 Sandra Dinora Orantes Jimnez
Documento de Documento de
Definicin de Especificacin de
Requisitos Requisitos
Calidad de Software en el uso de Metodologas giles para el Desarrollo de Software 13
SOFTWARE
La implicacin prctica es que los mtodos giles permiten que los equipos de
proyecto adapten prcticas de trabajo segn las necesidades de proyectos
individuales. Las prcticas son actividades concretas y los productos son parte del
marco de trabajo del mtodo. En un nivel extremo, la filosofa detrs del mtodo,
consiste en un nmero de principios, que pueden ser adaptados [15].
En el caso de XP la necesidad de adaptacin del mtodo se hace explcita y una
de sus ideas fundamentales, es que no hay un proceso fijo para cada proyecto
como tal, pero en la prctica debe ser adaptado a las necesidades de proyectos
individuales. No hay tampoco informes de la experiencia con las prcticas, en las
cuales, se ha adoptado XP; sin embargo, una adopcin parcial de las prcticas de
XP, segn lo sugerido por Beck (Kent Beck es el creador de eXtreme
Programming y uno de los fundadores del Manifiesto gil), s ha sido reportado en
varias ocasiones [16].
Puede hacerse una distincin entre la adaptacin esttica y la adaptacin
dinmica del mtodo. [17] La clave detrs de la adaptacin esttica, es que el
contexto del proyecto est dado al comienzo y el resto es fijado durante su
ejecucin y el resultado, es una definicin esttica del contexto del proyecto y
dada tal definicin, los mapas de ruta se pueden utilizar para determinar cules
fragmentos estructurados de mtodos, se deben emplear para ese proyecto
particular, basndose en un conjunto de criterios predefinidos.
La adaptacin dinmica del mtodo, en contraste, asume que los proyectos estn
situados en un contexto inesperado. Un contexto inesperado implica que un
proyecto tiene que ocuparse de los factores imprevisibles que afectan condiciones
relevantes que no son previsibles y esto tambin significa, que el contexto del
proyecto no es fijo, cambia durante su ejecucin y que en el caso de rutas
reguladas, no son apropiados. La implicacin prctica de la adaptacin dinmica
del mtodo es que los encargados de proyecto tienen que modificar fragmentos
estructurados o innovar a menudo nuevos fragmentos, durante la ejecucin de un
proyecto.[17]
No hay que olvidar que al emplear Mtodos giles, el Cliente pasa a formar parte
del equipo de desarrollo, se le tomar en cuenta como tal en todas las iteraciones
y para el xito del proyecto, la administracin de la organizacin debe estar dando
el soporte necesario durante todo el desarrollo, brindando todo lo que sea
Calidad de Software en el uso de Metodologas giles para el Desarrollo de Software 15
7 Conclusiones
Metodologas Tradicionales
Metodologas Desarrollo
Modelo de Cascada Cowboy Coding
giles Iterativo
El perodo de tiempo Es la ausencia de
es medido en meses un mtodo definido:
y si no se tiene una los miembros de
buena planificacin, equipo hacen lo
del tiempo que debe que ellos sienten
Enfatizan en el durar cada etapa, los que es lo correcto.
El perodo de
desarrollo proyectos se salen La nueva
tiempo es
iterativo de control, ya que, es evaluacin
medido en
construyendo la ms predictiva de frecuente del
meses y si no
software en todas las desarrollo gil de
se tiene una
perodos cortos metodologas, proyectos, enfatiza
buena
de tiempo, como pasando por la en la comunicacin
planificacin, los
cajas cerradas de exigencia de la cara a cara y el
proyectos se
un tiempo captura de empleo
salen de control.
estricto. requerimientos, relativamente
anlisis, diseo, escaso de
codificacin y documentos, que
pruebas en una en ocasiones hace
secuencia estricta que los
preplaneada. desarrolladores lo
Tiende a ser confundan con
sumamente Cowboy Coding
El trabajo se (Codificacin de
A veces no es colaborativo porque
realiza de Vaquero). Sin
muy cada etapa tiene que
manera embargo, los
colaborativo. estar bien definida y
colaborativa. Equipos giles,
terminada para pasar
a la siguiente. realmente siguen
Calidad de Software en el uso de Metodologas giles para el Desarrollo de Software 21
No existe
contrato
Existe un contrato prefijado, para la
tradicional o al
planificacin y tiempos establecidos.
menos, es
bastante flexible.
El cliente interacta con el equipo de
El cliente es desarrollo mediante reuniones, pero no
parte del equipo se considera parte del equipo,
de desarrollo. solamente aporta opiniones y da su
visto bueno.
Grupos
pequeos
(menos de 10
integrantes) y
trabajando en el
Grupos grandes y posiblemente
mismo sitio y
distribuidos, no necesariamente con
tienen que ser
experiencia en el nuevo desarrollo.
personal
altamente
calificado en el
tipo de
desarrollo.
Menos nfasis en La arquitectura del software es esencial
la arquitectura y se expresa mediante modelos.
del software.
Poco nfasis en Mucho nfasis en el seguimiento de
el seguimiento de una Gestin de Calidad.
una Gestin de
Calidad.
Referencias
[1] Craig Larman, Victor R, Basili. Iterative and Incremental Development: A Brief
History. Published by the IEEE Computer Society. June 2003.
[2] Vase la liga de Alianza gil: http://www.agilealliance.com/
[3] Vase la liga del Manifiesto gil: http://agilemanifesto.org/
[4] Ron Jeffries, Ann Anderson, Chet Hendrickson. Extreme Programming
Installed (Paperback). The XP Series. December 2001.
[5] Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward
Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt,
Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken
Schwaber, Jeff Sutherland, Dave Thomas.
[6] Vanse los principios en la liga: http://www.agilemanifesto.org/principles.html
[7] Barry Boehm, R. Turner. Balancing Agility and Discipline: A Guide for the
Perplexed. Boston, MA: Addison-Wesley. ISBN 0-321-18612-5. Appendix A,
pages 165-194. 2004.
[8] Laplante, P.A., C.J. Neill (February 2004). The Demise of the Waterfall Model
Is Imminent and Other Urban Myths. ACM Queue 1 (10). Retrieved on 2006-
05-13.
[9] Coleman and Verbruggen: A quality software process for rapid application
development, Software Quality. Journal 7, p. 107-1222. 1998.
[10] Cohen, D., Lindvall, M., & Costa, P. An introduction to agile methods. In
Advances in Computers (pp. 1-66). New York: Elsevier Science, 2004.
[11] Abrahamsson, P., Warsta, J., Siponen, M.T., & Ronkainen, J. New Directions
on Agile Methods: A Comparative Analysis. Proceedings of ICSE'03, 244-254,
2003.
[12] Scott Ambler. Architecture and Design: Supersize Me. Dr. Dobbs Magazine.
February 15, 2006. (Dr. Dobbs Portal The World of Software Development:
http://www.ddj.com/dept/architect/184415491)
[13] Scott Ambler. Architecture and Design: Bridging the Distance. Dr. Dobbs
Magazine. August 12, 2002. (Dr. Dobbs Portal The World of Software
Development: http://www.ddj.com/dept/architect/184415491)
[14] Martin Fowler. Using an Agile Software Process with Offshore Development.
Significant Revisions: 18 Jul 06: Updated again after a trip to India. Added a lot
of small changes around the document. (Vase liga:
http://www.martinfowler.com/articles/agileOffshore.html)
Calidad de Software en el uso de Metodologas giles para el Desarrollo de Software 25
[15] Aydin, M.N., Harmsen, F., Slooten, K. v., & Stagwee, R. A. An Agile
Information Systems Development Method in use. Turk J Elec Engin, 12(2),
127-138, 2004.
[16] Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. Agile Software
Development Methods: Review and Analysis. VTT Publications 478, 2002.
[17] Aydin, M.N., Harmsen, F., Slooten van K., & Stegwee, R.A. On the Adaptation
of An Agile Information Systems Development Method. Journal of Database
Management Special issue on Agile Analysis, Design, and Implementation,
16(4), 20-24, 2005.
[18] Somerville, I., Software Engineering, Sixth Edition. Pearson Education
Limited, 2001.
[19] Pressman, R. S., Software Engineering. A Practitioners Approach, Fifth
Edition. McGraw-Hill International, 2001.
[20] McCall, J.A., Cavano, J.P., A Framework for the Measurement of Software
Quality, ACM Software Quality Assurance Workshop, 1978.
[21] Bohem, B.W. , Software Engineering Economics, Prentice Hall, 1981.
[22] ISO/IEC 9126: Software Engineering - Product quality, International
Organization for Standardization, 2000.
[23] Paulk, M., Capability Maturity Model for Software, Software Engineering
Institute, Carnegie Mellon University, 1993.
[24] ISO/IEC 12207: AMENDMENT 1:2002: Information technology - Software life
cycle processes, International Organization for Standardization, 2002.
[25] ISO/IEC 15504: Information technology - Process assessment, International
Organization for Standardization, 2004.
[26] Agile Alliance at http://agilealliancebeta.org/article/file/904/file.pdf