Metodologías de clasificación, modelos y normas para la gestión de desarrollo de software

03 de mayo 2007 | Categoría: Artículos

Elección de las metodologías de diseño, los modelos LC proyectos de software de medición y el software de otras herramientas de gestión es una tarea bastante difícil para las empresas de software y equipos de proyectos. En la práctica, ellos consideran que su alcance limitado, apropiado para el problema de la elección sin tener en cuenta la específica de la empresa y del proyecto. Una herramienta útil para resolver el problema de la elección de una clasificación. El artículo presenta una clasificación de los métodos, modelos y normas para la gestión de desarrollo de software, basado en su contenido y alcance.

¿Por qué la metodología? Enfoques para la elección de metodologías, modelos y normas dependen del uso previsto. Por lo general, la metodología utilizada para diferentes propósitos:

  • A modo de referencia (estado deseado), la gestión de proyectos y compañía de "metodología eficaz - la bala de plata";
  • Para justificar la práctica actual de la gestión de proyectos. Como prueba (justificación) las decisiones correctas
  • Como una guía, que contiene recomendaciones específicas - "metodología"
  • Como un conjunto de requisitos para los clientes, socios, propietarios, agencias gubernamentales, asociaciones profesionales - la "norma"
  • Con el fin de garantizar la "efectiva" el diálogo entre los administradores, los miembros del equipo, clientes y subcontratistas - "glosario"
  • Para entender la práctica actual - "concepto"

La elección de las metodologías.

Miembros de la dirección y del equipo de proyecto deben desarrollar un entendimiento común sobre los objetivos y gestión de proyectos informáticos y de TI de la empresa. Resolver el problema requiere de una opción de dos tipos de competencias:

  • En primer lugar, la competencia en las metodologías
  • en segundo lugar, la competencia de los accesos a la selección.

Para resolver el problema de elegir una clasificación de ejecutar métodos, modelos y normas para la gestión de proyectos de TI. En la primera etapa se definen los posibles signos de agrupación y seleccione el grupo por estos motivos.

Por la naturaleza de las recomendaciones del estudio: conceptuales y empíricos.

El modelo conceptual derivada racional-lógica método y empírica -. Sensualmente experimentado la base de las herramientas conceptuales son conceptos de la teoría de gestión, tales como la gestión de procesos y reingeniería de procesos de negocio, gestión de proyectos, gestión de calidad Los conceptos universales se adaptan a las peculiaridades de la gestión del desarrollo. software, que se distingue por la naturaleza del proyecto de la actividad, flexibilidad tecnológica del diseño, la incertidumbre de los requisitos para obtener el resultado esperado y de alto riesgo.

Un ejemplo de un modelo conceptual de un modelo de madurez de los procesos de SEI (Capability Maturity Model, CMM). PRINCE metodología es un proceso conceptual unificado y racional (Rational Unified Process, RUP).

La metodología empírica desarrollada sobre la base de la generalización teórica de buenas prácticas de proyectos de TI. Ejemplos de modelos empíricos sirven como SCRUM, XP, Crystal.

Dependiendo de la finalidad de: modelos de madurez y modelos de procesos, metodología de diseño y las prácticas individuales y de grupo.

Modelo de Madurez de CMMI, SPICE modelo de evaluación de procesos e ISO 9000 se utilizan para gestionar empresa de TI (división) de la metodología de diseño:. MSF, SCRUM, XP, utilizado para el desarrollo de proyectos de TI de software de gestión.
Dependiendo de la finalidad de: modelos de madurez y modelos de procesos, metodología de diseño y las prácticas individuales y de grupo Modelo de Madurez de CMMI, SPICE modelo de evaluación de procesos e ISO 9000 se utilizan para gestionar TI de la empresa (división).. Metodología de diseño: MSF, SCRUM, XP, utilizado para el desarrollo de proyectos de TI de software de gestión.
Metodología para la implementación de sistemas de información utilizados para organizar la ejecución del proyecto. Las prácticas del equipo e individual se utilizan para mejorar continuamente la eficacia de los equipos y desarrolladores individuales.

Dependiendo del proyecto: un predecible y de adaptación.

Proyección de una metodología basada en la premisa de la posibilidad y conveniencia de la planificación detallada para el futuro. Para formular un proyecto de TI a los requisitos del sistema en desarrollo, formó un plan de proyecto y se determinó la necesidad de recursos. Los cambios en el plan del proyecto y los requisitos se consideran indeseables. La metodología de diseño utilizados en este ciclo de vida de la clase modelo en cascada.

Metodología de adaptación encaminadas a la superación de la incompletitud de los reclamos esperados y sus constantes cambios. En el corazón de la metodología de adaptación es un proceso iterativo modelo de ciclo de vida. Un ejemplo de adaptación de las metodologías de programación son de cristal, Extreme. Metodologías de adaptación tienen en cuenta las características psicológicas del proceso de desarrollo de software. Uno de los factores de éxito más importantes para el uso de metodologías de adaptación es de especialistas altamente cualificados en el primer lugar - los desarrolladores.

