¡El Proyecto no va bien! Por qué?, Por quee??, Por queeeee??

¿Cuántas veces nos hemos encontrado frente a un código, un proyecto o una actividad que no llegó a concretarse con éxito y la verdad es que no tenemos una idea muy clara de que fue lo que salió mal?. Normalmente cuando nos enfrentamos con este tipo de situaciones solemos tomar uno de dos caminos, o nos frustramos porque “Eso siempre nos pasa y no entendemos por qué” o nos desesperamos por resolver el problema normalmente poniendo los conocidos “Pañitos Calientes” que aunque a veces nos resuelven no nos permiten ver a profundidad las causas del error y luego cuando la crisis pasa todo se nos olvida. Es por esto que normalmente nos encontramos una y otra vez cayendo recurrentemente en errores que quizás si le damos una pensada un poco más profunda pudieran corregirse con acciones sencillas.

Para romper con este patrón y montarnos en la ola de la mejora continua, queremos dejarles una herramienta muy sencilla de análisis causa – efecto que nos permite identificar la causa raíz de un problema pasa así tomar acciones y evitar recaer en el error.

 

¿Que son los 5 Por qué?

Es una técnica que busca identificar la causa raíz de un problema a través de una serie de Preguntas (¿Por qué?) sucesivas. La metodología plantea que se repita la pregunta al menos 5 veces, pero lo ideal es repetirla hasta que la causa identificada no tenga otra respuesta que ella misma, es decir, no puedas “bajar más”.

 

¿Cuándo puede aplicarse?

Se recomienda utilizar la herramienta organizando reuniones o de manera individual inmediatamente después que se haya encontrado un problema.

El problema puede pertenecer a múltiples categorías: puede ser un error de desarrollo, falta de horarios, no cumplimiento de una entrega… Siempre que surja algo no deseado, puedes utilizar este proceso para analizar la causa raíz del problema.

Es importante tener en cuenta que los 5 porqués no son una herramienta para encontrar a alguien a quien culpar, sino para entender por qué ocurrió algo no deseado o inesperado. Además, puede ayudar a la empresa a tomar algunas medidas y hacer algunos cambios para asegurar que el mismo problema no vuelva a ocurrir.

¿Cuál es la forma eficiente de aplicarlo?

Durante la ejecución del método, puede que sientas que sería mejor analizar todos los caminos posibles y seguir cada uno extensivamente, sin embargo, hacerlo así puede resultar un proceso interminable, ya que saldrían múltiples opciones. Al ser un proceso “Lean “nos permite escoger un camino y llevar a cabo las medidas correctoras necesarias para resolver un problema. Así que, se tiene que escoger sólo uno de los múltiples caminos, y seguir con él. La clave es conseguir el primer porqué correcto.

En caso de que el problema se repita, entonces puedes optar por otra ruta para resolverlo.

 

¿Y qué hacemos con los resultados?

Bien sea que el análisis se realice en equipo o de manera individual, será de gran valor para la empresa que compartas la información y los resultados del proceso con tu equipo y supervisores, ya que esto proporcionará a todo el mundo una visión sobre los tipos de problemas a los que se enfrenta la empresa y cómo resolverlos.

Una vez que la técnica de los 5 porqués ha sido realizada, hay que emparejar cada pregunta con una respuesta y determinar cinco acciones correctivas relevantes en las que todos estén de acuerdo. Estas acciones constituirán la solución al problema que se está analizando. El líder de esta actividad debe entonces asignar responsabilidades relevantes a los diferentes miembros del equipo para implementar la solución.

 

¿Quieres un Ejemplo?

Vamos a suponer un caso en el que una empresa, cuyos clientes no están satisfechos, porque los productos que se les envían no cumplen con sus especificaciones exactas. Entonces, ¿cómo determinaría la empresa la causa raíz del problema usando los 5 por qué?

El primer por qué debe atacar directamente al problema principal. En este caso los productos se envían con especificaciones incorrectas. Por tanto, el primer por qué sería:

1.- ¿Por qué los clientes envían productos con especificaciones incorrectas?

La respuesta a esta pregunta es: porque los productos se fabricaban según especificaciones diferentes a las acordadas entre el equipo de ventas y el cliente. Esto nos da pie a preguntar el siguiente por qué:

2.- ¿Por qué se fabricaron los productos con especificaciones diferentes a las acordadas por la venta?

La respuesta es: porque el equipo de ventas agiliza su trabajo contactando directamente al responsable de fabricación para empezar a construir los productos. Se cometió un error en la comunicación entre el vendedor y el jefe de fabricación, lo que llevó a anotar las especificaciones incorrectas. Aquí vemos otra desviación con lo que se supone que debería haber ocurrido, por lo que el siguiente por qué es:

 

