Sei sulla pagina 1di 63

Los ambientes colaborativos como

entornos tecnológicos indispensables


para la Gerencia de los proyectos en la
era de la automatización industrial del
software

María Consuelo Franky


lfranky@javeriana.edu.co
Universidad Javeriana
2012

pg.1
Temática
ALM (Application Lifecycle Management) es el manejo continuo del ciclo de
vida de los proyectos de software a través de técnicas de gobernabilidad,
técnicas de ingeniería de software y herramientas para el manejo de las
distintas etapas de un proyecto.

En este contexto los ambientes colaborativos que integran todas estas


herramientas se convierten en los entornos tecnológicos indispensables
para controlar los proyectos de software en todas sus etapas, asegurando
la colaboración entre los participantes y propiciando la aplicación de
metodologías ágiles.

pg.2
Agenda
1. Beneficios de las metodologías ágiles al aplicarse a ALM
2. Prácticas organizacionales para lograr un ALM ágil
3. Cómo automatizar el ALM y asegurar el logro de los
beneficios de las metodologías ágiles?
4. Características y facilidades de los ambientes colaborativos
5. Ilustración de algunos ambientes colaborativos
6. Conclusiones respecto a ALM & ambientes colaborativos &
metodologías ágiles

pg.3
Beneficios de las
metodologías ágiles al
aplicarse a ALM

pg.4
Concepto de ALM (Application Lifecycle
Management)
• Es el manejo continuo del ciclo de vida de los
proyectos de software a través de :
– técnicas de gobernabilidad
– técnicas de ingeniería de software
– herramientas que facilitan e integran el manejo de:
• requerimientos
• especificación de arquitectura
• programación
• pruebas
• seguimiento de actividades
• manejo de liberaciones de productos.
pg.5
Concepto de ALM ágil
• ALM tradicional:
– aplica herramientas para hacer cumplir procesos
prodefinidos y estandarizados
• ALM ágil:
– aplica herramientas para apoyar el trabajo de las personas
y los procesos que son más adecuados para el modo en
que las personas trabajan en equipo para crear software
– es importante entonces contar con las herramientas
adecuadas para apoyar las prácticas ágiles

pg.6
Manejo ágil de proyectos
• Objetivo:
– tener en tiempo real visibilidad y control del proyecto en
cada una de sus etapas
• Beneficio:
– adaptarse a los cambios en los requerimientos y adaptarse
al modo en que trabaja el equipo

pg.7
Manejo ágil de pruebas
• Objetivo:
– hacer pruebas rápidamente y frecuentemente para
asegurar que todas las funcionalidades del proyecto hacen
exactamente lo que espera el negocio.
• Beneficio:
– poder incorporar cambios de última hora

pg.8
Manejo ágil de entrega al cliente
• Problema:
– Esta etapa es a menudo un proceso en cascada con mucho
riesgo, consumo de tiempo, costoso e impredecible
• Objetivo:
– hacer liberaciones del software del proyecto de acuerdo a
los requerimientos de negocio y no a restricciones
operativas
• Beneficio:
– Permite realizar entregas a tiempo al cliente de versiones
acordadas y libres de defectos; asegura las ganancias del
proyecto
pg.9
Beneficios generales de ALM ágil
• Libera a las empresas de los procesos y herramientas
pesadas que se interponen en el camino de la
creación de software interesante y útil

• Logra entregar a los usuarios software operable con


la frecuencia acordada (semanal, diario, ...)
– Esto permite a las empresas a evaluar rápidamente el
interés del cliente, reaccionar a su retroalimentación, y
hacer correcciones para aprovechar las nuevas
oportunidad de negocio
espg.10
Prácticas organizacionales
para lograr un ALM ágil

pg.11
5 prácticas organizacionales para lograr un
ALM ágil

