21 abr 2011

2.5 Desarrollo de proyectos informaticos

La definición de proyecto informática no varia de la definición de proyecto dada anteriormente, tan solo varia el campo de aplicación de las técnicas asociadas al proyecto.
Una de las fases más complejas del proyecto es la de definir los objetivos. La persona que encarga el proyecto rara vez conoce claramente los objetivos, tan solo tiene una general, quiere informatizar algo o gestionar algo. Este es de los problemas con que se encuentra el informática en las primeras fases del proyecto. El no definir los objetivos correctamente es la causa de muchos de los problemas que se presentan durante el de desarrollo del proyecto: 
  • El cliente puede no quedar satisfecho con el producto final, ya que es posible que no haya definido correctamente lo que quiere.
  • El cliente puede introducir objetivos o restricciones durante la ejecución del proyecto que afecten de manera sustancial al mismo.
  • La no concreción o ambigüedad de los objetivos puede provocar que nadie se responsabilice de los fallos, ya que gran parte del proyecto habrá sido dejado al criterio del programador, en vez de ser este únicamente el técnico que permita obtener los objetivos impuestos por el cliente.
 Los objetivos debe fijarlos pues quien encarga el proyecto, y se ha de conseguir que estos sean claros, definidos, concretos y no ambiguos.
Es el conjunto de operaciones limitadas en el tiempo, de las cuales resulta un producto final (Metas Presupuestarias), que concurre a la expansión de la acción de Gobierno. Representa la creación, ampliación y/o modernización de la producción de los bienes y servicios, implicando la variación sustancial o el de procesos y/o tecnología utilizada por la Entidad. Luego de su culminación, generalmente se integra o da origen a una Actividad.
Aunque los aspectos puramente materiales y técnicos de diseñar son esenciales, es necesario considerar el componente no-técnico que igualmente influye en la viabilidad del proyecto. En realidad, cuando un problema no presenta aspectos como la legalidad, belleza, economía, etc., o bien factores de carácter político, social, ético, el problema no es de ingeniería sino que más bien se está ante un problema de exclusivamente técnico.

OBJETIVOS DEL PROYECTO

Existen tres tipos de familias de objetivos informáticos:
 1.-De servicio: Este tipo de objetivos son definidos por el cliente, normalmente para alcanzar a largo plazo (3 meses a dos años) y afectan a la organización operativa y gestión del usuaria. Pueden ser cualitativos (fiabilidad, calidad, etc.) y cuantitativos (beneficios de gestión, beneficios de funcionamiento, etc.)
2.-De producción: Son definidos por la informática, se han de cumplir a corto plazo y afectan al desarrollo y explotación del proyecto. Normalmente son cuantitativos (coste, plazo, calidad, rendimiento, etc.). En cuanto a los objetivos coste, plazo y calidad, lo más importante es señalar que no se pueden alanzar los tres simultáneamente. Si dos están especificados, es necesario que el tercero pueda variar.
3.-Estratégicos: Son definidos por el DG, su alcance es a largo plazo (de 3 a 5 años) y afectan a todas las áreas de la empresa. Normalmente son cualitativos (cobertura, integración, imagen, migración, etc.).

TIPOS DE PROYECTO