Por la naturaleza del conocimiento y el enfoque:. Ingeniería, administración, ingeniería e integrado de herramientas basadas en los principios tecnológicos y están destinadas a mejorar los productos finales, tales como el código del programa, los casos de prueba, prototipos, la documentación. Herramientas de desarrollo de ingeniería calificada necesaria. Herramientas de gestión basadas en los principios de la teoría de control (gestión), que se basan en conceptos tales como gestión de calidad total, gestión de proyectos, gestión del conocimiento. Las herramientas integradas de integrar los conceptos de ingeniería y conceptos de gestión.

Metodologías de diseño están en el corazón de la teoría de control en el desarrollo de software, por lo que pueden ofrecer un amplio conjunto de grupos en función de diversas características del proyecto.

En función de los riesgos del proyecto (propuesto por Alexander Cockburn.) Dependiendo de la naturaleza de la pérdida en caso de resultados insatisfactorios de los proyectos de software se asignan a los diferentes tipos de riesgos:

  • "La pérdida de confort"
  • "La pérdida de dinero"
  • "La pérdida de grandes cantidades de dinero y los negocios"
  • "La pérdida de la vida"

Dependiendo de la tecnología del proyecto (para las metodologías de proyecto): universal, estructural, objetos y Metrología para la arquitectura orientada a servicios (SOA).

Hay dos grupos de metodologías de diseño: metodologías para la gestión de desarrollo de software y metodología de los sistemas de información (IS). Metodologías de proporcionar orientación sobre el uso de diferentes herramientas: indicadores, normas técnicas, lenguajes gráficos de modelado. Metodología incluye una descripción del modelo de ciclo de vida se recomienda el desarrollo (introducción) modelo de software del equipo del proyecto y los roles, así como los métodos utilizados, las técnicas.

Dependiendo de la metodología básica del proyecto de gestión de modelos de desarrollo de software de ciclo de vida, metodologías de diseño que van desde la clásica hasta la cascada de iterativo metodologías. Metodologías para la implementación de sistemas de información son un conjunto de metodologías diseñadas específicamente para la implementación de cualquier sistema de información. En algunos casos, un sistema puede haber varias metodologías alternativas para su implementación.

Metodología de gestión de proyectos se forman sobre la base de la teoría de la gestión de proyectos. Los modelos de empresas de TI se basan en el concepto de gestión de calidad total y gestión de procesos. Los conceptos universales de la gestión (calidad total, gestión de calidad total, gestión de procesos y reingeniería de procesos beznes BPR y gestión de proyectos PM), así como las normas de gestión tales como ISO 9000 y acumular experiencia mejores prácticas de gestión, que se convirtió en la base de metodologías para mejorar las empresas de desarrollo de software, tales como el Capability Maturity Model (CMM / CMMI), normas para la evaluación y mejora de procesos (SPICE), y Gestión Medioambiental. Estos modelos y normas regulan la organización y gestión, y el entorno tecnológico en el que la metodología de diseño aplicado.

Grupo independiente son los vehículos individuales, entre los cuales es su propio proceso de desarrollo (PSP). La base de las técnicas individuales son también el concepto de gestión. Metodologías de aplicación práctica del proyecto de TI parámetros de gestión, y hacer posible los lenguajes de modelado. Métricas se utilizan para obtener estimaciones cuantitativas de los previstos para los procesos, proyectos y productos. El uso de la métrica es un signo indirecto de los conceptos de gestión de calidad en el desarrollo de software y la madurez de los procesos de una organización de desarrollo.

Lenguajes de modelado gráfico utilizado para crear un requisitos claros y coherentes y soluciones de diseño. Lenguaje Universal de Modelado (UML) permiten traducir la notación gráfica en el código del proyecto, y generar gráficos basados ​​en la descripción del código. El desarrollo de las notaciones gráficas, como parte del diseño asistido por computadora tiene un impacto en la metodología de diseño.

En el desarrollo de proyectos de software de gestión, hay un conjunto de estándares (modelo) los problemas que pueden ser tratados por igual, independientemente de las características técnicas y de organización del proyecto y seleccionar una metodología. El método utilizado para resolver un problema, e incluir una descripción de la aplicación, los algoritmos de uso una descripción de los datos de origen. Los métodos pueden incluir el uso de ciertos indicadores, lenguajes de modelado y las normas. Las técnicas incluyen recomendaciones completas para abordar problemas específicos de diseño, como la gestión del riesgo, o la evaluación de la complejidad del proyecto. Ejemplos de estas técnicas son de riesgo SEI Método de Evaluación o COCOMO. Hay un grupo de normas que regulan diversos aspectos del desarrollo de software. Las normas son elaboradas por las normas internacionales y nacionales, los comités de la industria, institutos de investigación, grandes empresas, tales como ISO (International Organization for Standardization), SEI (Software Engineering Institute), DoD (Departamento de Defensa de EE.UU.), IEEE (Instituto de Ingeniería Eléctrica y Electrónica , Instituto de Ingenieros Eléctricos y Electrónicos), IEC (Comisión Electrotécnica Internacional), así como las empresas de TI: Bell, Hewlett Packard, Sun Microsystems, IBA, Oracle, Microsoft y otras normas que regulan los requisitos para los procesos de desarrollo y los resultados, que se complementa metodología de gestión en el desarrollo de software.

