====== Trabajo Remoto ====== Con este documento se busca explicar los lineamientos en los que se basa el trabajo remoto como parte fundamental del cumplimiento de las labores bajo esta práctica para mantener los niveles adecuados en el ambiente de trabajo así como de productividad, velocidad y comunicación. ===== Definición de la práctica ===== {{:guidelines:generales:screen_shot_2018-07-18_at_2.58.31_pm.png?600|}} ==== Definición del entorno de trabajo ==== En este apartado se listan las indicaciones y recomendaciones para un espacio adecuado de trabajo desde casa. * El lugar de tu conexión remota debe ser idóneo para propiciar un ambiente productivo de trabajo, estar remoto no es tener un día libre, es cambiar el ambiente de trabajo para estimular las ideas y la proactividad. * La conexión a internet debe ser óptima, se debe tener dos opciones más para trabajar remoto de manera que si la primera opción falla se tengan dos opciones más: Ciber café, Coworking, etc. Estas opciones deben estar definidas al inicio de las operaciones, un incidente de esta índole implica retrasos considerables en el proyecto. Cada persona debe delinear un plan de respaldo para fallos de internet y eléctricos. * Diseñar y determinar el espacio de trabajo, aunque sea itinerante. * Un escritorio, un computador de escritorio y portátil en caso de tener que cambiar de lugar de trabajo y las herramientas necesarias para la comunicación como cámara web y micrófono. De igual forma, Rootstack coloca a su disposición los equipos necesarios para esto, por lo que pueden contar con el uso de monitores, teclados y mouse. * Debe estar preparado para reuniones por video llamadas en cualquier momento por lo que debe estar presentable al igual que su entorno de trabajo. * El ambiente debe ser propicio, evitar las distracciones y distractivos, ruido, iluminación, temperatura ambiental, ergonomía y todos aquellos factores idóneos para propiciar un ambiente productivo. * Evitar tener mascotas y niños alrededor de su ambiente de trabajo. * La comunicación es crucial para este tipo de práctica, mantener activo los canales, escritos, por correo, por video llamada ya que es la única forma de mantenernos conectados con el flujo de la ejecución del proyecto * No debe existir las diligencias personales como práctica ya que se debe cumplir un horario laboral convenido. * Si el horario es diferente al de su equipo de trabajo se debe convenir el horario de trabajo en conjunto ya que es imprescindible para la salud del proyecto que todos estén sincronizados en este aspecto. Para validar los puntos arriba mencionados, al iniciar a trabajar remoto por primera vez se debe remitir una foto de su ambiente de trabajo. Los colaboradores que deseen trabajar remoto un día a la semana, deben cumplir con estos requerimientos antes de aplicar. ===== Ejecución del ciclo diario ===== * Antes de comenzar la jornada laboral es importante realizar la rutina personal que cualquiera realiza para incorporarse a la actividad laboral, esta rutina colabora la creación de un entorno laboral productivo Tomar una ducha * Asearse adecuadamente * Ponerse una indumentaria acorde con la actividad que va a realizar * Tomar desayuno * Conectarte a primera hora del día a la plataforma de comunicación (Plataforma de comunicación: Inclusión al Rocketchat) y mantenerse activa en ella durante la jornada de trabajo * Mantenerse al tanto de las incidencias que puedan ser reportadas * Al final del día reportar lo ejecutado en Rootnet y realizar commits en Gitlab diariamente * Se debe reportar mediante los canales de comunicación el el reporte de las actividades diarias * Con la frecuencia definida por el PM se deben realizar entregables verificables mediante los emuladores, simuladores, apk, ambientes de pruebas, en pocas palabras, entregables que estén al alcance del PM del proyecto * Si la persona se va a parar de su puesto, debe avisarlo en el canal de su proyecto o sus proyectos. Qué hacer en ciertas circunstancias * Si hay un fallo de energía o conexión se debe inmediatamente buscar los medios para comunicar que se está desplazando hacia la otra opción de trabajo que estableció como plan de contingencia * Si tiene un bloqueo inmediatamente debe reportarlo para buscar el apoyo de cualquier otro integrante del equipo, el hecho de que sea un trabajador remoto no quiere decir que no sea parte del equipo * Si está teniendo algún tipo de necesidad que está afectando su desempeño debe reportarlo para tomar las medidas adecuadas * Si se ha quedado sin tareas debe reportarse con el PM * Si falla la comunicación con algún líder del proyecto debe insistir por todos los medios posibles (medios de comunicación o personas de contacto) * En **TODAS** las llamadas internas que se realicen por Zoom se debe tener la cámara encendida. **End of day** Es una práctica indispensable para un integrante de la organización, esto permite dejar explícita todas las tareas realizadas en el día de tal manera que el PM y las personas responsables están anuentes del estado de cada una de ellas. La práctica sería la siguiente: - 5 minutos antes de cerrar el día enviar un correo con lenguaje claro y sencillo a tu PM con la siguiente información: 1. Asunto: EOD 2. Contenido * Qué trabaje: * Qué terminé: * Cuales fueron los bloqueos: * Qué voy a trabajar: ==== Definición de las responsabilidades ==== * Que cumplan con los lineamientos de desarrollo de Rootstack y del cliente en caso que suceda * Que prueben su código a conciencia y no que simplemente funcionó y ya. Se debe probar bien y a conciencia antes de mandar un codigo * Que cumplan con los lineamientos de hacer PR’s * Que tengan sus herramientas bien configuradas * Si hay un factor visual en la tarea, que prueben bien y en distintos navegadores que se vea bien * Que analice las especificaciones de software y de hardware necesaria para atender la solución de la tarea * Que analice los requerimientos y realice un flujo para la solución * Que genere prototipos (demos) verificables para que el PM pueda validar los requerimientos * Que sea capaz de definir su arquitectura de trabajo idónea dependiendo del proyecto (framework, hardware, lenguaje de programación entre otros) * Que genere la documentación necesaria de lo que va desarrollando, esto permite que el código generado pueda ser reutilizado por otros * Que sea analítico en las pruebas de código, no sólo de funcionalidad sino en la experiencia del usuario, esto evitará costo de tiempo e incomodidades * Documentación para los usuarios del software desarrollado