Atendiendo al criterio de riesgo en la ejecución y grados de libertad en la implementación podemos distinguir entre varias clases de proyectos:
· Proyectos de investigación básica 
La investigación básica es la que se realiza con total libertad hasta el que a veces no existen objetivos marcados. Su libertad es máxima y el riesgo de no conseguir algún resultado es muy grande 
· Proyectos de investigación aplicada 
Existen menos grados de libertad y se pueden marcar algunos objetivos a conseguir, no obstante el riesgo sigue siendo alto en este de proyectos. Es en este tipo donde empieza a aplicarse el concepto de proyecto definido anteriormente, ya que cada investigación ira dirigida a un propósito determinado y se le asignaran unos recursos, aunque estos pueden ser cambiantes con el tiempo
· Proyectos de investigación y desarrollo (I+D) 
Estos ya son aplicaciones muy específicas que han de dar lugar a la producción de prototipos y donde se realiza un diseño previo, se proponen unos objetivos y se realiza un estudio de viabilidad. 
· Proyectos correspondientes a la construcción de cualquier elemento 
El grado de libertad de que se dispone en este tipo de proyectos es todavía menor que en los anteriores, ya que conocemos el coste, la cantidad y la naturaleza de los recursos.
 Vemos que se puede considerar proyecto según la definición que hemos considerado a los tres últimos tipos pero no así al proyecto de investigación básica.
 Por otra parte, es conocida la gran diferencia existente entre los objetivos y finalidades de la empresa publica y privada, por lo que, los proyectos pueden ser a su vez públicos o privados.
 Esta diferenciación tiene unas características distintas, aunque no lo suficientemente grande como para hacer un estudio diferenciado de sus metodologías de desarrollo.
 LAS MAYORES DIFERENCIAS SUELEN CENTRARSE EN DOS ASPECTOS FUNDAMENTALES: 
  • criterios de valor del  
Una característica de los proyectos privados es la búsqueda de un beneficio económico, con una menor preocupación por los aspectos sociales y ambientales. En cambio los proyectos públicos pueden no buscar ese beneficio económico-comercial o sustituirlo por otro de carácter social o ambiental. 
  • nivel de complejidad 
Normalmente los proyectos públicos, por tomar en consideración un mayor numero de aspectos (sociales, económicos, ambientales, etc.) entrañan un nivel de complejidad mucho mayor. Estos proyectos son financiados con fondos públicos y por lo tanto pueden estar justificados con bajos índices de rentabilidad económica.

EL SISTEMA DE GESTIÓN DE PROYECTOS

