¿Cuáles son algunas de las mejores aplicaciones web para administrar un equipo de desarrollo ágil distribuido?

Recientemente abordamos esta pregunta / tema en un artículo. Vuelva a publicarlo aquí:

Según Forrester Research, 34 millones de estadounidenses trabajan desde casa hoy. Este número alcanzará la asombrosa cifra de 63 millones para 2016, que comprende el 43% de la fuerza laboral de los EE. UU. Si extrapolamos esto a una fuerza laboral global, hay potencialmente cientos de millones de personas dispuestas a trabajar como parte de un equipo distribuido. En el nuevo orden mundial, el mejor talento no reside en una ubicación: está más distribuido que nunca.

Los trabajadores distribuidos altamente calificados y talentosos saben que pueden trabajar con la misma eficacia desde cualquier lugar y al mismo tiempo lograr un mejor equilibrio entre la vida laboral y personal. Los empleadores deberían considerar esto una victoria. Según IBM, las personas que trabajan de forma remota son un 50% más productivas. Este sentimiento también es compartido en el video por el desarrollador de aplicaciones phenom @DHH, creador de Ruby on Rails y fundador de 37signals (creadores de Basecamp). Las organizaciones que adoptan equipos distribuidos también pueden liberarse de las limitaciones geográficas del suministro de talento, y pueden lanzar una red más amplia para atraer y retener el talento de mejor calidad a costos más bajos. Tomemos, por ejemplo, la contratación de un ingeniero junior con sede en el área de la Bahía de San Francisco. La competencia intensa, el alto costo de vida y otros en los mandatos estatales y gubernamentales significa que contratar a un codificador inexperto probablemente le costará más de cien mil dólares por año. Agregue el costo de los arrendamientos, la infraestructura de la oficina y el pago de servicios como dispositivos móviles, y los costos se disparan rápidamente.

Si bien algunos podrían argumentar que los equipos distribuidos dificultan la comunicación, inhiben la colaboración o nunca permiten que se forme una cultura de empresa, la tendencia aún apunta a un futuro de la administración de una fuerza laboral distribuida. Deberíamos aprender a aceptarlo.

El enfoque ágil distribuido: piense global. Código global.

Empresas como WordPress.com: Cree un sitio web o blog gratuito, Basecamp, Github, Treehouse, Upworthy, Stack Exchange y muchos más se distribuyen al 100%. Más de 150 nuevas empresas están distribuidas en un 50%, con menos de un tercio de ellas con presencia en Silicon Valley. En Strategic Path somos un equipo distribuido y ágil de más de 1000 desarrolladores, diseñadores y comercializadores. Hemos estado ejecutando y mejorando Distributed Agile desde 2010, y más del 25% de nuestros clientes han estado ejecutando equipos remotos durante al menos 18 meses, mientras que el 80% de nuestro talento ha estado con nosotros durante más de 2 años.

Para nosotros, la creación de equipos ágiles distribuidos productivos es clave para la satisfacción del cliente y la retención de los empleados, y aún más importante para poder entregar aplicaciones y proyectos valiosos, a tiempo y dentro del presupuesto. Las claves del éxito de un enfoque ágil digital no están muy lejos de la metodología ágil tradicional, pero tienen características únicas que los hacen funcionar.

Comunicación y colaboración

