Muy buenas, me llamo Luis y en esta ocasión les traigo un nuevo post.
TLDR: aquí hay un enlace a la tabla con los puntos a considerar al planificar el cronograma de un proyecto. NOTA: hay 2 puntos adicionales que no se tratan en este artículo en la tabla (Esfuerzo de arquitectura y Esfuerzo vs Calendario), todavía estoy aprendiendo más sobre ellos.
Si lees el título, entonces tal vez eres como yo y luchas por hacer estimaciones de tiempo medio decentes para las líneas de tiempo de tu proyecto. O tal vez siempre haces predicciones perfectas y estás aquí para reírte de este artículo y del problema que encuentro con bastante frecuencia. O tal vez haga buenas estimaciones de tiempo y quiera ver cómo puede mejorar al hacer estimaciones. Independientemente, está leyendo esto en este momento y está a punto de obtener una pequeña comprensión de algunas cosas que aprendí de mis luchas y de mi supervisor. Pero primero, hablemos de mi mayor falla de proyección.
Índice
Mi fallida proyección de la línea de tiempo
Esta es la historia de la peor proyección de línea de tiempo que he hecho. Durante mi segunda cooperación, hice un sitio web personal en HTML, CSS y JS para complementar mi currículum (un currículum interactivo). Decidí revisarlo y rediseñarlo desde cero durante mi tercer coop, donde hice una interfaz de usuario para actualizar los elementos del sitio, creé un sistema de contacto, y más. La idea me atrajo, ya que complementaría mi experiencia en el desarrollo de la web, y podría explorar nuevas tecnologías para profundizar mi comprensión a lo largo del camino. Me tomó cerca de 5 minutos planear lo que necesitaba hacer y me imaginé que me tomaría cerca de 3 fines de semana hacer el front/backend de esta aplicación de 8 páginas. No creé una maqueta/esbozo de cómo quería que se viera, sino que empecé a hackearla, comenzando por la parte de atrás. 3 meses más tarde, finalmente tenía un producto terminado que era esencialmente la grabación de las partes juntas y que también era extremadamente defectuoso.
Más tarde deseché este sitio y creé un plan para arreglar la parte delantera y partes de la parte trasera. Con sólo 2 días de planificación, pude recrear la mayor parte del sitio web en 2 semanas (porque el back-end era mayormente funcional lo que me ahorró 1 semana).
Fue entonces cuando me di cuenta de lo importante que era planear. Sin una hoja de ruta sólida, el alcance del proyecto nunca se establece. Ciertas tareas serviles terminarán tomando mucho más tiempo, dejando las tareas importantes para ser hechas apresuradamente. Y sobre todo, nunca se sentirá satisfecho (al menos en mi caso) con su trabajo debido a la falta de una visión de lo que se supone que es su proyecto exitoso.
Lo que también hay que considerar
Dependencias externas
Este es un factor que a menudo se pasa por alto. Los proyectos que involucran a varias personas a veces pueden retrasarse por razones fuera de nuestro control; esperando que alguien se comunique con usted, una tarea que estaba esperando para completarse tuvo un inicio tardío, etc.
Con esto, planifique según el peor momento posible. Por ejemplo, si un contratista dice que puede terminar la tarea en 3 a 5 días, planifique como si le tomara 5 días. Si terminan antes de los 5 días, ¡excelente! De lo contrario, ya lo tuvo en cuenta y el proyecto aún puede avanzar.
Desconocidas conocidas
Esto incluye todas las tareas que sabe que deben realizarse, pero no sabe cómo se hará. En otras palabras, sabes lo que no sabes. Esto podría ser aprender sobre el tema / la tecnología o solucionar un conflicto entre 2 módulos.
Comience su proyecto con las incógnitas conocidas si es posible, y si no, inícielas lo antes posible. Cuanto antes los inicie, antes podrá encontrar dónde están los obstáculos y, si es necesario, el resto de las tareas del proyecto se pueden barajar para adaptarse a las incógnitas conocidas que están retrasadas y aún se puede entregar algo antes de la fecha límite.
Desconocidas desconocidas
Estas son las cosas que surgen. Surgen problemas, las soluciones simples simplemente no son posibles, a veces incluso tienes que retroceder antes de que el proyecto pueda avanzar.
Cuando se haya decidido el cronograma del proyecto, agregue un poco de relleno como red de seguridad a su proyecto. De acuerdo con los estándares de la industria, cada proyecto debería tener entre un 20% y un 30% de tiempo adicional asignado. Decir que su proyecto no lo necesitará es muy optimista, porque cada proyecto tiene sus baches en el camino. Independientemente, ¡estarás feliz de haberlo hecho!
Nivel de detalle insuficiente
Éste está relacionado con las incógnitas. Un nivel de detalle insuficiente proporciona más incógnitas porque el proyecto no se ha examinado lo suficiente. También es posible tener demasiados detalles, en los que se ha dispuesto todo, lo que agrega más complejidad a la programación y alarga el período de programación.
Al planificar el proyecto, es importante proporcionar suficientes detalles para ver todas las tareas que deben realizarse. A medida que avanza, las tareas se agregarán a la lista; es un hecho que las cosas siempre surgen. Quizás el alcance del proyecto cambie. Quizás ocurra un conflicto entre 2 procesos. Planifique lo suficiente para descubrir tantas incógnitas como pueda, sin perderse en la búsqueda de algo que no puede encontrar.
Complejidad
Algunas tareas son complejas. La tarea podría definirse claramente, pero su implementación podría resultar difícil. Por ejemplo, programando álgebra lineal. Alguien debe, sin utilizar bibliotecas externas, programar una función para encontrar el determinante de una matriz. Este tema está escrito y explicado en muchos libros de texto. Pero implementarlo en un programa es una historia completamente diferente.
Al considerar el cronograma para tareas específicas, asigne a cada una una calificación de complejidad de 1 a 3. Dependiendo de la puntuación:
- Las tareas con una puntuación de 1 deben tener la misma asignación de tiempo
- Las tareas con una puntuación de 2 deben tener su asignación de tiempo multiplicada por 1,5
- Las tareas con una puntuación de 3 deben tener su asignación de tiempo multiplicada por 2
Efecto Dunning-Kruger
Este punto es para los inexpertos y con exceso de confianza. El efecto Dunning-Kruger se utiliza para describir la relación entre experiencia y confianza. Tengo que desconfiar de esto especialmente. A los 20 años, todavía no tengo la experiencia suficiente para predecir con precisión la cantidad de tiempo que me tomaría completar una tarea. A menudo paso por alto las tareas complicadas y dedico un tiempo mucho más corto del que realmente necesito. La relación se puede ver en la figura siguiente.
Al comienzo de la carrera de cualquier persona, nos sentimos llenos de confianza después de adquirir un poco de conocimiento. Creemos que sabemos lo suficiente para hacer las tareas con facilidad y terminamos sobrestimando nuestras habilidades. A medida que ganemos más experiencia en un campo, llegará un momento en el que nos expongamos a tantas cosas que no sabíamos, dejándonos perdidos y confundidos. Después de ese punto, una vez que sabemos lo que no sabemos, comenzamos a entender y aprender hasta que podamos medir con precisión nuestra capacidad y hacer estimaciones adecuadas.
La forma de combatir esta falta de conocimiento e inexperiencia es pidiendo a alguien con experiencia que se una a la planificación. Pueden hacer mejores conjeturas sobre cuánto tiempo le tomará a alguien, basándose en la experiencia de esa persona, realizar una tarea. Y tener otro par de ojos tampoco duele.
Habilidad del implementador
Dependiendo de quién realice la tarea, el tiempo que se les asigne variará. Por lo general, pediría a las personas que realicen tareas que se adapten a ellos y a sus habilidades. No le pediría a un médico que redactara un programa complejo y, si lo hiciera, le dedicaría más tiempo para compensar su inexperiencia y falta de conocimiento.
Al asignar tareas a las personas, tenga en cuenta su conjunto de habilidades. Trate de hacer coincidir los conjuntos de habilidades y acomódese a aquellos que no son una buena combinación asignándoles más tiempo.
Tiempo libre
Este es uno que pasó por encima de mi cabeza hasta que mi supervisor lo señaló. La gente se va de vacaciones, llegan las vacaciones, la gente se enferma y también hay tiempo libre personal (PTO). Estos serán inconvenientes para el proyecto y deben tenerse en cuenta al crear la línea de tiempo.
Para contrarrestar esto, cree una línea de tiempo con un calendario a su lado. Permita que la gente agregue cuándo tomarán vacaciones y PTO, y agregue días festivos al calendario. Si un proyecto tomaría alrededor de 3 días hábiles pero hay un día festivo en el medio, agregue un día adicional para contabilizarlo. Sus compañeros de trabajo también apreciarán el tiempo adicional para que no tengan que luchar para hacer el trabajo.
Horas de trabajo
Este es realmente importante de considerar. Tus compañeros de trabajo están en el trabajo, digamos, 8 horas al día, pero en realidad no están trabajando en las tareas que se les asignaron durante las 8 horas. La gente toma descansos, va al baño, almuerza, asiste a reuniones, recibe llamadas para pedir consejo… la lista sigue y sigue. Y una vez que termina la jornada laboral, están ansiosos por volver a casa y relajarse del ajetreo de la jornada laboral. No es justo decir que trabajarán cada minuto que estén en el trabajo.
Al asignar tiempo, es seguro asumir que una persona trabajará entre el 50 y el 70% de sus horas de trabajo, dependiendo de la persona. Los arquitectos, administradores de proyectos y otras personas que siempre están en reuniones tendrán incluso menos tiempo para concentrarse en su trabajo, así que sea considerado al asignar el tiempo.
Conclusión
Con esto, cubrí todos los puntos que me dijeron que tuviera cuidado. Considerar estos puntos al planificar y hacer estimaciones de tiempo me ha permitido planificar mejor y ha aliviado el estrés en mi vida y en otras también. Por supuesto, hay muchas más cosas que considerar cuando se planifica; éstas son sólo algunas.
Sin embargo, estos puntos ayudarán a que tu vida y las demás involucradas sean mucho mejores. Y si todavía tiende a sobre o subestimarse a sí mismo y a su equipo, ¡no se estrese demasiado! Recuerde, al final del día, las estimaciones son sólo estimaciones. Hay momentos en los que se equivocan, sólo tenemos que aprender de ellos y acomodarnos lo mejor que podamos.
Gracias por leer este artículo.
Añadir comentario