• No se han encontrado resultados

INTRODUCCIÓN AL ANÁLISIS Y DISEÑO DE SISTEMAS. El común denominador de entre varios problemas técnicos y de gestión es una débil gestión.

N/A
N/A
Protected

Academic year: 2021

Share "INTRODUCCIÓN AL ANÁLISIS Y DISEÑO DE SISTEMAS. El común denominador de entre varios problemas técnicos y de gestión es una débil gestión."

Copied!
6
0
0

Texto completo

(1)

INTRODUCCIÓN AL ANÁLISIS Y DISEÑO DE SISTEMAS 18:00 – Tema 2 “Las 5 P’s”

18:45 – Autoevaluación 2

19:20 _ Actividad: Proyecto 1 Fase 1 (20 minutos) 19:40 – Tema 5 “Herramienta Gráfica de Gantt” 20:00 – Autoevaluación 3.

Tema 2. Las 4 P’s

“He visitado docenas de empresas, buenas y malas, y he observado a muchos administradores de proceso de datos, también buenos y malos. Frecuentemente, he visto con horror cómo estos administradores luchaban inútilmente contra proyectos de pesadilla, sufriendo por fechas límite imposibles de cumplir, o que entregaban sistemas que decepcionaban a sus usuarios y que devoraban ingentes cantidades de horas de mantenimiento.” Meiler Page-Jones.

El común denominador de entre varios problemas técnicos y de gestión es una débil gestión. Las cuatros P’s se refieren a Personal, Producto, Proceso y Proyecto.

Personal.

“Existe gran variabilidad en la capacidad de distintas personas para llevar a cabo tareas de programación” Tim Curtis

Es necesario contar con personal altamente preparado y motivado para el desarrollo de software. Sin lugar a dudas el activo más importante de las organizaciones es el personal, las empresas de tecnologías de la información no son la excepción.

El proceso de software y todos los proyectos de software lo componen.

1. Gestores superiores, que definen los aspectos de negocios que a menudo tienen una significativa influencia en el proyecto.

2. Gestores (técnicos) del proyecto, que deben planificar, motivar, organizar y controlar a los profesionales que realizan el trabajo de software.

3. Profesionales, que proporcionan las capacidades técnicas necesarias para la ingeniería de un producto o aplicación.

4. Clientes, que especifican los requisitos para la ingeniería del software y otros elementos que tienen menor influencia en el resultado.

5. Usuarios finales, que interaccionan con el software una vez que se ha entregado para la producción.

Para ser eficaz, el equipo del proyecto debe organizarse de manera que maximice las habilidades y capacidades de cada persona. Y este es el trabajo del jefe del equipo.

Muchas veces las organizaciones no saben seleccionar al jefe de equipo adecuadamente, y se vuelven en gestores de proyecto accidentales, una gran capacidad técnica no asegura que sea un buen administrador de proyectos.

Jerry Weinberg sugiere el modelo de gestión MOI, que aquí se describe:

 Motivación. La habilidad para motivar (con un «tira y afloja») al personal técnico para que produzca conforme a sus mejores capacidades.

 Organización. La habilidad para amoldar procesos existentes (o inventar unos nuevos) que permita al concepto inicial transformarse en un producto final.

(2)

 Ideas o innovación. La habilidad para motivar al personal para crear y sentirse creativos incluso cuando deban de trabajar dentro de los límites establecidos para un producto o aplicación de software particular.

Un gestor de proyectos de software debería concentrarse en entender el problema que hay que resolver, gestionando el flujo de ideas y, al mismo tiempo, haciendo saber a todos los miembros del equipo (mediante palabras y, mucho más importante, con hechos) que la calidad es importante y que no debe verse comprometida.

El no entender correctamente el dominio del problema puede traer problemas futuros y consecuencias funestas, con tristeza existen muchos trabajadores de TI’s que toman como suya la tan sonada frase en el ámbito informático (basura entra – basura sale) sin muchas veces hacer la mínima observación y/o esfuerzo para evitar que la basura salga.

El conocer a fondo los procesos de la organización minimiza los errores y fallas del sistema y su correspondiente mantenimiento.

