Mostrando entradas con la etiqueta plan. Mostrar todas las entradas
Mostrando entradas con la etiqueta plan. Mostrar todas las entradas

domingo, 18 de julio de 2021

Estructuras de desglose de trabajo (EDT)

Un proyecto se organiza y se diseña para cumplir con al menos un objetivo. En más de una oportunidad alcanzar este objetivo no resulta sencillo (recordemos que un proyecto es una experiencia singular); por lo que se desagrega el cumplimiento del mismo en partes más pequeñas y manejables, en donde se puedan establecer las actividades que se deben realizar para alcanzar los objetivos.

Dicho fácil alcanzar un objetivo en un proyecto es establecer un conjunto de tareas o actividades que permiten alcanzar otras metas (probablemente menores), las cuales contribuyen a alcanzar el  objetivo grande.

Cada tarea se hace por una razón y dejaran evidencia de haber pasado por ahí (habrá productos de trabajo).

Estas actividades definen la estructura de trabajo del proyecto y son una base de comunicación para con todos los involucrados.

Estimar estas actividades resulta más simple que estimar el todo y además permite visualizar qué es lo que se debe hacer para alcanzar la meta. Las fases, un mecanismo de agrupación de actividades conseguirán metas medias.

Un proyecto de software, por alguna razón, tiene sus propias complejidades ( comparándolo con proyectos de otras área de conocimiento). Entre ellas encontramos que las tareas pueden ser compartidas por varios recursos, que los recursos pueden trabajar en paralelo, que los recursos tienen diferentes roles y por lo tanto tendrán diferentes asignaciones, etc.

La EDT es interesante para ayudar a comprender el trabajo que se debe realizar, a partir de ella se pueden derivar  los roles de la mano de obra que ocupa al proyecto.


A veces se simplifica la situación y se indica que se necesitan x profesionales para realizar una tarea, pero entonces ¿qué hace cada profesional o ellos se tienen que auto gestionar? y de haber problemas ¿los x serán responsables?¿como se dirimen situaciones de conflicto? O será mejor y más claro establecer qué subtarea realiza a cada uno y que realizaron en conjunto? Es probable que a causa de esto ciertas tareas se desglosen aún más y la estructura se profundice.

Un proyecto está cargado de incertidumbres. Estas incertidumbres introducen riesgos en el proyecto.

Un líder de proyecto o un gestor de proyectos, intentará por todos los medios eliminar o reducir los riesgos.

La estructura de desglose de trabajo de un proyecto permite visualizar, las tareas que conducen a concretar los objetivos del proyecto.

Un buen diseño de EDT permite:

  1. observar que se alcanza el objetivo planteado, 

  2. planear la asignación de recursos, 

  3. establecer fases de entregas, 

  4. reducir el desvío natural que se produce en las estimaciones.


miércoles, 22 de agosto de 2018

¿Cuál requerimiento analizo primero?


No resulta fácil distribuir el trabajo del análisis, y esto es por varias razones. 
La razón que vamos a trabajar aquí tiene que ver con las dependencias entre los requerimientos. Supóngase que tiene 10 casos de uso de usuario (no historias de usuario, hablo de casos de uso 😡) y el análisis lo tiene que distribuir entre 2 analistas o más.¿Cuáles son los casos que asigna a un analista y cuáles a otros?¿ Pueden comenzar los analistas a trabajar en paralelo?¿Debe haber una coordinación?

Para la explicación voy a plantear un ejemplo, pues transcribir el enunciado lo haría muy pesado. Estimado lector vas a tener que creerme que es así

El ejemplo trata de un sistema de información para cumplir con la meta de Realizar giras de álbumes de cantantes que los promocionan.
La matriz de dependencias de requerimientos que se plantea ( y no puede discutirse) es la siguiente:


1.011.021.031.04
1.01Definir Gira---
1.02Confirmar GiraSi---
1.03Cerrar GiraSi---
1.04Cerrar Presentación---

¿Cómo se lee?
un cambio en el caso de uso de 1.03 afecta o impacta al caso de uso 1.01. Nota: recuerde que un caso de uso es un conjunto de requerimientos, principalmente funcionales)

Sin importar cuantos analistas hay, con la matriz de dependencias se puede evidenciar que los análisis de los casos de uso no son paralelos. Si se analiza el caso de uso 1.01, luego cuando se analice el caso de uso 1.03, el caso de uso 1.01 se modificará. 
Entonces está solución no aplica:

mientras que esta solución si:

Conclusión
La segunda programación es más realista y factible. Esto es independientemente de los recursos que se asignen.
Falta trabajar un poco más en la programación, pero esta segunda opción sin dudarlo es mejor que la primera.


domingo, 20 de noviembre de 2016

Tareas de Análisis. Características

Introducción

Sin importar la forma que le des al proyecto, ni cual ciclo de vida tomes como base; un proyecto de desarrollo siempre tendrá las tareas de análisis, diseño, codificación y prueba. Son tareas básicas.

Puedes tener motivos y razones super convincentes para negar una actividad básica. Puede suceder que utilices un generador de código y la programación se simplifique, estamos de acuerdo; se consume menos esfuerzo; pero la tarea existe.

