martes, 1 de septiembre de 2009

Metodologia Scrum

1. Algo de historia


La gestión de proyectos predictiva o clásica se basa en la planificación de trabajo, y en el posterior seguimiento y control de su ejecución, para esto se toman los requerimientos y a partir de ello se desarrolla un plan para la distribución de recursos y tiempo, durante su construcción, el director sigue de cerca el proyecto para detectar posibles desviaciones y tomar medidas para mantener el plan. Por lo tanto se trata de una gestión “predictiva” que vaticina a través del plan inicial, cuales serán las secuencias de operaciones de todo el proyecto sus costos y tiempos.


Esta disciplina formal de gestión de proyectos tiene las siguientes caracteristicas:


  • Establece como criterios de éxito obtener el producto definido, en el tiempo previsto y con el costo estimado.

  • Asume que el proyecto se desarrolla en un entorono estimable y predecible.

  • El objetivo de su esfuerzo es mantener el cronograma el presupuesto y los recursos.

  • Divide el desarrollo en fases en las que considera “ciclo de vida”



1.1 Escenario de los años 80


Un artículo publicado en 1986 por Hirotaka Takeuchi e Ikujijo Nonaka, denominado “The new new product development game” ha marcado un punto de inicio de una nueva forma de gestionar proyectos en entornos rápidos e inestables. Cuando la teoría de gestión de proyectos estaba alcanzando cierta madurez los autores observaron que algunas empresas en mercados muy competitivos, relacionados con productos de vanguardia tecnológica trabajaban ignorando esta teoria.


Un proyecto avanza secuencialmente de fase en fase: creación del concepto, pruebas de viabilidad, diseño del producto, diseño del proceso, prototipo y producción final.


Nonaka y Takeuchi observaron que Xerox, Canon, Honda, NEC, Epson, Brother, 3M, HP, en estas empresas el trabajo no recorría fases a través de diferentes equipos especializados.


“El producto emerge de la interaccion constante de un equipo de elite, multidiscplinario que trabaja conjuntamente desde el principio hasta el final”


Nonaka y Takeuchi comparan la forma de trabajar de estos equipos únicos y multidisciplinarios como los equipos Rugby y el ambiente y entorno de trabajo que los proporcionaba la empresa lo llamaron “campo de scrum”.


Jeff Sutherland aplicó los principios observados por Nonaka y Takeuchi, en 1996 lo presentó junto con Ken Schwaber como proceso formal para la gestión de desarrollo ágil, el modelo Scrum no se basa en el seguimiento de un plan, sino en la adaptación contínua a las circunstancias de la evolución del proyecto.

  • Es un modo de desarrollo adaptable antes que predictivo.

  • Orientado a las personas mas que a los procesos.

  • Emplea el modelo de construcción incremental basado en intecaciones y revisiones.


2 El nuevo escenario


En los años 70,80,90's las aplicaciones de Inteligencia de Negocios tardaban años para implementarse y eran usados con variaciones mínimas a lo largo del tiempo. En estos tiempos de crisis económica son muchas las ocasiones que en nuestras empresas se han cambiado criterios de filtro y requerimientos de información.

Existen determinados productos que permanecen en estado “beta”. El entorno tecnológico es tan inestable, que las novedades se lanzan en el menor tiempo de desarrollo posible, que sea el mercado quien diga de forma continua como deben modificarse los requisitos.

Muchas empresas necesitan construir el producto al mismo tiempo que aparecen nuevos requisitos, y como las circunstancias de los mercados y de las empresas no se pueden cambiar, son las formas en las que gestionan sus proyectos las que tienen que cambiar, los proyectos de gestión ágil permiten la entrega temprana de resultados tangibles y con la suficiente agilidad temprana de resultadod tangibles y con la suficiente agilidad y flexibilidad para trabajar en entornos inestables y rápidos.


2.1 Diferencias del desarrollo ágil y el tradicional:


Tradicional

Desarrollo Ágil

Especialización

Equipo multidisciplinario