Referencia: " Redefining ALM with Five Key Practices ", by Ethan Teng, Cyndi Mitchell and Chad Wathington, ThoughtWorks Studios, 2011,
http://www.thoughtworks-studios.com/download/whitepapers/redefining_alm.pdf pg.12
1. Evolucionar la definición de proceso: Los procesos
ágiles son generativos, no prescriptivos
– [Jim Highsmith, autor de “Agile Project Management”] “A prescriptive
approach generates complex and complicated processes whereas a
generative approach begins with a set of simple processes and adds
others as they are needed”

– Los procesos deben evolucionar a medida que sea necesario, en lugar


de mantenerlos estáticos.

– Para poder evolucionar la definición de los procesos se requieren


herramientas que permitan este tipo de mejora continua.

Referencia: " Agile Project Management: Creating Innovative Products", by Jim Highsmith, Addison-Wesley Professional, 2004.
pg.13
2. Abrazar la heterogeneidad
– [Martin Fowler, co-autor del “Manifesto for Agile Software
Development”] “You should never expect to find a single corporate
methodology. While both published processes and the experience of other
projects can act as an inspiration and a baseline, the developer's
professional responsibility is to adapt the process to the task at hand.”
– ALM ágil supone que cada proyecto de software es diferente. Así como
los procesos no son estáticos, tampoco pueden estandarizarse igual para
todos los equipos.
– Las empresas que adoptan la heterogeneidad logran equipos de alto
rendimiento en la entrega al cliente y con gran capacidad de mitigar el
riesgo.
– Se requieren entonces herramientas que soporten la diversidad de
procesos y la consistencia a través de los proyectos para lograr el
gobierno global de estos proyectos a nivel de la empresa.
Referencia: " Manifesto for Agile Software Development", by Kent Beck et al., 2001, http://agilemanifesto.org/ .
pg.14
3. Construir lo correcto
– [Jez Humble, autor de “Continuous Delivery”]. “ If you're not constantly
delivering working software, you're not getting feedback on whether what
you're delivering is useful. Overwhelmingly, the chances are that you won't
build the right thing first time. The longer it takes you to get feedback and
pivot, the more time and money you spend on building the wrong thing.”

– Agile ALM ágil incorpora clientes a las actividades del día a día de los
equipos de software. Como miembros del equipo, pueden dar
retroalimentación inmediata que permite hacer las correcciones para
construir lo correcto.
– Construir lo correcto requiere de herramientas que faciliten el diálogo
y la colaboración en todo el ciclo de vida del desarrollo de software:
• para que clientes, analistas y probadores puedan trabajar juntos en la definición de
criterios de aceptación
• para lograr hacer entregas regulares que es la mejor manera de garantizar que se
está construyendo lo correcto.

