sábado, 25 de septiembre de 2010

LOS PROYECTOS DE SOFTWARE

El inicio de todo proyecto se origina con la identificación de un problema y/o necesidad. Para el caso de los proyectos de software, tales situaciones pueden ser detectadas en uno o mas procesos de una empresa, situación que podría dar origen a un proyecto de software a la medida. Otro es el caso de los proyectos de software genérico, en donde la necesidad identificada no tiene origen en una empresa u organización en particular, si no en el interés de desarrollar un producto que satisfaga una demanda nueva o ya atendida; para el primer caso, el origen de esa demanda, podría ser una nueva ley que obligue a algunas empresas (publicas y/o privadas) a la implementación de sistemas de información automatizados; para el segundo caso - que es la mayoría de veces – se entraría a competir con productos ya establecidos en el mercado, situación en la cual se debe pensar en un producto competitivo y que posea valor agregado.

Software a la medida

Para el caso de proyectos de software a la medida, la identificación del problema y/o necesidad, puede ser detectada y manifestada por uno de los usuarios directos del proceso, un directivo o cualquier otra persona de la empresa. Situación que genera una solicitud al personal experto del área de sistemas – si existe - de la empresa, quienes harán una investigación preliminar para entender el verdadero problema y/o necesidad y determinar si es necesario y factible pasar a la siguiente fase, la cual podría ser llevada a cabo por estos mismos expertos o realizada por terceros (outsoursing).

Para proyectos de software a la medida que son desarrollados por outsoursing, la empresa desarrolladora, deberá generar una propuesta, para lo cual deberá conocer el alcance del proyecto, situación que genera un dilema en esta primera fase de comunicación; para conocer con precisión el alcance del proyecto, el cual le permitirá estimar el tamaño y costo del mismo, necesita realizar un investigación que le permita conocer el sistema y sus necesidades (determinación de los requerimientos), actividad que le puede llevar varios días.

¿Esta dispuesta la empresa contratante a pagar por este estudio? - el cual le permitirá tomar una decisión acertada -. Si no es así, la empresa desarrolladora deberá realizar una investigación preliminar y con base en la experiencia y datos históricos de otros proyectos estimar el costo y el esfuerzo del proyecto que le permita genera la propuesta.

Software Genérico

El software genérico es un producto que no es construido para un cliente en particular, esta desarrollado con el objetivo de satisfacer las necesidades de cualquier empresa.

Un proyecto (el documento en la etapa de preinversión) para desarrollar software genérico hace necesario un estudio de mercado, que permita evaluar su viabilidad.

Siga los siguientes pasos para desarrollar software genérico:

1. Identifique una necesidad

2. Realice una investigación que le permita entender el contexto del “negocio”. Para esta actividad, acuda a expertos en el área y también realice consultas de fuentes secundarias.

3. Defina un norte para su proyecto: el área del conocimiento para el cual desea desarrollar el sistema, tal vez sea muy amplia, seleccione las áreas en las cuales va a trabajar.

4. Empiece la fase de “determinación de los requerimientos”.

Para las actividades de esta etapa deberá contar con la ayuda permanente de uno o varios expertos en el área, así como de personas (usuarios) con experiencia en el manejo de este tipo de sistemas.

5. Formule el proyecto – vea el apéndice 1 -. Recuerde que necesariamente debe incluir el estudio de mercado.

6. Haga una evaluación de su proyecto.

7. Si su proyecto es viable, ajuste el plan del proyecto y empiece la ejecución (etapa de inversión)






Autor: Luis Fernando Corredor Mora
Ingeniero de Sistemas y especialista en Gerencia de Proyectos.

Bibliografia

El MBA para gerente de proyectos, Harvey A. Levine - Robert Graham
Reinventar la gerencia de proyectos,  Aaron J. Shenhar.

ESTRUCTURA DEL DOCUMENTO DEL PROYECTO CON ENFOQUE PARA SISTEMAS COMPUTACIONALES BLANDOS

1. Titulo

2. Definición o planteamiento del problema

Es una descripción de la situación actual, describe la sintomatología y causas de la misma, junto con un pronóstico y control del pronóstico.

3. Formulación del problema

Es una pregunta que define exactamente cual es el problema que a través del proyecto se desea resolver.

4. Objetivos

  • Generaeles
        o Deben ofrecer resultados amplios,
        o Constituye la formulación de aquellas METAS finales, últimas que darán
           como cumplido el programa o proyecto
  • Específicos
        o Inciden o forman parte de los generales.
        o Deben permitir establecer las tareas a desarrollar de una manera
           ordenada (lógica y cronologicamente)

      Son el punto de partida del plan de acción. Deben plantearse en verbos
      infinitivos que indiquen acción frente a los resultados deseados, relacionados
      con el planteamiento del problema.

5. Justificación

    Son los motivos que llevan desarrollar el proyecto, (solución del problemas),
    se deben plantear los beneficios esperados.

6. Metodología
  •  Tenga en cuenta las tareas que llevara a cabo en el proyecto
  • Especifique las técnicas y herramientas que usará.
  • La forma de trabajar en equipo (multi, inter y/o transdisciplinariamente)
8. Aspectos técnicos

  • Producto: haga una breve descripción del software con sus principales funciones (módulos)
  • Tamaño del software: mídalo en línea de código (LDC/PM) y/o proceso.
  • Recursos: haga una estimación ($$$) de los recursos necesarios para el desarrollo del software.

TECNOLOGIA




RECURSOS HUMANOS

Una vez conocidas las necesidades tecnológicas, se debe definir los diferentes perfiles de los cargos.



9. Estructura organizacional para la ejecución del proyecto.


    En este ítem debe especificar los aspectos de la organización que se encargara de la ejecución y puesta en
    marcha del futuro sistema.


10. Plan del proyecto

  • ETD, divide las tareas del proyecto en piezas más pequeñas (partidas de trabajo), lo cual permite asegurar que se identifiquen todas las actividades que se necesitan para lograr el alcance del proyecto. La ETD señala, la persona responsable de cada partida y paquete de trabajo (nivel mas bajo de una rama).
          Una alternativa a la ETD es una matriz de responsabilidades.

  • Cronograma de actividades.

11. Apéndices

      Documento completo de la investigación preliminar y/o el informe de la determinación de requerimientos.



Autor: Luis Fernando Corredor Mora
Ingeniero de Sistemas y especialista en Gerencia de Proyectos.