La forma que adquiera el proyecto no es nuestro centro. Algunas personas prefieren invisivilizar ciertas tareas, diciendo que no hay diseño, o que no se realiza la prueba. No importa lo que digan. Si no explicitas la prueba te está faltando o esta oculta bajo otro título.

No se debería pasar un producto de software al cliente sin hacer pruebas; no debería comenzarse la programación sin un diseño mínimo. Lo que no se haga donde corresponde quedará en manos del que sigue en un proceso de desarrollo. Si el que sigue es el cliente, bueno es tu riesgo.

Luego según la cultura de tu empresa, de tu equipo o tu región realizarás proyectos en donde algún tipo de tarea destaque sobre otra; siendo, por ejemplo, las pruebas mínimas y de un solo tipo.

En este blog trataremos las características de las actividades básicas. Nuestro centro es la tarea de análisis.

Objetivo

Explicitar las características generales de la tarea básicas de análisis dentro del marco de un proyecto.

Análisis

El análisis es un tarea que puede especializarse en muchas subtareas y muchas formas; pero una característica casi natural es que es una actividad netamente iterativa y cognitiva; estas son las características que la destacan.

Un analista realiza un conjunto de acciones para comprender el sistema bajo estudio, volviendo y una otra vez sobre tareas que parecían terminadas, pero no lo están.

Característica 1. Materialización del producto de trabajo.
Un analista realiza una entrevista y comienza el análisis; como consecuencia descubre omisiones, falta de información y otras yerbas; el resultado volver a realizar una entrevista.

El párrafo anterior muestra que avance pero no produje nuevos artefactos; comencé con una entrevista y por el estado del arte regresé por una nueva entrevista. Es cierto que he avanzado pero no en forma lineal sino iterativa. Continuo relevando el sistema pero con otro conocimiento inicial.

Luego pasaron 2 días y el analista tiene más dudas que productos de trabajo elaborados. Esto es y debe considerarse completamente natural. Lo importante no es documentar el sistema, sino comprenderlo y luego documentar la comprensión. Como sea, pueden pasar varios días de borradores, bosquejos y anotaciones; pero ninguna producción concreta.

Es importante tener presente está característica pues, en una tarea de análisis de una semana es probable que comencemos a ver producción a partir del día 3 o 4; esto es aproximadamente en el 50% del esfuerzo ejecutado. En una tarea de análisis de 15 días se puede comenzar a ver la producción de la documentación cuando la tarea lleva un 20 %, pero no será cerrado hasta un 90%  avanzada su ejecución.

Estas ideas son cuestionables; en el sentido que las personas tienden a tener distintas estrategias de trabajo. Algunos profesionales crean al principio todos los documentos que saben que usarán, lo cual puede parecer que se han desarrollado muchísimos artefactos; pero ninguno está ni siquiera completado con contenido significativo; ver muchos documentos realizados es una falsa presunción de avance en muchos casos.

Característica 2. Cantidad de productos de trabajo
El análisis es una de esas tareas que crea un número interesante de artefactos: listas de requerimientos, reglas de negocio, maquinas de estado, modelos del dominio, tabla de actores, diccionarios de datos.

Mientras que en otro tipo de negocios cada actividad produce un producto de trabajo ( o 2), en el análisis se producen al menos una decena. Algunos ni siquiera estaban planeados...grrrr.

Esta cantidad no es sinónimo de tamaño. Hacer 10 productos de trabajo sobre un total de 20 no significa que se ha realizado el 50 % de la tarea. Si pensabas eso, pues lo siento no es así.

Característica 3. Evolución de productos de trabajo
El análisis tiene eso viste, pensás que estás terminando un producto de trabajo y cuando comenzás (o continuás con) otro; descubrís que estabas errado.

Ey!!!!, no debería decir que la tarea de análisis es una tarea compleja; pues bien lo es.

Ahora bien, la tarea de analisis es de estas tareas que cuando más crees que avanzaste, más seguro estás que no; luego finalmente como por arte de magia, se estabiliza y todo fluye.

Aquí se presentan algunos ejemplos que muestran la evoluciones típicas en la producción de artefactos / productos de trabajo:
Ejemplo 1
Este podría decirse que es el más natural, escasos o nulos artefactos al comienzo de la actividad / tarea y luego de superado el 50 % un crecimiento continuo.
Observe que no se indica el tiempo en números es simplemente una idea de evolución teórica.
Ejemplo 2

En este caso se intenta mostrar que al principio no existen artefactos, pero luego comienza a aparecer hasta alcanzar la totalidad de artefactos que debían crearse. En este fenómeno el analista estuvo un tiempo importante realizando procesos mentales hasta que decidió que el trabajo ya podría comenzar a materializarse. Tiene ciertas semejanzas con el ejemplo anterior.
Ejemplo 3

Aquí se intenta mostrar que se producen una serie de artefactos al principio y el resto al final.
Este es el caso del analista se apresura a crear artefactos pero no completará mucho hasta acercarse al final.
Ejemplo 4

Este caso no es real en el análisis. Aquí se muestra que la producción de artefactos es continua y constante, nada más irreal en la tarea de análisis.

Claro está que no son las únicas evoluciones, pero la intensión es simplemente ejemplificar la idea.