Referencia: " Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation", by Jez Humble,
David Farley, Addison-Wesley Signature Series (Fowler), 2010. pg.15
4. Entrega continua
– [Jez Humble] “Keeping your software production ready from the beginning of
the delivery process has several benefits. First, it means releasing is a low-risk,
push-button process. That means you can do it more often, which means you
can show it to users to get feedback more frequently, test it under realistic
conditions more frequently, and get the only real measure of product progress.
In short, it means you can deliver higher quality software faster, and reduce
waste in your delivery process.”
– ALM ágil hace entregas de pocas funcionalidades cada pocos días o
semanas, en lugar de hacer entregas de muchas funcionalidades cada
cierto número de meses. Esta entrega continua asegura que el camino
hacia la producción es claro y previsible.
– Entrega continua requiere herramientas que faciliten la colaboraciòn
técnica detallada:
• para ayudar a probadores, analistas, desarrolladores y clientes a probar
rápidamente , detectar defectos y corregirlos.
• para reducir o incluso eliminar los defectos mediante la automatización de cada
paso de validación (pruebas funcionales, pruebas de rendimiento, pruebas de
seguridad y pruebas de aceptación general).
pg.16
5. Orquestar, no controlar
– [Jim Highsmith] “Governance is about monitoring investment and risk, not
checking-off process steps. In fact, the key to effective executive project
oversight is separating governance from operational processes, evaluating
investment and risk at key project milestones and generating the data for that
evaluation through iterative delivery.”
– ALM tradicional históricamente ha confundido el cumplimiento de
procesos con la gobernabilidad, por lo cual los gerentes tradicionales
proporcionan herramientas pesadas para hacer cumplir el flujo de
trabajo.
– ALM ágil propone que los gerentes sean orquestadores, asegurando
que el trabajo esté alineado con los objetivos de negocio, eliminando
obstáculos, y ayudando a difundir las mejores prácticas entre los
equipos.
– La orquestación requiere herramientas para apoyar las prácticas
organizacionales clave, visión en tiempo real del estado de los
proyectos logrando que esos proyectos estén alineados con los
objetivos de negocio y que sean capaces de realizar entrega continua.
pg.17
Rol de las herramientas en la
automatización de ALM ágil
– En ALM tradicional, las herramientas son las que dirigen el proceso
– En ALM ágil, las personas son las que dirigen el proceso y las
herramientas deben adaptarse para soportar el proceso.
– El proceso correcto no puede ser definido por adelantado, ni puede
ser completamente estandarizado a través de todos los equipos. La
mejor manera de manejar el riesgo es tener total visibilidad (mediante
herramientas acecuadas) y no la estandarización completa.
– La mejor manera de entregar software que satisfaga las necesidades
de negocio es a través de la colaboración constante y la entrega
continua (mediante herramientas adecuadas), y no manejando
artefactos.
– Las iniciativas de software que están alineadas con el negocio tienen
líderes que orquestan en lugar de solamente controlar. pg.18
Cómo automatizar el ALM y
asegurar el logro de los
beneficios de las
metodologías ágiles?

pg.19
Modelo de madurez de metodologías ágiles

Referencia: " The Agile Maturity Model applied to building and releasing software", by Jez Humble, Rolf Russell , ThoughtWorks, Inc), 2010.
http://www.thoughtworks-studios.com/download/whitepapers/Agile-maturity-model-applied-to-building-and-releasing-software.pdf
pg.20
Objetivos del modelo de madurez de
metodologías ágiles
• El objetivo final es el mejoramiento de la empresa,
buscando los siguientes resultados:
– Tiempo de ciclo reducido, para responder más
rápidamente a cambios en requerimientos de negocio
– Reducción de defectos, mejorando así la reputación y
gastando menos en soporte.
– Mayor predicción en el ciclo de vida de entregas del
software logrando una planeación más eficiente.
– Capacidad de manejar los riesgos en la entrega de
software de manera efectiva (reducción de costos)
– Capacidad para adoptar y mantener una actitud de respeto
hacia las regulaciones que conciernen a los proyectos.
pg.21
Como apoyarse en el modelo de madurez
de metodologías ágiles
• Siga los pasos del ciclo Deming: planear, hacer,
verificar, actuar.
1. Identificar en qué nivel del modelo se encuentra su
empresa. En realidad diferentes aspectos o partes de la empresa
pueden encontrarse en diferentes niveles del modelo.

2. Escoja en qué quiere enfocarse. Deber averiguar cuáles son las


posibles mejoras que podría implantar, cuánto costarían y qué
beneficio aportarían. Luego elija un par de estas mejoras y decida
cómo las va a implantar. Debe establecer los criterios de aceptación
(definiendo resultados esperados) que le permitan saber si los
cambios son exitosos.
pg.22
3. Implante los cambios. Planee primero como implantar los
cambios. Podría realizar una prueba de concepto. Luego escoja una
parte de la empresa realmente afectada en donde las personas van a
tener mayor motivación para realizar los cambios. Finalmente
ejecute el plan.

4. Verifique si los cambios implantados tuvieron el efecto


deseado utilizando los criterios de aceptación que se definieron
previamente.

