martes, 13 de febrero de 2018

MATRIZ DE PLANIFICACIÒN

MATRIZ DE PLANIFICACIÒN

El resultado del Enfoque de Marco Lógicoes lo que se denomina Matriz de Planificación de Proyectos (MPP). En esta matriz se muestra la interrelación de los niveles jerarquizados (objetivo general, objetivos específicos, resultados esperados, actividades, recursos necesarios) de un modo lógico. Para cada nivel se identificarán indicadores y factores externos.


Ejemplos:

¿Por qué hay que llevar a cabo el proyecto? (objetivo general)
¿Qué se pretende alcanzar con el proyecto? (objetivos específicos)
¿Cómo se van a alcanzar los resultados esperados?
¿Qué factores externos son cruciales para el éxito del proyecto? (riesgos y supuestos)
¿Cómo podemos evaluar el éxito del proyecto?
¿Dónde encontraremos la información requerida para la evaluación? (fuentes de verificación)




ARBOL DE OBJECTIVOS



También llamado árbol de medios y fines o árbol de soluciones, esta herramienta nos permite transformar del árbol de problemas las causas (raíces) en medios y los efectos (hojas) en fines, además de guiarnos hacia el análisis de alternativas llevando los medios a estrategias


Ventajas del árbol de objetivos


Con un análisis de objetivos logramos que:
  • La situación futura sea visualizada en torno a la resolución de los problemas antes detectados.
  • La relación del problema con los medios y fines sea comprendida en un vistazo.
  • Los objetivos a plantearnos sean ponderados según su orden de importancia o secuencia en su resolución.
  • Haya un punto de partida para iniciar la solución del problema central: Las alternativas de solución.


Cómo hacer un árbol de objetivos paso a paso


Si te dispones a hacer un árbol de objetivos, es porque ya tienes analizada la situación problemática y cuentas con un árbol de problemas realizado. Desde este punto partimos para hacer un árbol de objetivos o medios y fines:
  1. De negativo a positivo: Ya hay causas y consecuencias, vamos a redactarlos en positivo para transformar las causas en medios y los efectos en fines. En la medida en que tengamos causas y consecuencias pertinentes, serán los efectos y fines que obtengamos. En caso tal de que los medios y fines obtenidos no sean los apropiados o se consideren muy difusos, volvemos a discutir sobre la situación problemática y reconsideramos una modificación al árbol de problemas.
  2. Verificar y modificar: Ya está hecho. Ahora vamos a verificar redundancias, semejanzas o inconsistencias en el árbol. Una buena forma de lograr esto es estableciendo una relación 1 a 1 desde causa a efecto y desde efecto a fin. Por ejemplo: Problema central: Alta delincuencia juvenil en el barrio San Rocke.
  • Una de las causas es: Centros de venta de drogas alucinógenas ofrecidas a la salida de los colegios del barrio.
  • Un efecto para esto: Aumento de la población juvenil que consume drogas alucinógenas.
  • El efecto convertido en fin sería: Disminución de la población juvenil que consume drogas alucinógenas.
  •  Este mismo análisis es el que hacemos para verificar y modificar el árbol de objetivos. Por supuesto es un ejemplo, y la causa que coloqué sugiere muchos más efectos, a la vez que estos derivan en muchos más fines.
3. Ajustar: Lo que se busca con este paso es hacer el método flexible. Si ya transformaste el árbol de problemas en uno de objetivos, analiza una vez más y pregúntate, ¿le falta algo? Si tu respuesta es positiva, colócalo.

Con esto hecho, solo queda pasar del árbol de problemas al árbol de objetivos, llevando las causas a medios y las consecuencias a fines, y es lo que vamos a ver con el ejemplo iniciado en el post de árbol de problemas.
Ejemplo de árbol de objetivos

Recordando el resultado del árbol de problemas:





Vamos a transformar las causas en medios y los efectos en fines.


Fíjate en las siguientes cosas:

  • Con el árbol de objetivos pasamos de lo negativo a lo positivo, siendo lo positivo, la situación a donde queremos llegar, a donde estamos apuntando.
  • En la mayoría de bloques, el cambió consistió en usar el antónimo de la palabra que describía el problema, causa o efecto, aunque…
  • En algunos bloques, no basta con usar el antónimo de la palabra dado que no estaremos enfrentando el problema. Por ejemplo, no tiene sentido que en la causa número 1 “capacitación insuficiente al personal” coloquemos como objetivo “capacitación suficiente al personal”. Si se trata de mejorar el problema, tenemos que tener el personal capacitado y asegurarnos de que esa capacitación funcione, por eso este objetivo es “personal capacitado y evaluado para dar el servicio al cliente”.


