lunes, 29 de septiembre de 2014

Técnicas de Levantamiento de Requerimientos

LLUVIA DE IDEAS

Definición:

La lluvia de ideas (Brainstorming) es una técnica de grupo para generar ideas originales en un ambiente relajado. Esta herramienta creada  en el año 1941 por Alex Osborne cuando su búsqueda de ideas creativas resulto en un proceso interactivo de grupo no estructurado de “Lluvia de ideas” que generaba más y mejores ideas que las que los individuos  podía producir trabajando de forma independiente.

Características:
  • Participación:
Favorecen la intervención múltiple de los participantes, enfocada hacia un tema específico, de forma 
  • Creatividad:
Las reglas a seguir  para su realización favorecen la obtención de ideas innovadoras. Estas son el general, variaciones, re ordenaciones o asociaciones de conceptos ya existentes.

Proceso


Utilización
  • Situaciones en las cuales se buscan ideas nuevas y creatividad
  • Situaciones en las cuales se quiere fomentar la participación activa de todos los componentes del grupo

CUESTIONARIOS

Es una técnica de las mas utilizadas, busca principalmente recolectar datos por medio de un test pre diseñado, solo busca identificar el entorno en el cual se va a trabajar.

Características:
  • Método formal y de valor limitado
  • Es muy buena herramienta cuando el levantamiento de requerimientos se realiza en diferentes lugares
  • Forma rápida de obtener estadísticas
  • Aporta al proceso para determinar la prioridad de los requerimientos
Tipos de cuestionarios:
  • Según el grado de estructuración de preguntas
  • Según el medio de presentación
  • Según el tipo de entrevista
  • Según el numero de temas que se aborden
Contenido:

Se debe tener en cuenta que tipo de preguntas se le realizaran a los encuestados ya que pueden ser preguntas abiertas o cerradas.

ENTREVISTAS

Técnica de levantamiento de información mediante el dialogo mantenido en un encuentro formal y planeado, entre una o más personas entrevistadoras y uno a más entrevistadas, en el que se transforma y sistematiza la información conocida por estas, de forma que sea un elemento útil para el desarrollo  de un proyecto de software.

Tipos de entrevista
  • Mixtas
  • No estructurada
  • Estructurada
  • Respuestas cerradas
  • Respuestas Abiertas
Plan de entrevistas

  • Se debe elaborar un plan y un calendario de entrevistas para realizar la definición del producto, que pueda formar parte de la planificación de la especificación del sistema
  • El plan deberá ser modificado conforme se desarrolle el estudio y el que sea más o menos estricto depende del sistema concreto
Estrategia de Entrevista

  • Preparación de la entrevista
  • Detalles al iniciar la entrevista
  • Desarrollo de la entrevista
  • Final de la entrevista

CASOS DE USO
  • Describe una secuencia de eventos que realiza un actor (agente externo) que usa el sistema para realizar el proceso.
  • Describe un proceso de principio a fin relativamente amplio, que abarca muchos pasos y transacciones.
  • Actor: Entidad Externa al sistema que participa en la historia del Caso de Uso: persona, personas, hardware, software.
Iniciador: 
Genera el estímulo que inicia el proceso (único)
Participante: 
Interviene en el proceso

Ejemplo TPV

Caso de uso: Comprar productos
Actores: Cliente, Cajero
Descripción: Un cliente llega a la caja registradora con
los artículos que comprará. El Cajero 
registra los artículos y cobra el importe. 
Al terminar la operación, el Cliente se
marcha con los productos.




ESCENARIOS

Es una descripción parcial o concreta del comportamiento de un sistema en una determinada situación. Es una descripción parcial, porque no necesita describir todas las características de las entidades involucradas, solo se describe aquello que esta relacionado con un comportamiento partículas del sistema analizado.

Objetivos


Logran diferentes objetivos dependiendo de la fase donde se usen durante el proceso de desarrollo de software. En la fase de Ingeniería de requisitos, los objetos del escenario  son:
  • Capturar los requisitos
  • Proveer un medio de comunicaciones entre los stakeHolders
  • Proveer un soporte para trazabilidad
Componentes

Es una estructura compuesta de las siguientes entidades: Título, Objetivo, Contexto, Recursos, Actores, Episodios y Excepciones y el atributo restricción.

Durante el proceso de construcción de escenarios algunas partes comunes de diferentes escenarios se factorizan para crear subescenarios. Los subescenarios  son escenarios que describen con mayor detalle un episodio de otro escenario.