Pregúntele a cualquier profesional de ágil y le dirán que la comunicación y la colaboración son probablemente los atributos más importantes para entregar proyectos a tiempo. Con equipos distribuidos, ser bueno en esto es aún más pronunciado. Afortunadamente, las herramientas y tecnologías disponibles hoy en día para los equipos distribuidos pueden casi igualar la última herramienta de comunicación y colaboración para reunirse cara a cara. Pero como sabemos, las fuerzas de trabajo distribuidas son el futuro, por lo que es probable que cada vez vea menos a su colega en persona. Las herramientas de comunicación y colaboración para el equipo de Distributed Agile incluyen:

  1. Seguimiento de tareas en línea y herramientas de gestión de proyectos. Elige tus herramientas sabiamente. Los retrasos físicos con notas adhesivas son excelentes en algunos casos, pero no se traducen bien en un equipo distribuido. Use herramientas en línea para permitir una gestión de proyectos y tareas fluida y dinámica, priorización fácil, visibilidad y transparencia y una mejor colaboración. Herramientas de seguimiento de proyectos y tareas: Trello, Jira, Pivotal Tracker, Basecamp
  2. Reuniones virtuales y colaboración. Los intercambios en persona son especiales, ya que permiten a las personas estar plenamente presentes entre sí y comunicarse con la voz, las expresiones faciales y el lenguaje corporal. Estos matices generalmente se pierden con correos electrónicos y comunicaciones de texto, lo que puede conducir a errores de comunicación y desacuerdos si no se maneja correctamente. Sin embargo, las herramientas de comunicación modernas permiten llamadas de voz y video fáciles y sin problemas, lo que significa que podemos aproximarnos a las reuniones en persona con respecto a lo que escuchamos y vemos en los rostros de las personas. Como beneficio adicional, muchas herramientas también permiten otras formas de funciones de colaboración, como el uso compartido de pantalla, lo que hace que pasar impresiones y amontonarse en una sola computadora sea cosa del pasado. La prevalencia de estas herramientas hace que su costo sea cero en algunos casos, lo que significa que los equipos y las personas pueden organizar reuniones ad-hoc para resolver problemas o discutir un tema. Herramientas de reunión y colaboración: Google Hangouts, GoToMeeting, Skype, aparecen. En, Sala
  3. Chat grupal, no correo electrónico. En la ruta escalable, nos comunicamos con nuestros clientes, equipos y terceros a través de Slack en lugar de por correo electrónico. Slack es una de una nueva generación de herramientas de chat organizacional que permite a los grupos tener conversaciones de texto y colaborar de manera efectiva y eficiente. Puede establecer el contexto de canales para discutir proyectos o temas particulares, y las personas pueden comunicarse directamente si es necesario. También existe la noción de canales públicos, donde toda la organización puede comunicarse, y canales privados, donde solo los individuos invitados pueden chatear. En lugar de tener muchos mensajes de correo electrónico y conversaciones, es mucho más fácil ver el historial de una conversación y colaborar. Vemos un aumento en la comunicación y la colaboración dentro de las organizaciones donde implementamos Slack. Echa un vistazo a Slack, es gratis para comenzar. Otra gran herramienta que logra un objetivo similar es HipChat, pero la barrera de entrada es más grande para las organizaciones. Otras herramientas: 10 alternativas a Slack
  4. Trabajar con equipos con superposición de zonas horarias altas. Trabajar con equipos con una superposición significativa de zonas horarias permite una estrecha colaboración sin afectar el equilibrio entre la vida laboral y personal. Tener equipos distribuidos con grandes diferencias de tiempo afecta negativamente la dinámica del equipo y a largo plazo es insostenible, y generalmente requiere un liderazgo duplicado para cada equipo aislado de zona horaria. El camino escalable reúne a los equipos de proyecto con una superposición saludable en las horas de trabajo para que los miembros de los equipos puedan trabajar entre sí.
  5. Construir equipos autosuficientes. Los equipos deben estar diseñados para funcionar de forma autónoma. Se debe alentar la comunicación directa entre los miembros del equipo sobre la gestión de arriba hacia abajo. Cada equipo debe incluir personas con todas las habilidades necesarias para desarrollar el producto en el que están trabajando. Intente evitar dividir el tiempo de las personas en diferentes equipos, ya que esto genera cuellos de botella innecesarios e ineficiencias debido al cambio de contexto. Los equipos que necesitan apoyo externo deben tener la libertad de buscarlo siempre que el impacto en la productividad de otras personas no se vea afectado, o si lo es, obtengan las aprobaciones adecuadas. Las herramientas de chat flojo y grupal permiten una fácil comunicación con personas ajenas al equipo de trabajo inmediato.

Cultura