Con base en los puntos anteriores, nuestro árbol de objetivos resuelto queda así:

Si antes el problema era el aumento en las quejas y reclamos, ahora nuestro objetivo es disminuir las quemas y reclamos.

ARBOL DE PROBLEMAS

ARBOL  DE  PROBLEMAS

También conocido como método del árbol, técnica del árbol de problemas, análisis situacional o análisis de problemas, esta herramienta nos permite mapear o diagramar el problema. La estructura de un árbol de problemas es:
















  • En las raíces se encuentran las causas del problema 
  • El tronco representa el problema principal 
  • En las hojas y ramas están los efectos o consecuencias

Es una forma de representar el problema logrando de un vistazo entender qué es lo que está ocurriendo (problema principal), por qué está ocurriendo (causas) y que es lo que esto está ocasionando (los efectos o consecuencias), lo que nos permite hacer diversas cosas en la planificación del proyecto, como verás a continuación en las ventajas.



Ventajas del árbol de problemas

¿Para qué sirve hacer un árbol de problemas? Las 4 más importantes y que resumen todas las demás son:
  • Nos permite desglosar el problema, las causas y sus efectos, mejorando su análisis. 
  • Hay una mejor comprensión del problema al desagregarlo en causas y consecuencias 
  • Se vincula con otras herramientas de investigación y análisis como matriz de vester o árbol de soluciones
  • Facilita la realización de otros componentes importantes de una investigación o proyecto en su fase de planificación, por ejemplo el análisis de interesados, análisis de riesgos y objetivos.


El árbol de problemas en la planificación de un proyecto

Los japoneses nos dicen con frecuencia que un problema identificado ya constituye el 90% de la solución, es por eso la importancia que le otorga la metodología de marco lógico al análisis de problemas. El trabajo de planificación que hacemos con el árbol de problemas y el árbol de objetivos constituye una parte muy importante en la identificación de la problemática.

Hecha esta introducción, es importante que sepas la importancia que significa utilizar el árbol de problemas en conjunto con otras herramientas, donde lo que buscamos es:
  • Obtener datos significativos para caracterizar el problema 
  • Determinar cuáles son las causas y efectos 
  • Elaborar objetivos del proyecto
Lo entenderás mejor cuando comencemos a elaborar un árbol de problemas paso a paso:

Cómo hacer un árbol de problemas paso a paso
  1. Analiza la situación: Si, sabes que hay una situación problemática, pero analízala. Qué está ocurriendo, por qué está ocurriendo y que esta desencadenando. Recolecta datos que te permitan entender la situación problemática. Esto por sí solo ya te dará gran cantidad de insumos para el siguiente paso. 
  2. Identifica los principales problemas de la situación que has analizado: Cualquier técnica para generar ideas te será útil. Una lluvia de ideas en equipo definiendo por consenso cuál es el principal problema, suele ser una buena alternativa. Sin embargo, si el problema es mucho más técnico y requiere de muchos expertos y de discusiones, ya que es complejo diferenciar causas de efectos, prueba la matriz de Vester. Esta por sí sola te permitirá priorizar el problema principal, y te adelantará algunos pasos al darte causas y efectos del problema principal. 
  3. Determina los efectos y las causas del problema principal: Ya tienes el tronco del árbol, ahora identifica las causas (raíces) y los efectos o consecuencias (hojas o ramas). De nuevo mejor si se hace en equipo buscando llegar a un consenso. Si en el paso 2 elaboraste la matriz de Vester, ya tendrás este paso bastante claro. 
  4. Dibuja el árbol: Sencillo. Veremos cómo en el ejemplo más adelante. 
  5. Profundiza en las causas y efectos: Resolver el problema central será mucho más fácil en la medida en que determines las causas y efectos raíz. Es decir, si ya determinaste una causa, ¿es posible que esta causa sea ocasionada por algo más a su vez? Traza una línea y profundiza tanto como te sea posible.


Con esto hecho, solo queda pasar del árbol de problemas al árbol de objetivos, llevando las causas a medios y las consecuencias a fines.

Ejemplo de árbol de problemas

Basandonos en los pasos antes descritos, vamos a ver un ejemplo de árbol de problemas:

En el paso 1 nos contextualizamos: La empresa Colusa Inc es una compañía de alojamiento web (hosting). En el último semestre ha estado presentando un aumento del 35% en las quejas y reclamos de sus clientes. Colusa Inc realizó una clasificación de los motivos de las quejas analizando su frecuencia. Adicional a esto, se hicieron entrevistas por teléfono y correo electrónico con los clientes que habían reportado quejas, lo que permitió afinar aún más la clasificación.
En el paso 2 identificamos los problemas: Desde este ejemplo y dependiendo de la clasificación realizada, podríamos obtener diversos problemas dependiendo de cuál sea el que más nos esta afectando. En este caso estaríamos eligiendo una opción específica, sin embargo en este ejemplo vamos a trabajar la opción general. En consecuencia, la problemática principal es: Aumento del 35% en las quejas y reclamos de los clientes en el último trimestre del año por contratación de servicios de hosting.


En el paso 3 vamos a identificar las causas y efectos. Con la información antes recolectada, ya tenemos bastante camino avanzado. Los principales tres tipos de quejas son:
  • El servicio postventa es malo: El personal que se envía no sabe lo que hace y en ocasiones es grosero (aquí se incluye el soporte telefónico) 
  • Mala calidad del producto: No funciona al ser instalado, el sitio web se cae con frecuencia o no tiene suficiente capacidad de alojamiento. 
  • El producto subió mucho de precio
Y como ves, estas son causas directas.
Lo que tenemos hasta ahora del árbol de problemas es lo siguiente:


Lo primero que se identifica suele ser las causas. Ahora identificamos los efectos. Además de pensar en todos los posibles efectos que puede tener la problemática principal, vamos a considerar los efectos 1 a 1 de cada causa, donde por ejemplo un deficiente servicio postventa va hacer que las compras que hacen los clientes se vean disminuidas. El resultado es el siguiente:



Esto de por sí ya sería un árbol de problemas, pero si queremos hacer de esta herramienta algo útil, debemos recabar hasta el fondo de las causas y de los efectos. En el ejemplo que exponemos, mostramos hasta el segundo nivel: Este sería el árbol de problemas terminado.



ENFOQUE SISTEMITICO PARA DESARROLLO AGIL



Su filosofía principal se relaciona con dar una rápida respuesta a los usuarios, con entrega de software trabajando, asumiendo que los requerimientos son inestables e involucrando fuertemente a los mismos usuarios en el proceso de desarrollo. La crítica que reciben los agilistas es que sus métodos son poco sistemáticos y documentados. Por otra parte, los agilistas argumentan contra los tradicionalistas, considerando que las respuestas dadas por estos últimos a algunos problemas son muy lentas, al punto que cuando entregan la solución el problema ya no existe o cambió. En este trabajo se plantea que los métodos ágiles y los tradicionales no son estrictamente competidores directos. Cada uno de ellos tiene su propio segmento de aplicación o terreno. Y pueden ser usados en proyectos con diferentes características.

Enfoque sistémico

El enfoque sistémico es la aplicación de la teoría general de los sistemas en cualquier disciplina, el modo de abordar los objetos y fenómenos no puede ser aislado, sino que tienen que verse como parte de un todo. No es la suma de elementos, sino un conjunto de elementos que se encuentran en interacción, de forma integral, que produce nuevas cualidades con características diferentes, cuyo resultado es superior al de los componentes que lo forman y provocan un salto de calidad.


Desarrollo ágil

Se refiere a métodos de ingeniería del software basados en el desarrollo iterativo e incremental, estas metodologías son imprescindibles en un mundo en el que nos exponemos a cambios recurrente mente. Siempre hay que tener en cuenta como programadores que lo que es la última tendencia hoy puede que no exista mañana y por esto existe la metodología ágil donde los requisitos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.

Métodos y procesos en la metodología ágil

SCRUM

Se usa para minimizar los riesgos durante la realización de un proyecto, pero de manera colaborativa. Entre las ventajas se encuentran la productividad, calidad y seguimiento, logrando que los integrantes estén unidos, comunicados y que el cliente vaya viendo los avances. La profundidad de las tareas que se asignan en SCRUM tiende a ser incremental, caso que coincide exactamente con el devenir normal de un desarrollo, es perfecto para empresas de desarrollo de software orientadas a varios clientes. Esta por otro lado es la metodología que se utiliza en I2B.

XP o Extreme Programming (programación extrema)

Se aplica en equipos con muy pocos programadores quienes llevan muy pocos procesos en paralelo. Consiste entonces en diseñar, implementar y programar lo más rápido posible, hasta en casos se recomienda saltar la documentación y los procedimientos tradicionales. Se fundamenta en la capacidad del equipo para comunicarse entre sí y las ganas de aprender de los errores propios inherentes en un programador. XP es un método estupendo para equipos que se centran en un solo cliente.


Desarrollo Ligero o “Lean”

Estén proceso está orientado a conseguir exactamente lo que necesita el cliente. Es una evolución del Método Toyota de Producción aplicado al desarrollo y que está muy de moda entre los equipos de desarrollo en startups, el Desarrollo Lean una metodología fantástica para empresas que están desarrollando un software B2C orientado a tener éxito en el mercado.

