Jazz es una plataforma de colaboración en equipo escalable y extensible para integrar tareas directamente a lo largo del ciclo de vida del software.
Desarrollar software en un equipo se parece mucho a tocar un instrumento en una banda. Cada uno de los músicos tiene que tocar su parte mientras está en sintonía y sincronización con los demás. Deben estar de acuerdo en cómo se comunican, y deben prestar atención a las señales que se envían unos a otros, o a los fallos en la interpretación. Se necesita una sólida colaboración y una virtuosidad individual. Igualmente, los desarrolladores de software deben centrarse en construi etiquetass de calidad y coordinar sus actividades para que todas las piezas se ajusten bien.
Los entornos de desarrllo integrados (IDEs), como Eclipse, han conseguido mejorar la productividad individual. Sin embargo, los desarrolladores están tan activamente dedicados al trabajo con sus equipos como lo están escribiendo su etiquetas. Aquí es donde entra Jazz Platform, desplazando la atención desde la productividad del individuo, a la productividad del equipo.
Tenga en cuenta el trabajo que le lleva a un equipo realizar un seguimiento y arreglar un error hipotético. El trabajo de arreglar un error fluye con el equipo, desde Mike que descubre e informa del problema, a Rick que revisa los informes de errores entrantes y asigna el trabajo a Susan, a Susan que arregla el error, y finalmente, de vuelta a Mike para la verificación. El arreglo de un error en sí mismo también fluye dentro del equipo, desde Susan que arregla el problema en la corriente del etiquetas a Mike que verifica que el arreglo en la construcción que lo contiene.
Estos flujos pueden ser frágiles. Los flujos dentro del equipo fallan si se reincorpora un arreglo sin actualizar el informe de errores, o si no hay enlace para conectar el arreglo a una corriente y construcción de etiquetas concretos. Estos fallos pueden llevar a confusión dentro del equipo e impedir el progreso. Para empeorar las cosas, un fallo podría no ser inmediatamente aparente para cualquier dentro de un equipo. También hay una intercalación de trabajo relacionado con el dominio (p.ej., escribir etiquetas para sus productos de software) con trabajo relacionado principalmente con mantener la coordinación con su equipo (p.ej., marcado los errores como fijados).
Aunque el IDE integra varias herramientas, el desarrollador todavía está haciendo mucho del trabajo repetitivo de contabilidad a mano, trabajo que es importante para mantener al equipo trabajando junto de forma eficaz, pero también trabajo que es fácil de olvidar o de hacer de forma incorrecta. Sería mejor si Susan pudiera simplemente decir en qué IDE está trabajando para arreglar un error concreto. Después, cuando complete el arreglo y el caso de prueba, podría indicar qué estaba haciendo. Sin más acción por su parte, el sistema debería comprometer los archivos cambiados y asociarlos con el informe de errores, actualizar las notas de construcción, y marcar el informe de errores como cerrado. Si las herramientas automatizan la contabilidad de esta forma, ayudaría a hacer que el equipo fuera más eficaz asegurando que las importantes conexiones entre los informes de errores y las reincorporaciones del etiquetas son fiables. Al mismo tiempo, esto haría a los miembros del equipo individuales más eficaces automatizando las tediosas tareas de contabilidad propensas a errores.
Jazz es una plataforma de colaboración en equipo para el ciclo de vida completo de software, diseñado para soportar la integración de tareas perfectas a lo largo de todas las fases del ciclo de vida del software (el escenario de ejemplos anterior menciona unas cuantas tareas comunes en la mitad del ciclo de vida). La plataforma Jazz está diseñada para ser ampliable tanto en el cliente como en el servidor, y para ampliarse desde equipos muy pequeños a grandes instalaciones de empresa. Incorpora el término general de proceso de ayuda soportado por herramientas, donde las herramientas entienden el proceso de desarrollo del equipo y ayudan a los miembros del equipo a seguir este proceso sin meterse en su camino.
La plataforma Jazz no está destinada solamente a integrar herramientas de punto existentes, sino también a proporcionar una plataforma sobre la que construir una función de herramientas de ciclo de vida mucho más integrada que la posible anteriormente. Cuando las herramientas de desarrollo están integradas por el ciclo de vida de esta manera, se hace posible hacer cosas inimaginables con un conjunto de soluciones de punto sujetas juntas. Herramientas integradas de principio a fin como ésta puede ayudar a los equipos a construir software de forma más eficaz, y hacer del desarrollo de software una actividad más entretenida.
La plataforma Jazz está diseñada para permitir el soporte comprensivo por todo el ciclo de vida del desarrollo de software. Una hebra que se ejecuta por todas las fases de un proyecto es un proceso que los miembros del equipo tienen que estar de acuerdo en seguir. Enseñando la plataforma Jazz acerca del proceso, puede ayudar al equipo de maneras específicas para el proceso. El soporte del proceso puede venir en una amplia (y completamente abierta) variedad de formas, que van desde la comprobación rápida de reglas, a ofrecer ayuda del proceso en línea (p.ej., tecla F1), para automatizar la contabilidad. La plataforma Jazz Platform soporta el proceso de las siguientes formas:
La plataforma Jazz está diseñada y construida para hacer lo siguiente:
El rol principal de la plataforma Jazz es proporcionar un escritor de herramientas con mecanismos que hay que utilizar, y reglas que hay que seguir, que lleva a herramientas de ciclo de vida integradas directamente. Estos mecanismos se exponen por medio de APIs bien definidos. La plataforma Jazz también proporciona bloques de construcción útiles e infraestructuras que facilitan el desarrollo de herramientas nuevas.