Clasificación
  • Escenarios particulares: Son aquellos que describen un momento específico de la aplicación. Usualmente los episodios de estos escenarios corresponden a simples acciones.
  • Escenarios Generales: S
  • on aquellos que representan las funciones fundamentales de la aplicación. Usualmente los episodios de estos escenarios corresponden a otros escenarios. 

PROTOTIPOS:

Desarrollo de Prototipos:

  • En muchos de los casos los clientes y usuarios de software se les dificulta expresar sus requerimientos reales.
  • Es casi imposible predecir la manera en que un sistema afectara, el trabajo diario, como interectuará con otros sistemas y que operaciones del usuario se deberán automatizar.
  • Un cliente, a menudo, define un conjunto de objetivos generales para el software, pero no identifica los requisitos detallados de entrada, proceso y salida. Entre otras cosas el responsable del desarrollo del software puede no estar seguro de la eficiencia del algoritmo, de la capacidad de adaptación de un sistema operativo, o de la forma en que debiera tomarse la interrupción hombre maquina. 
  • Sin embargo es posible probar el sistema si esta disponible un prototipo del el.
  • Un prototipo es una versión inicial de un sistema de software que se utiliza para mostrar los conceptos, probar las opciones de diseño y entender mejor el "problema" y su solución.


Proceso de desarrollo de prototipos



Características:
  • El prototipo en una aplicación que funciona
  • Los prototipos se crean con rapidez
  • Los prototipos evolucionan a través de un proceso iterativo
  • Los prototipos tienen un costo bajo de desarrolla

Ventajas:
  • Modificación del sistema en etapas tempranas de su desarrollo.
  • Permite al desarrollador darse cuenta de lo que requiere el cliente.
  • Permite que el desarrollador se de cuenta como va avanzando el trabajo.
Desventajas:
  • Administración Difícil.
  • Adoptarlo como el sistema Final.
  • El desarrollador y el cliente tiene poca comunicación al inicio del proceso.
  • Surgen cambios imprevistos que retrasan el progreso del prototipo.

DIAGRAMA CAUDA Y EFECTO o Espina de Pescado:

Es una herramienta que representa la relación entre un efecto (problema) y todas las posibles causas que lo ocasionan. es denominado diagrama Ishikawa o Diagrama de Espina de pescado.

Uso
  • Se puede clarificar las causas de un problema.
  • Clasifica las diversas causas que se piensa que afectan los resultados de trabajo, señalando con flechas la relación causa - efecto entre ellas.

Como se construye
  1. Elabore un enunciado claro de problemas.
  2. Empiece con dibujar el problema de esqueleto de pescado colocando el problema en el cuadro de la derecha.
  3. Identifique las categorías, factores contribuyentes o causas principales.
  4. Grafique las causas principales en oblicuas a la flecha central.
  5. Cuando sea posible determinar las causas de 2er y 3er nivel de 
  6. acuerdo a cada elemento analizado, se grafican como oblicuas a 
  7. las categorías.
 

ANÁLISIS JERÁRQUICO AHP

Técnica para generar Modelos de Toma de decisiones adaptada a la priorizacion de levantamiento de requerimientos de software.

Que es el AHP:

Procedimiento diseñado para cuantificar juicios u opiniones sobre la importancia de cada uno de los criterios empleados en el proceso de toma de decisiones

Por que emplear esta técnica
  • Permite organizar de manera eficiente y gráfica la información, descomponerla y analizarla por partes.
  • Permite realizar comparaciones entre criterios subcriterios y alternativas.
  • Permite medir el grado de influencia de cada elemento. 
Que elementos incluye

  • Modelo Jerárquico
  • Priorización de Elementos
  • Comparación entre elementos
  • Evaluación de elementos
  • Alternativas
  • Síntesis
  • Análisis de sensibilidad
REUNIONES JAD

  • Es un procedimiento para la creación de una aplicación en conjunto.
  • Es una dinámica de grupo, que utiliza ayudas audiovisuales(diagramas multimedia - herramientas case).
  • Proceso organizado y racional.
Como surge el JAD:


Cuando Utilizar JAD


Características de los proyectos


Participantes del JAD


Donde realizar la reuniones JAD


Beneficios de usar JAD


sábado, 20 de septiembre de 2014

Requisitos o requerimientos en la Gestión de Proyectos

Los requisitos son una condición o capacidad que debe cumplir un usuario para lograr un objetivo, o en su caso las condiciones que debe poseer un sistema para satisfacer un contrato o especificación.

Técnicas de levantamiento de requerimientos:



Clasificación de requerimientos:

Los requerimientos se pueden clasificar  por su nivel o por su Modelo:


Estructura según el MODELO:

Vista:


Foco:


Nivel:



Requerimientos Funcionales:


Requerimientos No Funcionales:

Fuente: Ingeniería de Software, I Sommeville, p 102 


Etapas de Requerimientos:

Las etapas delos requerimientos se visualizan en la siguiente gráfica:



Iniciación:
  • Identificación de involucrados Stakeholders.
  • Reconocimiento de diferentes puntos de vista.
  • Elaborar un ambiente colaborativo que permita identificar puntos es común, áreas de conflicto e inconsistencias.
  • Aplicación de preguntas iniciales.

Obtención:
  • Definición de Casos de uso
  • Definición de modelo Conceptual
  • Definición de diagramas de Colaboración
  • Definición de diagramas de diseño clases
Elaboración:
  • Se estructura la informacion obtenida en la tarea de Iniciación
  • Se realizan los modelos técnicos del software, características y deficiencias.
  • Se definen los escenarios de usuario que describen la interacción con el sistema.
  • Se define el dominio del problema desde los puntos de vista de la informacion, funciones y comportamiento.
Negociación:
  • Los usuarios piden mas requerimientos de los que se habían solicitado inicialmente.
  • Los involucrados por lo general solicitan cosas diferentes por lo que se debe conciliar intereses a través de negociaciones.
  • Estas negociaciones dependen de la cultura de la organización y del tamaño del proyecto. 
Especificación:
  • Producto de trabajo final de los requerimientos.
  • Describe la función y desempeño de un sistema y las restricciones que este puede poseer.
  • Algunas de las formas de para escribir especificaciones son: diagramas, narraciones, modelos matemáticos, dibujos, etc.
Validación:
  • El sistema o producto final debe ser evaluado teniendo en cuenta su congruencia y calidad según los requerimientos definidos.
  • Se deben detectar los errores e incidencias y corregirlos de a cuerdo a los estándares establecidos en el proyecto.
Administración:
  • Si es sistema cuenta con modulo de Administrativo, verificar que todos los procesos realicen las tareas correspondientes según las reglas de negocio establecidas dentro de la organización.

sábado, 13 de septiembre de 2014

Las 4P de la Gestión de Proyectos de Software

En todo proyecto de software existe la necesidad de tener una adecuada gestión de los proyectos, para esto se debe contar con el personal capacitado, seleccionar el mejor proceso de acuerdo al problema que se vaya a tratar, y por supuesto una excelente planificación, con el fin de obtener un producto a tiempo y de calidad.

Cuando se desea realizar una gestión adecuada, eficaz y eficiente en la gestión de proyectos de software, es necesario que se ponga en funcionamiento cuatro características muy importantes en esta gestión, las cuatro P: personal, producto, proceso y proyecto.


PERSONAS: Son los principales autores de un proyecto de Software, compuestos por arquitectos, desarrolladores, ingenieros de pruebas, y personal de Gestión. 

Equipo de Dirección de proyectos
  • Identificar a los interesados
  • Determinar sus requisitos y expectativas
  • Gestionar su influencia en relación con los requisitos
Se debe tener en cuenta:
  • Selección
  • Reclutamiento
  • Entrenamiento
  • Trabajo y desarrollo de la cultura de equipo
  • Diseño de la organización
Participantes:
  • Gestores Ejecutivos: Definen los aspectos del negocio.
  • Gestores del proyecto: Planifican, motivan, organizan y controlan a los profesionales que construyen el software.
  • Profesionales: Proporcionan las habilidades técnicas necesarias.
  • Clientes: Especifican los requerimientos.
  • Usuario Final: Interactúan con el software.

Hay cuatro factores críticos en la gestión de personal:

  1. Objetividad: el personal se debe valorar de forma equitativa.
  2. Respeto: por las diferentes habilidades de las personas.
  3. Incorporación: considerar las opiniones de todos.
  4. Honestidad: en comunicar lo que va bien y lo que va mal en el equipo.

PRODUCTO

Articulo producido, que es cuantificable y que puede ser un elemento terminado  o un componente y se crean durante la vida del proyecto.

El producto se puede definir también como la capacidad de prestar un servicio como, por ejemplo las funciones del negocio que respaldan las producción y distribución.

Otro concepto de producto es un resultado como, por ejemplo salidas o documentos.

Características:
  • La aprobación de uno o mas entregables caracterizan la fase de un proyecto.
  • Un producto entregable es un producto de trabajo que se puede medir y cuantificar.
  • Algunos productos entregables pueden corresponder al mismo proceso de direccion de proyectos
  • Los productos entregables son parte de un proceso secuencial, diseñado para asegurar el adecuado control del proyecto.
