Sunteți pe pagina 1din 10

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]

UNIDAD 1. INTRODUCCIN A LOS PROCESOS GILES

Unidad I

Contenidos 1.1. Definicin 1.2. Manifiesto por el desarrollo de software gil 1.3. Principios de agilidad 1.4. Valores en el desarrollo gil 1.5. Polticas del desarrollo gil 1.6. Soft skills

Pgina 1 2 4 4 5 7

El desarrollo de software no es una tarea fcil. Prueba de ello es que existen numerosas propuestas metodolgicas que inciden en distintas dimensiones del proceso de desarrollo. Por una parte tenemos aquellas propuestas ms tradicionales que se centran especialmente en el control del proceso, estableciendo rigurosamente las actividades involucradas, los artefactos que se deben producir, y las herramientas y notaciones que se usarn. Estas propuestas han demostrado ser efectivas y necesarias en un gran nmero de proyectos, pero tambin han presentado problemas en otros muchos. Una posible mejora es incluir en los procesos de desarrollo ms actividades, ms artefactos y ms restricciones, basndose en los puntos dbiles detectados. Sin embargo, el resultado final sera un proceso de desarrollo ms complejo que puede incluso limitar la propia habilidad del equipo para llevar a cabo el proyecto. Otra aproximacin es centrarse en otras dimensiones, como por ejemplo el factor humano o el producto software. Esta es la filosofa de las metodologas giles, las cuales dan mayor valor al individuo, a la colaboracin con el cliente y al des arrollo incremental del software con iteraciones muy cortas. Este enfoque est mostrando su efectividad en proyectos con requisitos muy cambiantes y cuando se exige reducir drsticamente los tiempos de desarrollo pero manteniendo una alta calidad. Las metodologas giles estn revolucionando la manera de producir software, y a la vez generando un amplio debate entre sus seguidores y quienes por escepticismo o convencimiento no las ven como alternativa para las metodologas tradicionales. La realidad de la industria del software de gestin, particularmente en nuestro pas, impone la adopcin de procesos giles de desarrollo para lograr competitividad. Reflejo de ello, a nivel internacional, es la creciente consolidacin de la filosofa Agile, representada por los principios del Agile Manifiesto. El objetivo principal de un proceso gil es minimizar la documentacin de desarrollo, incluso al extremo de considerarla descartable, y solamente como vehculo de comprensin de problemas dentro del grupo de trabajo y de comunicacin con los usuarios. 1.1. Definicin. Los procesos agiles de desarrollo de software conocidos antes como metodologas livianas, intentan evitar tortuosos y burocrticos caminos de la metodologas tradicionales enfocndose en la gente y los resultados. Es un marco de trabajo conceptual de la ingeniera de software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen muchos mtodos de desarrollo gil; la mayora minimiza riesgos desarrollando software en cortos lapsos de tiempo.

Paseza

Pgina 1

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]

Unidad I

Son estrategias de desarrollo de software que promueven prcticas que son adaptativas en vez de predictivas, centradas en la gente o en los equipos, iterativas orientadas hacia prestaciones y hacia la entrega, de comunicacin intensiva, y que requieren que el negocio se involucre en forma directa. Combina adems una filosofa y un conjunto de directrices de desarrollo La filosofa busca la satisfaccin del cliente y la entrega temprana de software incremental; equipos de proyecto pequeos y con alta motivacin; mtodos informales; un mnimo de productos de trabajo de la ingeniera del software; y una simplicidad general del desarrollo. 1.2. Manifiesto por el desarrollo de software gil En febrero de 2001, tras una reunin celebrada en Utah-EEUU, nace el trmino gil aplicado al desarrollo de software. En esta reunin participan un grupo de 17 expertos de la industria del software, incluyendo algunos de los creadores o impulsores de metodologas de software. Su objetivo fue esbozar los valores y principios que deberan permitir a los equipos desarrollar software rpidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Se pretenda ofrecer una alternativa a los procesos de desarrollo de software tradicionales, caracterizados por ser rgidos y dirigidos por la documentacin que se genera en cada una de las actividades desarrolladas. Tras esta reunin se cre The Agile Alliance3, una organizacin, sin nimo de lucro, dedicada a promover los conceptos relacionados con el desarrollo gil de software y ayudar a las organizaciones para que adopten dichos conceptos. El punto de partida fue el Manifiesto gil, un documento que resume la filosofa gil. Segn el manifiesto se valora: Individuos e Interacciones sobre los procesos y las herramientas. individuos y su interaccin que a los procesos y las herramientas. Ms a los

