Sie sind auf Seite 1von 7

Metodologa SCRUM, la mejor eleccin para el desarrollo de software.

David Cortez Alban

Resumen El objetivo de este paper es dar a conocer lo beneficioso que resulta usar la metodologa SCRUM en el proceso de desarrollo de software y de esta manera obtener un sistema de alta calidad y que sobretodo cumpla de la mejor manera posible con los requerimientos solicitados por los usuarios finales. Palabras claves: Metodologas agiles, SCRUM, calidad, requerimientos, software

Abstract The objective of this paper is to present how beneficial it is to use SCRUM methodology in the software development process and thus obtain a high quality system that meets above the best possible way with the requirements requested by users end. Keywords: agile methodologies, SCRUM, quality requirements, software

Introduccin Jeff Sutherland, jefe de ingenieros en Easel Corporation, noto en 1993 que necesitaba un proceso de desarrollo acelerado, en el cual se pudiera obtener un cdigo funcional. Luego de un anlisis cuidadoso de diferentes metodologas de desarrollo de software y varios proyectos exitosos. Fue entonces que Jeff Sutherland decidi hacer uso de los modelos de negocios creado por Hirotaka Takeuchi e Ikujiro Nonaka quienes fueron los que dieron a conocer lo que era SCRUM. Fue desde aquella vez que cambiaria el proceso de desarrollar software y naciera SCRUM como una de las metodologa aplicada al desarrollo de sistemas. Empresas como Yahoo, Google, Microsoft entre otras se han convencido de los beneficios que les ofrece SCRUM, y la manera de cmo genera soluciones rpidas y que satisfacen los requerimientos de los clientes.

Qu es SCRUM? Proceso que se aplican de manera regular un conjunto de buenas prcticas para trabajar de manera colaborativa y obtener de esta manera resultados ms ptimos. Est enfocado principalmente en proyectos cuyos entornos sean complejos, es decir en los cuales se buscan resultados los es lo ms pronto posible, en los cuales los requisitos no estn bien definidos o sean modificables, y donde sobretodo la innovacin flexibilidad, y la productividad son esenciales. Es til para resolver situaciones en las cuales no se cumplen con ciertas necesidades del cliente, cuando los tiempos de entrega son muy largos, los costos se incrementan o la calidad no es aceptable. Todo producto de software, durante su diseo presenta un proceso complejo de desarrollo por el ambiente dinmico. Esto quiere decir que a mayor grado de complejidad tendr que existir mayor flexibilidad para alcanzar el xito. Es en esta parte donde encaja SCRU, que la nica regla es no seguir un proceso lineal, ya que deber estar preparado para cualquier eventualidad de manera inmediata durante el proceso adaptarse a esta.

En la figura anterior podemos observar en qu consiste la metodologa gil conocida como SCRUM, la cual no se basa en un proceso lineal, y presenta mayor flexibilidad a los cambios eventuales que se den en el transcurso del desarrollo del software.

Bases de SCRUM Scrum bsicamente consta de algunos pasos sencillos pero bien definidos. Al comenzar se definen los roles bsicos como: Product Owner (el propietario del producto), Scrum Master(Lder del equipo) y Team (El equipo). En ciertos caso algunos autores muestran otros roles tales como los Stakeholders (son inversionistas) y Managers(los Administradores). A continuacin vamos a ver detalladamente cada uno de los roles. Product Owner: Es la persona la cual posee la visin del producto final. Esta siempre en contacto con los clientes, conoce la tendencia del mercado y de la competencia. As mismo tiene sus objetivos bien claro y el valor que aportara al negocio el producto final Scrum Master: Es quin protege al equipo, en diferencia al clsico rol de lder de proyectos, este tiene como prioridad ayudar a su equipo y sobretodo garantizar que se cumplan las practicas dictadas por SCRUM. Team: Conjunto autnomo y multifuncional de desarrolladores.

En este grafico podemos observar las diferencias que existen entre los roles tradicionales con los de la metodologa SCRUM, los cuales son en menor nmero y estn enfocados en obtener un mejor producto final debido a la comunicacin constante con el cliente y su buena administracin de responsabilidades y habilidades.

