miércoles, 28 de febrero de 2018

DevOps

DevOps es posiblemente uno de los términos más utilizados en el ámbito del IT los últimos años. Es una palabra formada por las expresiones “development” y “operations”, que se refiere a una metodología de desarrollo de software basada en la colaboración y comunicación entre los desarrolladores y los profesionales de sistemas.

A grandes rasgos, implica generar estrategias a la medida para todo tipo de necesidades y empresas, para que el proceso se realice más rápidamente, con mejor calidad y a un costo menor. Es particularmente necesario en compañías con lanzamientos o actualizaciones muy frecuentes.

Es una nueva aproximación al desarrollo de software a la medida en la que programadores, técnicos de la información, representantes de ventas e incluso administradores de empresas pueden colaborar.
La idea general es llevar a cabo las distintas etapas de creación (programación, construcción, prueba, entrega, monitoreo, etc.) con mayor eficiencia y retroalimentación. Algunos de los beneficios de adoptar este tipo de sistema de trabajo son los siguientes:
  • Permite incorporar nuevas tecnologías de la información.
  • Da la posibilidad a desarrolladores de probar permanentemente sus trabajos.
  • Distintas áreas de una empresa colaboran de manera más cercana en el proyecto.

¿Qué problemas soluciona?

DevOps deja de lado sistemas menos colaborativos de desarrollo, en los que se aislaban los distintos procesos de creación e implementación de software. Una de las consecuencias de esto era la escasa sinergia y la competencia mal encaminada. Por ejemplo: un programador podía culpar a un tester de las fallas encontradas. En un entorno DevOps, en cambio, todos trabajan de manera más estrecha para encontrar soluciones rápidas.

Fases 

  • Desarrollo en cascada.
  • Integración continua.
  • Entrega continua.
  • Despliegue continuo.

Beneficios

Obtener a través de un servicios accesible, un análisis preliminar de la organización y la definición de una hoja de ruta para llevar a cabo un proceso de transformación hacia DevOps, llevando con si una serie de ventajas agiles, economicas y de calidad.

Cultura laboral

Además de ser una metodología, implica también una nueva cultura de trabajo que invita a aumentar la colaboración e implementar nuevas tecnologías, con el propósito de ofrecer soluciones orientadas a los usuarios.



Share:

Power BI

Power BI es un conjunto de aplicaciones de análisis de negocios que permite analizar datos y compartir información. Los paneles de Power BI ofrecen a los usuarios una vista de 360 grados con sus métricas más importantes en un mismo lugar. La información se actualiza en tiempo real y está disponible en todos sus dispositivos. Con un solo clic, los usuarios pueden explorar los datos subyacentes del panel mediante herramientas intuitivas que permiten obtener respuestas fácilmente. La creación de un panel es una sencilla operación gracias a los miles de conexiones a conocidas aplicaciones empresariales, que se completan con paneles pregenerados para ayudarle a ponerse en marcha rápidamente. Asimismo, puede acceder a sus datos e informes desde cualquier lugar con las aplicaciones móviles de Power BI Mobile, que se actualizan automáticamente con los cambios que se realizan en los datos.
Si es un analista de datos que proporciona informes y análisis a su organización, Power BI le permite liberar todo su potencial creativo y alcanzar la máxima productividad en sus tareas. Power BI Desktop es una herramienta de mashup de datos y creación de informes que incluye numerosas características.Combine datos de bases de datos, archivos y servicios web diversos con herramientas visuales que ayudan a comprender y corregir problemas de formato y calidad de los datos automáticamente. Con más de 20 objetos visuales integrados y una dinámica comunidad de visualizaciones personalizadas, podrá crear informes espectaculares que comuniquen su mensaje con la máxima eficacia. Con el servicio Power BI, publique informes con seguridad en su organización y configure la actualización de datos automática para que todo el mundo disponga de la información más reciente.
Power BI puede unificar todos los datos de su organización, ya sea en la nube o localmente. Con Power BI Gateways, puede conectar bases de datos SQL Server, modelos de Analysis Services y muchos otros orígenes de datos a los mismos paneles en Power BI. Si ya cuenta con portales o aplicaciones de creación de informes, inserte los informes y paneles de Power BI para disfrutar de una experiencia unificada.


Share:

martes, 27 de febrero de 2018

Design Thinking

¿Qué es el Design Thinking?
Es un método para generar ideas innovadoras que centra su eficacia en entender y dar solución a las necesidades reales de los usuarios. Proviene de la forma en la que trabajan los diseñadores de producto. De ahí su nombre, que en español se traduce de forma literal como "Pensamiento de Diseño", aunque nosotros preferimos hacerlo como "La forma en la que piensan los diseñadores".
Se empezó a desarrollar de forma teórica en la Universidad de Stanford en California (EEUU) a partir de los años 70, y su primera aplicabilidad con fines lucrativos como "Design Thinking" la llevó a cabo la consultoría de diseño IDEO, siendo hoy en día su principal precursora.

El Design Thinking en la práctica
Lejos de ser un concepto abstracto, el Design Thinking plantea una clara metodología que puede ser fácilmente implementada.
Aunque existen diferentes aproximaciones, generalmente abarca 5 pasos que definimos a continuación:

EMPATIZA:
El proceso de Design Thinking comienza con una profunda comprensión de las necesidades de los usuarios implicados en la solución que estemos desarrollando, y también de su entorno. Debemos ser capaces de ponernos en la piel de dichas personas para ser capaces de generar soluciones consecuentes con sus realidades.

DEFINE:
Durante la etapa de Definición, debemos cribar la información recopilada durante la fase de Empatía y quedarnos con lo que realmente aporta valor y nos lleva al alcance de nuevas perspectivas interesantes. Identificaremos problemas cuyas soluciones serán clave para la obtención de un resultado innovador.

IDEA:
La etapa de Ideación tiene como objetivo la generación de un sinfín de opciones. No debemos quedarnos con la primera idea que se nos ocurra. En esta fase, las actividades favorecen el pensamiento expansivo y debemos eliminar los juicios de valor. A veces, las ideas más estrambóticas son las que generan soluciones visionarias.

PROTOTIPA:
En la etapa de Prototipado volvemos las ideas realidad. Construir prototipos hace las ideas palpables y nos ayuda a visualizar las posibles soluciones, poniendo de manifiesto elementos que debemos mejorar o refinar antes de llegar al resultado final.

TESTEA:
Durante la fase de Testeo, probaremos nuestros prototipos con los usuarios implicados en la solución que estemos desarrollando. Esta fase es crucial, y nos ayudará a identificar mejoras significativas, fallos a resolver, posibles carencias. Durante esta fase evolucionaremos nuestra idea hasta convertirla en la solución que estábamos buscando.

¿Cómo Funciona?
El Design Thinking se desarrolla siguiendo un proceso en el que se ponen en valor los que nosotros consideramos sus 5 características diferenciales:

La generación de empatía: hay que entender los problemas, necesidades y deseos de los usuarios implicados en la solución que estamos buscando. Independientemente de qué estemos desarrollando, siempre conllevará la interacción con personas. Satisfacerlas es la clave de un resultado exitoso.

El trabajo en equipo, ya que pone en valor la capacidad de los individuos de aportar singularidad.

La generación de prototipos, ya que defiende que toda idea debe ser validada antes de asumirse como correcta. El Design Thinking propicia la identificación de fallos, para que cuando demos con la solución deseada, éstos ya se hayan solventado.
Todo ello bajo una atmósfera en la que se promueve lo lúdico. Se trata de disfrutar durante el proceso, y gracias a ello, llegar a un estado mental en el que demos rienda suelta a nuestro potencial.
Durante el proceso se desarrollan técnicas con un gran contenido visual y plástico. Esto hace que pongamos a trabajar tanto nuestra mente creativa como la analítica, dando como resultado soluciones innovadores y a la vez factibles.

Para comenzar a utilizar la metodología es muy importante preparar estos cuatro puntos:
Los materiales: Los usados en las técnicas de Design Thinking están al alcance de cualquiera. Hazte con rotuladores, hojas de papel, notas adhesivas, lápices de colores, pegamento y una cámara de fotos. Serán nuestras herramientas para promover la comunicación visual, que es fundamental en la metodología. Una imagen vale más que mil palabras. Y lo que es más importante: una imagen puede evocar un sinfín de ideas, ya que da pie a la interpretación.

El equipo: En el Design Thinking es imprescindible trabajar en equipo. Cuanto más diverso sea, mejor. Así podréis sumar puntos de vista, conocimientos y experiencia. Es imprescindible que haya al menos una persona con conocimientos sobre la metodología que sepa guiar el proceso. Y aunque debe tener un nucleo estable de personas que participen hasta el final, se podrán sumar otras dependiendo de la fase en la que nos encontremos. Por ejemplo, en la generación de ideas o en la prueba de prototipos.

El espacio: Durante el proceso necesitaréis un espacio de trabajo, aunque también desarrollaréis técnicas fuera de él. Buscad un sitio lo suficientemente amplio para trabajar en torno a una mesa, con paredes libres donde pegar la información que vayáis generando. Pensad en un lugar luminoso e inspirador, que propicie el trabajo distendido y os haga sentir cómodos y con un buen estado anímico. ¿Habéis oido hablar de las famosas oficinas de Google? Un espacio inspirador motiva la innovación.


La actitud: En el Design Thinking es imprescindible la actitud. Debemos adoptar la que se denomina "Actitud del Diseñador". Ser curiosos, y observadores. En cualquier detalle podemos encontrar información trascendente. Debemos ser empáticos, tanto con las personas como con sus circunstancias. Ser capaces de ponernos en la piel del otro. Cuestionarnos el Status Quo, y no cargar con prejuicios o asunciones. Ser optimistas y positivos. Perder el miedo a equivocarnos, y ver los errores como oportunidades.



Share:

SCRUM

Scrum  framework orientado a un marco de trabajo por el cual las personas pueden acometer problemas complejos adaptativos, a la vez que entregar productos del máximo valor posible productiva y creativamente, aunque surgió como modelo para el desarrollo de productos tecnológicos, también se emplea en entornos que trabajan con requisitos inestables y que requieren rapidez y flexibilidad; situaciones frecuentes en el desarrollo de determinados sistemas de software.