5. Repita estas etapas contruyendo su propio conocimiento.


Implante más mejoras incrementalmente y expándalas a toda la
empresa.

pg.23
Claves para automatizar el ALM ágil
• Escalando la Agilidad en grandes empresas
– Las metodologías ágiles tienen reputación de trabajar bien
con pequeños proyectos pero no con grandes proyectos,
en donde los resultados frecuentemente no son óptimos
(en el manejo de la complejidad de los problemas de estos
proyectos).

– Para lograr los beneficios de las metodologías ágiles con


grandes proyectos es necesario optimizar y automatizar
gran parte de los procesos, para lo cual se requieren
herramientas adecuadas.

pg.24
• Ambientes ALM heterogéneos .
– La mayoría de empresas de desarrollo de proyectos de
software que han adoptado las metodologías ágiles
trabajan con ambientes ALM de múltiples herramientas
heterogéneas provenientes de diferentes proveedores y
también soluciones de software libre.
• se crea un problema de desconexión entre las personas que
trabajan en desarrollo, en calidad y en gestión, porque la
herramienta de cada uno no puede ver la información producida
por la herramienta del otro
• La heterogeneidad también produce un problema crítico de falta
de trazabilidad del ciclo de vida del software

– Se requieren entonces herramientas más flexibles que a


pesar de la heterogeneidad puedan comunicarse entre
ellas.
pg.25
• Conclusión: los ambientes colaborativos se convierten en
los entornos tecnológicos indispensables para controlar
los proyectos de software en todas sus etapas
– integran herramientas heterogéneas y automatizan
parcialmente los procesos, asegurando la colaboración entre los
participantes
– Propician un ALM ágil que soporta las 5 prácticas claves
organizacionales:
• habilitar a los equipos para descubrir y evolucionar su proceso
• abrazar la heterogeneidad: soportar las necesidades únicas de cada
proyecto, así como las necesidades de consistencia de la organización
• construir lo correcto: facilitar la colaboración permanente entre
desarrolladores y clientes
• automatizar las pruebas para permitir la entrega continua
• orquestar, no controlar: proporcionar una total transparencia y
visibilidad a los líderes, sin necesidad de crear trabajo extra para los
equipos de los proyectos pg.26
• Apoyar la colaboración entre los miembros de un
proyecto tiene mucho más impacto que apoyar la
productividad personal

Referencia: " Build your bottom line: Drive innovation with a collaborative requirements-driven quality solution", by Lisa Buckley & Alice Cockrum, Rational
software, IBM Software Group, 2009. http://www-01.ibm.com/software/rational/announce/wpseries/ pg.27
Características y facilidades
de los ambientes
colaborativos

pg.28
Qué es un ambiente colaborativo
para el desarrollo de proyectos de software ?
Servidor de Servidor
Base de Datos de Aplicaciones
Forums Repositorio de
Topic Replies Author Versiones
Trackers

Wikis
Docs
Releases

Espacio web común para la comunicación, el seguimiento y control de las actividades de


los proyectos de software (los participantes pueden estar dispersos geográficamente) pg.29
Tres tipos de facilidades que ofrecen estos
ambientes colaborativos
• Facilidades para la comunicación entre desarrolladores y
clientes
– el poder contactar y compartir de manera ágil eleva la velocidad
de la producción global
• Facilidades para apoyar la gestión diaria de un proyecto
– automatizando el seguimiento de las actividades para elevar el
cumplimiento y la calidad de la producción
• Facilidades para apoyar el control y proyección de un
proyecto
– mediante reportes permanentes de mediciones sobre el
progreso de un proyecto, que permiten al gerente corregir la
gestión global pg.30
(1) Facilidades ofrecidas por un ambiente
colaborativo para la comunicación entre
desarrolladores y clientes
• Documentos de un proyecto
– de interés para el cliente: descripción de requerimientos,
inventario de casos de uso, contrato, etc.
– de interés para los desarrolladores: formatos para las
distintas etapas del proyecto (ej: formato de especificación
de un caso de uso), guías y estándares