Este es posiblemente el principio ms importante del manifiesto. Por supuesto que los procesos ayudan al trabajo. Son una gua de operacin. Las herramientas mejoran la eficiencia, pero sin personas con conocimiento tcnico y actitud adecuada, no producen resultados. Las empresas suelen predicar muy alto que sus empleados son lo ms importante, pero la realidad es que en los aos 90 la teora de produccin basada en procesos, la reingeniera de procesos ha dado a estos ms relevancia de la que pueden tener en tareas que deben gran parte de su valor al conocimiento y al talento de las personas que las realizan. Los procesos deben ser una ayuda y un soporte para guiar el trabajo. Deben adaptarse a la organizacin, a los equipos y a las personas; y no al revs. La defensa a ultranza de los procesos lleva a postular que con ellos se pueden conseguir resultados extraordinarios con personas mediocres, y lo cierto es que este principio es peligroso cuando los trabajos necesitan creatividad e innovacin. Software funcionando sobre la documentacin excesiva. Ms el software que funciona que la documentacin exhaustiva.

Poder ver anticipadamente cmo se comportan las funcionalidades esperadas sobre prototipos o sobre las partes ya elaboradas del sistema final ofrece una retroalimentacin muy estimulante y

Paseza

Pgina 2

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]

Unidad I

enriquecedor que genera ideas imposibles de concebir en un primer momento; difcilmente se podr conseguir un documento que contenga requisitos detallados antes de comenzar el proyecto. El manifiesto no afirma que no hagan falta. Los documentos son soporte de la documentacin, permiten la transferencia del conocimiento, registran informacin histrica, y en muchas cuestiones legales o normativas son obligatorios, pero se resalta que son menos importantes que los productos que funcionan. Menos trascendentales para aportar valor al producto. Los documentos no pueden sustituir, ni pueden ofrecer la riqueza y generacin de valor que se logra con la comunicacin directa entre las personas y a travs de la interaccin con los prototipos. Por eso, siempre que sea posible debe preferirse, y reducir al mnimo indispensable el uso de documentacin, que genera trabajo que no aporta un valor directo al producto. Si la organizacin y los equipos se comunican a travs de documentos, adems de perder la riqueza que da la interaccin con el producto, estos documentos se acaban empleando de forma defensiva como barricadas ante departamentos o personas. Colaboracin del cliente sobre la negociacin contractual. Ms la colaboracin con el cliente que la negociacin contractual.

Las prcticas giles estn especialmente indicadas para productos difciles de definir con detalle en el principio, o que si se definieran as tendran al final menos valor que si se van enriqueciendo con retro-informacin continua durante el desarrollo. Tambin para los casos en los que los requisitos van a ser muy inestables por la velocidad del entorno de negocio. Para el desarrollo gil el valor del resultado no es consecuencia de haber controlado una ejecucin conforme a procesos, sino de haber sido implementado directamente sobre el producto. Un contrato no aporta valor al producto. Es una formalidad que establece lneas divisorias entre responsabilidades, que fija los referentes para posibles disputas contractuales entre cliente y proveedor. En el desarrollo gil el cliente es un miembro ms del equipo, que se integra y colabora en el grupo de trabajo. Los modelos de contrato por obra no encajan. Respuesta al cambio sobre el seguimiento de un plan. Ms la respuesta al cambio que el seguimiento de un plan.

Para un modelo de desarrollo que surge de entornos inestables, que tienen como factor inherente el cambio y la evolucin rpida y continua, resulta mucho ms valiosa la capacidad de respuesta que la de seguimiento y aseguramiento de planes pre-establecidos. Los principales valores de la gestin gil son la anticipacin y la adaptacin; diferentes a los de la gestin de proyectos ortodoxa: planificacin y control para evitar desviaciones sobre el plan. Esto es, aunque valoramos los elementos de la derecha, valoramos ms los elementos de la izquierda. Los mtodos giles ms conocidos y empleados son: Extreme Programming (XP) Scrum

Paseza

Pgina 3

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]


Adaptive Software Development (ASD) Crystal Clear y otras metodologas de la familiaCrystal DSDM Feature Driven Development Lean software development

Unidad I

