Metodologia Del Desarrollo
Metodologia Del Desarrollo
Metodologia Del Desarrollo
proyectos en su casa, como: planear una fiesta, un baile, etc.; o en el trabajo, como: crear un nuevo
software, etc.
Para mucha gente trabajar en proyectos IT es una experiencia frustrante. Los miembros del equipo no se
comunican o no se ponen de acuerdo en como hacer las cosas, los deadlines no se cumplen, el cliente
queda molesto, etc.
En este artículo hablaremos sobre los proyectos de software y como poder administrarlos. Trataremos de
encontrar respuesta a preguntas comunes que nos solemos hacer cuando algo no resulta como es debido
en el proyecto en el que participamos, como:
Estas preguntas nos suelen rondar por la mente cuando participamos en algún proyecto de software en la
que encontremos dificultades.
Podemos decir que Project Management es un conjunto de tareas, métodos y conocimientos que al ser
aplicados ayudan a dar mejores resultados a su proyecto. Nos da un conjunto de pasos definidos con los
cuales podemos llevar paso a paso cada tarea que involucra un proyecto, desde su concepción hasta su
finalización; a diferencia de la mayoría de metodologías de desarrollo que solo se centra en el proceso de
creación del software, más no de los aspectos de monitoreo, equipos, presupuestos, cronogramas, etc.
De eso se trata Project management, no solo de ver como arreglar la sala de su hogar para organizar la
fiesta y tener la lista de canciones que se tocará, sino también de ver cuanto costará cada cosa: equipos de
sonido, golosinas, bebidas; a quienes invitaré, cuanto durará, como puedo minimizar esos gastos, que
medidas de seguridad tomaré, como evaluaré si fue una fiesta exitosa, etc.
Hay mucho métodos para Project management, cada uno tienen su propio conjunto de pasos a seguir.
Pero podemos encontrar 2 grupos importantes:
• Directive PM:
Representa el antiguo Project management. Asume que el Project manager es quien lo puede
hacer todo: el planeamiento y control del proyecto. El manager hace el plan y luego delega las
tareas a los miembros del equipo. Luego supervisa que cada uno haga su trabajo. Se ve
claramente que a comunicación en este estilo de Project management es entre el manager y el
miembro el equipo.
Los problemas que presente este tipo de Project management son varios:
Esta es la nueva modalidad de Project management en el cual el manager facilita las tareas de
administración del proyecto, liderando al equipo a través de los pasos de planeamiento del
proyecto.
• Sponsor:
Es la persona que financia el proyecto, la cual decide la puesta en marcha del proyecto y quien
elije al o los project managers. El sponsor es el encargado de establecer las metas que se deben
obtener con el proyecto, objetivos financieras, etc.
• Project Manager
Es la persona que esta al frente del proyecto, quien se encarga de liderar y coordinar las tareas
del proyecto y quien elije a los integrantes del equipo para la realización del proyecto.
• Resource Managers
Es la persona encargada de brindar todas las facilidades para la ejecución del proyecto. Esto
abarca recursos humanos así como recursos de hardware, software, oficinas, bebidas, breaks,
etc., todo lo necesario para mantener un buen ambiente de trabajo tanto técnico como emocional.
• Team Members
Son los miembros del equipo de desarrollo, quienes estarán a cargo de la realización del
proyecto. Están dirigidos por el Project manager, con quien tiene que reportarse y brindar sus
informes de progreso. Dentro de los miembros del equipo suele haber un líder de equipo, quien
realiza tareas de apoyo al resto del equipo y sirve también como colaborador del Project
manager.
• Customer
Es la persona u empresa la cual solicito el proyecto y la cual evaluará los beneficios del
resultado final del proyecto; en el caso del mundo IT esto seria un software o un servicio IT.
Pocos pasos no quiere decir desarrollo rápido, los pasos adecuados se deben dar para que un proyecto sea
exitoso y de desarrollo rápido.
Mayormente se consideran los siguientes pasos:
Pero podemos desglosar estos pasos o más aun, mejorarlos para darles un enfoque mas completo para un
método de desarrollo rápido y eficaz de un proyecto IT:
• Planeamiento
• Valoración de riesgos
• Desarrollo de un equipo adecuado
• Evitar los errores clásicos
• Involucrar al usuario en todo el desarrollo (extreme programming)
• Una metodología adecuada de software
• Valoración post-mortem
• Planeamiento
Esta es la fase primordial en todo proyecto, puesto que sin un planeamiento adecuado, es muy
difícil tener un proyecto exitoso.
En esta fase se establece los límites, restricciones, objetivos y prioridades del proyecto. Estos
son establecidos por el sponsor en un documento de planeamiento llamado "charter"
• Valoración de riesgos
Es muy importante también que usted haga un plan de riesgos. Esto se hace mediante un análisis
de riesgos en el cual se establecen las posibles situaciones en las que el proyecto podría ser
afectado. A la vez se establece las acciones a tomar en caso se concreten dichas situaciones
Básicamente este plan de riesgos puede ser realizado en una hoja de Excel donde usted los
defina
Aunque usted no lo crea, si usted tiene este plan bien definido, puede ayudarle
extraordinariamente en el desarrollo del proyecto, puesto que usted y su proyecto estará
preparado para las contingencias más comunes y probables.
Como manager, se debe centrar en buscar a gente más adecuada para su proyecto, con el perfil
profesional adecuado, con la experiencia requerida para el proyecto, con la suficiente motivación
para poder afrontar un proyecto IT y con las características emocionales suficientes para un
trabajo armonioso en un equipo de desarrollo. En otras palabras busque gente no solo que por su
trayectoria o amplios conocimientos, sino también fíjese en su personalidad. Puede usted tener
un excelente programador pero si se lleva mal con los demás miembros del equipo, tendrá usted
mas de un dolor de cabeza.
Otro punto importante es evitar los excesos laborales. EL equipo puede trabajar bajo presión y
con devoción, pero sin llegar a la exageración y explotación. Déle el trato adecuado a su equipo
de desarrollo, establezca un buen ambiente laboral y tenga la certeza de que este equipo será más
productivo y comprometido.
También es importante que a lo largo del proyecto no se cometan errores. O al menos tratar de
minimizarlos al máximo.
Hay un sin numero de errores "clásicos" o comunes que se suelen cometer en los proyectos IT.
Si usted les "pone el ojo" a estos errores clásicos para que no ocurran, con ese solo hecho
conseguirá mejorar el management y proceso de desarrollo de su proyecto.
o Poca motivación
o Empleados de poca calidad
o Empleados problemáticos
o Agregar mas programadores a un proyecto ya retrasado
o Oficinas ruidosas y aglomeradas
o Fricciones entre los developers y el cliente
o Expectativas poco realistas
o Falta de un manager efectivo para el proyecto
o Falta de participación del staff involucrado
o Falta de participación del usuario
o Politiquerías antes que desarrollo
o "Ilusiones"
o Requerimientos excesivos
o Cambio de requerimientos
o Developers muy meticulosos
o Síndrome de la panacea
o Sobre-estimación de las ventajas del uso de una nueva herramienta
o Cambio de herramientas a mitad del proyecto
o Falta de un control de código fuente automático
El usuario es quien finalmente evaluara y aprobara o desaprobara el proyecto terminado. Por eso
usted debe siempre de involucrar al usuario en la definición del proyecto y en los subsiguientes
pasos. Esto evitará "malos entendidos" y evitará perder tiempo en re-hacer trabajo.
Debe usted establecer canales y vías de comunicación constante con el cliente para poder
brindarle la mayor información posible del avance del proyecto para que éste pueda valorarlo y
dar su feedback, que es la base para hacer los reajustes sin algo no estuviese del todo bien. De lo
contrario, si faltara comunicación con el cliente su equipo podría perder días, semanas y hasta
meses valiosos haciendo algo que al usuario finalmente no le gustó.
Esto es la base de lo que se conoce como "Extreme Programming", que basa su metodología en
la constante retroalimentación del usuario en el proceso de desarrollo.
• Metodología de Desarrollo
Project management quiere decir gestionar todos los procesos de un proyecto, no solo ejecutar el
proyecto. La gestión inicial del proyecto es esencial para una correcta ejecución del mismo bajo
una determinada metodología. Si se hizo o salto las fases de planeamiento y gestión inicial,
tenga por seguro que su proyecto sufrirá en todo el camino que le quede por recorrer.
Se debe considerar en la medida que sea posible una metodología de desarrollo que sea
orientado al usuario, lo que, como ya dijimos anteriormente, se trata de abrazar el concepto
principal de "extreme programming". En otras palabras una metodología de desarrollo que
permita al usuario "visualizar" el avance que esta teniendo el proyecto. Esto dependerá
lógicamente del tipo de proyecto que se realice.
Recuerde que el usuario no le importa cuantas líneas de código usted haya escrito, ni que tan
elaborado y complicado haya sido la algoritmia de determinado modulo de código. Lo que al
usuario realmente le importa y es lo que le pedirá es ver algo tangible que el pueda utilizar.
Algunas de las metodologías que usted puede considerar son:
o MSF
o RUP
o XP
o Prototipado evolutivo
o Entrega por etapas
o Entrega evolutiva
o Cascadas
• Valoración Post-Mortem
En esta valoración final, se trata de medir o establecer si el proyecto fue exitoso o no. Un
proyecto es exitoso cuando el cliente queda satisfecho con el producto y cuando ha habido un
aprendizaje provechoso al final de la ejecución del proyecto.
Una buena práctica es prometer menos de lo que se dará finalmente al cliente. Si los clientes
esperan menos de lo que finalmente obtendrán, ellos quedarán deslumbrados con el producto.
Pero si ellos esperan más de lo que obtienen, ellos no quedarán contentos. En ambos casos,
obtienen lo mismo producto; la única diferencia es lo que esta en la mente del cliente sobre lo
que obtendrá, sus expectativas.
Conclusiones
Una buena gestión del Project management le dará existo a su proyecto. Considere siempre todos los
aspectos de su proyecto. Haga un planeamiento adecuado, tómese el debido tiempo para hacerlo; sin el,
su proyecto tendrá pocas posibilidades de éxito.
Planee sin "ilusiones", haga el planeamiento en forma realista y honesta. Considere el factor humano
como elemento primordial puesto que es este equipo de personas en quienes finalmente recaerá la
ejecución del proyecto. Establezca un buen ambiente laboral y erradique las explotaciones y malos
entendidos en el equipo.
Evite, siempre evite cometer los clásicos errores que se suelen dar en el desarrollo de un proyecto IT. De
igual manera analice los posibles riesgos del proyecto, valores, haga un ranking de ellos y establezca
planes de contingencia en caso sucedan.
Involucre siempre al cliente en el proceso de desarrollo, la valoración temprana de éste es esencial para
evitar retrasos y terminar el proyecto exitosamente.
Escoja un método adecuado de ejecución de su proyecto, el que más se amolde al tipo de proyecto que
usted administra. Con ello, su proyecto se ejecutará sin contratiempos ni descuadres en los procesos.
Finalmente, en la culminación del proyecto, haga la valoración del mismo, y aprenda de el, analice los
errores cometidos, las metas alcanzadas y no alcanzadas. Esto es muy importante para el aprendizaje de la
organización.
Con todos estos puntos usted tendrá un proyecto que no le sea un dolor de cabeza constante.