PROCESO:

Es un conjunto completo de personas, reglas, políticas, procedimientos y actividades necesarias para transformar los requerimientos de un usuario en un producto.


Elementos de un proceso:



El equipo de trabajo debe elegir el proceso adecuado que le permita obtener una solución o producto que satisfaga las necesidades del cliente.

El director de proyecto debe elegir el modelo de proceso correcto para ser aplicado en el desarrollo del producto y el adecuado para:
  • Los clientes que han solicitado el producto y el personal que hará el trabajo.
  • Las características del producto
  • El ambiente del proyecto en el que trabaja el equipo
Seleccionado el modelo de procesos se realiza una planificación preliminar del proyecto basado en las actividades del marco de trabajo, comenzando con la combinación del producto y el proceso. 

Cuando el equipo de trabajo haya definido correctamente el modelo de proceso, este debe ser flexible y adecuado para el proyecto. Este proceso se puede dividir para lograr desarrollar adecuadamente las actividades tareas del marco de trabajo. 

Las actividades que se deben desarrollar son:
  • Desarrollar una lista de conflictos que deben clasificarse.
  • Reunirse con los clientes para abordar los conflictos que deben clasificarse.
  • Desarrollar en conjunto un enunciado del ámbito.
  • Revisar el enunciado del ámbito con todos los implicados.
  • Modificar el enunciado del ámbito según lo requiera.

PROYECTO:

Elemento organizativo por el cual se gestionara el desarrollo de las actividades en la implementación de un producto o servicio.

Para la correcta implementación de un proyecto tecnológico se deben tener en cuenta los siguientes aspectos:
  • Recursos
  • Calidad
  • Finanzas
  • Contrato
  • Comunicaciones
  • Riesgo
  • Alcance
  • Planificación
Gestion de Alcances

Consta de 4 etapas:



Se puede definir como el conjunto de actividades o procedimientos que tienen un objetivo concreto, ejemplo: Crear un producto o servicio

Debe gestionar los recursos limitados disponibles, entre ellos las personas, el tiempo, los costos, etc., para conseguir los objetivos planteados.

Fases de un proyecto:

Es un conjunto de actividades relacionadas con un objetivo en el desarrollo del proyecto.
Se crea agrupando tareas especificas (actividades elementales) que pueden compartir un tramo determinado.


Entre la fases principales de un proyecto se encuentran:
  1. Inicio: Desarrollo de la idea, inicio formal del proyecto
  2. Planificación: Organizar e plan de trabajo
  3. Ejecución: Coordinar los recursos para llevar a cabo las actividades del plan de trabajo
  4. Control: Verificar la realización de las actividades según los objetivos planteados
  5. Finalización: Cierre del proyecto
Procesos
  • Tácticos: Gestion del proyecto.
  • Operativos: Tareas y actividades realizadas, estos varían según el área de aplicación y el objetivo.
  • Procesos orientados al producto

Gestion del proyecto

Es conocida como Gerencia, Dirección o administración de proyectos es la disciplina que se encarga de planificar, organizar, y coordinar recursos y personas para cumplir con objetivos, entregables y criterios de éxito para los proyectos.

Un proyecto como tal como ya se ha descrito se compone de un conjunto de actividades relacionadas para logran un fin especifico con un comienzo y un fin definidos sujete a tres restricciones principales:

Factores de Éxito:
  • Construcción del equipo correcto
  • Incentivos = Calidad
  • Seguimiento del procesos = Controlar actividades
  • Decisiones Inteligentes
  • Análisis de resultados
Alertas de peligro:

Al gestionar un proyecto se debe tener muy presente el riesgo de llegar a fracasar, según John Reel, existen 10 razones por las cuales un proyecto puede fracasar:
  1. El personal de software no entiende las necesidades del los clientes.
  2. El ámbito del producto está mal definido.
  3. Los cambios se gestionan mal.
  4. La tecnología elegida cambia.
  5. Las necesidades comerciales cambian.
  6. Los plazos de entrega no son realistas.
  7. Los usuarios se resisten a la utilización del software.
  8. Se pierde el patrocinio.
  9. El equipo del proyecto carece de personal con las habilidades apropiadas.
  10. Los gestores evitan las mejores prácticas y las lecciones aprendidas.

Estándares en Proyectos Informaticos

Que es un Estándar?

Son acuerdos, contratos bien documentados que contienen especificaciones técnicas o características precisas para ser usadas consistentemente, como por ejemplo, reglas, guías y definiciones.