3.- ¿Por qué el vendedor se puso en contacto directamente con el jefe de producción en lugar de seguir el procedimiento estándar de la empresa?

La respuesta es: debido a que el procedimiento de la empresa requiere la aprobación del director de ventas, antes de que el trabajo pueda comenzar. Esto ralentiza el proceso de fabricación y provoca un retraso en el envío a los clientes. A lo cual preguntamos:

4.- ¿Por qué el formulario requiere la aprobación del director de ventas?

A lo que la se responde: porque el director de ventas necesita ser continuamente informado con los detalles de ventas y fabricación, para su discusión con el CEO de la compañía.

En este escenario, sólo cuatro porqués fueron necesarios para determinar la causa raíz del problema (la aprobación/firma) sin valor añadido del director de ventas está causando una desviación en el proceso de fabricación.

Ahora la empresa puede proponer una solución para garantizar que no se produzca ningún retraso en el proceso de fabricación, sin que el vendedor tenga que ponerse en contacto directamente con el responsable de fabricación.

Ten en cuenta que como en este caso, puedes llegar a la causa de su problema en menos de cinco porqués o más de cinco porqués. Sólo tienes que seguir preguntando por qué hasta que se haya determinado la raíz del problema.

Procrastinar. Cuando Dejas Para Mañana Lo Que Puedes Hacer Hoy

Todos hemos pospuesto en algún momento aquellas tareas que no nos apetecía nada hacer, pese a que sepamos que no podemos olvidarnos eternamente, y que después nos estresaremos más para poder realizarlas.

Una de las causas de la ansiedad que generan síntomas más intensos a nivel emocional y fisiológico es la procrastinación.  Dejar para mañana lo que se puede hacer hoy, es en esencia una actitud que mantiene al cerebro activo buscando no pensar, pero haciendo que en realidad no pueda acabar nunca de hacerlo.

 

¿Por qué Procrastinamos?

Antes de analizar más en detalle qué es procrastinar, hagámonos unas preguntillas ¿Pospones con demasiada frecuencia?, ¿Te dices a menudo que has de hacer cosas pero no las acabas? ¿Te propones tareas, te enfadas contigo mismo y te sientes culpable porque frecuentemente las retrasas? ¿Cuándo pospones una tarea sueles tener buenas razones pero se convierte en una constante?, entonces es posible que procrastines.

Hay estudios que revelan que la procrastinación puede estar ligada a problemas en la gestión emocional. Explica el psicólogo Cristian Mantilla. “Estamos divididos entre el aspecto emocional, el del deseo inmediato, y el racional, que tiene objetivos a largo plazo”.

Para Mantilla, existen tres factores clave que explican este comportamiento: el valor, la impulsividad y la expectativa. Es decir, si para nosotros la tarea tiene poco valor, o la recompensa esperada es mínima, es más fácil que abandonemos. De la misma manera, alguien impulsivo es más probable que se rinda ante lo que le apetece hacer realmente. Pero sobre todo, influye lo que esperamos de nuestro trabajo.

Otra de las razones por las que pudiéramos estar posponiendo un trabajo es porque no sabemos cómo gestionarlo, porque creemos que no va a salir bien o que no estaremos a la altura de la misma. Si una tarea nos parece demasiado complicada, grande o indefinida, es mucho más probable que nos agobiemos porque es más difícil afrontar cosas abstractas y terminamos dejándolas para después.

 

Si se puede dejar de Procrastinar

Para empezar, debemos identificar porque nosotros procrastinamos. Cuanto más útil haya sido a una persona el presionarse para conseguir resultados, con más probabilidad intentará volver a conseguirlos por medio de la presión y la exigencia. Sin embargo no siempre presionarse más garantiza conseguir lo que uno necesita o lo que uno se dice que es importante conseguir.

 