Fases

Solapamiento

Requisitos detallados

Visión del producto

Seguimiento del plan

Adaptación a los cambios



Como equipo mulidisciplinario está formado por personas con los conocimientos suficientes que cubran las disciplinas necesarias para llevar a cabo el trabajo.


2.2 Las fases

Pasan a ser tareas que se ejecutan cuando se necesitan, las fases de requisito del sistema, requisitos de software, análisis, diseño y construcción, pruebas e interpretación que se ejecutan de manera secuencial pasan a tareas que se llevan a cabo en el momento que hace falta.


Muchas veces los requisitos no se pueden conocer sino avanza el desarrollo y se va “tocando” el resultado en la que a veces el mercado es tan rápido que a mitad del trabajo las tendencias o la competencia obligan a modificar el producto.Los equipos ágiles empiezan a trabajar sin conocer con detalle como será el producto final. Parten de la visión general, y sobre ella, producen regularmente incrementos de funcionalidad que mejoran el valor del producto.


2.2.1 Desarrollo solapado.

El concepto de “fase” que implica un trabajo secuencial, se cambio ahora por el de “actividad” requisitos, análisis, diseño y desarrollo son actividades que se pueden realizar en cualquier momento, de forma simultánea: “a demanda” por lo tanto en el desarrollo ágil los requisitos evolucionan.

2.2.2 Solapamiento Sashimi, en cualquier momento del ciclo de vida pueden encontrarse varias fases, en este tipo de solapamiento no es neesario terminar una fase para empezar otra.


2.3 Rugby. El equipo trabaja concurrentemente en todas las actividades desde el primer día.

Control sutil. Se refiere a la creación de un ecosistema que potencia y desarrolla el “autocontrol entre iguales” como consecuencia de la responsabilidad.


2.4 Difusión del conocimiento. Son conformados por equipos multidisciplinarios donde todos los miembros aportan y aprenden del resto del equipo, estas personas que con el tiempo pasan a otras áreas y proyectos de esta forma se comparte y expande el conocimiento de la empresa.


2.5 Características que aporta el método agil de gestión.


2.5.1 Valor. En la actualidad las empresas dependen de su capacidad de innocación contínua, que compiten con productos de otras empresas que también están innovando. La flexibilidad, su capacidad de adaptación y evolución a través de actualizaciones y amplicaciones, estos dos características brindan el mayor valor posible al producto.

2.5.2 Reducción del tiempo de salida al mercado. El tiempo es una factor competitivo clave en muchos sectores. Las estrategias de la gestión ágil para producir resultados en menos tiempo son, solapamiento de fases de desarrollo, entrega temprana de las primeras partes del producto, que corresponden, con las de mayor urgencia para el cliente.

2.5.3 Agilidad, capacidad para producir partes completas del producto en periódos breves de tiempo.

2.5.4 Flexibilidad. Capacidad para adoptar la forma y el curso del desarrolllo a las características del proyecto y a la evolución de los requisitos.


3. El ciclo de desarrollo ágil.


El desarrollo ágil parte de la visión del concepto general del producto, y sobre ella el equipo produce incrementos, y en la prioridad que requiera el cliente.


3.1 Concepto: En está fase se crea la visión del producto y se determina el equipo que lo llevará a cabo. Se necesita tener el concepto de lo que se quiere, y conocer el alcance del proyecto.

3.2 Especulación: Se elaborán las hipótesis, que son grandes e insuficientes para determinar las implicaciones de el desarrollo. Se definen las limitaciones impuestos por el entorno del negocio, costos y agendas.

Está fase de especulación se repite en cada iteración, y teniendo como referencia la visión y el alcance del proyecto consiste en:

  • Desarrollo y revisión de los requisitos generales

  • Mantenimiento de una tabla con las funcionalidades esperadas.

  • Mantenimiento de un plan de entrega.

3.3 Exploración,

Se desarrolla un incremento del producto que incluye las funcionalidades, determinadas en la fase anterior.