• Wikis: edición compartida de nuevas guías


para un proyecto
pg.31
• Noticias y avisos del gerente
• Lista de versiones liberadas del software de un proyecto
– software y manuales listos para ser descargados por el cliente

• Forums de distintos tipos (relativos a un proyecto)


– para la solución de problemas entre desarrolladores
– para que el cliente reporte anomalías encontradas en el
software liberado
– para que el cliente solicite cambios o nuevas opciones para el
sistema
– etc.

pg.32
(2) Facilidades ofrecidas por un ambiente
colaborativo para la
Gestión diaria de un proyecto
• Acople del ambiente colaborativo con el repositorio de
versiones de un proyecto (por ej. CVS o SubVervion)
permite :
– configurar permisos sobre el repositorio para cada
participante en el proyecto
– obtener el historial de versiones del proyecto
– obtener el historial del trabajo de cada participante en
términos de commits sobre el repositorio

pg.33
• Manejo de trackers e Items:
– las actividades de un proyecto se deben registrar en el
ambiente para poder controlar su desarrollo
– las actividades similares se agrupan por trackers definidos de
forma flexible (por ej: tracker de requerimientos, tracker de
casos de uso,etc.)
– Concepto de tracker: es una herramienta configurable para el
seguimiento de elementos (llamados items); según el tipo de
elementos se hace seguimiento de sus requerimientos, de sus
defectos, solicitudes de extensión, etc.
– en cada tracker se registran uno o varios items, cada uno con
la información referente a una actividad
– de cada item asociado a una actividad se podrá saber:
• en qué estado se encuentra su desarrollo
• quiénes participan en la actvidad
• tiempos planeados y tiempos reales invertidos en la actividad
• commits sobre el repositorio de versiones asociados con la actividad pg.34
• Automatización del flujo de trabajo de cada actividad
del proyecto: mediante la definición del workflow de
cada tracker
– se definen los estados por lo cuales pasa el desarrollo de
cada item de un tracker
– se indica el rol de participantes que trabaja en cada estado
de un item
– se configura la notificación automática que se enviará a los
participantes involucrados cuando el item progresa a un
nuevo estado

pg.35
• Seguridad: un ambiente colaborativo debe permitir

– definir los roles de participantes para un proyecto


específico
– los derechos asociados a cada rol
– inscribir cada participante en uno o varios roles

pg.36
(3) Facilidades ofrecidas por un ambiente
colaborativo para apoyar el control y
proyección de un proyecto

• Mediante reportes permanentes que permiten hacer


medición y análisis, el gerente puede conocer el
estado global del proyecto, proyectar y corregir la
gestión

pg.37
Ilustración de algunos
ambientes colaborativos

pg.38
Ejemplos de ambientes colaborativos para
el desarrollo de proyectos de software

• Asynchrony, Freepository, GBorg, GForge, Savannah,


SEUL, SourceForge (CollabNet), IBM (Jazz, Rational),
eTask, Tasktop Sync, ThoughtWorks Studios
• Distintas características respecto a :
– popularidad: número de miembros y proyectos alojados
– costos y tipo de licencia cuando se usa dentro de una empresa
– seguridad (roles y registro de participantes de cada rol)
– facilidades (adicionales al repositorio de versiones, forums y trackers)

pg.39
(1) Facilidades para la comunicación entre
desarrolladores y clientes
• Ejemplo Gforge:
– versiones liberadas del software de un proyecto

pg.40
– Forums de distintos tipos (relativos a un proyecto)

pg.41
(2) Facilidades para la
Gestión diaria de un proyecto
• Ejemplo Gforge: ilustración de trackers e items

pg.42
– Lista de los items de un tracker (ej: tracker de desarrollo)

