Equipos De Desarrollo De Software
Enviado por Dilma19 • 20 de Diciembre de 2013 • 1.219 Palabras (5 Páginas) • 486 Visitas
Como se debe articular un grupo de desarrollo de Software para:
Tener una forma de trabajo sencilla de entender y aceptar por el equipo
Trabajar de forma eficiente: capacidad de medir el tiempo de desarrollo y tomar decisiones para mejorarlo
Cubrir varios proyectos a la vez por un mismo equipo
Equipo distribuido geográficamente
Metodología es necesaria para esquematizar una serie de etapas que concluyen el producto final. En mi experiencia profesional, son las ágiles las metodologías que se acercan más a la realidad. Me basaré en:
Scrum desarrollo ágil de cualquier tipo de producto, define roles, y forma de reproducir las iteraciones medibles, reuniones necesarias …
eXtremeProgramming metodología más específica al desarrollo de aplicaciones, define forma en la que se deben automatizar pruebas, control de versiones,requisitos, código colectivo,…
La metodología nos aportará:
Labores a desarrollar en cada etapa
Secuencia en la que se cumplen esas etapas
Roles en el equipo (reparto de las labores de la metodología):
Master: Vigilar el cumplimiento de la metodología, enseñarla.Define prioridades, roles, proyectos. Orquesta. Facilita cosas.
Comercial: Primer contacto con el cliente. Vigila que todo el proceso comercial sea rentable.
Arquitecto: Decidir tecnologías, enseñarlas. Construir el Sistema de soporte Arqo
Calidad (Tester): Decidir tecnologías, enseñarlas. Construir el Sistema de soporte Calidad (CI, TDD, SVN)
Analista(Product Manager): Determinar requisitos del usuario, convertirlo a esquemas entendibles por el desarrollador, priorizar dentro tareas (maximizando el ROI) y hacer demo al usuario. Maximizar la usabilidad.
Gestor de Proyectos: planificación de iteraciones, versiones de aplicaciones, reparto de tareas entre miembros del equipo. Maximizar regularidad del equipo y reparto coherente de tareas.
Programador de BD: desarrollo de BBDD para mínima duplicidad.
Programador de Negocio: desarrolla las librerías de negocio para máxima reutilización (forma de APIs y WS)
Programador front-end: desarrollo de las pantallas web para máxima usabilidad
Las parejas de roles Master-Comercial, Arquitecto-Calidad, Analista-Gestor se pueden definir como tres roles distintos. Depende del número de personas en el equipo y de como se quieran hacer las cosas.
Roles de programador habrá tantos como tecnologías implique la arquitectura, siendo los que se definen atrás los básicos (Flash, diseño web, …). También se pueden combinar en una sola persona.
Herramientas son las que van a ayudar al equipo trabajar conforme a la metodología.
Sistema: red (ADSL), Sistema Operativo (Ubuntu: OpenOffice, navegador…)
Comunicaciones: Correo electrónico, Video/Chat (Skype)
Gestión de Proyectos: redmine+redminebacklogs. Control de versiones (Subversion).
Arquitectura: IDE (Herramientas de desarrollo, Eclipse, DBDesigner,…), Dependencias de Tecnologías (Hibernate, ADF, ZK,…)
Calidad: plugins de cobertura, servidor Integración Continua, Análisis de código, herramientas para pruebas,…
El Backlog es el que representa el trabajo diario del equipo:
Equipos Agiles
¿Qué es un Equipo Ágil?
Los equipos pequeños y formados por miembros de diferentes disciplinas consiguen mejores resultados. Es fundamental que el equipo pueda organizarse por sí mismo y la comunicación sea transparente. Bajo esta premisa, podemos decir que un grupo ágil es un equipo de trabajo interdisciplinario de tamaño moderado, en donde no es necesario un líder, todos los integrantes comprenden y se dirigen hacia los mismos objetivos. Es importante señalar que la comunicación es el nexo imprescindible entre los miembros que integran el equipo.
¿Cómo opera?
• Requerimientos: Consiste en fijarse específicamente en QUÉ es lo que queremos hacer, las ideas claras y de manera esquemática que el usuario exprese bajo este contexto, se escriben en unas tarjetas las cuales se denominan o llaman historias de usuario. Con esas historias de usuario se define la lista de requerimientos del producto, a cada elemento que integra esa lista se le asigna un nivel de prioridad. De este modo el equipo es
...