3.4 Revisión. Equipo y usuarios revisan lo construído hasta ese momento, trabajan y operan con el producto real contrastando su alineación con el objetivo.

3.5 Cierre. La fecha de cierre es fijada en la fase de concepto y revisada en las diferentes fases de especulación. Luego se produce el “mantenimiento” que supondrá la continuación del proyecto en ciclos incrementales hacia la siguiente revisión a ir acercandose a la visión del producto.

4. Modelo Scrum

Se inicia formalizando la visión general del producto dando prioridad a las funcionalidades a parte que tienen mayor prioridad de negocio, y que pueden llevarse a cabo en un periódo de tiempo breve (más de una semana, menos de dos meses). Estos periódos de desarrollo son una iteración que finaliza con la entrega de una parte (incremento) operativo del producto.


Estas iteraciones son la base del desarrollo ágil, y scrum gestiona su evolución en reuniones breves (15m) donde todo el equipo revisa el trabajo realizado el día anterior y el que tiene previsto realizar.


4.1 Control de la evolución del proyecto.


4.1.1 Revisiones de las iteraciones. Al finalizar cada iteración (sprint) se lleva a cabo una revisión con todas las personas implicadas en el proyecto, la duración del sprint será el periódo máximo que se tarda en reconducir una desviación en el proyecto.


4.1.2 Desarrollo incremental. El desarrollo incremental implica que al final de cada iteración se dispone una parte de producto operativa, que se puede inspeccionar y evaluar.


4.1.3 Desarrollo evolutivo. Los modelos de gestión ágil que se emplean para trabajar en entornos de incertidumbre e inestabilidad de requisitos. Scrum considerá a la inestabilidad como una premisa, y se adoptan técnicas de trabajo para permitir la evolución, sin degradar la calidad de la arquitectura que también evoluciona durante el desarrollo.


4.1.4 Auto-organización. En scrum los equipos son auto-organizados, con margen de decisión suficientes para tomar las decisiones que se consideren oportunas.


4.1.5 Colaboración, Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Esto es necesario para que funcione


4.2 Visión general del proceso.


El sprint es el núcleo central que proporciona la base del desarrollo iterativo e incremental, el sprint es la iteración de desarrollo y se recomienda que no dure más de un mes.


Planificación del sprint: Al inicio de cada sprint se determina cual será el trabajo y los objetivos que se deben conseguir en la iteración.


Seguimiento del sprint:


Cada día los miembros del equipo describen tres cuestiones

      1. El trabajo que realizo el dia anterior.

      2. El que tiene previsto realizar.

      3. Cosas que pueden necesitar o elementos que deben impedirse para realizar el trabajo.


Cada persona actualiza en la pila del sprint el tiempo pendiente de sus tareas, está información se actualiza también sobre el gráfico de monitoreo (burn-down).



jueves, 6 de agosto de 2009

Introducción Minería de Datos

Reporte: ¿Cuántos televisores LCD 32" vendimos en Julio de este año?
Aplicativo BI: Compara las ventas de televisores con el presupuesto de agosto y periódos
anteriores.

La minería de datos está mas orientada al descubrimiento de la información, al encontrar patrones y relaciones ocultas en robustos almacenes de datos y utilizando reglas para predecir comportamientos. El beneficio será que está información resultante será un apoyo valioso para la toma de decisiones estrátegicas y operativas, evaluando los efectos que puedan tener.