1.3. Principios de agilidad I. La prioridad es satisfacer al cliente mediante tempranas y continuas entregas de software que le aporte un valor. II. Dar la bienvenida a los cambios. Se capturan los cambios para que el cliente tenga una ventaja competitiva. III. Entregar frecuentemente software que funcione desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre entregas. IV. La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto. V. Construir el proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en ellos para conseguir finalizar el trabajo. VI. El dilogo cara a cara es el mtodo ms eficiente y efectivo para comunicar informacin dentro de un equipo de desarrollo. VII. El software que funciona es la medida principal de progreso. VIII. Los procesos giles promueven un desarrollo sostenible. Los promotores, desarrolladores y usuarios deberan ser capaces de mantener una paz constante. IX. La atencin continua a la calidad tcnica y al buen diseo mejora la agilidad. X. La simplicidad es esencial. XI. Las mejores arquitecturas, requisitos y diseos surgen de los equipos organizados por s mismos. XII. En intervalos regulares, el equipo reflexiona respecto a cmo llegar a ser ms efectivo, y segn esto ajusta su comportamiento. 1.3. Valores en el desarrollo gil

Dentro de este estilo de desarrollo, entran en juego muchos valores morales que son importantes tanto para el crecimiento y superacin personal, le dan un valor agregado precisamente al producto a entregar, mismo que asegura calidad y dedicacin para su confiable implementacin. Compromiso Enfoque Apertura y transparencia Respeto Coraje

Paseza

Pgina 4

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]


Los individuos y sus interacciones Entregar software que funciona Colaboracin del cliente Responder al cambio

Unidad I

Anexo Consulta ms. 400 Valores http://www.cualessonlosvalores.com/2012/12/lista-de-valores/


1.5. Polticas del desarrollo gil Una organizacin que requiera agilidad en la ejecucin de sus proyectos de software necesita del establecimiento de polticas que garanticen entrega temprana y continua de artefactos y servicios de software de valor y utilidad. Es imposible reunir a todos los requisitos al principio de un proyecto. La actividad de anlisis y diseo no garantiza que no habr cambios. Siempre existirn desviaciones en tiempo y recursos. "Es increble el cambio que puede producir en una organizacin la incorporacin y aplicacin de polticas de desarrollo de software gil". Lineamientos Generales El proyecto deber ser ejecutado en iteraciones incrementales con una demostracin del producto al finalizar cada iteracin: con esta poltica, se conocer el estado del proyecto, evaluando si los requisitos cumplen con las expectativas del cliente, si la calidad es la esperada, o si hay retrasos; agilizando la toma de decisiones correctivas. El proyecto se ejecutar en iteraciones incrementales con una duracin fija de 3 semanas. Los requisitos se desarrollarn priorizados por el valor aportado al cliente: Esta poltica permitir que los objetivos ms importantes del proyecto sean atendidos. El control y seguimiento del proyecto se basar en los requisitos completados en cada iteracin. Se entiende como un requisito, los entregables asociados a: anlisis, desarrollo, pruebas, documentacin, etc. e integrados con los entregables de las iteraciones anteriores. Cada requisito debe ser independiente del resto de los requisitos, en la medida de lo posible. Cada requisito debe ser demostrable, permitiendo cmo comprobar con el cliente que el requisito est completado y que se cumplen sus expectativas. El requisito debe ser de un grado de esfuerzo para ser completado semejante al del resto de requisitos: de manera que la organizacin y el cliente, puedan realizar una extrapolacin del progreso del proyecto.

Paseza

Pgina 5

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]


Desarrollo

Unidad I

Los componente de software, debern ser desarrollados y liberados por partes, y no entregados al final del proyecto. El desarrollo de los componente de software que conformaran la solucin, debern ser liberados en varias iteraciones. Cada iteracin deber producir software con calidad de produccin, probado, integrado, y documentado (funcional, tcnica). Cada iteracin deber cumplir con un subconjunto de requerimientos. Cada iteracin deber contemplar (anlisis, diseo, implementacin, documentacin, etc.).

Pruebas Cada proyecto debe incorporar las prcticas de TDD (Test Driven Development). Cada uno de los entregables, deber contener scripts de pruebas unitarias, integrales, funcionales, etc; mediante la utilizacin de frameworks como junit, dbunit, mockObjtects, etc.

Documentacin La documentacin del proyectos, especficamente: manual de usuario, manual de operaciones, arquitectura de la solucin, especificaciones, etc.; debern ser entregables parciales para cada una de las iteraciones, es decir, la documentacin no se liberara al final del proyecto, sino en entregables parciales.