¿No se desarrolla la cultura de estar físicamente juntos? Es cierto que puede ser difícil para un equipo construir una relación positiva cuando los miembros no pueden ponerse al día en el almuerzo o en la reunión después del trabajo. Pero la cultura va más allá de las comidas y las libaciones. También se trata de ver una visión, alinearse con una misión, crear un sentido de comunidad y pertenencia y tener lealtad a un proyecto que entusiasma a las personas con el trabajo. Aquí hay algunos consejos sobre cómo construir cultura con equipos distribuidos.

  1. Conozca a las personas personalmente. Pase tiempo con los miembros de su equipo antes o después de las llamadas. Conozca sus intereses, los libros que están leyendo, las cosas que están haciendo sin conexión. Construir relaciones personales ayuda a generar confianza y cierra las diferencias culturales, lo que lleva a las personas a ser más abiertas sobre sus opiniones. Ayuda a construir relaciones que contribuyen en gran medida a retener a los empleados. A la gente le gusta sentirse apreciada y compartir sus pasiones. Como nos muestran los sitios de redes sociales como Facebook, las personas están dispuestas a compartir sus vidas virtualmente.
  2. Cree un lugar para que las personas compartan contenido en línea interesante o divertido. En la ruta escalable, tenemos #frontend, # backend, #design, #random #general y otros canales en Slack donde las personas comparten cosas ridículas y cosas ridículamente interesantes como noticias, nuevas tecnologías e ideas. Una vez que comenzamos a hacer esto, comenzó a surgir una cultura y las personas que trabajaban en diferentes proyectos comenzaron a conocerse. ¡Es como tener un enfriador de agua virtual donde ocurren conversaciones improvisadas y ha sido genial!
  3. Crea espacio para la innovación. Alentamos a todos los miembros de nuestra organización a trabajar en proyectos personales. Algunos de nuestros líderes están utilizando nuestra red de desarrolladores para construir sus proyectos paralelos. Mantiene sus jugos creativos fluyendo y los hace más efectivos con los compromisos del cliente.
  4. Sea introspectivo e itere. De manera ágil, las organizaciones deben estar abiertas al cambio y preguntarse qué funciona y qué no, y aspirar a iterar y mejorar con el tiempo. Probablemente no va a hacer todo bien la primera vez, pero es posible mejorar con el tiempo.
  5. Apariciones de invitados por no miembros del equipo. En la ruta escalable, tenemos seminarios web con líderes de opinión y expertos una vez al mes. Ayuda a nuestro equipo a mantenerse al día con las últimas técnicas y le da al equipo una idea de lo que está sucediendo en todo el mundo. Dentro de los proyectos de los clientes, alentamos los cameos de otras personas, por ejemplo, un VP / CTO / CEO para compartir actualizaciones, ideas, noticias. Lo mejor de todo es que, a través de lugares de reunión, podemos lograr que líderes de opinión de todo el mundo hablen sobre sus experiencias.
  6. Tener una vez al mes reuniones entre equipos. Tenemos actualizaciones mensuales con nuestro equipo de liderazgo para compartir aprendizajes, desarrollos y objetivos. Hace que todos sientan que son parte de una misión más grande. Durante estas reuniones, alentamos el intercambio de ideas y la retroalimentación sobre formas de mejorar.
  7. Invierta en desarrollo personal. Ofrecer capacitaciones y reembolsos gratuitos para el crecimiento personal ayuda mucho en el desarrollo de la cultura. Ayuda a los empleados a dar saltos en su vida profesional y los mantiene más felices.

Hemos enumerado muchas técnicas que son útiles para ejecutar equipos de Distributed Agile. Sin embargo, no se puede enfatizar lo suficiente que lo más importante para un equipo es tener un ambiente positivo donde las personas se sientan seguras para expresarse y probar cosas nuevas. Sin la cultura adecuada como base, las herramientas y los procesos no lo llevarán muy lejos.

La ecuación es diferente para cada organización, pero los puntos descritos anteriormente son un excelente lugar para comenzar. Encontramos que estos conceptos no solo son aplicables a los equipos de desarrollo de aplicaciones, y funcionan bien para muchas otras empresas. Una vez que la organización se sienta cómoda con un modelo ágil distribuido, debe haber mejoras claras en la comunicación y la colaboración, lo que se traduce en una mejor entrega de productos valiosos para los usuarios finales y las partes interesadas.

Publicado originalmente en www.scalablepath.com .

Escalable Path es un mercado de talentos premium con una red mundial de grandes desarrolladores, diseñadores y líderes de proyectos experimentados. ¿Busca desarrollar un producto o contratar a los mejores talentos? Estar en contacto. Talento Premium bajo demanda | Camino escalable

Desde mi experiencia con los equipos de desarrollo distribuidos, recomiendo especialmente dos herramientas que encontré muy útiles:

  1. Trello
  2. Sesión de usuarios

Trello para tareas y gestión de proyectos

Trello es súper simple y hace un trabajo bastante bueno en la administración de sus tareas diarias, así como en los proyectos de sus equipos.

Usamos Trello en gran medida y tenemos todo tipo de tableros diferentes (desde hojas de ruta de productos hasta ingeniería de software y marketing). Cada proyecto se gestiona con Trello.

Seguimiento de problemas / errores de usuarios

Usersnap funciona muy bien para el seguimiento de problemas. Con un pequeño botón de comentarios incrustado dentro de nuestra aplicación web, todos los informes de errores entrantes y los comentarios de los usuarios van directamente a nuestros paneles de control de Usersnap. ¿Y lo mejor? Con capturas de pantalla anotadas, puedes ver lo que vieron tus usuarios.

Y también ofrece una integración de Trello (además de más de 20 más).

Además de estos dos, vale la pena mencionar los siguientes:

  • GitHub
  • Google Drive
  • Flojo
  • Codeship

Pivotal Tracker para su cartera de pedidos (sí, soy parcial) y Github para su código fuente.

Si se trata de un proyecto de código abierto, los problemas de Github son un buen comienzo. Pero Lighthouse o GetSatisfaction para un proyecto de usuario final puede tener sentido.

En cuanto a un Wiki, Gollum ( https://github.com/github/gollum ) de Github es ideal para un wiki ligero. O use Google Sites.