Existen dos estándares muy conocidos e implementados por la organizaciones y Gerentes de proyectos, estos son PMI y Prince2, los cuales se especificaran en detalle a continuación.

PMI (Project Management Institute)

Se le conoce como Instituto de Gerencia de Proyectos según su traducción, creada en 1969 en Filadelfia, la ciudad mas grande el estado de Pensilvania, situada al noroeste de los Estados Unidos.

Es una de las organizaciones profesionales mas grandes del mundo que cuenta con medio millón de miembros e individuos titulares de sus certificaciones en 180 países. Es una organización sin fines de lucro que avanza la profesión de la dirección de proyectos a través de estándares y certificaciones reconocidas mundialmente, a través de comunidades de colaboración, de un extenso programa de investigación y de oportunidades de desarrollo profesional.

Ver mas..

PMI es utilizado para la gestión de cualquier proyecto sin importar su naturaleza, utiliza las mismas bases metodológicas y herramientas.

Uno de los principales objetivos de PMI es generar conocimiento con ayuda de la investigación y promover la gestión de proyectos como profesión a través de sus programas de Certificación

Que es un PMI?

Profesional en Dirección y Gestión de proyectos es aquel que ha experimentado una educación especifica, ha realizado y pasado un examen para determinar y medir objetivamente su conocimiento en Gestión de Proyectos.

Certificación

PMI tiene a disposición varios tipos de Certificaciones entre las cuales la mas importante es la certificación del Profesional en Dirección de Proyectos PMP, que cuenta con mas de 370.000 titulares en todo el mundo, existen ademas certificaciones que se extienden a partir de esta de acuerdo al área de conocimiento, entre ellas están:

CAPM:        Profesionales y Estudiantes que inician en Dirección de Proyectos.
PgPM:         Profesionales con experiencia en Dirección de Programas.
PMI - RMP: Profesionales en identificación de Administración de Riesgos.
PMI - SP:    Profesionales en elaboración y Gestión de Cronogramas
PMI - ACP: Profesionales en Aplicación de proyectos con Metodologías Ágiles

PMBOK

Project Managament Body of Knowledge es un termino que describe la suma de conocimiento adquirido en la profesión de administración de proyectos compuesta por practicas profesionales que son aplicadas en la gestión de proyectos en general.

PMBOK se estructura por procesos de gestión de proyectos y áreas de conocimiento:

Los 5 grupos básicos de procesos son:




Las diez áreas del conocimiento mencionadas en el PMBOK son:




PRINCE2: 

Estándar desarrollado en Gran Bretaña por la OGC, oficina de gobierno británico, se enfoco en el sector publico, pero se adopto a otras industrias, tiene alta presencia en Europa y en las zonas de influencia del Reino Unido.

En en método estructurado de Gestión de Proyectos, como objetivo implementa las buenas practicas para la gestión de todo tipo de proyectos y se ha convertido en el estándar para la gestión, organización y control de proyectos.

Este estándar divide los proyectos en fases manejables permitiendo el control eficiente de los recursos y el control periódico de su evolución, Prince2 está basado en los productos, es decir, los planes del proyecto se centran en obtener resultados concretos, y no sólo en la planificación de las actividades que se llevan a cabo.

Aplicaciones:

  • Todo tipo  de Gestión de Proyectos
  • Vinculados o no a proyectos de tecnología de la informacion
Procesos:
  • Dirigir un proyecto
  • Comenzando un proyecto
  • Iniciar un proyecto
  • Controlar una etapa
  • Gestionar la entrega del producto
  • Gestionando los limites de cada etapa
  • Cierre
  • Planeamiento

Elementos:
  • 7 Procesos de forman la gestión de proyectos
  • 7 Principios de forman la base de un buen método de gestión de proyectos
  • 7 Áreas de conocimiento que apoyan determinadas áreas de la gestión de proyectos
Certificación:

Es necesario realizar el Examen PRINCE2 Foundation y a continuación el Examen PRINCE2 Practitioner, en ese orden.
  • El nivel Foundation es el primer examen de certificación PRINCE2 que se debe aprobar para convertirse en PRINCE2 Practitioner. El objetivo de este nivel es medir si un candidato será capaz de actuar como miembro informado de un equipo de gestión de proyectos usando el método PRINCE2 en un entorno de proyecto de apoyo a PRINCE2.
  • El nivel Practitioner tiene como objetivo medir si un candidato podría aplicar PRINCE2 para la puesta en marcha y la gestión de un proyecto simple en un entorno de apoyo a PRINCE2.

Prince2