Pressman sugiere como la más productiva para la contratación de personal y conformación de equipos (el equipo formal): n individuos se organizan en t equipos; a cada equipo se le asignan una o más tareas funcionales; cada equipo tiene una estructura específica que se define para todos los equipos que trabajan en el proyecto; la coordinación es controlada por el equipo y por el gestor del proyecto de software. Es decir estructuras horizontales y no verticales.

La «mejor» estructura de equipo depende del estilo de gestión de una organización, el número de personas que compondrá el equipo, sus niveles de preparación y la dificultad general del problema. Mantei sugiere tres organigramas de equipo genéricos.

 Descentralizado democrático (DD). Este equipo de ingeniería del software no tiene un jefe permanente. Más bien, «se nombran coordinadores de tareas a corto plazo y se sustituyen por otros para diferentes tareas». Las decisiones sobre problemas y los enfoques se hacen por consenso del grupo. La comunicación entre los miembros del equipo es horizontal.

 Descentralizado controlado (DC). Este equipo de ingeniería del software tiene un jefe definido que coordina tareas específicas y jefes secundarios que tienen responsabilidades sobre subtareas. La resolución de problemas sigue siendo una actividad del grupo, pero la implementación de soluciones se reparte entre subgrupos por el jefe de equipo. La comunicación entre subgrupos e individuos es horizontal. También hay comunicación vertical a lo largo de la jerarquía de control.

 Centralizado controlado (CC). El jefe del equipo se encarga de la resolución de problemas a alto nivel y la coordinación interna del equipo. La comunicación entre el jefe y los miembros del equipo es vertical.

Así mismo Mantei describe siete factores un proyecto deberían planificarse cuando se determina el organigrama de los equipos de software.

 la dificultad del problema que hay que resolver

 el tamaño del programa(s) resultante(s) en líneas de código, puntos de función, y casos de uso entre otros métodos para estimar tiempos y costos.

 el tiempo que el equipo estará junto (tiempo de vida del equipo)  el grado en que el problema puede ser modularizado

 la calidad requerida y fiabilidad del sistema que se va a construir  la rigidez de la fecha de entrega

 el grado de sociabilidad (comunicación) requerido para el proyecto Conclusiones y apuntes acerca de los equipos DD, DC y CC.

 Las estructuras centralizadas es la más adecuada para problemas sencillos.

 Las estructuras descentralizas tienen más probabilidades de éxito en problemas complejas.  La estructura DD es la mejor para problemas difíciles.

(3)

 Los proyectos muy grandes son mejor dirigidos por equipos con estructura CC o DC

 Los organigramas de equipo tipo DD producen una moral más alta y más satisfacción por el trabajo.

 El organigrama de equipo DD se aplica mejor a problemas con modularidad relativamente baja.  Los organigramas CC o DC funcionan bien cuando es posible una modularidad alta (y la gente

puede hacer cada uno lo suyo).

 Los equipos CC y DC producen menos defectos que los equipos DD.

 Los equipos descentralizados requieren generalmente más tiempo para completar un proyecto que un organigrama centralizado y al mismo tiempo son mejores cuando se precisa una gran cantidad de comunicación.

Un equipo cuajado.

Un equipo cuajado es un grupo de gente tejido tan fuertemente que el todo es mayor que la suma de las partes ...

Una vez que el equipo empieza a cuajar, la probabilidad de éxito empieza a subir. El equipo puede convertirse imparable, un monstruo de éxito ... No necesitan ser dirigidos de una manera tradicional y no necesitan que se les motive. Están en su gran momento.

Toxicidad y las soluciones para minimizarla en los equipos según Jackman. Una atmósfera de trabajo frenética en la que los

miembros del equipo gastan energía y se descentran de los objetivos del trabajo a desarrollar

El gestor de proyectos debería estar seguro de que el equipo tiene acceso a toda la información requerida para hacer el trabajo y que los objetivos y metas principales, una vez definidos, no deberían modificarse a menos que fuese absolutamente necesario. Además, las malas noticias no deberían guardarse en secreto,

sino entregarse al equipo tan pronto como fuese posible (mientras haya tiempo para reaccionar de un modo racional y controlado)

Alta frustración causada por factores tecnológicos, del negocio, o personales que provocan fricción entre los miembros del equipo