Control de Calidad Cada uno de los entregables, sern sometidos a un script de calidad, que ejecutara la organizacin, y no sern admitidos como productos del proyecto hasta alcanzar un nivel aceptable.

Control de Riesgos Los riesgos sern identificados en la primera iteracin, llevndose a cabo tambin una valoracin inicial de la exposicin al riesgo y planes de contingencia. En cada iteracin se revisar y actualizar el documento Lista de Riesgos, aadiendo adems la lista de riesgos ms importantes actuali zada por cada iteracin.

Control de Artefactos Cada uno de los artefactos del proyecto, debern ser mantenidos bajo un sistema de control de versiones. La organizacin disponibilizar un sistema de control de versiones, que deber ser actualizado por el cliente de forma remota.

Paseza

Pgina 6

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]


1.6. Soft skills

Unidad I

Es un trmino sociolgico, relacionado con el cociente de inteligencia emocional, y que es el conjunto de rasgos de personalidad, habilidades sociales, comunicacin, lenguaje, hbitos personales, la amistad y el optimismo que caracteriza a las relaciones con otras personas. Las Soft Kills se complementan Hard SKills o habilidades duras (parte del Cociente Intelectual de una persona), que son las exigencias profesionales de un trabajo y muchas otras actividades. A diferencia de las habilidades duras, que son alrededor de conjunto de habilidades de una persona y la capacidad para realizar un determinado tipo de tarea o actividad, las habilidades sociales se relacionan con la capacidad de una persona para interactuar efectivamente con colegas y clientes y son de aplicacin general, tanto dentro como fuera del lugar de trabajo. Para poder desempear eficazmente su trabajo y llevar adelante con xito sus proyectos, los profesionales y emprendedores necesitan de las "Soft Skills" (habilidades blandas). Del clsico perfil con conocimientos tcnicos especficos, gradualmente se est pasando a un perfil en el que prevalecen ms la adaptabilidad a situaciones nuevas, la capacidad para trabajar en equipo, la habilidad para comunicarse, la actitud positiva para el aprendizaje, as como la tendencia a generar ideas innovadoras. Las Soft Skills son necesarias a todos aquellos que queremos intervenir en la sociedad actual. Una sociedad que evoluciona a gran velocidad, que nos enfrenta a nuevos desafos y que nos exige adaptabilidad, sin darnos tiempo a prepararnos y obtener la formacin adecuada. Una tendencia que crece en las empresas desde hace ms de 10 aos, es la de incluir en el perfil de los profesionales que quieren contratar, requisitos que exceden en mucho a aquellos que se refieren a sus conocimientos y, en cambio, se centran en las 'habilidades y competencias' que esperan posean y presenten los postulantes. El desarrollo gil se centra en los talentos y habilidad es de los individuos, puesto que el proceso se ajusta a personas y equipos especificos. Cockbum y Highsmith. Los integrantes de un equipo gil deben tener las siguientes soft Skills :

Competencia. En el contexto de un desarrollo gil la competencia abarca un talento inato, habilidades especificas relacionadas con el software, y un conocimiento del proceso que el equipo haya elegido aplicar. Enfoque comn. Aunque los miembros del equipo gil desempean tareas distintas y aportan
habilidades al proyecto, todos deben enfocarse en una meta: entregar al cliente un incremento de trabajo de software dentro del tiempo establecido.

Colaboracin. La ingeneria de software incluye evaluar,analizar y usar informacin que se comunica


al equipo de software y construir informacion que ofrezca un valor comercial para el cliente. Estas tareas se cumplirn si los miembros del equipo colaboran, entre ellos, con el cliente y son sus gerentes.

Habilidad para la toma de decisiones. El equipo gil debe tener autonoma, la autoridad para tomar
decisiones en cuanto a cuestiones tcnicas y del proyecto.

Paseza

Pgina 7

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]

Unidad I

Capacidad de resolucin de problemas confusos. En algunos casos, el equipo debe aceptar que el
problema que est resolviendo hoy tal vez no sea el problema que debe resolverse maana. Sin embargo, las lecciones aprendidas en cualquier actividad para la resolucion de problemas pueden beneficiar al equipo en fases posteriores del proyecto.

Confianza y respeto mutuo. El equipo gil se debe convertir en lo que De Marco y Lister llaman un
equipo cuajado. El cual muestra la confianza y el respeto necesario para que se unan con tanta fuerza, que el todo sea mayor que la suma de las partes.

