Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MTODOS GILES
Algunos mtodos giles de desarrollo de software: Adaptive Software Development (ASD . Agile !nified "rocess (A!" . #rystal$#lear. Essential !nified "rocess (Ess!" . %eature Driven Development (%DD . &ean Software Development (&SD . 'anban. (pen !nified "rocess ((pen!" . "rogramacin E)trema (*" . +todo de desarrollo de sistemas dinmicos (DSD+ . Scrum. ,-...
INGENIERA DE SOFTWARE
(ALORES
&os valores originales de la programacin e)trema son: simplicidad, comunicacin, retroalimentacin (feedbac0 y cora4e. !n quinto valor, respeto, fue aadido en la segunda edicin de E)treme "rogramming E)plained.
CARACTERSTICAS F)NDAMENTALES
&as caractersticas fundamentales del mtodo son: D"&a$$*ll* it"$ati%* " i#+$","#tal- pequeas me4oras, unas tras otras. P$!"ba& !#ita$ia& +*#ti#!a&. frecuentemente repetidas y
automatizadas, incluyendo pruebas de regresin. P$*/$a,a+i0# "# pa$"1a&- se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. &a mayor calidad del cdigo escrito de esta manera 5el c digo es revisado y discutido mientras se escribe5 es ms importante que la posible prdida de productividad inmediata. F$"+!"#t" i#t"/$a+i0# d"l " !ip* d" p$*/$a,a+i0# +*# "l +li"#t" * !&!a$i*' Se recomienda que un representante del cliente traba4e
INGENIERA DE SOFTWARE
antes
de
aadir
nueva
funcionalidad. 7acer entregas frecuentes. R"2a+t*$i3a+i0# d"l +0di/*, es decir, reescribir ciertas partes del cdigo para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento. &as pruebas 1an de garantizar que en la refactorizacin no se 1a introducido ningn fallo. P$*pi"dad d"l +0di/* +*,pa$tida: en vez de dividir la responsabilidad en el desarrollo de cada mdulo en grupos de traba4o distintos, este mtodo promueve el que todo el personal pueda corregir y e)tender cualquier parte del proyecto. &as frecuentes pruebas de regresin garantizan que los posibles errores sern detectados. Si,pli+idad "# "l +0di/*- es la me4or manera de que las cosas funcionen. #uando todo funcione se podr aadir funcionalidad si es necesario. &a programacin e)trema apuesta que es ms sencillo 1acer algo simple y tener un poco de traba4o e)tra para cambiarlo si se requiere, que realizar algo complicado y quizs nunca utilizarlo. La &i,pli+idad 4 la +*,!#i+a+i0# son e)traordinariamente complementarias. #on ms comunicacin resulta ms fcil identificar qu se debe y qu no se debe 1acer. #uanto m s simple es el sistema, menos tendr que comunicar sobre ste, lo que lleva a una comunicacin ms completa, especialmente si se puede reducir el equipo de programadores.
SCR)M
Scrum es una metodologa gil y fle)ible para gestionar el desarrollo de software, cuyo principal ob4etivo es ma)imizar el retorno de la inversin para su empresa (8(9 . Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspeccin continua, adaptacin, auto5gestin e innovacin.
INGENIERA DE SOFTWARE
5C)NDO SE )TILI6A7
#on la metodologa Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve crecer iteraci n a iteraci n. Asimismo le permite en cualquier momento realinear el software con los ob4etivos de negocio de su empresa, ya que puede introducir cambios funcionales o de prioridad en el inicio de cada nueva iteracin sin ning n problema. Esta metdica de traba4o promueve la innovacin, motivacin y compromiso del equipo que forma parte del proyecto, por lo que los profesionales encuentran un mbito propicio para desarrollar sus capacidades.
INGENIERA DE SOFTWARE
Sprint: 9teracin de duracin prefi4ada durante la cual el equipo traba4a para convertir las 1istorias del "roduct /ac0log a las que se 1a comprometido, en una nueva versin del software totalmente operativo. Sprint /ac0log: &ista de las tareas necesarias para llevar a cabo las 1istorias del sprint. Daily sprint meeting: 8eunin diaria de cmo m)imo 2; min. en la que el equipo se sincroniza para traba4ar de forma coordinada. #ada miembro comenta que 1izo el da anterior, que 1ar 1oy y si 1ay impedimentos. Demo y retrospectiva: 8eunin que se celebra al final del sprint y en la que el equipo presenta las 1istorias conseguidas mediante una demonstracin del producto. "osteriormente, en la retrospectiva, el equipo analiza qu se 1izo bien, qu procesos seran me4orables y discute acerca de cmo perfeccionarlos.
ROLES
En Scrum, el equipo se focaliza en construir software de calidad. &a gestin de un proyecto Scrum se centra en definir cu les son las caractersticas que debe tener el producto a construir (qu construir, qu no y en qu orden y en vencer cualquier obst culo que pudiera entorpecer la tarea del equipo de desarrollo. El equipo Scrum est formado por los siguientes roles: Scrum master: "ersona que lidera al equipo gui ndolo para que cumpla las reglas y procesos de la metodologa. ,estiona la reducci n de impedimentos del proyecto y traba4a con el "roduct (wner para ma)imizar el 8(9. "roduct owner ("( : 8epresentante de lso accionistas y clientes que usan el software. Se focaliza en la parte de negocio y el es responsable del 8(9 del proyecto (entregar un valor superior al dinero invertido . <raslada la visin del proyecto al equipo, formaliza las prestaciones en 1istorias a incorporar en el "roduct /ac0log y las reprioriza de forma regular. <eam: ,rupo de profesionales con los conocimientos t cnicos necesarios y que desarrollan el proyecto de manera con4unta llevando a
INGENIERA DE SOFTWARE
INGENIERA DE SOFTWARE
Estudio de la empresa, 9teracin del modelo funcional, Diseo e iteracin de la estructura, e 9mplementacin.
INGENIERA DE SOFTWARE
&as pruebas son realizadas durante todo el ciclo vital del proyecto. Esto tiene que 1acerse para evitar un caro coste e)traordinario en arreglos y mantenimiento del sistema despus de la entrega. &a comunicacin y cooperacin entre todas las partes interesadas en el proyecto es un prerrequisito importante para llevar un proyecto efectivo y eficiente. DSD+ tambin se apoya en otros principios (tambi n llamadas asunciones . >ingn sistema es construido a la perfeccin en el primer intento (El principio de pareto 5 regla A.?6. . En el proceso de desarrollar un sistema de informacin, el A.B del beneficio de la empresa proviene del 6.B de los requisitos del sistema, as DSD+ comienza implementando primero este 6.B de requisitos para cumplir con el A.B de las necesidades de la empresa, lo que es suficientemente bueno tanto en cuanto los usuarios est n nitmamente involucrados en el proceso de desarrollo y en una posicin de asegurar que el 6.B restante no causar serias consecuencias al negocio. 9mplementar la totalidad de requerimientos a menudo causa que un proyecto supere plazos y presupuestos, as la mayora de las veces es innecesario construir la solucin perfecta. &a entrega del proyecto debera ser a tiempo, respetando presupuestos y con buena calidad. DSD+ solo requiere que cada paso del desarrollo se complete lo suficiente como para que empiece el siguiente paso. De este modo una nueva iteracin del proyecto puede comenzar sin tener que esperar a que la previa se complete enteramente. C con cada nueva iteracin el sistema se me4ora incrementalmente. 8ecurdese que las necesidades del negocio cambian constantemente y a cualquier ritmo con el tiempo. Ambas tcnicas de Desarrollo y ,estin del proyectos est n incluidas en DSD+. Adems de desarrollar nuevos S9, DSD+ puede ser usado tambi n
INGENIERA DE SOFTWARE
en proyectos de ampliacin de sistemas <9 actuales o incluso en proyectos de cambio no relacionados con las <9. &a Evaluacin de riesgos debiera centrarse en entregar funci n de negocio, no en el proceso de construccin. &a gestin recompensa la entrega de productos m s que la consecucin de tareas. &a Estimacin debera estar basada en la funcionalidad del negocio en lugar de lneas de cdigo.