Con el objetivo de llevar a buen fin la gestión de proyectos, es necesario que la organización cuente con ciertos elementos claves. El conjunto de esos elementos constituye un sistema de gestión de proyectos en el que cada elemento individual es lo que denominaríamos un subsistema. Dado que todos los sistemas se componen de entradas, salidas y un proceso que transforme las entradas en salidas, lo mismo puede decirse de cada de los componentes de un sistema de gestión de proyectos.
El sistema de gestión de proyectos consta de siete componentes o subsistemas, que son los siguientes:
  • Sistema de planificación
 De todos los elementos del sistema de gestión de proyectos, el sistema de planificación es posiblemente el más importante, que si se elabora un mal plan probablemente será imposible realizar una correcta ejecución del proyecto. Hay una cierta a adoptar un planteamiento compulsivo, a actuar por actuar, con independencia de si lo que se hace es o no es lo adecuado. A menudo la preocupación por las tareas está tan arraigada que parece existir la creencia de que si alguien no está haciendo algo relacionado con alguna tarea está perdiendo el tiempo. Se considera que la planificación no produce resultados y es, por tanto, una pérdida de tiempo. Esta consideración es completamente falsa, ya que una mala o inexistente planificación inevitablemente conducirá a una mala realización en el proyecto, lo cual repercutirá enormemente tanto en la calidad como en el plazo de terminación del proyecto, ocasionando grandes perjuicios. Una buena planificación además de repercutir enormemente en la buena realización del proyecto, también facilita en gran medida las tareas que se tengan que realizar con posterioridad.
  • Sistema de información
 El sistema de información es el sistema que se encarga de recopilar los datos necesarios para que el director del proyecto sepa si el proyecto lleva la dirección prevista. Sin embargo, esa información debe ser puntual, y uno de los problemas que tienen algunas organizaciones es que los datos sobre el proyecto son recogidos, introducidos en un ordenador central, procesados y distribuidos a intervalos tan largos de tiempo que la información resulta inútil a efectos de control.
  • Sistema de control
 El control de un proyecto es una de las responsabilidades de un director de proyectos. El sistema de control debe utilizar los datos sobre la situación del proyecto para determinar en cualquier etapa de dicho proyecto el cómo está desarrollándose con respecto al plan estipulado al inicio de su realización, e iniciar acciones correctoras si se produjera alguna discrepancia significativa que pudiera conllevar el alejamiento de la consecución de los objetivos del proyecto. Hay que señalar que un sistema únicamente de seguimiento del proyecto no es un sistema de control.
  • Sistema de técnicas y metodologías
 En todo proyecto se hace uso de ciertas técnicas y metodologías para realizarlo, siendo una gran ayuda para la realización de un gran número de tareas (e incluso automatizando muchas de ellas, consiguiendo por lo tanto una reducción en el tiempo de duración de algunas tareas así como una mejora en la calidad. Un ejemplo de tecnologías aplicables al ámbito del proyecto serían: el asistido por ordenador, programación en PERT y CPM, y modelos de cálculos de costes.
  • Sistema de organización
 Con el fin de coordinar los esfuerzos de la gente, se establece una organización, que debe definir sus límites en cuanto a su autoridad, obligaciones y responsabilidad de los participantes. En el caso de que los miembros de un proyecto no tengan autoridad, no se sentirán responsables de sus acciones y será el director del proyecto el que tenga que tomar todas las decisiones. El resultado de esto es que el director de proyecto cargará constantemente con todos los problemas y los miembros del proyecto no tendrán conciencia de la repercusión de sus actos en el desarrollo del proyecto.
  • Sistema cultural
 La cultura de una organización es el efecto combinado de los valores, creencias, actitudes, tradiciones y comportamientos de los miembros de esa entidad. Cuando un miembro del de proyecto trasgrede las expectativas culturales de miembros poderosos que formen parte también de dicho equipo, suelen crear problemas. Si una organización ha estado practicando la dirección informal de proyectos, la adopción de un sistema disciplinado exige un cambio en la cultura de la organización. El cambio principal es que los proyectos deben estar adecuadamente planificados, y la respuesta inicial será con frecuencia que eso conlleva demasiado tiempo e inmoviliza determinados recursos.
Es importante señalar que el éxito en la dirección de proyectos exige cooperación entre todos los grupos implicados, y proporciona herramientas para establecer fechas de entrega realistas antes de llegar a compromisos con los clientes. También es relevante señalar que la introducción de la dirección formal de proyectos despierta a menudo resistencia porque la gente no ve ningún beneficio en ella, sino que sólo se ven los costes que va a ¡¡implicar. Para conseguir que se acepte la disciplina, los miembros de la organización deben ver algún beneficio para ellos, en lugar de una penalización. Por desgracia, es el tiempo necesario para la planificación del proyecto lo que se contempla como una penalización. Hace falta tiempo y para comprobar que la planificación evita muchos problemas y obstáculos más adelante.
  • Sistema humano
Uno de los aspectos más difíciles y complicados en la dirección de proyectos es la vertiente humana. Es completamente cierto que ninguna de las herramientas de la gestión de proyectos tiene valor si no hay gente dispuesta a utilizarlas. Por esta razón, los directores de proyectos deben tener grandes aptitudes para las relaciones humanas.
Entre ellas se incluyen la capacidad para proporcionar liderazgo adecuado a los miembros del equipo; capacidad para negociar los recursos necesarios para el proyecto con los clientes, los miembros del equipo y otros directivos; habilidades para crear un equipo; habilidades de comunicación, y conocimientos sobre cómo motivar a los miembros del equipo de proyecto cuando es necesario. Un director va a necesitar menos habilidades técnicas, mayores habilidades conceptuales (capacidad para tener una perspectiva de conjunto) y mejores habilidades en cuanto a relaciones humanas, conforme se va progresando en la organización.

DIRECCIÓN DE PROYECTOS

La dirección de proyectos se puede definir como la aplicación de conocimientos, aptitudes, herramientas y técnicas a las actividades del proyecto, encaminados a satisfacer o colmar las necesidades y expectativas de una organización mediante un proyecto. Para satisfacer estas necesidades de los clientes, hay que equilibrar las demandas entre: Alcance, plazos, coste y calidad
  • Distintas necesidades y expectativas de las diferentes entidades involucradas en el proyecto.
  • Necesidades identificadas y expectativas sin identificar.
 Ya desde las más tempranas épocas de la historia de la humanidad la dirección de proyectos tuvo una gran importancia y repercusión. Desde la construcción de las pirámides de Egipto y hasta las del pueblo Maya tuvieron que utilizar la dirección de proyectos para su realización. Los constructores de esas notables estructuras fueron los primeros directores de proyectos del . No contaban con la ayuda de ordenadores ni con herramientas de programación como la PERT (Performance Evaluation and Review Technique, técnica de evaluación y revisión del rendimiento) o el CPM (Critical Path Method, método del camino crítico), y en ocasiones ni siquiera con papel para dibujar planos. A pesar de ello, dirigieron proyectos de una complejidad excepcional utilizando las herramientas más sencillas.
Aunque la dirección de proyectos tiene una antigüedad de al menos 4.500 años, hasta muy recientemente no ha sido reconocido el papel del director de proyectos como disciplina por derecho propio. Algunas universidades están comenzando ahora a ofrecer cursos de dirección de proyectos, en algún caso con rango de doctorado.
Por otra parte, la llegada del software de programación para ordenadores personales ha hecho aumentar rápidamente el interés por la dirección de proyectos.
En la actualidad hay proyectos de todo tipo, como por ejemplo el desarrollo de nuevos productos, la elaboración de un plan de marketing, la construcción de un gran edificio de oficinas, etc.... Las posibilidades son casi infinitas, lo que hace de la dirección de proyectos una disciplina casi universal. Aún en el caso de actividades aparentemente repetitivas (como por ejemplo la construcción de viviendas utilizando una y otra vez los mismos diseños) hay variables que harán único cada proyecto (en el ejemplo de la construcción de viviendas podría ser el terreno sobre el que se construye, las condiciones meteorológicas, etc). Es la singularidad de cada proyecto lo que plantea demandas especiales a los directores de proyecto y convierte a la vez a la dirección de proyectos en una disciplina estimulante.
Un gran problema que existe en la dirección de proyectos es el no tener claros cuales son sus características. La dirección de proyectos no es simplemente programación; con la creciente popularidad del software de programación para ordenadores personales, muchas personas piensan que basta con comprar software y aplicarlo para hacer una buena dirección de proyectos. Luego descubren que realmente no saben cómo aplicar ese software; esto es como empezar la casa por el tejado, puesto que es muy difícil saber qué software comprar si no se tiene una idea muy clara de cómo dirigir proyectos y no se sabe exactamente lo que se va a hacer con dicho software. Por ejemplo, dependiendo de si se van a hacer asignaciones de recursos multiproyecto (en varios proyectos a la vez) se va a necesitar uno de los paquetes más potentes; por el contrario, para dirigir unos cuantos proyectos menores se puede utilizar uno de los programas menos potentes (y más baratos).
 Durante mucho tiempo ha sido costumbre decir que la dirección de proyectos es la planificación, programación y control de actividades del proyecto para conseguir objetivos en cuanto a rendimiento, dinero y tiempo en un trabajo con un alcance determinado. Normalmente de esos tres objetivos, sólo se pueden cumplir dos ya que el hecho de hacer énfasis en dos de ellos cualesquiera, influirán negativamente en el restante. Por tanto, es importante que el director del proyecto dilucide qué dos de esos tres objetivos (mayor rendimiento, un coste escaso y un tiempo de realización bajo) son prioritarios sobre el que resta dependiendo de las características de cada proyecto en particular.

ORGANIZACIÓN DEL PROYECTO INFORMÁTICO

El primer concepto ha tener en cuenta al desarrollar un proyecto es que este siempre tiene como objetivo un beneficio, pero no necesariamente económico, si bien los demás beneficios (de servicio, de imagen, etc.) suelen tener a largo plazo repercusiones económicas. El proyecto informática debe ser entendido como una decisión estratégica de la empresa, bien como consecuencia de una necesidad de informatizar una tarea o bien para mejorarla, por propia evolución o por cambios estratégicos.
Al abordar un proyecto se deben considerar los recursos necesarios, algunos de ellos son:
  • Físicos
Sistema central
Periféricos
Comunicaciones
  • Lógicos
     Estructuras de almacenamiento
  Monitores de comunicaciones
Lenguajes
Utilidades
Métodos de desarrollo
Control de seguridad y desarrollo
  •   Humanos
    Selección
  Formación
  Incentivación
En función de la disponibilidad de los distintos recursos se evalúa la viabilidad del proyecto, es decir, la garantía de acabarlo con éxito, así como el beneficio que reporta a la empresa (Viable + Rentable = Proyecto iniciable).
Sin embargo la evaluación de la viabilidad es compleja en un proyecto informático, ya que a menudo no es posible estimar de forma correcta el coste (tiempo, trabajo, recursos, etc.) que va a conllevar una parte del proyecto. Existen unas metodologías para sistematizar todos estos cálculos que se verán en temas siguientes, pero siempre existe un grado de incertidumbre dentro de estas estimaciones.
Sobre la rentabilidad inciden directamente el tiempo de desarrollo y el tiempo de explotación, incluso si el proyecto va dirigido a un cambio en la infraestructura de la empresa, como un nuevo programa gestor de contabilidad o a mejora de las comunicaciones, conlleva un coste para la empresa, aunque al departamento solicitante le salga gratis.
Por ello es practica recomendable dentro de grandes empresas facturar los trabajos a cada departamento, dentro de la empresa, para que estén a cargo de su propio presupuesto, con objeto de que se evalúen las necesidades con criterio más restrictivo y racional y solo se soliciten trabajos plenamente justificados.

AGENTES QUE INTERVIENEN EN EL PROYECTO INFORMÁTICO

La persona que decide o patrocina el proyecto es generalmente alguien de cierto nivel en la empresa, que lo encarga de forma directa o indirectamente a través del departamento de informática a una persona que será el responsable del mimo hasta su finalización e implantación.
Para desarrollar un proyecto hay que formar un equipo, el equipo probablemente contara con especialistas de las siguientes categorías:
  • Analista funcional.
  • Analista orgánico.
  • Analista / programador.
  • Programador.
EL JEFE DE PROYECTO:
En la relación anterior falta la figura encargada de coordinar, dirigir, controlar y responsabilizarse en último término de la ejecución del proyecto. Esta es la figura del jefe o director de proyecto.
Esta persona debe tener una autoridad real, una capacidad para tomar decisiones sobre la realización del proyecto siempre respetando los objetivos del proyecto. La falta de autoridad o el exceso de independencia de algunas áreas informáticas son la causa de muchas dificultades en los proyectos.
 La misión del jefe de proyecto tiene dos vertientes, por un lado la técnica, ha de concretar objetivos, adecuar el proyecto a las posibilidades de la empresa, gestionar los recursos, cambiar los métodos, etc., y por otro lado la de gestión de recursos humanos, materiales y de relación con otros departamentos y con el usuario o receptor del proyecto informático.
 En definitiva y como resumen las funciones del jefe de proyecto podrían resumiese como tres: 
Planificar, que es la única forma de asegurar la finalización del proyecto en el plazo adecuado sin dejarlo en manos de la improvisación. 
Coordinar, para que todas las acciones de los implicados en el proyecto tanto propios (componentes del equipo de proyecto) como externos (usuarios u otros departamentos o empresas), sean eficaces y no den lugar a conflictos
Controlar, para asegurar que se cumple lo planificado y se obtiene la calidad requerida.
 EL EQUIPO DE PROYECTO:
 El equipo estará formado por un conjunto de técnicos en tareas informáticas, al mando directo del jefe del proyecto. Eventualmente puede ser necesaria también la intervención de personal ajeno al equipo de proyecto para la realización de tareas concretas
 El usuario, como conocedor de las funciones y necesidades a cubrir por el proyecto, debe también ser involucrado en el mismo.
 Debe contarse también desde el principio con la participación del personal técnico de otros departamentos, como sistemas, seguridad, control de calidad o explotación, etc.
 Es especialmente importante que todos los componentes del equipo técnico conozcan con la suficiente antelación la planificación del proyecto, para que dispongan de tiempo suficiente para cumplir los plazos
 Vista la función del jefe de proyecto, cabe considerar la composición y funcionalidad del resto del equipo. No vamos a tener en cuenta el numero de componentes, que variara de un proyecto a otro, de hecho la funcionalidad de los componentes tampoco es estricta y puede variar o incluso no ser necesaria la participación de alguno de ellos.
LAS FUNCIONES PROPIAS DE LOS COMPONENTES DEL PROYECTO SON LAS DE ANÁLISIS Y PROGRAMACIÓN:
Análisis o Diseño: 
Funcional o externo
Orgánico o interno (también, técnico)
Programación:
 Lógica del programa (estructura)
Codificación
Pruebas (unitarias y de conjunto)
 Estas funciones dan lugar a los puestos de trabajo: Analista funcional, Analista orgánico y Programador. Exista un puesto eslabón entre el de analista y el programador, es el analista-programador. Este puesto surge debido a la débil separación que existe entre los puestos anteriores, especialmente en proyectos pequeños. Por otra parte también es interesante que el programador tenga algo de conocimiento de análisis técnico, ya que al final esto implica una disminución de los costes.
 Por lo general dentro de un proyecto el numero de programadores puros es mucho mayor que el de analistas, sin embargo esto tiende a cambiar, lo ideal seria que el análisis y diseño pudiesen ser introducidos directamente en programas que de manera automática generasen el código, eliminando la tediosa tarea de codificación y dejándole al técnico tan solo la tarea de diseño funcional y técnico. En la actualidad aun es necesaria una gran cantidad de programadores que realicen estas tareas.
 Funciones del Analista funcional:
 Es el encargado de la fase análisis del proyecto, tiene una visión mas general del proyecto que los demás componentes. Sus funciones son: 
  • Estudio de la situación actual
  • Estudio de los objetivos
  • Estudio de viabilidad
  • Estudio del impacto hardware / software
(Estos estudios han de realizarlos en colaboración con el jefe de proyecto)
  • Definición de los requisitos del proyecto
  • Definición de circuitos
  • Identificación de necesidades de información e intercambio Identificación de procesos
  • Elaboración de la documentación funcional Diseño del modelo de entidades
  • Diseño del flujo de datos
  • Diseño lógico de ficheros y tablas Diseño de conversaciones
 (Las funciones de diseño se realizan en colaboración con el analista orgánico)
Funciones del analista orgánico o técnico:
Es el encargado de la parte de diseño del proyecto. Sus funciones son: 
  • Diseño técnico de transacciones y tareas en general.
  • Descomposición y diseño de cadenas de explotación
  • Diseño de procedimientos de recuperación y control
  • Diseño físico de ficheros y tablas
  • Diseño de prototipos y de pruebas de conjunto
  • Evaluación y control de pruebas unitarias y de conjunto
  • Puesta en producción de la aplicación
  • Elaboración de documentación técnica
  • Elaboración de cuadernos de carga
 Funciones del programador: 
  • Estructuración lógica del programa
  • Codificación
  • Pruebas unitarias
  • Colaboración en pruebas de conjunto

No hay comentarios:

Publicar un comentario