Organizacin propia. En el contexto del desarrollo gil, la organizacin propia implica tres factores:
1) el equipo gil se organiza a si mismo para el trabajo que debe hacerse; 2) el equipo organiza el proceso que mejor se ajusta a su ambiente local; 3) el equipo organiza el programa de trabajo con el que se alcance de mejor manera la entrega del incremento del software. La organizacin propia tiene varios beneficios tcnicos, pero lo ms importante es que mejora la colaboracin y eleva la moral del equipo

Algunas de las habilidades que buscan las empresas: Trabajo de equipo: No implica solamente la cooperativa, sino tambin mostrando fuertes habilidades de liderazgo cuando sea necesario. Flexibilidad: Los empleados que pueden adaptarse a cualquier situacin son confiables, no importa lo que les arrojaron. Comunicacin: Es de suma importancia, e incluye la articulacin de uno mismo, as, ser un buen oyente y el uso de un lenguaje corporal apropiado. Habilidades de resolucin de problemas e ingenio: Son crticos cuando surgen inevitablemente problemas inesperados. La aceptacin de la retroalimentacin y la aplicacin de las lecciones aprendidas: Fomenta el crecimiento profesional. Confianza: Es clave, pero es importante siempre tener los conocimientos y habilidades para apoyar seguridad en s mismo. Pensamiento creativo: Tiene un valor incalculable e impulsa la innovacin y el aumento de la eficiencia.

Las soft skills ms valoradas por los reclutadores son: Motivacin Gestin del tiempo Negociacin Presentaciones en pblico Cmo dirigir reuniones Interaccin personal y comunicacin Diseo de la propia estrategia empresarial Delegacin Gestin del estrs Toma de decisiones Resolucin de conflictos

Paseza

Pgina 8

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]


Anexos.

Unidad I

A continuacin se detallan algunos casos donde no conviene usar mtodos giles: -Aplicaciones distribuidas. Las pruebas unitarias son complicadas de aplicar entre componentes. Sera necesario construir una arquitectura de pruebas para probar directamente los componentes, que podra ser tan complicada como el sistema que se desea construir. -Aplicaciones que requieren seguir un diseo estricto . Por ejemplo: sistemas operativos, software de telecomunicaciones. -Aplicaciones que requieren una documentacin exhaustiva. Por ejemplo: sistemas militares, mdicos o industriales. -Aplicaciones basadas fundamentalmente en interfaces grficas de usuario : No es fcil aplicar pruebas unitarias a las interfaces grficas. -Aplicaciones con cdigo heredado. Habra que reescribir todo el cdigo heredado siguiendo los principios giles. -Proyectos muy grandes. La comunicacin entre los miembros del equipo es difcil de conseguir. -Proyectos escritos en lenguajes no orientados a objetos. Lenguajes como C, Pascal, Cobol o Fortran hacen imposible tcnicas como la refactorizacin. -Aplicaciones donde la escalabilidad o la eficacia sean importantes . La escalabilidad o la eficacia no son caractersticas que se pueden aadir durante el proceso del desarrollo del software o que puedan obtenerse refactorizando: deben considerarse desde un principio.

Paseza

Pgina 9

[METODOLOGAS GILES DE DESARROLLO DE SOFTWARE]

Unidad I

Bibliografa.

Pressman, R.S.(2010). Ingeniera de Software: Un enfoque prctico (7ma. Ed.). Mxico: McGrawHill Sommerville, I. (2011). Ingeniera de Software (9na. Ed.). Mxico: Pearson. Kendall, K. E. & Kendall, J. E. (2011). Anlisis y Diseo de Sistemas (8va.Ed.) Mxico: Pearson.

Referencias: Robert C. Martin. (2001), Manifiesto por el Desarrollo gil de Software. Recuperado el 30, Enero, 2014, de URL http://www.agilemanifesto.org/iso/es/ Cejas, J. (2011), Polticas para el desarrollo de software gil. Recuperado el 30, Enero, 2014, de URL http://mijao.blogspot.mx/2011/02/politicas-de-desarrollo-de-software.html Mastering Soft Skills for Workplace Success United States Department Of Labor. Recuperado el 30, Enero, 2014, de URL http://www.dol.gov/odep/topics/youth/softskills/

Paseza

Pgina 10

S-ar putea să vă placă și