Dejar de procrastinar se consigue haciendo la tarea pendiente, pero también decidiendo no hacerla. Aquí detallamos algunos consejos que te ayudarán a favorecer el hacer cosas y la toma de decisiones sobre lo que debes y quieres y hacer y lo que conscientemente puede esperar.

 

  1. Utiliza la Regla de los Dos Minutos. La Regla de los Dos Minutos tiene su origen en GTD y dice que si estás planificando una acción que se puede hacer en menos de dos minutos, no la planifiques; hazla. Puedes extender ese tiempo a 5 ó 10 minutos. Si haces de esta regla un hábito, habrá una multitud de tareas que no vas a tener la oportunidad de posponer.
  2. Evita las distracciones. Cuantas más tentaciones tengas para hacer otra cosa en vez de lo que tienes que hacer, más fácil será procrastinar. Mantén el móvil, las notificaciones y el acceso a internet desconectados cuando te dispongas a afrontar tareas complicadas.
  3. Divide el trabajo en tareas pequeñas y concretas. Un proyecto grande y complejo puede resultar abrumador. Al dividirlo en pequeñas tareas consigues ver claro el camino y la resistencia a enfrentarte a él disminuye.
  4. Gestiona tu energía, no tu tiempo. Es importante que trabajes en tus mejores momentos. Si estás agotado o de mal humor, tus probabilidades de procrastinar aumentan considerablemente. Para tener una mejor actitud, descansa lo suficiente, controla tu nutrición y haz ejercicio.
  5. Establece una recompensa para cuando termines esa tarea que se resiste. Motívate pensando en lo que harás después de hacerla—algo que realmente te apetezca, te relaje y no suponga ningún esfuerzo. Define tus propios incentivos.

No todo es Malo

Como todo siempre presenta un balance, se ha determinado que también procrastinar en muchas oportunidades estimula la creatividad. Es así como El profesor Adam Grant de la Universidad de Pensilvania dice que nuestras primeras ideas generalmente son las más convencionales, pero si esperamos y le damos tiempo a nuestras ideas para que evolucionen, se nos ocurrirá algo realmente original.

Por su parte Jihae Shin, ahora investigadora en la Universidad de Wisconsin, encuestó empleados en dos compañías diferentes sobre las tareas en el trabajo, nivel de rendimiento y nivel de procrastinación. Luego les pidió a los supervisores que calificaran el rendimiento de sus empleados. Los resultados arrojaron que los empleados que procrastinaban eran, a menudo, los más creativos.

 

Es fácil buscarse una causa que justifique no tener que afrontar lo que no deseamos, lo principal en esto es ser honestos con nosotros mismos para así poder tomar las mejores decisiones orientadas siempre a nuestros bienestar, físico, mental y emocional.

10 hábitos de un Desarrollador de Software Senior

Con el crecimiento de la tecnología, tenemos que esforzarnos más para mantenernos al día con los frameworks y herramientas más nuevas. Sin embargo, muchos desarrolladores ignoran algunos pasos simples que podrían ayudarlos a llevar su carrera al siguiente nivel. Por lo tanto, si bien este artículo está escrito para ayudarlo a mejorar sus habilidades de programación, no cubrirá las mejores prácticas de codificación ni otros enfoques para mejorar su código. En cambio, esta es una lista de diez formas sencillas de sobresalir entre otros desarrolladores.

Automatice tanto como sea posible

Están sucediendo muchas cosas con respecto a CI / CD y DevOps. Puede que todo parezca un mundo loco que aún no estás listo para explorar. Sin embargo, aún puede ahorrar algo de tiempo de desarrollo al automatizar pequeñas actividades ejecutadas con frecuencia, como:

Secuencias de comandos que ejecuta todos los días y que podrían programarse.

Comandos de rutina. En lugar de 4 comandos para iniciar la aplicación, envuélvalos en solo 1 script / comando, por ejemplo: “npm run prepareSeedBuildStart” o simplemente “npm start” o “prepareSeedBuildStart.sh”.

Consultas de datos mensuales que se pueden ejecutar mediante un script.

Además de eso, hay varias herramientas que permiten la integración con otros, compartiendo estados y actualizaciones en todo el equipo automáticamente. En lugar de escribir a su grupo en espera el estado de una implementación, puede simplemente agregarlo en su secuencia de comandos de implementación. El tiempo es dinero.

 

Prueba tu propio código

Esto puede parecer obvio, pero también es un error muy común. Si se le ha solicitado que cree un nuevo CRUD, asegúrese de probar no solo el camino feliz sino también los inválidos. Esto incluye intentar guardar sin datos, leer datos que el solicitante no posee, actualizar sin un campo obligatorio, etc. Sin embargo, si está pensando que este debería ser el trabajo de un ingeniero de calidad o de otra persona, quiero que se pregunte usted mismo:

Si se detecta un error, ¿quién será responsable de ello?

Cuando hay un error en la función que creó, ¿quién es muy probable que lo solucione?

¿Es mejor que encuentre un error y lo arregle o permitir que otra persona lo haga?

¿Cómo se reflejará eso en sus habilidades de programación?

