15
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Practical Visionaries Junio 2009 Una visión para Optimizar el Desarrollo y Mantenimiento de Software :: Desarrollo & Metodologías

Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

Embed Size (px)

DESCRIPTION

Primera Jornada de Calidad e Innovación en la Producción de software. Organizada por el Centro de Calidad e Innovación del Polo Tecnológico de Rosario y la Municipalidad de Rosario 12 Junio 2009 Disertantes: -Juan Martín Serra, CTO. Neoris Argentina -Judith Borsato - Gerente de Calidad y Procesos

Citation preview

Page 1: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

Confidential // Neoris 1Confidential // Do Not Reproduce without prior written permission from Neoris

Practical Visionaries

Junio 2009

Una visión para Optimizar el Desarrollo y Mantenimiento de Software

:: Desarrollo & Metodologías

Page 2: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

Confidential // Neoris 2

Objetivo de la Presentación

Compartir un conjunto de sugerencias e ideas a partir de

experiencias de nuestra organización, con el fin de brindar a las

organizaciones de IT de las compañías, elementos que le permitan

optimizar el Desarrollo y Mantenimiento de soluciones.

Page 3: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

3Confidential // Neoris

Objetivo de la presentación

Page 4: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

4Confidential // Neoris

Personas: Optimización de Roles y Capacidades

Reforzar figuras claves como las de Project Manager y Arquitecto

Project Manager

Alcanzar los objetivos de Proyecto mediante una serie de hitos y actividades

de gestión dentro de los límites de tiempo y dinero, haciendo uso eficiente de recursos y produciendo en marco de calidad aceptable.

El Project Manager debe expandir el alcance y las capacidades de su Rol:

Evolucionar desde los procesos instrumentales de planificación y control (papel de “controler” y experto) hacia procesos de integración (papel de facilitador e integrador).

Pensar y gestionar los proyectos no como sistemas de creación de productos/servicios sino como sistemas de creación de valor.

1

2

El Project Manager debe enfocar y gestionar sus proyectos como si dirigiese su propia empresa.

Page 5: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

5Confidential // Neoris

Personas: Optimización de Roles y Capacidades

Reforzar figuras claves como las de Project Manager y Arquitecto

Project Manager

Alcanzar los objetivos de Proyecto mediante una serie de hitos y actividades

de gestión dentro de los límites de tiempo y dinero, haciendo uso eficiente de recursos y produciendo en marco de calidad aceptable.

El Project Manager debe expandir el alcance y las capacidades de su Rol:

El Project Manager debe enfocar y gestionar sus proyectos como si dirigiese su propia empresa.

Page 6: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

6Confidential // Neoris

Personas: Optimización de Roles y Capacidades

Reforzar figuras claves como las de Project Manager y Arquitecto

Arquitecto

La función de un arquitecto (de IT) es resolver un problema mediante la definición

de un sistema que se pueda implementar con el uso de tecnología.

El Arquitecto debe tomar una posición de importancia estratégica dentro de la organización de IT posicionándose como arquitecto de Soluciones:

Desarrollar habilidades claves: Compresión del dominio del problema (Negocio); Capacidad de Conceptualización; Visión Técnica; Capacidad para aplicar patrones.

Dotar al Arquitecto de Habilidades de Liderazgo, Gestión y comunicación de manera que lo conviertan en el líder tecnológico de la Solución.

1

2

Page 7: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

7Confidential // Neoris

Personas: Optimización de Roles y Capacidades

Reforzar figuras claves como las de Project Manager y Arquitecto

Arquitecto

La función de un arquitecto (de IT) es resolver un problema mediante la definición

de un sistema que se pueda implementar con el uso de tecnología.

El Arquitecto debe tomar una posición de importancia estratégica dentro de la organización de IT posicionándose como arquitecto de Soluciones:

Desarrollar habilidades claves: Compresión del dominio del problema (Negocio); Capacidad de Conceptualización; Visión Técnica; Capacidad para aplicar patrones.

Dotar al Arquitecto de Habilidades de Liderazgo, Gestión y comunicación de manera que lo conviertan en el líder tecnológico de la Solución.

1

2

Centrar el esfuerzo de Arquitectura en la construcción de una Solución de Negocio y no en la resolución de una problemática tecnológica.

Definición del Problema Definición de la Solución

Conocimiento del Dominio + Capacidad de Conceptualizar Visión Técnica + Capacidad de aplicar patrones

Page 8: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

8Confidential // Neoris

Personas: Optimización de Roles y Capacidades

Promover la sinergia a través de Comunidades de Prácticas