Beneficios de aplicar la Metodología Ágil

- RSI superior.
- El desarrollo ágil aumenta la productividad.
- Simplifica el manejo de la sobrecarga de procesos.
- Mejor perfil de productividad.

- Una mejor gestión del riesgo.


PROCESO DE SOFTWARE



La meta de la ingeniería de software es construir productos de software, o mejorar los existentes; en ingeniería de procesos, la meta es desarrollar o mejorar procesos.


Un proceso de desarrollo de software es un conjunto de personas, estructuras de organización, reglas, políticas, actividades y sus procedimientos, componentes de software, metodologías, y herramientas utilizadas o creadas específicamente para definir, desarrollar, ofrecer un servicio, innovar y extender un producto de software.


Un proceso de software efectivo habilita a la organización a incrementar su productividad al desarrollar software:
  • Permite estandarizar esfuerzos, promover reuso, repetición y consistencia entre proyectos. 
  • Provee la oportunidad de introducir mejores prácticas de la industria. 
  • Permite entender que las herramientas deben ser utilizadas para soportar un proceso. 
  • Establece la base para una mayor consistencia y mejoras futuras. 


Un proceso de software mejora los esfuerzos de mantenimiento y soporte:
  • Define cómo manejar los cambios y liberaciones a sistemas de software existentes. 
  • Define cómo lograr la transición del software a la operación, y cómo ejecutar los esfuerzos de operación y soporte.


Necesitamos un proceso de software cuya funcionalidad esté probada en la práctica, y personalizado para que cumpla con nuestras necesidades específicas.
Metodología ágil para el desarrollo de software.


Fases del Proceso de Desarrollo del Software

Análisis de requisitos
Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software. La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque aun no está formalizada, ya se habla de la Ingeniería de Requisitos. La IEEE Std. 830-1998 normaliza la creación de las Especificaciones de Requisitos Software (Software Requirements Specification).
Diseño y arquitectura
Se refiere a determinar como funcionará de forma general sin entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.
Programación
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no es necesariamente la porción más larga. La complejidad y la duración de esta etapa está intimamente ligada al o a los lenguajes de programación utilizados.
Pruebas
Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral,para así llegar al objetivo. Se considera una buena practica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un area de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un area de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en que condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría.
Documentación
Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.
Mantenimiento
Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.


FUNDAMENTOS DE LA CALIDAD DE SOFTWARE

FUNDAMENTOS  DE LA CALIDAD DE SOFTWARE

¿Qué es calidad?
El grado en que un sistema compone, o procesa  y se ajusta con los requerimientos especificados con las necesidades y/o expectativas del cliente o usuario. Es un conjunto de cualidades que lo caracterizan y determinan su utilidad y existencia. 


¿Qué es calidad de software?

Calidad engloba todo el proceso, y está determinada por factores directos e indirectos.
Calidad es un concepto complejo y multifacético, que puede describirse desde diversas perspectivas.






Visiones de Calidad
  • Visión trascendental: puede ser reconocida pero no definidas.
  • Visión del usuario: grado de adecuación al propósito. software que satisface las necesidades de los usuarios, se basa en tareas del usuario a veces muy dependiente del contexto. Apoyado por modelos de confiabilidad, modelos de desempeño y laboratorios de usabilidad.
  • Visión del productor: conformidad con la especificación
  • Visión del producto: ligada a caracteristicas inherentes del mismo. Caracteristicas internas determinan la calidad.
  • Visión basada en valor: ¿Cuánto el cliente está dispuesto a pagar?


Verificación y Validación

  • Verificación: ¿estamos construyendo el producto correctamente?
  • Validación: ¿estamos construyendo el producto correcto?

¿Qué se puede medir?


  • El proceso del software para mejorarlo
  • El proyecto del software para ayudar a estimar, control de calidad, evaluación de la productivad, control del proyectos.
  • Calidad del producto para ayudar en la toma de decisiones tácticas a medida que el proyecto evoluciona.




SISTEMAS DE INFORMACIÒN

SISTEMAS DE INFORMACIÓN


Un sistema de información (SI) es un conjunto de elementos orientados al tratamiento y administración de datos e información, organizados y listos para su uso posterior, generados para cubrir una necesidad o un objetivo. Dichos elementos formarán parte de alguna de las siguientes categorías:
  • Personas; 
  • Actividades o técnicas de trabajo; 
  • Datos; 
  • Recursos materiales en general (recursos informáticos y de comunicación, generalmente, aunque no necesariamente).