Supongo que no tengo que dar las respuestas a estas preguntas, pero espero que le hagan comprender el valor de las pruebas de desarrollo. Con respecto al tiempo de desarrollo adicional, si esto le preocupa, consideremos que dedicará un 15% adicional de su tiempo a probar la función. Hay dos cosas que podemos obtener de eso: 1. El tiempo en que alguien más encuentra el error, lo informa y lo devuelve para que se resuelva y 2. El tiempo que dedicará a volver a la función y corregir el error. Ambos son mayores que el tiempo de mi enfoque sugerido.

 

Haz siempre lo que prometiste.

¿Sabes ese archivo que alguien te pidió y que dijiste que enviarías en un par de minutos? ¿Qué pasa con la tarea rápida / favor que le pidieron verbalmente? ¿También el mensaje que dijo que respondería con el mejor momento para reunirse? No estoy aquí para discutir si estas solicitudes deben llegar a través de un ticket, porque sabemos que siempre habrá algunas que no lo harán, sino para reforzar que debes hacer lo que prometiste.

Como siempre estamos demasiado ocupados (o simplemente desorganizados) haciendo otras cosas, estas tareas se ignoran muy fácilmente. Sin embargo, todavía existe la expectativa de que se cumplan. Cuando reciba este tipo de solicitudes, considere escribirlas (tal vez publicarlas) en un lugar muy visible o agregarlas a su lista de recordatorios / tareas pendientes. Una vez que haya terminado la tarea, asegúrese de informar a la persona que el trabajo se ha realizado. Esta actitud no solo muestra responsabilidad, sino también respeto por sus colegas.

 

Nunca digas «funcionó en mi computadora»

Aunque lo entendería completamente si alguien me dijera eso, todavía no es suficiente. Vuelve a la propiedad de su código y esta declaración implica que está tratando de encontrar algo (o alguien) más a quien culpar. La mejor solución para este problema sería un CI, que utilizará un contenedor dedicado para construir y probar la aplicación. Sin embargo, si su equipo no tiene eso, hay dos cosas que debe hacer:

Solicite un proceso de CI. Implacablemente.

Asegúrese de probar su aplicación no solo localmente, sino también después de la implementación en el entorno de prueba / ensayo. También puede probarlo apuntando a la base de datos de prueba.

Los problemas suelen ser uno de los siguientes: 1. Dependencias o complementos que instaló localmente pero olvidó agregar al proyecto, 2. Nuevos datos de configuración que agregó en su base de datos local pero olvidó agregar al script de implementación , 3. Su versión local de herramientas y complementos no es la misma que en el otro entorno, 4. El caché no se ha invalidado (tanto para el Front End en los navegadores como para el Back End). Sin embargo, tener un enfoque proactivo, y decir «Mi función no funciona en el entorno de ensayo, pero no sé por qué» es mejor que decir «Funcionó en mi computadora».

 

Sigue aprendiendo constantemente

Inicialmente fui ambivalente acerca de agregar este tema, ya que es un paso obvio. Pero luego me di cuenta de cuántas personas no lo hacen. Si su excusa para no aprender más es la falta de tiempo o motivación, solo tengo una cosa que decir: «No aprenda para el negocio en el que trabaja, aprenda por sí mismo». El aprendizaje no tiene por qué estar relacionado necesariamente con las tareas del día a día, sino con cualquier cosa que pueda ayudarlo a ser un mejor profesional.

No hace falta decir que sería fantástico si buscara conocimientos en su campo profesional. Pero también es seguro decir que: Es mejor saber que alguien ha estado estudiando música (aunque no esté relacionado con el trabajo) que saber que no está aprendiendo nada en absoluto. La gente puede quitarte todo, excepto tu conocimiento.

 

Comprender el problema antes de resolverlo

Lo sé, esto suena muy obvio, pero créame, no sucede tan a menudo como creemos. Aunque hay muchas cosas que contribuyen a este problema, las principales son: “una cultura de hacer las cosas lo antes posible” y “tareas centradas en la ejecución, más que en el problema”.

En una cultura ASAP, la gente se siente atraída a centrarse en las presiones del tiempo mientras se olvida lo más importante, la solución. Le da al inconsciente la idea de que es mejor entregar algo rápido que algo que resolverá el problema.

Con respecto al enfoque incorrecto, imaginemos dos descripciones de tareas: «Actualizar la base de datos a la versión más reciente» o «Permitir a los usuarios utilizar las sintaxis de consulta más recientes a través de la base de datos». Este último realmente informa cuál es el problema y, como resultado, capacita a la persona responsable para pensar en la mejor solución. En lugar de comprar una nueva versión de base de datos e instalarla en la computadora de cada empresa, es posible instalar un parche que aún resuelva el problema, en menos tiempo y a un costo menor.