ROLES SCRUM
Product Owner
Se enfoca en buscar obtener el mayor retorno de la inversión de las actividades de desarrollo.
Responsable de la visión del producto
Re-prioriza los requerimientos teniendo en cuenta los planes de lanzamiento.
Responsable de obtener respuestas de los programadores.
Acepta o rechaza cada entregable.
Decide si se da inicio a la siguiente iteración.

Developer Team
Debe integrarse por un equipo multidisciplinario (analistas, diseñadores, testers, etc).
Es autónomo en la toma de decisión de cómo implementar las funcionalidades.
Muy colaborativo, multidisciplinario y autogestionado.
Reflexiona diariamente para mejorar.
Estima y planifica el sprint en proceso.
Una vez comenzado el proyecto se busca dentro de lo posible no dividir o quitar elementos.
Diversas anécdotas establecen que los equipos de mayor éxito son aquellos equipos que se encuentran físicamente en el mismo cuarto.
Por estándar, debe estar constituido por un número de 3 a 9 miembros.

Scrum Master
Facilitador del proceso scrum.
Figura clave para conseguir los beneficios de Scrum
Apoya en quitar obstáculos diversos
Promueve el uso de prácticas ingenieriles de desarrollo.
Rol de apoyo al Product Owner y Equipo de Desarrollo.
Asegura que las prácticas ágiles funcionen.
resuelve impedimentos que no logren resolver el equipo mismo

ARTEFACTOS DE SCRUM  
Dentro de la metodología SCRUM existen diversas herramientas o artefactos que son clave para tener nuestros proyectos de desarrollo de software organizados. Cada herramienta será utilizada durante nuestros “Sprints” para poder panificar y controlar las diversas actividades y juntas.

Product Backlog
Representa el universo de requerimientos del sistema (conjunto de PBIs).
Ordenados por prioridad.
Cualquier stakeholder puede agregar o quitar requerimientos a ésta lista.

Product Backlog Item (PBI)
Requerimiento único del negocio
Generalmente escrito en forma de historia.
No debe ser escrito usando tecnicismos.
Cada PBI, debe tener una estimación en tiempo y cantidad de recursos, los cuales, son determinados por el equipo de trabajo.

Sprint Backlog
Conjunto de tareas que se realizarán durante el sprint.
Se negocian durante la junta de planeación del sprint.
Las tareas no se modifican o agregan durante la ejecución del sprint
Único tema de conversación durante las juntas scrum diarias.

Sprint Task
Por cada PBI seleccionado en el sprint, se generará un número N de tareas.
Debe representar 1 día o menos de trabajo.
Conforme se vayan completando las tareas, los miembros del equipo son responsables de seleccionar las tareas pendientes.
Es posible que la cantidad de tareas varíe durante la ejecución del sprint.

Product Increment
Al final de cada Sprint, el equipo de desarrollo es responsable de presentar un incremento de producto potencialmente entregable. El Incremento es la suma de todos los elementos de la Lista de Producto completados durante un Sprint y el valor de los incrementos de todos los Sprints anteriores.

Sprint Burndown Chart
Gráfica utilizada para representar la cantidad de horas que se van consumiendo durante la semana.
La gráfica/reporte debe ser descontinuada si provoca intervención externa que evita que el equipo sea autónomo o si provoca falta de colaboración entre los miembros del equipo.

Product Release Burndown
Registra las horas consumidas del proyecto.
Permite poder hacer estimaciones sobre la cantidad de sprints necesarios para que se complete el trabajo.

EVENTOS DE SCRUM 
Reunión de Planificación del Sprint (Sprint Planning Meeting)
Tiene como finalidad planear el trabajo a realizar durante un Sprint, el cual es creado por el trabajo de todo el equipo Scrum. Su duración máxima es de 8 horas para un sprint de 30 días o menos si la duración del sprint es menor. 

Sprint
Nombre que recibe cada iteración de desarrollo. Es el núcleo central que genera el pulso de avance por tiempos prefijados (time boxing). 30 días 24 horas 

Scrum Diario (Daly Scrum Meeting)
Es una reunión restringida a un tiempo máximo de 15 minutos en el cual el equipo de desarrollo realiza un engranaje a sus actividades y crea un plan para las siguientes 24 horas. 24 horas 

Refinamiento del Script 
Acto de añadir detalle , estimaciones y orden en los elementos del product backlog.

Revisión de Sprint (Sprint Review Meeting) 
Consiste en una reunión informal no superior a 4 horas para el Sprint de un mes. Durante esta revisión, el Equipo Scrum y los Stakeholders analizan acerca de lo que se ha hecho durante el Sprint. 

Retrospectiva de Sprint (Sprint Retrospective)

Es la es una oportunidad para el Equipo Scrum de examinarse a sí mismo, y crear un plan de mejoras para el siguiente Sprint. Es un punto para determinar que se hizo bien y que se puede mejorar. 



Share:

Seguidores

EReyes - IMASDI. Con tecnología de Blogger.