Tipos de información que se puede obtener al utilizar minería de datos.

  • Las asociaciones: son ocurrencias enlazadas a un solo evento, por ejemplo un estudio de patrones de compra en tarjetas de crédito revelan que la compra de ropa es cancelada en cuotas en plazos de seis meses en un 70% del total. Esta información permite a los gerentes determinar estrategias para campañas de tarjetas de crédito y tiendas por departamento.
  • Las secuencias: Los eventos se enlazan con el passo del tiempo, por ejemplo: el préstamo para un crédito hipotecario el 60% de las veces se solicita un crédito personal para la compra de muebles luego de tres semanas, al mes del crédito otorgado un 40% de veces adquieren una refrigeradora.
  • La clasificación: reconoce patrones que describan al grupo al cual pertenece un elemento a través de un conjunto de reglas, por ejemplo: la clasificación de los clientes de tarjetas de crédito ayuda a describir las características de los clientes que se podrían perder y permite a los gerentes idear campañas para impedir esto.
  • El agrupamiento encuentra grupos de afinidad según características demográficas o de consumo.
  • Análisis predictivo: teniendo como materia prima, técnicas de minería de datos, datos históricos y por supuesto supocisiones sobre condiciones futuras para predecir resultados de eventos, como la probabilidad de que un cliente responda favorablemente ante una campaña de marketing.
Las aplicaciones para minería de datos son utilizadas para todas las áreas funcionales de la empresa al igual que para los gobiernos y el trabajo científico, siendo uno de los usos populares la detección de lavado de dinero, identificar patrones de consumo y clientes rentables.

lunes, 27 de julio de 2009

Dimensiones

Las dimensiones son la descripción textual de los campos relacionados al negocio. Las dimensiones como atributo son almacenadas en tablas y tienen la característica de tener pocos registros pero de campos muy amplios, además está la llave primaria que estará asociada a la tabla de hechos o tabla principal.
Las dimensiones son utilizadas como fuente principal en consultas a las bases de datos grupos etiquetas y reportes, también juegan un papel muy importante en la creación de un datawarehouse, estas deben facilitar la usabilidad y entendimiento de nuestra información, por tal razón nuestro aplicativo BI será tan bueno en la medida que nuestras dimensiones lo sean.
Las dimensiones tienen el objetivo de brindar mayor capacidad de análisis al usuario final de ahí que vienen los términos drill down ,slicing, dicing, todas estas herramientas permiten al cliente navegar e interactuar con los atributos de dimensión y campos calculados.
En geneal la mayoría de tablas de dimensiones tienen entre 2 y 10 campos, si encontramos que estmos por encima o por debajo de ese rango entonces debemos considerar que algunos campos no deberían ser agregados a la tabla y en el momento de diseño pasaron inadvertidos, para tales casos recomendamos cualquies de las siguientes clases de dimensiones que son suplementos ideales al momento de diseñar el modelo.
Dimensión de estació o caísal. Las dimensiones como promoción, contrato, negociaciones, condiciones de almacenamiento, estos atributos proveén de información adicional con respecto a un suceso o evento.

Dimensiones de múltiples fechas. Son usadas en tablas de hecho que acumulan fotografías de fin de mes como por ejemplo la dimensión periodo.

Dimensiones de rol. Ocurren cuando físicamente una dimensión esta repetidas veces en una tabla de hechos siendo utilizada por tablas anexas.

Dimensiones de rol. Estas identifican el estado actual de la transacción o la fotografía mensual.

Estas dimensiones suplementarias agregan mayor funcionalidad de análisis al aplicativo BI luego de que este pase a producción lo cual significa que no se cambiará la granularidad o detalle de análisis, tampoco deberá alterar claves primarias existentes en la tabla de hechos.

domingo, 26 de julio de 2009

¿Qúe es un sistema de información?

Desde el punto de vista técnico, es un conjunto de componentes interrelacionados que recuperan, procesan, almacenan y distribuyen información para apoyar la toma de decisiones y el control en una organización.
Por información entendemos que son los datos moldeados en una forma significativa y útil entendible por los usuarios finales, a diferencia, los datos son hechos registrados en organizaciones sin ser organizados ni ordenados.

Hay tres actividades básicas en un sistema de información que producen la información que esas organizaciones necesitan para tomar decisiones, controlar problemas y crear nuevos productos o servicios.

La entrada captura o recolecta datos en bruto tanto de la organización como de su entorno extorno. El procesamiento convierte esta entrada de datos en una forma significativa. La salida transfiere la información procesada a las personas que la usarán o a las actividades para las que se utilizará. Los sistemas de información requieren retroalimentación, que es la salida que se devuelve al personal correspondiente de la organización para ayudarle a evaluar o corregir la etapa de entrada.