Los desarrolladores de software a menudo sienten la frustración cuando pierden la autoridad para controlar la situación. Un equipo de software puede evitar la frustración si recibe tanta responsabilidad para la toma de decisiones como sea posible. Cuanto más control se le de al equipo para tomar decisiones técnicas y del proceso, menos frustración sentirán los miembros del equipo.

Procedimientos coordinados pobremente o fragmentados» o una definición pobre o impropiamente elegida del modelo de procesos que se convierte en un obstáculo a saltar.

(1) estando seguros de que las características del software a construir se ajustan al rigor del proceso elegido, y (2) permitiendo al equipo seleccionar el proceso (con el reconocimiento completo de que, una vez elegido, el equipo tiene la responsabilidad de entregar un producto de alta calidad).

Definición confusa de los papeles a desempeñar produciendo una falta de responsabilidad y la acusación correspondiente

El gestor de proyectos de software, trabajando junto con el equipo, debería refinar claramente los roles y las responsabilidades antes del comienzo del proyecto.

(4)

mecanismos para la responsabilidad (las revisiones técnicas formales son una forma para realizar esto) y definir una serie de enfoques correctivos cuando un miembro del equipo falla en el desarrollo

«Continua y repetida exposición al fallo» que conduce a una pérdida de confianza y a una caída de la moral.

Todo equipo de software experimenta pequeños fallos.

La clave para eliminar una atmósfera de fallos será establecer técnicas basadas en el equipo para retroalimentar y solucionar el problema. Además, cualquier fallo de un miembro del equipo debe ser considerado como un fallo del equipo. Esto lleva a un acercamiento del equipo a la acción correctiva, en lugar de culpar y desconfiar, que ocurre con rapidez en equipos tóxicos.

Aspectos sobre la coordinación y la comunicación.

El software moderno - escala, incertidumbre e interoperatividad- son aspectos de la vida. Para enfrentarse a ellos eficazmente, un equipo de ingeniería del software debe establecer métodos efectivos para coordinar a la gente que realiza el trabajo. Para lograr esto se deben establecer mecanismos de comunicación formales e informales entre los miembros del equipo y entre múltiples equipos.

Producto

“Para desarrollar un plan de proyecto razonable, tiene que descomponer funcionalmente el problema a resolver”

El gestor de un proyecto de software se enfrenta a un dilema al inicio de un proyecto de ingeniería del software. Se requieren estimaciones cuantitativas y un plan organizado, pero no se dispone de información sólida. Un análisis detallado de los requisitos del software proporcionaría la información necesaria para las estimaciones, pero el análisis a menudo lleva semanas o meses.

Aún peor, los requisitos pueden ser fluidos, cambiando regularmente a medida que progresa el proyecto. Y, aún así, se necesita un plan «¡ya!».

Por tanto, debemos examinar el producto y el problema a resolver justo al inicio del proyecto. Por lo menos se debe establecer el ámbito del producto y delimitarlo.

Ámbito del software.

El ámbito de software se define respondiendo las siguientes cuestiones:

 Contexto. ¿Cómo encaja el software a construir en un sistema, producto o contexto de negocios mayor y qué limitaciones se imponen como resultado del contexto?

 Objetivos de información. ¿Qué objetos de datos visibles al cliente se obtienen del software? ¿Qué objetos de datos son requeridos de entrada?

 Función y rendimiento. ¿Qué función realiza el software para transformar la información de entrada en una salida? ¿Hay características de rendimiento especiales que abordar?

Descomposición del problema.

La descomposición del problema, denominado a veces particionado o elaboración del problema, es una actividad que se asienta en el núcleo del análisis de requisitos del software.

La descomposición se aplica en dos áreas principales: (1) la funcionalidad que debe entregarse y (2) el proceso que se empleará para entregarlo.

(5)

Proceso

Las fases genéricas que caracterizan el proceso de software definición, desarrollo y soporte- son aplicables a todo software. El problema es seleccionar el modelo de proceso apropiado para la ingeniería del software que debe aplicar el equipo del proyecto.

El gestor del proyecto debe decidir qué modelo de proceso es el más adecuado para (1) los clientes que han solicitado el producto y la gente que realizará el trabajo; (2) las características del producto en sí, y (3) el entorno del proyecto en el que trabaja el equipo de software.

Cuando se selecciona un modelo de proceso, el equipo define entonces un plan de proyecto preliminar basado en un conjunto de actividades estructurales. Una vez establecido el plan preliminar, empieza la descomposición del proceso.