Proceso de la metodologa SCRUM Scrum Planing Meeting (SMP), es la primera parte del proceso, el cual consiste en que el Product owner presenta al Scrum Master y los integrantes del equipo la lista de requerimientos organizados por prioridades para el negocio, esta lista tambin es conocida como el Product Backlog. Luego de esto el Prodcut Owner es el encargado de compartir la visin la cual se pretende alcanzar con el producto de software a cada uno de los integrantes del equipo. Una vez hecho esto enlista una de las funcionalidades que seran parte del nuevo producto y da la oportunidad al Equipo de seleccionar los elementos con los cuales se desarrollaran. El product Backlog al estar organizado por prioridades, garantiza que los integrantes del equipo seleccionaran la lista de las necesidades ms urgentes. A partir de esto inicia la segunda parte de la reunin, en la cual el equipo y el Scrum Master toman los elementos tomados anteriormente del Prodcut Backlog, describindolos lo mas que puedan con el objetivo de conseguir tareas individuales de trabajo de un da de duracin aproximadamente, estas tareas individuales de trabajo generadas forman parte de lo que se conoce como Sprint Backlog. Un ciclo de trabajo o tambin conocido como un Sprint, puede durar entre 2 y 4 semanas. El objetivo principal de esto es concluir con cada una de las tareas listadas del Sprint Backlog durante el periodo correspondiente de tiempo. Este ha de finalizar en la fecha definida aun as no se haya alcanzado el objetivo. Es muy comn, que los equipos que empiezan a implementar la metodologa gil SCRUM, durante los primeros ciclos de trabajo les hacen falta tiempo para concluir las tareas o suele que les sobra tiempo. Sin embargo, es algo que con el tiempo puede mejorar.

Esta grfica muestra cada uno de los elementos antes mencionado, tales como el Prodcut Backlog (lista de requerimientos), el Sprint Backlog( tareas individuales), y el producto potencialmente desarrollado en un tiempo de 2 y 4 semanas de trabajo aproximadamente.

Beneficios que ofrece SCRUM Gestin de los requerimientos del cliente: El cliente establece sus requerimientos indicando el valor que aportara cada requisito del proyecto y la fecha en la que espera que est listo. El cliente de manera regular comprueba si se estn cumpliendo sus requerimientos, es decir da feedback, con esto se ahorra esfuerzo y tiempo al evitar las suposiciones. Resultados anticipados El cliente puede empezar a utilizar los resultados ms importantes antes que el proyecto este completado Flexibilidad y Adaptacin Cada cliente redirige el proyecto en funcin a sus nuevas prioridades, ya sea por los cambios en el mercado, de la velocidad real del desarrollo, etc.

Alineamiento entre cliente y equipo Los resultados y esfuerzos del proyectos se midan en la manera como los objetivos son entregados al negocio. El producto se enriquece con la ayuda de todos. Mitigacin de riesgos El feedback nos permite ahorrar esfuerzo y tiempo por errores tcnicos tempranamente. Productividad y calidad Por lo general, las personas suelen trabajar de manera ms eficiente y logran obtener una mejor calidad cuando ellas mismas se han comprometido a entregar un resultado en un tiempo determinado y deciden de que manera hacerlo, a diferencia que cuando se les asigna un tiempo especifico. Conclusin La implementacin de Scrum a un proyecto, no suele ser muy fcil. Ya que es una metodologa gil en la cual cada uno de los distintos roles debe comprender cules son sus responsabilidades y atraves de la prctica constante lograr realizar el mayor esfuerzo. Adems, la comunicacin constante entre cada uno de los involucrados, permite resolver las necesidades y evitar de esta manera la prdida de tiempo en generar cdigo sin aporte para el proyecto. Sin embargo, cabe indicar que en un proceso de desarrollo de sistemas no es suficiente alcanzar la capacidad de que sea flexible y se adapte rpidamente a los requerimientos, tambin debe ser muy necesario que los procesos con un mayor grado de prioridad sean implementados de manera optima para obtener un nivel superior de productividad.

Bibliografa CoCreators, J. S. (2004). Sutherland, Jeff. Agile development: Lessons learned from the first scrum. Scrum. (s.f.). Deemer, Pete y Benefield, Gabriell. Sutherland, J. K. (2007). SCRUM.