viernes, 13 de julio de 2012

Proceso de desarrollo de Software

   Un proceso define quien esta haciendo que, cuando, y como alcanzar un determinado objetivo. En la Ingeniería del software el objetivo es construir un producto software o mejorar uno existente. Un proceso efectivo proporciona normas para el desarrollo eficiente de software de calidad. Captura y presenta las mejores practicas que el estado actual de la tecnología permite. En consecuencia, reduce el riesgo y hace el proyecto mas predecible. El efecto global es el fomento de una visión y una cultura comunes.

   Es necesario un proceso que sirva como guia para todos los participantes clientes, usuarios, desarrolladores y directivos ejecutivos. No nos sirve ningún proceso antiguo; necesitamos uno que sea el mejor proceso que la industria pueda reunir en este punto de su historia. Por ultimo necesitamos un proceso que este ampliamente disponible de forma que todos los interesados puedan comprender su papel en el desarrollo en el que se encuentran implicados.



   Un proceso de desarrollo de software debería también ser capaz de evolucionar durante muchos años. Durante esta evolución debería limitar su alcance, en un momento del tiempo dado, a las realidades que permitan las tecnologías, herramientas, personas y patrones de organización.
  1. Tecnologías: 
    El proceso debe construirse sobre las tecnologías, lenguajes de programación, sistemas operativos computadores, estructuras de red, entornos de desarrollo, entre otros disponibles en el momento en que se va a emplear el proceso. Por ejemplo hace varios años el modelado visual no era realmente de uso general. Era demasiado caro. En aquellos tiempos, un creador de un proceso prácticamente tenia que asumir que se usarían diagramas hechos a mano. Esa suposición limitaba mucho el grado en el cual el creador del proceso podía establecer el modelado dentro del proceso.
  1. Herramientas:
     Los procesos y las herramientas deben desarrollarse en paralelo. Las herramientas son esenciales en el proceso. Dicho de otra forma, un proceso ampliamente utilizado para soportar la inversión necesaria para crear las herramientas que lo soporten.
  1. Personas:
     Un creador del proceso debe limitar el conjunto de habilidades necesarias para trabajar en el proceso a las habilidades que los desarrolladores actuales poseen, o apuntar aquellas que los desarrolladores puedan obtener rápidamente. Hoy es posible empotrar las herramientas software técnicas que antes requieran amplios conocimientos, como la comprobación de la consistencia en los diagramas del modelo.
  1. Patrones de Organización:
     Aunque los desarrolladores de software no pueden ser expertos tan independientes como los músicos de una orquestas, están muy lejos de los trabajadores automatas en los cuales Frederick W. Taylor baso su “Direccion Cientifica” hace cien años. El creador del proceso debe adoptar el proceso a las realidades del momento hechos como mezcla(en empresas pequeñas recien montadas) de socios de la empresa, empleados asalariados, trabajadores de obra y subcontratados y la prolongada escacez de desarrolladores de software.
Los ingenieros del proceso deben equilibrar estos cuatro conjuntos de circunstancias. Ademas el equilibrio debe estar presente no solo ahora, sino también en el futuro. El creador del proceso debe diseñar el proceso de forma que pueda evolucionar, de igual forma que el desarrollador de software intenta desarrollar un sistema que no solo funciona este año, sino que evoluciona con éxito en los años venideros. Un proceso debe madurar durante varios años antes de productos comerciales manteniendo a la vez un nivel razonable de riesgo de utilización.

No hay comentarios:

Publicar un comentario