Es posible que esté pensando que no es culpa del desarrollador si una tarea está mal descrita. Por el contrario, independientemente de la situación, la persona responsable de implementar una solución debe asegurarse de comprender el problema que está tratando de resolver. Si no está claro, deberían preguntar.

Al adoptar este enfoque, el ejecutor de tareas podrá:

Proponer una mejor solución.

Piense en diferentes casos de usuarios.

Proponer una solución más rápida o eficaz.

Informe a la persona que planteó el problema si ya hay algo implementado (solo de una manera diferente) que pueda resolver el problema.

 

Nunca digas «Siempre ha sido así»

Considere este escenario: Paul comienza un nuevo trabajo y el gerente hace todo lo posible para asegurarse de que el empleado actual que será reemplazado comparta todo lo que sabe con Paul. De esta forma, Paul debería poder seguir desarrollando y manteniendo el proyecto por su cuenta. Una semana después, el empleado ha compartido todo lo que sabe, ha proporcionado una guía adecuada de sus actividades diarias (incluido un script que ejecuta manualmente cada mes) y deja la empresa. Ahora Paul está a cargo.

Seis meses después, el gerente busca ayuda y le pregunta a Paul en qué está trabajando actualmente. Paul responde informando que está ejecutando el guión mensual del proyecto y el gerente pregunta «¿Por qué?».

Pablo responde diciendo “siempre ha sido así”, lo cual sería correcto si consideramos que solo ha estado haciendo lo que se le pidió. Sin embargo, debido a que ignoró el impacto de la tarea en el negocio o por qué lo estaba haciendo, la respuesta no es válida. Para evitar esto, es importante ser inquisitivo y comprender por qué las cosas se hacen como están. Quizás hace 2 años se tomó la decisión de ejecutar el script manualmente debido a la falta de tiempo, pero se esperaba que fuera automatizado en algún momento. Quizás fue solo una solución temporal para otro equipo y ya no es necesaria. El punto es que nunca lo sabrá a menos que deje de usar esa respuesta y comience a hacer las preguntas correctas.

 

Haga seguimiento

Probablemente hayas escuchado que “no tener noticias es una buena noticia”, pero créeme, la gente podría estar quejándose a tus espaldas culpándote por no entregar algo a tiempo o diciendo que la última tarea en la que trabajaste no está completamente arreglada. Debido a que damos las cosas por sentado, después de entregar algo, generalmente pensamos que todo está funcionando bien, sin embargo, la persona que necesita la solución podría estar imaginando que usted sabe que todavía no está funcionando. ¿Cómo se arregla esto? Simplemente haciendo un seguimiento. La única forma de asegurarse de que su colega silencioso esté contento o satisfecho con su última solución es preguntándole directamente.

Por lo general, un Project Manager o Scrum Master debería encargarse de esto, sin embargo, las personas cometen errores y no necesito explicar cómo se lo verá como un mejor desarrollador si toma la iniciativa en el «seguimiento». Además de eso, la parte interesada apreciará su preocupación para asegurarse de que se aborden sus problemas.

 

Revisar su propio código

Hay dos reglas principales que tengo con respecto a enviar un correo electrónico: 1. Nunca lo envíe en el calor de la emoción. 2. Vuelva a leerlo siempre. El caso es que suelo hacer algunos cambios, ya que leer mi propio correo me pone en la piel de la persona que lo recibirá.

Cuando se trata de codificación, no hay diferencia. ¿Recuerdas aquella vez que miraste tu propio código y no pudiste entenderlo? Tal vez esto no hubiera sucedido si simplemente hubiera leído su código nuevamente antes del commit. Aquí hay una lista de algunos de los otros beneficios de volver a verificar su propio código:

Valide si su código será claro si alguien más intenta arreglarlo.

Literalmente refactorice.

Corregir un error o error tipográfico.

Recuerda otro caso de usuario y mejora tu solución.

Mejore el rendimiento o la arquitectura.

Si suena como algo demasiado complicado de hacer, sugiero planificar una revisión antes de un commit o una revisión en la diferencia antes de crear un pull request. Hágalo como si estuviera revisando el código de otra persona.

 

Tomar posesión

Imagínese un escenario en el que acaba de conseguir un perro nuevo y todos los demás en su casa lo cuidan menos usted. ¿Eso suena justo? Si no es así, ¿por qué su código es diferente? Actuar de esta manera con respecto a su código da la impresión de que no le importa. Debe comprender que asumir la propiedad no solo ayudará a la empresa, sino que también creará una buena imagen profesional para usted. Aquí hay algunas acciones de alguien que realmente se hace cargo:

Escribe tu código pensando que si sale mal, es tu responsabilidad arreglarlo. Aunque no lo sea.