pg.43
Estimación de
•fecha inicio
•fecha final
(alimenta el Gantt)
Participantes
asignados

Producto (release)
asociado

estado actual
(campo Status)

Contenido(1)
de un item
de un tracker
(ej: un CU)

pg.44
Contenido(2)
de un item
de un tracker
archivos
anexos

historial
cambios

historial
commits

registro
dependencias tiempo
(alimenta el trabajado
Gantt)

45 pg.45
- Ilustración de la definición del workflow de un tracker en
GForge:el workflow definirá transiciones de estado de cualquier
item, modelando el campo “Status”

campos
del
tracker

posteriormente se definirá el workflow permite definir los valores del


como transiciones de Status campo Status pg.46
- definición de los posibles estados de un item (valores posibles
del campo Status)

transiciones de estado

pg.47
- definición del
workflow:
transiciones de
estado, roles
asociados y
notificaciones
automáticas

la notificación llega a los


participantes del rol
indicado que hayan sido
asignados a un item

pg.48
pg. 48
• Autocontrol : cada participante debe poder ver las actividades
pendientes en que está involucrado (ejemplo en GForge)

pg.49
• Ejemplo en CollabNet (versión comercial de SourceForge)
– diversas herramientas para la gestión de proyectos en todas sus etapas

Facilidades para el manejo de


tareas:
• sincronización bidireccional
con MS-Project
• asignación de tareas a
miembros del proyecto
• reportes sobre el progreso
y estado de cada proyecto
Referencia: “Next Generation ALM: Collaborative Software Development on Demand”, CollabNet, 2010
http://www.collab.net/
http://www.techrepublic.com/whitepapers/next-generation-alm-collaborative-software-development-on-demand/1297121 pg.50
(3) Facilidades ofrecidas para apoyar el
control y proyección de un proyecto
• Ejemplo en Gforge: Reportes de ejecución del proyecto: tiempos y
recursos realmente utilizados
a. Reporte de tiempo invertido en las actividades de los trackers

pg.51
b. Reporte de estado de avance de los productos del proyecto

pg.52
• Ejemplo en Jazz (IBM Rational):
– Dashboard de seguimiento

Referencia: “The IBM


Rational Jazz Strategy for
Collaborative Application
Lifecycle Management”, Liz
Barnett, EZ Insight, Inc.
July 2009
http://jazz.net/projects/ratio
nal-team-concert

pg.53
• Ejemplo en eTask
– dashboard ejecutivo

Referencia: ““eTask.it –
orquestación de servicios
elimine los sobrecostos de
sus proyectos””, eTask
http://www.etask.it

pg.54
• Ejemplo en eTask
– Las cargas de trabajo de los recursos y las asignaciones de tareas son
fáciles de rastrear, asegurando así una asignación más eficiente a través de
toda la empresa

Referencia: ““eTask.it –
orquestación de servicios
elimine los sobrecostos de
sus proyectos””, eTask
http://www.etask.it

pg.55
Integración de herramientas que apoyan el
ciclo de vida de los proyectos
• Ejemplo: Jazz de IBM (Rational)
– Ambiente global que proporciona
facilidades de colaboración para el
ciclo de vida de los proyectos,
basándose en metodologías ágiles.
– Se basa en 3 iniciativas que habilitan el
ALM colaborativo:
• arquitectura de integración abierta
que favorece entregas continuas de
software de forma colaborativa,
productiva y transparente
• conjunto de servicios básicos que
habilitan la integración de
herramientas ALM heterogéneas
• Comunidad de desarrollo de más
Referencia: “The IBM Rational Jazz Strategy for Collaborative Application Lifecycle servicios y herramientas asociadas
Management”, Liz Barnett, EZ Insight, Inc. July 2009
http://jazz.net/projects/rational-team-concert pg.56
• Otros ambientes colaborativos
– Tasktop Sync: basado en Eclipse Mylyn http://tasktop.com/sync
• Facilidades para unificar y conectar herramientas heterogéneas
con los equipos de desarrollo que aplican metodologías ágiles
• Cada cliente o desarrollador tiene acceso a los datos que necesita
utilizando la herramienta de su elección

– ThoughtWorks Studios http://www.thoughtworks-studios.com


• ambiente compartido para el manejo de proyectos bajo
metodologías ágiles que permite que los equipos (distribuidos
geográficamente) estén en contacto permanente con los clientes
• Permite adaptarse a los cambios en los requerimientos y a la
manera en que trabaja cada equipo
pg.57
Conclusiones respecto a ALM
& ambientes colaborativos &
metodologías ágiles

pg.58
• La revolución industrial del desarrollo de proyectos
de software requiere metodologías ágiles y
ambientes colaborativos
– las metodologías ágiles promueven calidad, comunicación
y agilidad en la entrega del producto al cliente
– los ambientes colaborativos permiten explotar la
colaboración del equipo que participa en un proyecto,
automatizar las actividades y controlar la gestión mediante
mediciones y análisis permanentes
– En la era de la automatización del software los ambientes
colaborativos son el entorno tecnológico indispensable
para la gerencia de proyectos, a fin de lograr ALM con los
beneficios de las metodologías ágiles
pg.59
• Beneficios de los ambientes colaborativos
– Colaboración en contexto
• Cada miembro de un proyecto tiene su propio rol y contexto de
trabajo y al mismo tiempo puede trabajar con otros en
entregables compartidos de la manera más productiva.
– Procesos en sus justas proporciones
• Un ambiente colaborativo facilita y automatiza el uso de mejores
prácticas sin afectar la productividad individual o de equipo. Además
permite definir múltiples tipos de procesos (desde livianos hasta
altamente estructurados) disponibles para los distintos tipos de
proyectos.
– Transparencia global.
• El ambiente colaborativo proporciona la transparencia requerida
por la gobernabilidad de los proyectos que siguen un ALM ágil

Referencia: “The IBM Rational Jazz Strategy for Collaborative Application Lifecycle
Management”, Liz Barnett, EZ Insight, Inc. July 2009 pg.60
http://jazz.net/projects/rational-team-concert
– Otros beneficios:
• Reducción del tiempo de entrega de productos
• Involucrar a los clientes en el mismo ambiente logrando
retroalimetnación más temprana
• Reducción de los costos de desarrollo
• Mejora la calidad del software porque los nuevos proyectos
aprovechan código hecho por otros proyectos, el cual está
disponible en el mismo ambiente

pg.61
Referencias adicionales
• Metodologías ágiles:
– http://www.extremeprogramming.org
– http://www.xprogramming.com
– Craig Larman, "Agile and Iterative Development: A Manager's Guide".
Addison Wesley, 2004.

• Ambientes colaborativos para el desarrollo de proyectos de


software:
– Booch, G., & Brown, A. W, “Collaborative Development Environments”,
Cupertino, CA, USA. 2002
– Leigh Williamson, “The Rational approach to automation”, IBM, 2009

pg.62
• Trabajos en la U. Javeriana:
– "ConstruColectiva: Guía metodológica para la gestión de proyectos de
software basados en metodologías ágiles, utilizando ambientes de
desarrollo colaborativo. Caso de estudio: GForge". John Diaz, Juan Felipe
Olaya. Memoria del trabajo de grado en Ingeniería de Sistemas,
Universidad Javeriana, 2010.

– Productos disponibles de ConstruColectiva: leer instrucciones en


http://orion.javeriana.edu.co:81/gf/

– Consuelo Franky, “Agile Management and Development of Software


Projects based on Collaborative Environments”, ACM Software Engineering
Notes (ACM SIGSOFT SEN) , Mayo de 2011, http://www.sigsoft.org/SEN/

pg.63

Potrebbero piacerti anche