sábado, 21 de abril de 2012

QUE ES UN 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 prácticas que el estado actual de la tecnología permite. En consecuencia, reduce el riesgo y hace el proyecto más predecible. El efecto global es el fomento de una visión y una cultura comunes.
Es necesario un proceso que sirva como guía 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, etc. 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 tenía que asumir que se usarían diagramas hechos a mano. Esa suposición limitaba mucho el gado en el cual el creador del proceso podía establecer el modelado dentro del proceso.
  2. 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.
  3. 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.
  4. Patrones de Organizacion: Aunque los desarrolladores de software no pueden ser expertos tan independientes como los músicos de una orquesta, están muy lejos de los trabajadores autómatas en los cuales Frederick W. Taylor baso su “Dirección Científica” hace cien años. El creador del proceso debe adoptar el proceso a las realidades del momento hechos como mezcla (en empresas pequeñas recién montadas) de socios de la empresa, empleados asalariados, trabajadores de obra y subcontratas de outsourcing y la prolongada escacez de desarrolladores de software.

No hay comentarios:

Publicar un comentario