Si alguien se hace cargo de la tarea, asegúrese de que aún esté bajo su control. No permita que se pierda solo porque se ha reasignado a diferentes personas.

Asegúrese de que esté bien documentado y el código bien escrito, de manera que se sienta orgulloso de hacerse cargo del proyecto.

Asegúrese de haber comunicado y registrado todos los eventos que ocurrieron durante la vida de la tarea / proyecto. Si alguien completamente fuera del proyecto verifica las tareas, ¿podría comprender todas las decisiones y cambios realizados?

Esto parece bastante sencillo, ¿verdad? Veamos algunos problemas que ocurren cuando nadie se hace cargo:

Es difícil rastrear el estado de una tarea que genera un montón de preguntas en el equipo.

Hay muchos errores, problemas de arquitectura y fallas de infraestructura porque a nadie le importaba desarrollar una tarea de manera adecuada.

Las tareas se pierden hasta que alguien de otro departamento las solicita. Luego volvemos a la etapa uno, tratando de averiguar todo lo relacionado con una tarea.

Se asigna a todos en un equipo, pero nunca se resuelve. Puede que no lo resuelva usted mismo, pero cuando se hace cargo, cuida de alguien que pueda ayudarlo a solucionarlo.

Establecer Tus Prioridades – La Clave Para Alcanzar Tus Objetivos

En el mundo de los proyectos, es muy común que para el equipo las prioridades vengan claramente establecidas por el Gerente y el Líder que lo conduce, sin embargo, existe otra realidad, y es que en muchas ocasiones los miembros de ese equipo se comparten entre varios proyectos y es allí donde el reto de conocer y establecer las prioridades pasa a ser clave en el logro de los objetivos que nos planteamos.

El “Estar Ocupado” no siempre es señal de ser un talento altamente productivo, ni tampoco garantiza el progreso en nuestras asignaciones. Es por esto que queremos compartir algunas técnicas y herramientas que nos ayuden en el delicado arte de priorizar nuestro trabajo.

 

Arma Solo Una Lista De Tareas

Trabajar en varios proyectos es como estar en la universidad cursando varias materias. Cada una de ellas tiene un gran peso de asignaciones, así como sus fechas con hitos importantes.

El contar con una sola lista de tareas en donde puedas de un solo vistazo tener un panorama más claro de todo lo que debes completar para cumplir con estas fechas es el primer paso que debemos seguir al momento de establecer nuestras prioridades.

Cuando Las Prioridades Compiten

Cuando las tareas en las que trabajas no son difíciles, es relativamente fácil manejarlas en conjunto, sin embargo, a medida que aumenta la dificultad, la estrategia de doble tarea está vinculada a una disminución del rendimiento, lo que significa que las tareas más importantes no se cumplen de manera correcta.

Para mantener la mente enfocada en una tarea importante a la vez, hay que identificar las posibles distracciones (tareas concurrentes o peticiones especiales) y evitarlas activamente a lo largo del día. Entonces, si por ejemplo te asignan la tarea de extraer datos para un proyecto al mismo tiempo que creas diapositivas para una presentación, debes priorizar una tarea y evitar cualquier trabajo, preparación, correo electrónico o mensaje que pueda estar relacionado con la otra.

 

El Esfuerzo Siempre De Menos A Más.

Suele pasar que, cuando revisamos una larga lista de tareas nos desanimamos de solo pensar todo el trabajo que hay pendiente por hacer. Este es un sentimiento que reduce la productividad y nos arrastra a procrastinar.

 

Para evitar esto se recomienda darle prioridad a aquellas tareas que requieren de un mínimo de tiempo y esfuerzo para así completarlas rápidamente. Esto te generará una sensación de logro y te llenara de ánimos durante la jornada.

 

¿Urgente O Importante?

Dentro de la lista de tareas un aspecto que no debe faltar son los plazos establecidos para cada tarea y las fechas de los hitos importantes para cada proyecto. Este elemento será uno de los factores determinantes para calificar nuestras tareas y poder priorizarlas.

El empresario y orador Stephen Covey, en su libro The 7 Habits of Highly Effective People, de 1989, sugiere que las tareas se deben clasificar (y luego priorizar) según su importancia y urgencia.

  • Urgentes e importantes: Son las tareas que deben completarse primero
  • Importantes, pero no urgentes: Marca tiempo en tu calendario para hacer estas tareas sin interrupciones
  • Urgentes, pero no importantes: Se pueden delegar
  • Ni urgentes ni importantes: Quítalas de la lista de tareas pendientes

No olvides lo Importante.

En esto de priorizar, no debemos descuidar aquellas tareas que calificamos como “Importante” para evitar que con el tiempo se conviertan también en Urgente.

Una estrategia para garantizar que se dé prioridad a las tareas importantes, es la Regla 1-3-5. Esta es una estrategia muy simple que se basa en la idea de que cada día podemos completar un máximo de 9 tareas divididas en:

1 Tarea Grande e importante que te lleva directamente a tus objetivos semanales. Si hoy pudieras hacer una sola cosa, ¿qué sería? Tu respuesta es tu elección.

3 Tareas Medianas y de importancia media alineadas con tus objetivos semanales y propósito pero que no son fundamentales realizarlas lo antes posible.

5 Tareas pequeñas y de importancia baja que no tienen por qué estar alineadas con tus objetivos actuales, pero que te permiten resolver un problema mayor futuro que solo puedes resolver tú.

Para decidir, hazte preguntas orientadas a los objetivos:

1.- ¿qué tareas tendrán el mayor impacto en el resultado final?

2.- ¿Qué puedo hacer hoy para alcanzar ese objetivo?

 

BONUS TIP:¿Y SI NO ME FIJAN PLAZOS O FECHAS?

Si bien esta recomendación parece más orientada a la Administración del Tiempo, también para la definición de prioridades es necesario tener bien claro dos cosas:

1.- Los plazos de tiempo con los que contamos

2.- El objetivo y producto final al cual debo llegar.

Tomando esto en cuenta es importante que al momento de recibir una asignación puedas tener muy en claro estos dos aspecto. Por lo que te recomendamos siempre hacer dos preguntas claves:

1.- ¿Para cuándo esto debe estar listo?

2.- ¿Qué esperas recibir de mi parte?

Esto te ayudará no solo a alinear las expectativas sino también a establecer criterios sólidos para definir tus estrategias. Y cuando las actividades sean definidas por ti mism@ asegúrate de establecerte los plazos de entrega.

 

Recuerda que la productividad personal no es una ciencia exacta. Así que prueba estas técnicas, busca algunas otras y ve cuales se adaptan mejor a tu realidad y forma de trabajar.

 

Fuentes:

https://www.rumboeficiente.com/estrategias-establecer-prioridades/
https://www.wework.com/es-LA/ideas/escala-crecimiento/como-priorizar-el-trabajo

Como estimar una tarea ? Desde la perspectiva del Ingeniero de Software.

La estimación es difícil. Para los desarrolladores de software, es uno de los aspectos más difíciles, si no los más difíciles del trabajo. Debe tener en cuenta una serie de factores que ayudan a los dueños de productos a tomar decisiones que afectan a todo el equipo y al negocio. Con todo lo que está en juego, no es de extrañar que todos, desde los desarrolladores hasta la alta gerencia, sean propensos a poner sus calzoncillos al fuego al respecto.

Dicho esto, veamos algunas formas de hacer estimaciones ágiles lo más precisas posible.

Por qué cometemos errores

Hay algunas razones objetivas por las que cometemos errores en las estimaciones de tiempo y nos saltamos los deadlines:

  • La gente comete errores. La razón número uno en mi opinión es que las personas tienden a cometer errores. No somos robots, podemos estar distraídos, cansados, enfermos, no prestar suficiente atención a los detalles importantes.
  • Malentendidos y falta de información. Otra razón principal es la incomprensión de lo que debe hacerse. Por lo general, se debe a que la descripción de la tarea es demasiado corta y simplemente no puede obtener más detalles cuando realiza una estimación.
  • Ignorar los riesgos. Siempre existe el riesgo de que pase más tiempo de lo esperado en la tarea. Solo trata de recordar la última vez que pasaste unas horas en una pequeña tarea de 15 minutos y obtendrás la idea de qué podría salir mal si los números están en miles de horas.
  • Las cosas nuevas son difíciles de estimar. Tenemos que admitir que es difícil estimar cosas nuevas (investigación, tecnología de terceros y API). Y esa es otra razón de errores de estimación.
  • Las personas tienen diferentes conocimientos y experiencia. Cuando trabajas en un equipo, a veces es fácil olvidar que no todos los desarrolladores tienen las mismas habilidades y experiencia. Alguien podría ser bueno y malo en algo. Por ejemplo, usted es un maestro de la API de integración, y su colega podría ser realmente bueno para crear una estructura de modelo de datos. Además, también hay una diferencia entre un desarrollador junior y un desarrollador senior.
  • Responsabilidad. La última razón común que es más aplicable a los desarrolladores menos experimentados. Ocurre cuando un desarrollador no comprende completamente qué tan importante es el número que dio.

 

No tengas miedo de pedir ayuda