Hay una gran diferencia bien definida entre un programa de computo y un sistema de información, los programas de software constituyen la base técnica, las herramientas y materia prima de los modernos sistemas de información, una buena analogía es una casa. Las casas se construyen con martillos, clavos y madera, pero estos materiales no hacen una casa, la arquitectura, el diseño el decorado y todas las decisiones que conducen a la creación de estas características son parte de la casa y son cruciales para resolver el problema de colocar un techo sobre la cabeza de alguien. Las computadoras y los programas son el martillo, los clavos y la madera de los sistemas de información basadas en computadora, para comprender los sistemas de información se deben entender los problemas para los que están diseñados sus elementos de arquitectura y diseño, así como los procesos de la organización que conducen a estas soluciones.

lunes, 13 de julio de 2009

Calidad de datos

Entregamos un informe que servirá para tomar una decisión importante, pero antes dejamos en claro de que puede haber cierto margen de error, exactamente no lo sabemos, o entregamos un software que puede equivocarse en los calculos para el tráfico de un aeropuerto con un 95% de certeza.

Es importante para las personas que toman decisiones, utilizar informacion de calidad, una vez creada la expectativa y reconocidos los beneficios de mejorar la calidad de la información, se debe aplicar una metodología para mejorar la calidad de la información en nuestro negocio. Existen muchas metodologías, entre ellas tenemos:

1. De toda la información que existe en la organización debemos identificar cual es la que tiene mayor impacto en las operaciones del negocio.

2. Definir criterios de Calidad de Datos. Esto es definir cuando un dato es exacto para su organización.

3. Realizar mediciones iniciales para detectar posibles problemas de Calidad de Datos.

4.Crear indicadores de calidad, son programas que medirán periódicamente la calidad y serán constantemente monitoreados.

5. Definir responsables de Calidad de Datos , esta persona debe monitorear las tendencias del indicador y realizar planes de acción encaminados a la mejora de los indicadores.

6. Diagnósticos de calidad de Datos. En estos diagnósticos se determinan las posibles causas de la mala calidad de Datos y se definen planes de acción con responsables para mejorar el indicador. Entre las planes de acción normalmente se incluye el establecer controles preventivos y correctivos para la mejora de la calidad de Datos.

7. Monitoreo de los indicadores por parte de la Gerencia. Si los empleados no perciben las altas expectativas por parte de la gerencia, el proyecto tendrá resultados limitados, es importante que los indicadores de Calidad de Datos se revisen periódicamente, asegurando su seguimiento y mejora continua.
8. Finalmente, una vez estabilizados los indicadores de Calidad de Datos, se regresa al punto uno para identificar información que tenga impactos en el negocio y que sea necesario su medición y mejora.

martes, 16 de junio de 2009

6 Tips para nuestro presupuesto de Projecto BI

En ocasiones vemos como nuestro projecto de Data warehouse excede el presupuesto, nuestro
objetivo es indicar algunos tips que deberemos seguir al momento de presupuestar, está administración nos ayudará como administradores del proyecto a llevar los beneficios que la empresa espera.

1. Establecer claramente las metas, antes de el presupuesto.
No hay manera de conocer el costo si no sabemos lo que queremos construir, si dejamos que las metas sean muy amplias o generales la expectativas de nuestros usuarios pueden llevarnos a excedernos en el presupuesto o un final fatal para nuestro proyecto. La manera mas recomendable de tener las metas claras es ponerlas en papel y hacer que todos los involucrados estampen su firma, explicando detalladamente cuales seran los alcances limitaciones y costo.

