View
216
Download
0
Category
Preview:
Citation preview
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 Frankylfranky@javeriana.edu.co
Universidad Javeriana
2012
pg.1
Temática
pg.2
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.
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
• 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
Concepto de ALM ágil
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
pg.12Referencia: " 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
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.
pg.13Referencia: " Agile Project Management: Creating Innovative Products", by Jim Highsmith, Addison-Wesley Professional, 2004.
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.
pg.14Referencia: " Manifesto for Agile Software Development", by Kent Beck et al., 2001, http://agilemanifesto.org/ .
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.
pg.15Referencia: " Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation", by Jez Humble, David Farley, Addison-Wesley Signature Series (Fowler), 2010.
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
pg.20
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
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
pg.27Referencia: " 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/
Características y facilidades
de los ambientes
colaborativos
pg.28
Qué es un ambiente colaborativo para el desarrollo de proyectos de software ?
pg.29
Servidor deBase de Datos
Servidorde Aplicaciones
Repositorio deVersionesTopic Replies Author
Forums
WikisDocs
Releases
Trackers
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)
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
pg.31
• 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
• 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
pg.40
• Ejemplo Gforge: – versiones liberadas del software de un proyecto
– Forums de distintos tipos (relativos a un proyecto)
pg.41
(2) Facilidades para la Gestión diaria de un proyecto
pg.42
• Ejemplo Gforge: ilustración de trackers e items
– Lista de los items de un tracker (ej: tracker de desarrollo)
pg.43
Contenido(1) de un item
de un tracker(ej: un CU)
pg.44
Estimación de •fecha inicio•fecha final (alimenta el Gantt)
Producto(release) asociado
Participantes asignados
estadoactual(campo Status)
pg.4545
archivos anexos
Contenido(2)
de un item
de un tracker
historial cambios
historialcommits
dependencias(alimenta el Gantt)
registro tiempo
trabajado
pg.46posteriormente se definirá el workflow como transiciones de Status
permite definir los valores del campo Status
campos del tracker
- 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”
pg.47
transiciones de estado
- definición de los posibles estados de un item (valores posibles del campo Status)
pg.48
pg. 48
la notificación llega a los participantes del rol indicado que hayan sido asignados a un item
- definición del workflow: transiciones de estado, roles asociados y notificaciones automáticas
pg.49
• Autocontrol : cada participante debe poder ver las actividades pendientes en que está involucrado (ejemplo en GForge)
pg.50
• Ejemplo en CollabNet (versión comercial de SourceForge) – diversas herramientas para la gestión de proyectos en todas sus etapas
Referencia: “Next Generation ALM: Collaborative Software Development on Demand”, CollabNet, 2010http://www.collab.net/ http://www.techrepublic.com/whitepapers/next-generation-alm-collaborative-software-development-on-demand/1297121
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
(3) Facilidades ofrecidas para apoyar el control y proyección de un proyecto
pg.51
• 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.52
b. Reporte de estado de avance de los productos del proyecto
pg.53
• 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 2009http://jazz.net/projects/rational-team-concert
pg.54
• Ejemplo en eTask– dashboard ejecutivo
Referencia: ““eTask.it –orquestación de servicioselimine los sobrecostos de sus proyectos””, eTaskhttp://www.etask.it
pg.55
• 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 servicioselimine los sobrecostos de sus proyectos””, eTaskhttp://www.etask.it
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
servicios y herramientas asociadas
pg.56
Referencia: “The IBM Rational Jazz Strategy for Collaborative Application Lifecycle Management”, Liz Barnett, EZ Insight, Inc. July 2009http://jazz.net/projects/rational-team-concert
• 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
pg.60
Referencia: “The IBM Rational Jazz Strategy for Collaborative Application Lifecycle Management”, Liz Barnett, EZ Insight, Inc. July 2009http://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
• 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
Referencias adicionales
• 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
Recommended