Objetos de la normalización en el sector de las TI son:

  • La documentación de diseño (composición, estructura, requisitos para el registro);
  • Normas de codificación y diseño de textos de software;
  • Terminología y definiciones;
  • Los modelos de proceso;
  • Ciclo de vida del modelo;
  • Requisitos de seguridad para el almacenamiento y transmisión de información y medios para lograr esto;
  • La calidad de las características de calidad del software, métodos de obtención de datos sobre la calidad;
  • Notaciones gráficas y herramientas y la descripción formal de los requisitos y soluciones técnicas;
  • Formatos para el intercambio de datos de almacenamiento y transferencia de datos.

Modelos y normas, procesos de regulación y ciclo de vida, son la base del sistema de gestión de calidad, utilizados en el desarrollo de los planes del proyecto.

La metodología.

Como resultado de las metodologías de análisis para el grupo de gestión del desarrollo de software identificado dos metodologías, que difieren en el fin de utilizarlos, la historia de la creación y propósito.

El primer grupo es una metodología cuyo objetivo es la implementación exitosa de un proyecto independiente. Este grupo incluye la mayoría de las metodologías de los proyectos, y casi todas las metodologías de adaptación. La lógica del éxito de la organización se ve como el crecimiento de las competencias, la creación de medios técnicos a través de la aplicación coherente de proyectos exitosos.

El segundo grupo incluye la metodología para asegurar la sostenibilidad de los programas de los desarrolladores está destinada a garantizar el desarrollo de competencias. Este grupo incluye el Capability Maturity Model (CMM, CMMI). La lógica del buen funcionamiento consiste en la creación, control y mejora continua de la capacidad de la organización para la ejecución de proyectos, y como consecuencia, la ejecución exitosa de proyectos.

Dos grupos se diferencian no sólo para su uso, sino también el uso de la historia y el desarrollo, y la práctica. La metodología de diseño es el núcleo de la teoría de control en el desarrollo de software.

Para la clasificación existente, en función del modelo en su ciclo de vida (cascada (cascada), y la metodología iterativa) se añadió a una clasificación general de la metodología predecible y de adaptación. Para incluir a todas las metodologías de adaptación que cumplen con los requisitos establecidos en el Manifiesto del diseño adaptativo. Proyectada (predicativo) metodología se centra en la planificación detallada para el futuro. Conoce las tareas programadas y los recursos para toda la duración del proyecto. El equipo no podía responder a posibles cambios. El plan se ha optimizado sobre la base de la composición y funcionamiento de los requisitos existentes. Cambios en los requisitos puede dar lugar a un cambio sustancial en el plan y el diseño del proyecto. A menudo, un comité especial sobre la Gestión del Cambio "» (tablero de control de cambios) que el proyecto sólo tuvo en cuenta los requisitos más importantes (estándar de 19, 32).

Metodología de adaptación encaminadas a la superación de la incompletitud de los reclamos esperados y sus constantes cambios. Al cambiar los requisitos, el equipo también ha cambiado. Equipo que participa en el desarrollo de la adaptación, es difícil predecir el futuro del proyecto. No hay un plan preciso para el futuro. Más distantes en el tiempo como los planes son sólo una declaración sobre los objetivos del proyecto, los costos y beneficios esperados. Entre las metodologías de adaptación: (Scrum, Crystal, Extreme Programming, desarrollo de software adaptable, DSDM, el desarrollo de funciones Driven, el desarrollo de software Lean).

La estructura de la clasificación propuesta para seguir trabajando para definir los enfoques para la selección de modelos y métodos de las normas en las siguientes áreas:

Determinar el efecto de los conceptos de gestión (gestión de calidad, gestión de proyectos, gestión de riesgos y procesos) para la gestión de la metodología de desarrollo de software;

El análisis estructural comparativo de los métodos, modelos, normas y metodologías.

El análisis debe probar o refutar la hipótesis siguiente:

  • Hay un grupo de herramientas que integren metodologías que tienen un propósito similar, una historia similar de la creación.
  • Metodología de un grupo tienen una estructura similar y el contenido.
  • Metodología requiere un grupo de aproximadamente el mismo nivel de esfuerzo para la introducción de prácticas de trabajo.
  • Dependiendo de la "madurez" de la organización debe utilizar uno u otro grupo de herramientas.
  • Un grupo conjunto de metodología similar basada en los conceptos de gestión.
  • Las metodologías incluyen "bloques de construcción" - los distintos elementos que se pueden utilizar para crear metodologías personalizadas para resolver problemas específicos.
  • En el corazón de cada metodología es un conjunto de "principios" que pueden ser verdaderas o falsas para el proyecto y la organización (o).

Deja un comentario o dos

Reyting@Mail.ru