Maduración del producto y el proceso.

La planificación de un proyecto empieza con la maduración del producto y del proceso. Todas las funciones que se deben tratar dentro de un proceso de ingeniería por el equipo de software deben pasar por el conjunto de actividades estructurales que se han definido para una organización de software. Descomposición del proceso.

Un equipo de software debería tener un grado significativo de flexibilidad en la elección del paradigma de ingeniería del software que resulte mejor para el proyecto y de las tareas de ingeniería del software que conforman el modelo de proceso una vez elegido.

Proyecto.

Para gestionar un proyecto de software con éxito, debemos comprender qué puede ir mal (para evitar esos problemas) y cómo hacerlo bien.

Diez señales de alerta que pueden poner en peligro la conclusión con éxito de un proyecto (John Reel).

1. La gente del software no comprende las necesidades de los clientes. 2. El ámbito del producto está definido pobremente.

3. Los cambios están mal realizados. 4. La tecnología elegida cambia.

5. Las necesidades del negocio cambian [o están mal definidas] 6. Las fechas de entrega no son realistas.

7. Los usuarios se resisten.

8. Se pierden los patrocinadores [o nunca se obtuvieron adecuadamente]. 9. El equipo del proyecto carece del personal con las habilidades apropiadas. 10. Los gestores [y los desarrolladores] evitan buenas prácticas y sabias lecciones.

Reel sugiere una aproximación de sentido común a los proyectos de software dividida en cinco partes:  Empezar con el pie derecho. Esto se realiza trabajando duro (muy duro) para comprender el

problema a solucionar y estableciendo entonces objetivos y expectativas realistas para cualquiera que vaya a estar involucrado en el proyecto. Se refuerza construyendo el equipo adecuado y dando al equipo la autonomía, autoridad y tecnología necesaria para realizar el trabajo.

 Mantenerse. Muchos proyectos no realizan un buen comienzo y entonces se desintegran lentamente. Para mantenerse, el gestor del proyecto debe proporcionar incentivos para conseguir una rotación del personal mínima, el equipo debería destacar la calidad en todas las tareas que desarrolle y los gestores veteranos deberían hacer todo lo posible por permanecer fuera de la forma de trabajo del equipo

 Seguimiento del Progreso. Para un proyecto de software, el progreso se sigue mientras se realizan los productos del trabajo (por ejemplo, especificaciones, código fuente, conjuntos de casos de prueba) y se aprueban (utilizando revisiones técnicas formales) como parte de una actividad de garantía de calidad. Además, el proceso del software y las medidas del proyecto

(6)

pueden ser reunidas y utilizadas para evaluar el progreso frente a promedios desarrollados por la organización de desarrollo de software.

 Tomar Decisiones Inteligentes. En esencia, las decisiones del gestor del proyecto y del equipo de software deberían <<seguir siendo sencillas>>Siempre que sea posible, utilice software del mismo comercial o componentes de software existentes; evite personalizar interfaces cuando estén disponibles aproximaciones estándar; identifique y elimine entonces riesgos obvios; asigne más tiempo del que pensaba necesitar para tareas arriesgadas o complejas (necesitará cada minuto).

 Realizar un Análisis «Postmortem» (después de finalizar el proyecto). Establecer un mecanismo consistente para extraer sabias lecciones de cada proyecto. Evaluar la planificación real y la prevista, reunir y analizar métricas del proyecto de software y realimentar con datos de los miembros del equipo y de los clientes, y guardar los datos obtenidos en formato escrito.

Tema 3 Gráficas de Gantt

Una gráfica de Gantt es una forma fácil de programar tareas. En este tipo de gráfica las barras representan cada tarea o actividad. La longitud de cada barra representa la duración relativa de dicha tarea.

La principal ventaja de la gráfica de Gantt es su sencillez. El analista de sistemas se dará cuenta de que esta técnica no sólo es fácil de utilizar, sino que también es adecuada para establecer una comunicación satisfactoria con los usuarios finales. Otra ventaja de utilizar la gráfica de Gantt es que las barras representan actividades o tareas a escala; es decir, el tamaño de las barras indica el tiempo relativo que tomará completar cada tarea.

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

[r]

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación