Академический Документы
Профессиональный Документы
Культура Документы
Romina Torres 2
David Ruete3
RESUMEN
Uno de los principales factores de xito de las metodologas giles en la generacin de software de calidad
reside en la experiencia de los equipos de desarrollo. Tpicamente equipos inexpertos suelen cometer errores
recurrentes para los cuales equipos seniors ya cuentan con buenas prcticas para evitarlos o mitigar sus efectos.
Lamentablemente, esa informacin no siempre es de fcil acceso. En este trabajo, proponemos una gua de
buenas prcticas orientada a equipos inexpertos en la utilizacin especfica de Scrum como metodologa de
gestin y Extreme Programming como metodologa de desarrollo de software, la cual est inspirada en patrones y antipatrones recolectados en la literatura. Nuestra propuesta est siendo validada utilizando una muestra de alumnos
en trabajo de ttulo de la Universidad Andrs Bello.
Keywords: Equipos inexpertos, calidad, metodologa Scrum, metodologa XP, patrones, anti patrones.
ABSTRACT
One of the main success factors of the agile methodologies on the production of software with high levels of quality
resides on the experience of the development teams. Typically, inexperienced teams often make recurrent errors for
which, senior teams already have good practices to avoid them or to mitigate their effects. Unfortunately, this
information not always is easy to find. In this work, we propose a guide of good practices oriented to inexperienced
teams on the specific use of Scrum as management methodology and extreme programming as software development
methodology, which is inspired on patterns and anti-patterns recollected from the literature. Our proposal is being
validated using a sample of students from the Universidad Andrs Bello working on software projects, which are their
final project to obtain their professional degree.
Keywords: inexpert teams, quality, Scrum methodology, XP methodology, patterns, anti-patterns.
I. INTRODUCCIN
Uno de los principales temas de inters de la comunidad
informtica, es el creciente aumento de proyectos
utilizando metodologas giles (MAs) tanto en el
desarrollo como en la gestin de stos [12]. Estas
metodologas se han hecho muy populares en los ltimos
aos, debido a la posibilidad que brindan de realizar
entregas funcionales a los clientes rpidamente,
manteniendo fijo los costos y tiempos del proyecto,
adems de aceptar cambios de requisitos [3]. Las MAs
apuestan a equipos multidisciplinarios, auto organizados
y bien gestionados donde el rol jefe de proyecto deja de
tener relevancia, pues todos los integrantes tienen el
mismo poder de opinin y decisin en los temas que se
plantean. Para medir la calidad tanto del producto final
como de las entregas funcionales tempranas existen
diversos modelos de calidad, tales como el modelo de
ISO/IEC 9126-2001 el cual se enfoca en la calidad del
producto de Software (tanto interna como externa) junto
a la calidad en uso. En la Figura 1 detallamos las
1
2
3
Facultad de Ingeniera, Universidad Andrs Bello, Quillota 980, Via del Mar Chile E-mail: g.costa@uandresbello.edu
Facultad de Ingeniera, Universidad Andrs Bello, Quillota 980, Via del Mar Chile E-mail: romina.torres@unab.cl
Facultad de Ingeniera, Universidad Andrs Bello, Sazi 2324, Santiago
Chile E-mail: druete@unab.cl
continuacin se muestra una recopilacin de los antipatrones divididos por reas de gestin de proyecto,
desarrollo de software, pruebas, equipo de desarrollo y
arquitectura.
Anti-patrones de Gestin de proyecto:
equipo
Anti-patrones de Pruebas:
realiz refactorizacin de
Problema 17:
Ningn equipo realiz planificacin de
pruebas unitarias, integracin, sistemas, aceptacin.
Problema 18: La mayora de los equipos ejecutaron reuniones
acorde a sus necesidades y no acorde a lo que exigan las
metodologas seleccionadas.
Anti-patrones Arquitectura
IV PROPUESTA
Mediante el cruce de patrones, anti-patrones utilizados
frecuentemente en MAs y los problemas detectados en
los equipos inexpertos se cre un conjunto de BPs. Esta
consiste en 31 BPs que contribuirn en el desarrollo de
un producto de calidad. Estas BPs fueron trazadas con
los patrones y anti- patrones giles mencionados en el
marco terico junto a los problemas detectados en los
equipos inexpertos de la muestra.
Las BPs orientadas a la gestin de proyectos son:
BP1: Definir roles de acuerdo a metodologa Scrum/XP. Al
definir de forma adecuada los roles que participarn en el
proyecto, permite dar respuesta a anti-patrn 1 y a problema 1
enfrentado por equipos inexpertos en el desarrollo y
gestin de proyectos giles.
BP2: Definicin de fases de acuerdo a metodologa
Scrum/XP. Al establecer las fases con las que contar el
proyecto y las actividades a desarrollar en cada una de ellas,
permite enfrentar a los anti-patrones 3 y 4, y al problema 2
detectado en equipos inexpertos.
BP3: Definicin concepto HECHO. El establecer el trmino
HECHO, permite al equipo de desarrollo tener claridad en
lo que debe ser finalizado al termino del Sprint, dando
respuesta a los anti-patrones 2 y 3.
BP4: Definir nmero y metas de releases. Al planificar el
proyecto deben tenerse claridad del nmero de release
(liberaciones) y la meta de cada uno de ellos, con lo cual se
evitan los anti-patrones 3 y 4, y dando solucin al problema
19.
BP5: Definir nmero de sprints y duracin de cada uno. Es
importante en el proceso de planificacin establecer una
duracin fija de los Sprint y la cantidad a desarrollar
durante el proyecto, para de esta forma evitar ambigedades y
desconcierto dentro del equipo. Esta buena prctica permite
evitar los anti-patrones 4 y 5, junto a dar solucin a los
problemas 11 y 12.
BP6: Definir product owner apropiado al proyecto. La
eleccin apropiada del product owner resulta gravitante en las
MAs, debido al alto grado de participacin e influencia
dentro del proyecto. Esta buena prctica apunta a solucionar
anti-patrn 18, junto a dar solucin al problema 14.
BP7: Definir Scrum Master con conocimiento de MAs
(prctica y/o terica). El Scrum Master dentro de un proyecto
gil, resulta ser el evangelizador de las MAs, promoviendo el
correcto uso de ellas, para lo cual debe prepararse a
conciencia para enfrentar el desafo. El cumplimiento de esta
buena prctica da respuesta al anti-patrn 16 y18, junto a dar
solucin al problema 20.
BP8: Definir esqueleto de la arquitectura a utilizar. El
concepto equvoco de que no es necesario definir arquitectura
al inicio de un
proyecto gil,
ocasiona
grandes
inconvenientes en el desarrollo de este. Esta buena prctica
apunta a solucionar el anti-patrn 21, 22, 23 y 24 junto a dar
solucin al problema 6.
BP9: Planificar fecha, duracin y lugar de reuniones de
planificacin, diaria, retrospectiva y entrega. La planificacin
inicial de reuniones estableciendo fechas, lugar y hora permite
al grupo de desarrollo una estructura de trabajo definida.
Dando respuesta de esta forma a los anti-patrones 2 y 3, junto
a dar solucin al problema 18.
BP10: Establecer el uso y la mantencin de tableros. El
mantener irradiadores de informacin resulta clave no solo
para el equipo de desarrollo, sino que tambin para toda la
5
Universidad Andrs Bello Direccin Postal 250000 E-mail:g.costa@uandresbello.edu romina.torres@unab.cl druete@unab.cl
V. VALIDACION
Tal como se realiz en la Seccin II para medir la
calidad del producto, se realizarn dos encuestas tanto
al product owner, como al equipo de desarrollo, para
determinar si la introduccin de las BPs refleja un
incremento en la calidad del producto de Sw.
Actualmente ya se realiz una induccin de la gua de
BPs a alrededor de 20 desarrolladores que se encuentran
trabajando en proyectos giles dentro de la UNAB. Esta
induccin tuvo una duracin de 120 minutos en la cual
AGRADECIMENTOS
A los alumnos de proyecto de ttulo ao 2014 de la
carrera de Ingeniera en Computacin e Informtica sede
Via del Mar de la UNAB.
REFERENCIAS
[1]
C. Alexander, S. Ishikawa, and M. Silverstein. A Pattern
Language: Towns, Buildings, Construction.
Center for
Environmental Structure Berkeley, Calif: Center for Environmental
Structure series. OUP USA,1977.
[2]
Kent Beck and Cynthia Andres.
Extreme Programming
Explained: Embrace Change (2Nd Edition). Addison-Wesley
Professional, 2004.
[3] Carlos Ble Jurado, Juan Gutierrez Plaza, Fran Reyes Perdomo,
and Gregorio Mena. Disen o A gil con TDD. lulu.com, 2010.
[4] Martin Robert C Cdigo limpio: manual de estilo para el
desarrollo gil de software, Anaya Multimedia-Anaya Interactiva,
2012
[5] William J. Brown, Raphael C. Malveau, Hays W. McCormick,
III, and Thomas J. Mowbray. AntiPatterns: Refactoring Software,
Architectures, and Projects in Crisis. John Wiley & Sons, Inc., New
York, NY, USA,1998.
[6] William J. Brown, Hays W. McCormick, and Scott W. Thomas.
Anti- Patterns Project Management. John Wiley & Sons, Inc., New
York, NY, USA, 1st edition, 2000.
[7] Martin Fowler.
Patterns of Enterprise Application
Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston,
MA, USA, 2002.
[8] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
De- sign Patterns: Elements of Reusable Object-oriented Software.
Addison- Wesley Longman Publishing Co., Inc., Boston, MA, USA,
1995.
[9] Javier Garzs. Gestin de proyectos gil . . . y las experiencias de
ms de 12 aos de proyectos giles. 233 grados de TI, 2014.
[10] Mitch Lacey and Jonathan Wanagel. Technical interviewing youre doing it wrong, 2013.
[11]
Patricia Muela Gordillo. Uso de patrones de producto en
metodologas giles. Masters thesis, Universidad Carlos III de
Madrid. Departamento de Informtica, Espaa, 2010.
[12]
Pilar Rodrguez Gonzlez. Estudio de la aplicacin de
metodologas giles para la evolucin de productos software.
Masters thesis, Escuela Universitaria de Informtica, Universidad
Politcnica de Madrid, Espaa, 2008.
[13] J. Sutherland, R. Van Solingen, and E. Rustenberg. The Power
of Scrum. CreateSpace, 2011.
[14] Jeff Sutherland. Agile Can Scale: Inventing and Reinventing
SCRUM in Five Companies. Vol. 14, No. 12, December 2001.