metodología - roles agile
Equipo de desarrollo distribuido-Herramientas necesarias (9)
Cuando dices "código abierto", ¿te refieres al software libre, o quieres decir "necesito / prefiero poder ver la fuente"?
Tenga en cuenta que su decisión estará influenciada por la naturaleza de su proyecto. Hay muchos sitios de alojamiento de desarrollo / proyectos gratuitos que requieren que su proyecto sea de código abierto y libre / abierto al público.
También puede optar por ir con una plataforma de alojamiento particular basada en el idioma que está utilizando para desarrollar el proyecto. Por ejemplo, CodePlex (http://www.codeplex.com/) es un sitio que aloja proyectos basados en .Net de fuente abierta, y Java.Net (http://community.java.net/projects/) aloja proyectos de Java.
Las otras respuestas dadas a su pregunta son sólidas, esto es lo que actualmente uso o he usado en el pasado:
Una gran herramienta de construcción continua JetBrains TeamCity. (http://www.jetbrains.com/teamcity/) La herramienta tiene soporte listo para usar para muchas herramientas de compilación, así como para construir soluciones de Visual Studio listas para usar. Es gratis para equipos de 20 o menos desarrolladores. También tiene una gran cantidad de funcionalidades listas para usar, y puede estar en funcionamiento en minutos, una curva de aprendizaje notablemente baja sin tener que recortar funciones.
Un repositorio SVN útil que es gratuito para dos desarrolladores, y le ahorrará el tiempo de configuración y administración de su propio repositorio SVN es Unfuddle. (http://www.unfuddle.com) Unfuddle también tiene características extra pagas y un seguimiento básico de tareas.
Otro repositorio fuente pago es ProjectLocker ( http://www.projectlocker.com ) que tiene repositorios SVN de bajo precio e integración de Trac para la gestión de tareas.
Una herramienta útil para el seguimiento de tareas es Remember The Milk ( http://www.rememberthemilk.com ) - no funciona en "tickets" como Trac, no es solo para rastrear proyectos, sino que le permite enviarse tareas por correo electrónico. y tener listas de tareas compartidas. También los señalo porque el producto en sí está desarrollado por un equipo de desarrollo distribuido y es posible que desee intentar enviarlos por correo electrónico en busca de consejo. :-)
¡Lo mejor para tu equipo!
Tengo un equipo de desarrolladores distribuidos globalmente en diferentes zonas horarias.
¿Cuáles son las mejores herramientas para lograr la máxima productividad en dicho equipo?
Busco:
- Fuente de control
- Seguimiento de errores
- Gestión de compilación
- Cualquier otra cosa que pueda ayudar
Gracias
Como control de fuente: ¿por qué no un sistema distribuido, como git (si no usas Windows), Mercurial o Bazaar?
Para el seguimiento de fallas, seguiría Trac - también tiene un Wiki integrado, que siempre es útil para la documentación del proyecto.
En cuanto a la administración de compilación, puedes utilizar el control de crucero o la hormiga. No soy muy experto en este aspecto.
Sin embargo, hay algo que realmente debe tener en cuenta: el problema principal para los equipos distribuidos no es el conjunto de herramientas, es la comunicación .
Esto es aún más importante en una configuración "ágil", como lo sugiere su etiqueta.
La mejor solución que he visto para este problema es la videoconferencia. Es muy efectivo para mejorar el ancho de banda de comunicación en equipos distribuidos, y con GTalk y Skype ahora es realmente económico.
Considera Fogbugz para el seguimiento de errores. Es útil.
Creo que necesitarás algunas cosas más para ayudar con este proyecto que lo que has pedido.
Primero, daré mis recomendaciones para su lista:
- Control de fuente: git o svn, si usas cualquiera de estos, necesitarás una forma de avisarles a tus desarrolladores quién chequeó en qué y cuándo, Trac es bueno para esto para svn
- Seguimiento de errores: Trac (no Bugzilla), Mantis, FogBuz
- Gestión de compilación: CruiseControl es ideal para la integración continua; si necesita crear scripts intente Ant o Maven
Otras cosas que probablemente necesitará:
- Herramienta de colaboración: Trac tiene una wiki o elige una wiki de tu elección
- Herramientas de chat: aunque se encuentren en zonas horarias, se necesitará una comunicación instantánea. IRC, Jabber, Skype, que es ideal para llamadas de video o audio a través de Internet.
- Gestión de proyectos: necesitará una forma de configurar sus lanzamientos (sprints si usa Scrum) y su backlog. Mi herramienta favorita para esto es Acunote: ( http://www.acunote.com ). Hay otros más, pero son más caros y obtienes todas las características que probablemente no necesites.
Espero que esto ayude.
Esta pregunta no está especificada. Existen muchos paquetes para cada categoría que lista, todos diseñados para admitir la colaboración entre personas distribuidas globalmente en diferentes zonas horarias.
Entonces puedo hacer una recomendación, basada en herramientas de código abierto que me han funcionado en el pasado. Puede tener necesidades específicas que requieren soluciones más específicas, pero no las mencionó. Además, para la productividad, es útil si las personas pueden continuar usando las herramientas con las que están familiarizados, y usted no explicó qué herramientas ya conoce su gente.
En cualquier caso, esta es mi recomendación:
- use Subversion para el control de fuente
- usa Roundup como el rastreador de errores
- use make para la gestión de compilación, utilice Buildbot para compilaciones automatizadas y distribuidas
- utilizar listas de correo basadas en Mailman
Para el entorno .NET:
- Servidor SVN: servidor VisualSVN (gratuito)
- Cliente SVN: AnkhSVN 2.0 (código abierto)
- Integración continua: CruiseControl.Net (código abierto)
- Rastreador de errores : BugTracker.NET (código abierto). Pero si puedes, recomendaría Trac .
Estoy muy satisfecho con Assembla : alojan el servidor SVN y Trac para sus proyectos a precios muy razonables (o gratis si el proyecto es público).
Un wiki es imprescindible
Ayuda como un medio de comunicación asincrónico entre ans dentro de los equipos. Las personas pueden compartir sus consejos (por ejemplo, cómo compilo esto, cómo activar los rastros ...). Se puede usar para recopilar decisiones o cambios de diseño ... Las personas pueden hacer preguntas a todo el equipo sin molestar a otros buzones. También se puede usar para hacer crecer la documentación.
Hay un montón de wiki , elige uno dependiendo de lo que planeas hacer con él.
Sí, creo firmemente que en equipos distribuidos, una herramienta es importante. La comunicación es suficientemente difícil si no trabajas localmente juntos. Una herramienta como, por ejemplo, Agilo for Scrum, que se basa en trac , te ofrece una wiki, una pizarra de planificación (pizarra en línea) y te apoya de esta manera para mejorar la comunicación con tus colegas.