Scrum y las metodologías agiles
La ingeniería del software es una disciplina que
implica el uso de estructuras, herramientas y técnicas para construir programas
informáticos. El enfoque de ingeniería del software cuenta con un compromiso
organizacional con la calidad porque no es posible incorporarlo en una
organización que no está centrada en conseguir calidad. El objetivo primario de
la ingeniería del software es construir un producto de alta calidad de una
manera oportuna. Esta disciplina tiene tres componentes que son procesos,
métodos y herramientas.
La primera capa define el proceso que se usará para
construir el software y las actividades y tareas que un jefe de proyecto tiene
que gestionar. Por lo tanto, las áreas claves del proceso forman la base del
control de gestión de proyectos del software y establecen el contexto en el que
se aplican los métodos técnicos. La siguiente capa, la capa de métodos se
centra en las actividades técnicas que se deben realizar para conseguir las
tareas de ingeniería. Proporciona el “cómo” y cubre las actividades de
ingeniería fundamentales. Los métodos abarcan una gran gama de tareas que
incluyen análisis de requisitos, diseño, construcción de programas, pruebas y
mantenimiento. La capa de métodos contiene los métodos definidos para realizar
esas actividades de forma eficiente. Se centra en cómo se han de realizar las
actividades técnicas.
Es adecuada diferenciación lo que es método de
metodología. Los métodos son herramientas relacionadas con la práctica.
Mientras que la metodología estudio los métodos. Una definición estándar de
metodología puede ser el conjunto de métodos que se utilizan en una determinada
actividad con el fin de formalizarla y optimizarla. Determina los pasos a
seguir y cómo realizarlos para finalizar una tarea.
Ciclo de vida del software
Los modelos de ciclo de vida del software describen
las fases del ciclo de software y el orden en que se ejecutan las fases. Un
modelo de ciclo de vida de software es una vista de las actividades que ocurren
durante el desarrollo de software, intenta determinar el orden de las etapas
involucradas y los criterios de transición asociados entre estas etapas.
¿Cuál consideras que es el principal motivo por el
que fracasan los proyectos software?
Para mi la mala planificación es el principal
motivo por el que fracasan los proyectos. Las etapas iniciales de un proyecto,
iniciación y planificación marcan el curso de este hacia el éxito o lo abocan
directamente al fracaso. Uno de los aspectos más delicados es la tarea de
planificación de recursos, para la que es necesario contar con datos
suficientes, objetivos y contrastados; además de conocer las limitaciones y
supuestos del proyecto. La experiencia y la formación contribuyen a minimizar
el margen de error en esta labor. Planificar un proyecto con antelación
detallando los objetivos del plan es una tarea necesaria para el éxito
empresarial y la lógica consecución de las metas propuestas. Lo contrario
aumenta la posibilidad de cometer fallos y eleva el nivel de fracaso y
conflicto.
¿Qué es Scrum?
Scrum es un proceso en el que se aplican de manera
regular un conjunto de buenas prácticas para trabajar colaborativamente, en
equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se
apoyan unas a otras y su selección tiene origen en un estudio de la manera de
trabajar de equipos altamente productivos.
Este modelo fue identificado y definido por Ikujiro Nonaka y Takeuchi a principios de los 80, al analizar cómo desarrollaban los nuevos productos las principales empresas de manufactura tecnológica: Fuji-Xerox, Canon, Honda, NEC, Epson, Brother, 3M y Hewlett-Packard (Nonaka & Takeuchi, The New New Product Development Game, 1986). En su estudio, Nonaka y Takeuchi compararon la nueva forma de trabajo en equipo, con el avance en formación de melé (scrum en inglés) de los jugadores de Rugby, a raíz de lo cual quedó acuñado el término “scrum” para referirse a ella. Los roles principales en Scrum son el Scrum Master, que procura facilitar la aplicación de Scrum y gestionar cambios, el Product Owner, que representa a los stakeholders (interesados externos o internos), y el Team (equipo) que ejecuta el desarrollo y demás elementos relacionados con él. Durante cada sprint, un periodo entre una y cuatro semanas (la magnitud es definida por el equipo y debe ser lo más corta posible), el equipo crea un incremento de software potencialmente entregable (utilizable).
La metodología se basa en:
- El desarrollo incremental de los requisitos
del proyecto en bloques temporales cortos y fijos.
- Se da prioridad a lo que tiene más valor para
el cliente.
- El equipo se sincroniza diariamente y se
realizan las adaptaciones necesarias.
- Tras cada iteración (un mes o menos entre cada
una) se muestra al cliente el resultado real obtenido, para que este tome
las decisiones necesarias en relación a lo observado.
- Se le da la autoridad necesaria al equipo para
poder cumplir los requisitos.
- Fijar tiempos máximos para lograr objetivos.
- Equipos pequeños (de 3 a 9 personas cada uno).
Principales características de Scrum
· Gestión regular de las expectativas
del cliente, resultados anticipados, flexibilidad y adaptación, retorno de
inversión, mitigación de riesgos, productividad y calidad, o, equipo motivado.
·
Se hace uso de equipos auto-dirigidos
y auto-organizados.
· Se realiza a diario una reunión de
Scrum, que es una reunión de avance diaria que no dura más de 15 minutos con el
objetivo de obtener realimentación sobre las tareas del equipo y los obstáculos
que se presentan.
Bibliografía
¿Qué son las metodologías de desarrollo de
software? (16 de junio de 2016). Obtenido de OBS
business school:
https://www.obsbusiness.school/blog/que-son-las-metodologias-de-desarrollo-de-software
Maida, E. P. (2015). Metodologias de
desarrollo de software. Obtenido de Tesis de licenciatura en sistema y
computacion: https://repositorio.uca.edu.ar/bitstream/123456789/522/1/metodologias-desarrollo-software.pdf
Metodologias del desarrollo de software. (s.f.). Obtenido de okhosting.com:
https://okhosting.com/blog/metodologias-del-desarrollo-de-software/
Universitat carlemany. (s.f.). Metodologías
de desarrollo de software. Obtenido de universitatcarlemany.com:
https://www.universitatcarlemany.com/actualidad/metodologias-de-desarrollo-de-software

Publicar un comentario
0 Comentarios