No puede ser un experto en todas las áreas de desarrollo. Es simplemente imposible, porque el mundo del desarrollo, y el back-end y el front-end en particular, es demasiado grande para saberlo todo. Para tener éxito, debes saber mucho, pero no todo. Por lo tanto, no tenga miedo de pedir ayuda: si no sabe cómo implementar algo o si tiene problemas con el tiempo.

La estimación del tiempo no se trata de predicción

Cuando calcula el tiempo, debe reunir toda su experiencia pasada, y no puede hacerlo sin los números que siguió durante el proceso de desarrollo. Presta más atención a las tareas subestimadas y sobreestimadas e intenta averiguar qué salió mal en cada caso. Para aquellos a quienes les gustan los números, tengo una fórmula especial que te ayudará a calcular tu factor de error personal:

Es así de simple. Simplemente divida el tiempo registrado por el tiempo estimado. Idealmente, obtendrá «1» como resultado. En el caso de que el número sea mayor que 1, significa que ha pasado más tiempo de lo esperado, y obviamente es algo malo. Si su factor es menor que 1, generalmente también es algo malo, desde una perspectiva de planificación.

 

Hablemos de los puntos de historia / tamaño de la camiseta, ¿qué representa?

Los puntos de historia representan el esfuerzo requerido para poner en funcionamiento un elemento del backlog de productos. Cada punto de historia representa una distribución normal de esfuerzo / tiempo.

mala forma de utilizar este concepto: 1 punto de historia podría representar un rango de 4 a 12 horas, 2 puntos de historia de 10 a 20 horas, etc.

Identificar una historia base

Story Points in agile es una unidad compleja que incluye tres elementos: riesgo, complejidad y repetición.

Tiempo de concentración

Es importante definir el tiempo disponible que tenemos para concentrarnos por día; Por ejemplo, en un día sin reuniones, solo tengo 6 horas disponibles exclusivamente para resolver tareas, con estas horas construyo 2 bloques de 3 horas y estos son los bloques de concentración que tengo por día.

Nunca lo olvide: las interrupciones y el trabajo no planificado serán una constante, hasta cierto punto de todos modos, sin importar dónde trabaje. Acéptalo, planifícalo

Cuando no tengo estos bloques con el total de horas disponibles (tiempo inferior a 3 horas), lo uso para resolver problemas más pequeños, responder correos electrónicos o documentos.

 

Matriz de estimación

Cualquier cosa que sienta que sería mayor de 13 puntos de historia debe desglosarse en tareas más pequeñas.

Intente agregar una tarea de descubrimiento para ayudar a comprender mejor el alcance del trabajo.

Bump Ups – Pruebas

  • Línea de base → Cero esfuerzo de prueba adicional más allá de la práctica estándar.
  • +1 paso → El esfuerzo de prueba excede la práctica estándar y es igual al esfuerzo de la implementación.

Bump Ups – Riesgo

  • Línea de base → Todo el riesgo que se posee fuera de este ticket, aceptado, resuelto o mejorado.
  • Paso +1 → Riesgo bajo a moderado, propiedad y aceptación como parte de esta tarea.

En ambos casos, la tarea pasa de XS → S cada vez que se debe aumentar un paso. Los términos de propiedad y aceptación se refieren al riesgo ROAM (Scaled Agile Framework -SAFe-)

 

Incluya otras actividades además de la codificación.

Otra parte de la estimación son los riesgos del desarrollador. Recuerde que no gasta el 100% de su tiempo en la codificación. Usualmente haces muchas cosas además de la codificación:

  • Leer la documentación y la descripción de la tarea;
  • Implemente y pase tiempo revisando el código.
  • Tiene reuniones o llamadas en línea con el equipo y / o el cliente.
  • Probablemente leas algunos recursos para mejorar tus habilidades en general.
  • Y, por supuesto, toma café / té, come galletas, lee y envía correos electrónicos, tiene pequeñas conversaciones con colegas durante el día.

Todos estos son parte del proceso de desarrollo y debe incluirlos en la estimación.

Conclusión

La estimación de tareas puede ser un «arte», pero piense en estos conceptos: los riesgos, la repetitividad, el esfuerzo y la prueba de las tareas; nos ayudará a tener una visión más general del desempeño de nuestro trabajo y su calidad.

Espero que estos consejos y trucos de mi experiencia personal y profesional le hayan brindado información valiosa sobre la estimación y gestión del tiempo. Si eres un principiante en la estimación del tiempo, puede parecer algo difícil de dominar, y probablemente pasarás un tiempo para hacer de este proceso tu rutina diaria, pero al final valdrá la pena.