Está en la página 1de 9

INGENIERA DE SOFTWARE

viernes 4 de abril de 2014 METODOLOGAS DE DESARROLLO DE SOFTWARE GILES


El desarrollo gil de software son mtodos de ingenier a del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboraci n de grupos auto organizados y multidisciplinarios.

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

PROGRAMACIN EXTREMA (XTREME PROGRAMMING)


&a programacin e)trema o e*treme "rogramming (*" es una metodologa de desarrollo de la ingeniera de software formulada por 'ent /ec0, autor del primer libro sobre la materia, E)treme "rogramming E)plained: Embrace #1ange (2333 . Es el ms destacado de los procesos giles de desarrollo de software. Al igual que stos, la programaci n e)trema se diferencia de las metodologas tradicionales principalmente en que pone ms nfasis en la adaptabilidad !" "# la p$"%i&ibilidad' Se puede considerar la programacin e)trema como la adopci n de las me4ores metodologas de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera din mica durante el ciclo de vida del 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

4unto al equipo de desarrollo. C*$$"++i0# d" t*d*& l*& "$$*$"&

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.

PROCESO 8 ROLES DE SCR)M


EL PROCESO
El desarrollo se realiza de forma iterativa e incremental. #ada iteracin, denominada Sprint, tiene una duracin preestablecida de entre 6 y : semanas, obteniendo como resultado una versi n del software con nuevas prestaciones listas para ser usadas. En cada nuevo Sprint, se va a4ustando la funcionalidad ya construida y se aaden nuevas prestaciones priorizndose siempre aquellas que aporten mayor valor de negocio. "roduct /ac0log: #on4unto de requisitos demoninados 1istorias descritos en un lengua4e no tcnico y priorizados por valor de negocio, o lo que es lo mismo, por retorno de inversin considerando su beneficio y coste. &os requisitos y prioridades se revisan y a4ustan durante el curso del proyecto a intervalos regulares. Sprint "lanning: 8eunin durante la cual el "roduct (wner presenta las 1istorias del bac0log por orden de prioridad. El equipo determina la cantidad de 1istorias que puede comprometerse a completar en ese sprint, para en una segunda parte de la reuni n, decidir y organizar cmo lo va a conseguir.

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

cabo las 1istorias a las que se comprometen al inicio de cada sprint.

MTODO DE DESARROLLO DE SISTEMAS DINMICOS


El mtodo de desarrollo de sistemas dinmicos (Dynamic Systems Development +et1od o DSD+ es un mtodo que provee un framewor0 para el desarrollo gil de software, apoyado por su continua implicaci n del usuario en un desarrollo iterativo y creciente que sea sensible a los requerimientos cambiantes, para desarrollar un sistema que reuna las necesidades de la empresa en tiempo y presupuesto. Es uno de un nmero de mtodos de desarrollo gil de software y forma parte del alianza gil. DSD+ fue desarrollado en el 8eino !nido en los aos 3. por un consorcio de proveedores y de e)pertos en la materia del desarrollo de sistemas de informacin (9S , el consorcio de DSD+, combinando sus e)periencias de me4ores prcticas. El consorcio de DSD+ es una organizacin no lucrativa y proveedor independiente, que posee y administra el framewor0. &a primera versin fue terminada en enero de 233; y publicada en febrero de 233;. &a versin actualmente en uso (abril de 6..= es la versin :.6: El framewor0 para el >egocio #entralizado Desarrollado lanzado en mayo de 6..-. #omo e)tensin del Desarrollo rpido de aplicaciones (8AD , DSD+ se centra en los proyectos de sistemas de informacin que son caracterizados por presupuestos y agendas apretadas. DSD+ trata los problemas que ocurren con frecuencia en el desarrollo de los sistemas de informacin en lo que respecta a pasar sobre tiempo y presupuesto y otras razones comunes para la falta en el proyecto tal como falta de implicaci n del usuario y de la comisin superior de la gerencia. DSD+ consiste en - fases: fase del pre5proyecto, fase del ciclo de vida del proyecto, y fase del post5proyecto. &a fase del ciclo de vida del proyecto se subdivide en ; etapas: Estudio de viabilidad,

INGENIERA DE SOFTWARE

Estudio de la empresa, 9teracin del modelo funcional, Diseo e iteracin de la estructura, e 9mplementacin.

PRINCIPIOS DEL DSDM


7ay 3 principios subyacentes al DSD+ consistentes en cuatro fundamentos y cinco puntos de partida para la estructura del m todo. Estos principios forman los pilares del desarrollo mediante DSD+. 9nvolucrar al cliente es la clave para llevar un proyecto eficiente y efectivo, donde ambos, cliente y desarrolladores, comparten un entorno de traba4o para que las decisiones puedan ser tomadas con precisin. El equipo del proyecto debe tener el poder para tomar decisiones que son importantes para el progreso del proyecto, sin esperar aprobacin de niveles superiores. DSD+ se centra en la entrega frecuente de productos, asumiendo que entregar algo temprano es siempre me4or que entregar todo al final. Al entregar el producto frecuentemente desde una etapa temprana del proyecto, el producto puede ser verificado y revisado all donde la documentacin de registro y revisin puede ser tenida en cuenta en la siguiente fase o iteracin. El principal criterio de aceptacin de entregables en DSD+ reside en entregar un sistema que satisface las actuales necesidades de negocio. >o est dirigida tanto a proporcionar un sistema perfecto que resuelva todas las necesidades posibles del negocio, si no que centra sus esfuerzos en aquellas funcionalidades cr ticas para alcanzar las metas establecidas en el proyecto?negocio. El desarrollo es iterativo e incremental, guiado por la realimentaci n de los usuarios para converger en una solucin de negocio precisa. <odos los cambios durante el desarrollo son reversibles. El alcance de alto nivel y los requerimientos deber an ser base5lined antes de que comience el proyecto.

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.

También podría gustarte