Discusión de tendencias, Estilos

arquitectónicos, Arquitecturas,

Buenas Prácticas de

Conceptualización y Diseño,

Laboratorios, Patrones, Productos.

Generar una red de comunicaciones y

contactos para:

• Difundir el valor que puede obtenerse al

utilizar procesos, técnicas y herramientas

que optimizan el rendimiento de los recursos.

• Colaborar con el crecimiento y madurez de

los Project Managers y ayudar a resolver las

urgencias que se presenten.

Page 9: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

9Confidential // Neoris

Tecnología: Optimización de Activos Tecnológicos

Promover las formas de reutilización priorizando:

Conocimientos• Conocimiento y Experiencias como un activo reutilizable.

• Introducción de Hitos de Intercambio de Conocimientos en la

Metodología, Lecciones Aprendidas, etc.

• Enterprise 2.0 (Web 2.0): Sociabilización, Externalización, Combinación

e internalización.

Frameworks• Desarrollo y mejora contínua de Frameworks empresariales que

incluyan aspectos tecnológicos, metodológicos, buenas prácticas

reflejando la forma de hacer las cosas de cada organización.

• Promover la adquisición y el uso de Activos existentes en el mercado

o disponibilizados por la comunidad.

Page 10: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

10Confidential // Neoris

Procesos: Optimización de Metodologías y Buenas Prácticas

Sentido de las Metodologías

• Satisfacer las expectativas del usuario.Adecuación

• Facilidad para realizar cambios una vezque el sistema está funcionando.Mantenibilidad

• Capacidad de realizar su cometido con el mínimo consumo de recursos necesario.Eficiencia

• Capacidad de un sistema de funcionarcorrectamente durante un tiempo dado.Fiabilidad

• Densidad de defectos del sistema.Corrección

• Grado de dificultad en aprender a manejarel sistema.Usabilidad

Metodología

Marco de trabajo utilizado para estructurar, planificar y controlar el proceso de desarrollo de

un sistema de información.

¿Predictivas o Agiles?

Page 11: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

11Confidential // Neoris

Procesos: Comparando Metodologías

Características centrales de las Metodologías mas conocidas

1

2

3

Definición

Estrategia

Característicasclaves

Procesos flexibles e informales, con capacidad natural de adaptarse para comprender y responder a las necesidades del cliente.

Centra su estrategia en la planificación de tiempos y presupuesto con fuerte gestión.

Asume el cambio como un hecho minimizando la necesidad a priori de identificar plenamente los requisitos y el modelo final de arquitectura.

Basado en:• Arquitectura basada en componentes• Comunicación por tareas y DOCs.• Cambios acotados a alcance inicial • Gestión Estricta

Prevalece:• Interacciones sobre procesos• Resultados sobre documentación• Colaboración sobre negociaciones• Adaptación al cambio sobre plan

Procesos formales y estrictos que organiza el trabajo del proyecto en flujos de trabajo, actividades y artefactos, segmentando en fases .

Page 12: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

12Confidential // Neoris

Procesos: Comparando según las condiciones del Proyecto

Las características de los proyectos condicionan la elección de una metodología

1 Prioridad del Negocio

Cumplimiento Valor

2 Estabilidad de Requerimientos

Entorno Estable Entorno Inestable

3 Rigidez del producto

Complejo para Modificar Concebido para cambiar

4 Uso del Prototipado

Bajo Alto

5 Criticidad del Sistema

Alta Media / Baja

6 Tamaño del Equipo

Grande Mediano / Pequeño

7 Participación del Cliente

Poca Mucha

Page 13: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

13Confidential // Neoris

Las características de la Organización condicionan la elecciona de una metodología

Procesos: Comparando según las condiciones de la Organización

1 Nivel Profesional Medio / Junior / Semi Sr. Avanzado / Senior

2 Cultura Organizativa Vertical / Rígida Horizontal / Flexible

3 Modelo de Desarrollo Procesos Personas

Page 14: Desarrollo y Metodología: Una visión para optimizar el desarrollo y el mantenimiento de procesos de software

14Confidential // Neoris

Sugerencias

Cada metodología disponible tiene un

conjunto de características que la hacen más

o menos adecuadas para cada tipo de

proyecto de software según las

consideraciones organizacionales, de

proyecto, tecnológicas y de equipo que se

tengan sobre cada tipo de proyecto.

Asimismo, seleccionada la metodología, es

esencial definir cuáles son los procesos que

conformarán los lineamientos de trabajo del

proyecto según características particulares

del mismo.

Procesos: Optimización de Metodologías y Buenas Prácticas