2. Un vistazo a los datos y conversar con las personas que trabajan alrededor de ellos.
Es importante para el presupuesto saber que esta pasando en las fuentes de datos, en esta parte no interesa como está diseñado el modelo de datos, debemos dar mayor énfasis al valor de los datos por ejemplo si los campos mandatorios tienen inconsistencias o datos basura.
Podrían existir casos en que tendremos que ordenar esos datos debido a segmentaciones erroneas, datos mal imputados ,etc, en este paso consideraremos, o no, el uso de agregar a nuestro presupuesto una auditoría de datos. En este caso las personas que conocen o saben mas acerca de los datos toman un rol importante, pues ellos saben cuales son las falencias constantes.

3. Las pruebas de concepto.
Cuando se tienen iniciativas para desarrollos de Inteligencia de Negocios, una practica común es realizar pequeñas pruebas de concepto, que ayudan a determinar rápidamente los aspectos funcionales de los componentes que utilizaremos para nuestro proyecto BI, nuestros vendedores ofreceran las soluciones en cuanto a hardware, software e incluso una posible consultoría. Las pruebas de concepto deben ser exaustivas y lo mas cercanas al producto final, cual fácil y rápida es la implementación, cuánto requiere de hardware, aspectos de seguridad, como va a afectar la congestión de mi red, son temas que debemos tomar en cuenta.

4. Involucrar al equipo humano en el presupuesto del proyecto.
Como administradores del proyecto, toda la responsabilidad acerca de el presupuesto es nuestra, cuando hablamos de involucrar un equipo será estimar los recursos y tiempo para el proyecto, desde los que instalan y configurar el hardware y software hasta los tiempos que utilizaremos en el desarrollo.

5. Tener un plan de contingencia e incluirlo dentro de nuestro presupuesto.
Existen dos errores comunes en el presupuesto de BI, no tener un plan de contingencia o usarlo prematuramente. Las contingencias no son muy populares debido a que incrementa el costo del proyecto lo cual hace difícil su aprobación, o aparentan cierta debilidad o falta de estudio en el desarrollo del presupuesto. Todos sabemos que siempre existirán los imprevistos como problemas técnicos, desarrollo adicional en software por problemas de incompatibilidad o requerir mas hardware de lo previsto en caso de compartir recursos con otros proyectos.

Consideremos estos tips para empezar con buen pie nuestro proyecto de Inteligencia de Negocios.

miércoles, 10 de junio de 2009

Buscando el éxito en el cumplimiento de las metas asignadas

Si quereremos que nuestro equipo logre concluir con éxito las metas propuestas, debemos establecer con la ayuda de nuestro equipo, cuantificar o tangibilizar los rangos o números que mediran nuestros logros, algunos pasos son:

  • Definir las metas y criterios para evaluar nuestro avance.
  • Hacer que cada meta sea comprensible y medible.
1. Definir las metas, definir criterios para evaluar el avance de las metas y como cuantificaremos los criterios para evaluar el avance, para esto proponemos una reunión en base al siguiente cuestionario:
¿Cuáles son las metas que debemos lograr como equipo? Definir metas cuantificables que el equipo debe esforzarse en conseguir, como por ejemplo, satisfacción del cliente, crear nuevos productos, o incrementar las ventas, etc.

¿Cuáles son las tareas para cada miembro del equipo? Es muy importante asignar las responsabilidades a cada miembro obviamente si cada uno de los integrantes no cumple con sus tareas asignadas arriesga los objetivos y propositos del grupo.

Preparando metas claras y medibles
Para este paso nosotros y nuestro equipo debemos definir todos los terminos y medidas para cada una de las metas, por ejemplo si una meta es incrementar las ventas, entonces definiremos
el porcentaje que debemos cubrir en ventas para el presente mes.

Escuchando todas las ideas de nuestro equipo debemos dicernir las metas que no puedan ser medibles como por ejemplo el nivles de insastisfacción del clientes, si el cliente desconoce este termino o si las dudas persisten no servirá un trabajo de investigación.

Mejorar las metas es importante por muchas razones, una de ellas es que constantemente nuestro equipo estara enterado del grado de avance individual y colectivo lo cual alienta para seguir avanzando o estimula para no quedar resagados.