jueves, 21 de junio de 2007

PROYECTO INFORMATICO

PROYECTO INFORMATICO

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 tipo exclusivamente técnico.

Los proyectos nacerán como respuesta a la necesidad de cumplimiento de determinados objetivos de cualquier empresa o Institución y estarán enmarcados dentro de la finalidad de ésta. Por tanto, los proyectos tendrán siempre objetivos y finalidades específicas y hay que considerarlos como las herramientas para el logro de los objetivos empresariales.

Como se desprende de estos puntos de vista, un proyecto no puede verse en un contexto aislado, ya que supondría una visión poco realista y, por tanto, reduccionista.

Hoy en día, un proyecto presenta, además de sus características técnicas, una componente económica-financiera, social y ambiental y una dimensión humana sin las cuales es imposible acometerlo con cierto grado de garantía. Además, debido al carácter temporal del proyecto, se trata siempre de un sistema complejo y dinámico al que hay que aplicar un procedimiento de Dirección Integrada o “Management” a lo largo de toda su vida con el fin de obtener una optimización de todos los recursos empleados a través de su estructura de organización, que será temporal.

PROYECTOS INFORMÁTICOS

Hasta no hace mucho tiempo el concepto de proyecto y los documentos, planificación y gestión eran consideradas únicamente en las grandes obras de ingeniería.

La informática, aun los grandes sistemas, era considerada mas como una labor artesana, muy próxima al programador, que como una técnica con necesidad de una planificación efectiva.

Actualmente el concepto de proyecto se aplica al campo de la informática. Este cambio no surgió de la noche a la mañana, sino que fue debido a la evolución de los propios sistemas informáticos. La informática constantemente dobla su capacidad y posibilidades, pero también las exigencias que debe cumplir, siendo la eficacia y rentabilidad de su sistema informática un factor muy importante para las empresas modernas.

Este notable aumento de la complejidad de la informática ha sido la que ha hecho necesario su consideración como proyecto, asociándose las técnicas y procedimientos de diseño, planificación y gestión del proyecto tradicional.

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 idea general, quiere informatizar algo o gestionar algo. Este es uno de los problemas con que se encuentra la 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 cielo de desarrollo del proyecto:

a) El cliente puede no quedar satisfecho con el producto final, ya que es posible que no haya definido correctamente lo que quiere.
b) El cliente puede introducir objetivos o restricciones durante la ejecución del proyecto que afecten de manera sustancial al mismo.
c) 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.

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:

a) Físicos
Sistema central
Periféricos
Comunicaciones

b) Lógicos
Estructuras de almacenamiento
Monitores de comunicaciones
Lenguajes
Utilidades
Métodos de desarrollo
Control de seguridad y desarrollo

c) 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:

a) Analista funcional.
b) Analista orgánico.
c) Analista / programador.
d) 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 más general del proyecto que los demás componentes. Sus funciones son:

a) Estudio de la situación actual
b) Estudio de los objetivos
c) Estudio de viabilidad
d) Estudio del impacto hardware / software
(Estos estudios han de realizarlos en colaboración con el jefe de proyecto)
e) Definición de los requisitos del proyecto
f) Definición de circuitos
g) Identificación de necesidades de información e intercambio Identificación de
Procesos.
h) Elaboración de la documentación funcional Diseño del modelo de entidades
i) Diseño del flujo de datos
j) 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:

a) Diseño técnico de transacciones y tareas en general.
b) Descomposición y diseño de cadenas de explotación
c) Diseño de procedimientos de recuperación y control
d) Diseño físico de ficheros y tablas
e) Diseño de prototipos y de pruebas de conjunto
f) Evaluación y control de pruebas unitarias y de conjunto
g) Puesta en producción de la aplicación
h) Elaboración de documentación técnica
i) Elaboración de cuadernos de carga

Funciones del programador:

a) Estructuración lógica del programa
b) Codificación
c) Pruebas unitarias

d) Colaboración en pruebas de conjunto

No hay comentarios: