SG #50 https://sg.com.mx/ en Sobre los pasos de Donald Knuth https://sg.com.mx/articulos/sobre-los-pasos-de-donald-knuth <span class="field field--name-title field--type-string field--label-hidden">Sobre los pasos de Donald Knuth</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/images/donald-knuth.jpg" width="650" height="432" alt="" loading="lazy" typeof="foaf:Image" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 18:03</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/secci%C3%B3n-revista/programar-es-un-estilo-vida" hreflang="und">Programar es un Estilo de Vida</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores/gunnar-wolf" hreflang="und">Gunnar Wolf</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h4 style="text-align: right;">"La ciencia es el conocimiento que comprendemos tan bien que podemos enseñárselo incluso a una computadora; si no entendemos cabalmente algo, manejarlo es un arte<br /> (…)<br /> De tal suerte, debemos intentar continuamente transformar toda arte en una ciencia: Al hacerlo, lograremos su avance como arte."</h4> <p style="text-align: right;">– Donald Knuth, discurso de aceptación del Premio Turing (1974)</p> <p style="text-align: right;">&nbsp;</p> <p>En esta ocasión,&nbsp;dedicaré mi columna a una persona: Donald Erwin Knuth, alrededor de quien mi atención ha estado volando a últimas fechas, y a quien debo parte importante de mi elección de carrera y desarrollo profesional.</p> <p>Tenemos el privilegio de trabajar en un campo suficientemente joven como para ser contemporáneos con quienes establecieron su mismísimo significado. Gente que viene de formarse en campos disciplinarios disímiles y fue convergiendo en el naciente campo de la computación, sea por la vía de las ciencias duras, la ingeniería, la administración o el arte.</p> <p>El árbol genealógico disciplinar de la computación está fuertemente dominado, claro, por los matemáticos. En muchas universidades, las principales carreras relacionadas siguen siendo parte de los departamentos de matemáticas, o (en el caso de las ingenierías) requieren un estudio de un par de años de principios matemáticos apenas para “calentar motores” e iniciar con las materias específicas del ramo.</p> <p>La computación también se caracteriza por ser muy permeable a gente que desarrolló sus competencias profesionales de manera no formal. ¿Quién de ustedes no ha tenido el gusto de trabajar con colegas cuyo currículum formal parecía apuntar hacia futuros muy distintos? En lo particular, mis colegas y maestros incluyen químicos, músicos, físicos, psicólogos, matemáticos, sociólogos, y un largo etcétera (donde sin duda entramos los autodidactas puros, quienes no seguimos una carrera universitaria formal). Todos ellos comparten un punto en su historia profesional personal: reconocer la ventaja de automatizar procesos arbitrarios de una forma repetible, controlable, monitoreable. Esto es, darse cuenta cómo para prácticamente cualquier ámbito profesional, puede ser útil aprender a programar (y posteriormente, claro está, entrar al interminable laberinto fractal que supone afinar nuestras habilidades como programador).</p> <p>Pero muy poca gente puede compararse siquiera con Donald Knuth. Él es uno de los grandes pioneros de prácticamente todas las disciplinas relacionadas con la computación, una suerte de Da Vinci de los siglos XX y XXI.</p> <p>Y tal como Da Vinci, Knuth probablemente deba ser visto como artista en primer término, dado que todo lo demás es mera consecuencia.</p> <h4 style="text-align: right;">"Hemos visto que la programación de computadoras es un arte,</h4> <h4 style="text-align: right;">puesto que aplica el conocimiento acumulado al mundo,</h4> <h4 style="text-align: right;">porque requiere de habilidad y de ingenuidad,</h4> <h4 style="text-align: right;">y especialmente porque puede producir objetos de gran belleza.</h4> <h4 style="text-align: right;">Un programador que subconscientemente se ve a sí mismo como artista disfrutará de lo que hace y lo hará mejor."</h4> <p style="text-align: right;">– Donald Knuth, discurso de aceptación del Premio Turing (1974)</p> <p>El trabajo de Knuth parte de un disfrute estético, no únicamente funcional. Un enamoramiento con los diferentes niveles de lo que su código alcanza. Y eso explica, a distintos niveles de abstracción, el camino por el que llevó a su carrera. Citemos algunos ejemplos.</p> <p>En 1962, Knuth comenzó a escribir lo que esperaba que fuera un simple libro de texto para la enseñanza de algoritmos —The art of computer programming. Cuatro años más tarde, siendo aún un alumno de posgrado, entregó al editor un primer borrador: más de 3,000 páginas manuscritas. Pero siendo un perfeccionista, sería este libro más lo que guiaría prácticamente la totalidad de su vida académica: pasados más de 50 años, el libro (convertido en una serie de volúmenes de referencia) sigue en desarrollo.</p> <p>Knuth siguió desarrollando y embelleciendo su texto, preparándolo para la impresión. La ancestral técnica de impresión por tipos móviles, que incluía el fundido de piezas especiales para generar las complejas fórmulas requeridas por las matemáticas, comenzó a encarecer y quedar fuera del alcance para su proyecto.</p> <p>Conforme avanzaba la tecnología, resultó natural que el libro sería formado por computadora… Pero las herramientas disponibles a principios y mediados de 1970 sencillamente no estaban a la altura estética de una obra con un alta carga de símbolos matemáticos, estructurada con distintos niveles de seccionamiento, cargadas de referencias internas y externas, y Knuth hizo lo que solo un verdadero hacker haría: diseñar su propio sistema de edición de texto, TeX.1 Liberó la primera versión en 1978, y la última versión mayor que introducía cambios no-compatibles, 3.0, en 1989.</p> <p>Al día de hoy, Knuth ha terminado formalmente tres volúmenes (de siete que, estima, cubren suficientemente bien el campo) y avanzado fuertemente en el cuarto, que va siendo publicado por fascículos.</p> <p>Me permito mencionar, como un punto muy lateral y con un dejo de soberbia en el tono, que TeX es uno de los puntos definitorios de mi vida: es el primer programa de cómputo que aprendí a usar. Knuth visitó el IIMAS (UNAM), donde con su ayuda se instaló una versión temprana de TeX. Y al día de hoy agradezco a diario a mi padre, investigador en física, las muchas noches de viernes y sábado que me llevó, aún niño, a “jugar” a la sala de terminales, donde hice mis pininos en TeX en 1983. Para 1985, mi padre y un grupo de colegas editaron empleando dicho sistema el Manual de Lenguaje y Tipografía Científica en Castellano2, libro que recomiendo a todo interesado en la escritura técnica formal y en el correcto uso de nuestro idioma. Hasta donde sé, es la tercera instalación de TeX en el mundo. Si comparan el libro referido con prácticamente cualquier obra impresa en esos años notarán, a pesar de sus imperfecciones técnicas en comparación de nuestra era de super-altas resoluciones, una enorme diferencia cualitativa.</p> <p>Knuth se comprometió a que, después de la versión 3.0, la interfaz de TeX no tendría ningún cambio que rompiera la compatibilidad; todo texto debería resultar idéntico sin importar en qué equipo de cómputo se preparara. Como un guiño de humor hacker, todas las versiones menores subsecuentes se irían acercando a la perfección simbolizada por el número π; la versión actual (liberada en enero de 2014) es la 3.14159265. Knuth, quien hoy tiene 78 años y aunque formalmente retirado sigue trabajando para terminar su principal obra a la cual volveremos, autorizó que post-mortem se efectúe un último cambio a TeX, congelando para siempre su versión en π.</p> <p>TeX, de la mano del conjunto de macros LaTeX diseñado por Leslie Lamport principalmente entre 1985 y 1995, se convirtió en el sistema de elección para la edición de textos científicos; prácticamente todas las revistas académicas de las ciencias exactas e ingenierías lo emplean como su principal formato para la entrega de originales.</p> <h4 style="text-align: right;">"Cambiemos nuestra actitud tradicional respecto a la construcción de los programas:</h4> <h4 style="text-align: right;">en vez de imaginar que nuestra tarea principal es darle las instrucciones de qué hacer a una computadora,</h4> <h4 style="text-align: right;">concentrémonos en explicarle a los humanos lo que queremos que la computadora haga."</h4> <p style="text-align: right;">– Donald Knuth, Literate programming, 1984</p> <p>Mencionábamos que Knuth apunta a un disfrute estético a diferentes niveles de abstracción. Agreguemos otro nivel más: el paradigma de programación que impulsa; es decir, la computación literaria.</p> <p>Este paradigma propone que un programa debe ser escrito cual si fuera (dependiendo de su complejidad) como un libro, tratado o artículo estructurado para su lectura humana, en el cual el código fuera el material que acompaña a la exposición lógica. Por medio de un preprocesador, el documento maestro puede exportarse tanto a una versión imprimible como a una compilable. Pueden consultar un sistema de preparación de documentos para documentación literaria en la página de CWEB3 si bien es cierto que no todo programa puede verse beneficiado por esta lógica, la claridad resultante es notoria.</p> <p>Knuth es, pues, una inspiración en lo estético y en lo funcional, en el purismo matemático y en la limpieza de la implementación. Si acaso, podría criticársele la falta de pragmatismo ante su obsesión por la perfección; sus elevados estándares harían enfurecer a cualquier project manager. Pero sus contribuciones al avance de nuestra disciplina han sido, naturalmente, correspondientemente brillantes.</p> <p>Espero, con este breve y desordenado texto, dar a conocer algo más de la obra de Knuth, para que inspire a nuestros lectores. Autores de su talla conjuntan ciencia y arte. El tezón para realizar proyectos de décadas de envergadura hace posible avances que otros descartarían por impracticables. Y la apreciación por la belleza lleva a un disfrute en el ejercicio diario de nuestras tareas.</p> <p>¡Larga vida al maestro Knuth!</p> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Sat, 05 Mar 2016 00:03:32 +0000 sg 6275 at https://sg.com.mx Cómo Iniciar Tu Carrera en UX Design https://sg.com.mx/revista/50/como-iniciar-tu-carrera-ux-design <span class="field field--name-title field--type-string field--label-hidden">Cómo Iniciar Tu Carrera en UX Design</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/images/ux_0.jpg" width="2362" height="1577" alt="" loading="lazy" typeof="foaf:Image" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 17:07</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/buzz/seccion-revista/user-experience" hreflang="und">User eXperience</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores/misael-leon" hreflang="und">Misael León</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Aunque el User Experience (UX)&nbsp;se ha convertido en un término popular en nuestra industria, siento que todavía hay confusión sobre la verdadera aportación que un UX designer puede hacer a un equipo. Esto ocasiona que diseñadores gráficos y web designers que desean hacer una transición a UX Designers no tengan claro cómo hacerlo. La abundante información que existe en internet termina creando más confusión todavía. ¿Por dónde comenzar?</p><p>En este artículo intento esclarecer la confusión y darte algunas recomendaciones básicas para iniciar tu propia carrera en UX.</p><h3>Un UX Designer es un facilitador</h3><p>Básicamente un UX Designer es el intermediario entre el usuario y la organización. Su responsabilidad es facilitar que todos los involucrados en el desarrollo de producto o servicio entiendan el problema real que se está resolviendo.</p><p>Para esto es necesario conocer primero la audiencia, su estilo de vida, sus frustraciones, sus hábitos de tecnología, y el contexto en el que el producto será utilizado. El UX Designer organiza actividades de investigación para generar este conocimiento. Pero no lo hace en solitario, debe incluir al equipo desde el inicio.</p><p>El siguiente paso es generar una idea básica y un prototipo inicial, y validarlo con usuarios para asegurar que la solución propuesta es la ideal.</p><p>Los prototipos pueden variar en fidelidad desde hechos a papel y lápiz a hasta prototipos de alta fidelidad. El artículo “4 Actividades UX Para Resolver Controversias de Desarrollo”[1] provee una guía para determinar cuándo usar cada nivel de fidelidad y qué herramienta utilizar. Cabe mencionar que el UX Designer no necesariamente produce el diseño final de la interface visual, ese es el trabajo de un Visual Designer si lo existe. De otra manera puede generar un estilo básico y los wireframes correspondientes para guiar al equipo a través de la evolución de la solución.</p><h3>Diseña tu propia carrera</h3><p>Todos los UX Designers que conozco hemos pasado por la misma situación. Todos hemos sentido la ansiedad que provoca cuestionar nuestro propio proceso de diseño. De repente ya no es suficiente crear una pieza visual que sea atractiva y que cumpla con los requerimientos que te fueron dados. Uno comienza a hacerse preguntas.</p><p>Si te está consumiendo la angustia de no saber si tu solución es realmente efectiva, creo que estás listo para hacer la transición. Un UX Designer crea la mejor solución posible pero también levanta los requerimientos, entiende el problema y valida la solución.</p><p>Me gusta aplicar esta analogía: Si quieren que prepares la comida, pide que te dejen escoger los ingredientes e ir a comprarlos también.</p><p>No tengas miedo a dar el salto. No significa que ya no utilizarás todo lo aprendido en tu carrera de diseñador. Significa que tendrás a tu disposición una serie de metodologías de investigación e ideación de soluciones. Serás como una navaja suiza del diseño. Recuerda que tienes más control sobre tu propia carrera profesional de lo que crees. Es cuestión que te decidas.</p><p>Ok, ¿pero cómo hacerlo?</p><h3>Hazte visible en internet</h3><p>Comienza a seguir UX Designers nacionales y de otros países. Hay también distintos grupos que constantemente comparten artículos y literatura útil. Aquí algunas referencias:</p><ul><li>UX Booth -&nbsp;<a>http://www.uxbooth.com</a></li><li>UX Matters -&nbsp;<a>http://www.uxmatters.com</a></li><li>UX Magazine -&nbsp;<a>http://uxmag.com</a></li><li>UX Pin -&nbsp;<a>https://twitter.com/uxpin</a></li><li>UX Links -&nbsp;<a>https://twitter.com/uxlinks</a></li><li>UX LLC -&nbsp;<a>https://twitter.com/ux</a></li><li>Usability Tools -&nbsp;<a>https://twitter.com/UsabilityTools</a></li><li>Ideo -&nbsp;<a>https://twitter.com/ideo</a></li><li>User Interface Engineering -&nbsp;<a>http://www.uie.com</a></li><li>Norman Nielsen Group -&nbsp;<a>http://www.nngroup.com/articles</a></li><li>Nearsoft -&nbsp;<a>http://nearsoft.com/blog/category/design</a>-ux</li><li>Jared Spool -&nbsp;<a>https://twitter.com/jmspool</a></li><li>Susan Weinschenk -&nbsp;<a>https://twitter.com/thebrainlady</a></li><li>Steven Hoober -&nbsp;<a>https://twitter.com/shoobe01</a></li><li>Laura Klein -&nbsp;<a>https://twitter.com/lauraklein</a></li></ul><p>Establece contacto con tantos como puedas. Puedes incluso pedir consejo en algún proyecto actual en el que trabajes. Te aseguro que la mayoría estará gustoso de ayudarte. En realidad todos los UX Designers seguimos aprendiendo y todos hemos pedido ayuda en alguna ocasión. Participa en la comunidad UX, ya sea en eventos locales u online. Si quieres convertirte en uno debes estar donde ellos están. Los eventos de tecnología y de aceleración de startups también son una buena fuente de contactos.</p><h3>Busca un mentor</h3><p>Reconoce que no eres el experto y que está bien que no lo sepas todo. Es la única manera de seguir aprendiendo. Es altamente recomendable que consigas que alguien te guíe en el camino, un UX Designer experimentado y que esté dispuesto a invertir su tiempo en ti.</p><p>El rasgo de personalidad que buscarán en ti es básicamente la curiosidad. No tienes que hacer nada para demostrarla, él o ella se darán cuenta de inmediato.</p><p>Este mentor te proveerá literatura útil, autores, libros, pláticas online, referencias, etc. Pero lo hará de manera ordenada dependiendo de tus inquietudes reales.</p><p>Descubrirás con el tiempo que el campo de UX es también muy amplio. Ahí creo que radica la parálisis inicial. En la abundante información y no saber por dónde comenzar. Un mentor te ayudará a disminuir esa ansiedad.</p><h3>Sé autodidacta</h3><p>En una industria que está en constante cambio es primordial estar al tanto de las tendencias. Tus únicas opciones son leer y hacer.</p><p>Cinco libros que te ayudarán a poner tu cabeza en el lugar correcto:</p><ol><li>The Design of Everyday Things, de Don Norman.</li><li>The Elements of User Experience, de Jesse James Garrett.</li><li>Change By Design, de Tim Brown.</li><li>Don’t Make Me Think, de Steve Krug.</li><li>100 Things Every Designer Needs to Know About People, de Susan Weinschenk.</li></ol><p>Al final lo importante es que des rienda suelta a tu curiosidad. Irás descubriendo pistas. Síguelas y escucha a tu mentor.</p><p>Es altamente recomendable que lo que vayas aprendiendo en teoría también lo apliques en la práctica. Puede ser en algún proyecto personal en el que estés trabajando actualmente. Por ejemplo, jala a tus conocidos y realiza con ellos una prueba de usabilidad o sal a la calle a platicar con gente que podría utilizar tu producto. Valida tus supuestos con gente real.</p><p>Deja tu zona de confort, ahí no sucede nada.</p><h3>No te rindas</h3><p>Es probable que no consigas un trabajo en UX en tu primera aplicación. Todas las organizaciones quieren a alguien que llegue directamente a resolver problemas, para esto necesitas experiencia.</p><p>¿Cómo conseguirla si nadie te la oportunidad? Es la pregunta del millón y no tiene respuesta única. Pero eso no puede detenerte. Lee libros, artículos y publicaciones académicas, experimenta con proyectos personales, asiste a eventos, toma entrenamientos, consigue un mentor, entra a comunidades.</p><p>La idea básica es que inicies con algo. Inicia hoy.</p><p>Cada conocimiento nuevo que adquieras aumentará el valor de tu carrera. Tu futuro es algo que no puedes pasar por alto.</p><p>Referencias</p><ol><li>M. León. “4 Actividades UX para Resolver Controversias de Desarrollo. SG Software Guru #49.&nbsp;<a>http://swgu.ru/rc</a></li><li>H. Loranger. “UX Without User Research Is Not UX“. Nielsen Norman Group.<br /><a>http://swgu.ru/rd</a></li></ol></div> <div class="text-formatted field field--name-field-autor-bio field--type-text-long field--label-above"> <div class="field__label">Bio</div> <div class="field__item"><p>Misael León (@misaello) es UX Design Researcher en Nearsoft, Inc. una empresa de cultura democrática que desarrolla software y produce clientes felices. Es colaborador del UX Clinic, una iniciativa dedicada a difundir las mejores prácticas de UX. Es fanático de los libros, el cine, los chocolates. Promotor de la filosofía del asombro.</p></div> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 23:07:40 +0000 sg 6274 at https://sg.com.mx https://sg.com.mx/revista/50/como-iniciar-tu-carrera-ux-design#comments Resolviendo Dilemas en un Pipeline de Data Science https://sg.com.mx/revista/50/resolviendo-dilemas-un-pipeline-data-science <span class="field field--name-title field--type-string field--label-hidden">Resolviendo Dilemas en un Pipeline de Data Science</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/images/datascience.jpg" width="1024" height="768" alt="" loading="lazy" typeof="foaf:Image" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 17:01</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/seccion-revista/gestion-datos" hreflang="und">Gestión de datos</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores-sg/blanca-vargas" hreflang="und">Blanca Vargas</a></li> <li><a href="/buzz/autores-sg/andres-arteaga" hreflang="und">Andrés Arteaga</a></li> <li><a href="/buzz/autores-sg/eduardo-flores" hreflang="und">Eduardo Flores</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Al iniciar un proyecto de Data Science&nbsp;se tienen que tomar diversas decisiones para que cada etapa del flujo de trabajo o pipeline cumpla con las metas especificadas. El pipeline que definamos depende de factores tales como la experiencia que se tiene con las plataformas, herramientas, lenguajes o algoritmos específicos así como de la investigación previa y referencias externas. Lo ideal es lograr un equilibrio entre la rapidez que nos brinda el uso de los elementos conocidos y la incorporación de herramientas y conocimiento nuevo que permita lograr resultados de forma más rápida y eficiente. En este artículo abordaremos algunos dilemas a los que generalmente nos enfrentamos en la definición de un pipeline y en nuestra experiencia, qué aspectos debemos considerar para tomar la mejor decisión.</p><p>Aunque las etapas de un pipeline están muy definidas, todas están ligadas a un objetivo. Y es precisamente la ausencia de un objetivo claro una de las principales causas de los problemas. Para definir ese objetivo debemos cuestionarnos aspectos como: ¿cuál es el resultado tangible esperado del proyecto?, ¿cuáles son los beneficios que generaría el proyecto en caso de ser exitoso?, ¿a quién van dirigidos los resultados? La claridad con la que podamos responder a estas preguntas es fundamental para reducir los contratiempos que invariablemente surgirán.</p><p>A lo largo del proyecto nos encontraremos con diversas disyuntivas que nos obligarán a tomar decisiones. Es conveniente reflexionar antes de tomar una decisión impulsiva que haga que ese proyecto fascinante, divertido y retador se transforme en nuestra peor némesis. A continuación se describen algunos dilemas comunes a los que nos hemos enfrentado y que se asocian a las diversas etapas de un pipeline.</p><h3>Adquisición</h3><p>Cuando inicia un proyecto, uno de los primeros puntos a tratar es, ¿qué información necesitamos para lograr los mejores resultados? En las reuniones iniciales generalmente se hacen acuerdos sobre la información a utilizar y sus respectivas fuentes. Sin embargo, a medida que transcurren los días no es raro que se presenten las siguientes situaciones:</p><p>• Nos damos cuenta de que no tenemos toda la información que se definió en un principio.</p><p>• Necesitamos información adicional.</p><p>• No tenemos acceso a todas las fuentes.</p><p>Es recomendable resolver estas cuestiones lo antes posible. Aunque sabemos que nos encontramos en un proceso iterativo en el cual es posible que hagamos pruebas con datos diferentes a los originales, es mejor tener un conjunto de datos base.</p><p>Una situación común es que cuando el proyecto ya se encuentra avanzado se descubren nuevos datos que podrían ser útiles al modelo. Incorporar nuevos datos podría mejorar el resultado pero retrasaría el tiempo de entrega, ¿qué hacer? Esta es una decisión de gestión de proyecto más que nada y podrá variar dependiendo del contexto particular. Sin embargo, nuestra recomendación es guiarse por los lineamientos del desarrollo iterativo, terminando la iteración actual con los datos que se tenían contemplados al inicio de dicha iteración, y evaluar si tiene sentido incorporar los nuevos datos en iteraciones posteriores. Siempre debemos tener en cuenta que al final del proyecto es preferible tener un modelo útil aunque lleve más tiempo, que terminar a tiempo con un modelo inútil.</p><p>No tengamos falsas expectativas, el caso ideal en el cual tenemos desde el inicio todos los datos perfectos y completos es solamente una ilusión.</p><h3>Exploración y entendimiento</h3><p>Cuando existen tiempos reducidos podemos tener la tentación de omitir pasos, especialmente en la fase de exploración. A fin de cuentas, confiamos en las fuentes, ¿qué podría pasar? Aun cuando tengamos datos muy limpios, es necesario asegurarse de que no contienen información que nos pueda llevar a resultados erróneos. Por ejemplo, podemos encontrar rangos de edades irreales y ciudades que no existen, entre otros posibles hallazgos que si no los notamos a tiempo nos harán padecer en fases posteriores. Llevar a cabo la exploración no debe ser un dilema, debe ser un paso riguroso antes de seguir con el proyecto.</p><p>Pero explorar los datos no lo es todo. Debemos estar seguros de que entendemos cada variable o atributo. Si contamos con un diccionario de datos la labor se facilita pero si no contamos con él, vale la pena no suponer nada e investigar con el administrador de base de datos de su preferencia sobre el significado de los datos. No hacerlo puede tener un costo elevado.</p><h3>Pre-proceso, transformación, manipulación</h3><p>Esta fase requiere que tomemos decisiones con respecto a las transformaciones que nos convienen para obtener los mejores resultados. Es necesario conocer bien los datos: ¿de qué tipo son?, ¿qué efecto tienen estos tipos en las transformaciones? Existen detalles sutiles que no deben dejarse para después. No es lo mismo una variable tipo fecha que una variable numérica; no es lo mismo una variable tipo factor que una tipo texto. Aunque visualmente se vean iguales, si no damos a las variables el formato adecuado podemos consumir tiempo valioso.</p><p>En cuanto a los valores atípicos (outliers), también nos enfrentamos a dilemas: ¿los quitamos?, ¿los dejamos?, ¿cuáles son las consecuencias de estas decisiones? Como consideraciones generales podemos decir que si los valores atípicos tienen significado, no se deben eliminar. Si por el contrario, valores atípicos distorsionan la realidad entonces deben eliminarse. Imaginemos que estamos obteniendo perfiles de usuario para ciertos productos. Si introducimos edades negativas o mayores de 200 años los modelos resultantes mostrarán patrones de usuarios inexistentes. Por supuesto, hay diversas situaciones y tratamientos que pueden darse a valores atípicos. El punto clave es que no debe restarse importancia a las decisiones sobre estos valores.</p><h3>Análisis y modelado</h3><p>Ya que nuestros datos están preparados y listos, la pregunta es ¿qué tipo de análisis necesito? Esto depende fundamentalmente del objetivo del análisis. Existen infinidad de técnicas y algoritmos que pueden ser útiles ya sea como base o bien podemos diseñar un nuevo algoritmo ad-hoc a nuestro problema. En cualquier caso, la decisión de la técnica o algoritmo a aplicar tiene su origen en el objetivo. Y si no tenemos claro el objetivo es muy difícil esperar tener buenos resultados.</p><p>Un problema frecuente es que podemos caer en la tentación de querer aplicar algoritmos o técnicas emergentes y creer que si no lo hacemos no somos competitivos. Por ejemplo, ¿de verdad Deep Learning es la solución a nuestro problema? Tenemos que encontrar argumentos sólidos para tomar decisiones de este tipo. Una estrategia útil es empezar por la solución más simple e ir incrementando el nivel de sofisticación de la solución en la medida que lo requiera el proyecto, no en la medida de nuestro ego.</p><h3>Comunicación y operación</h3><p>Y llegamos a la fase en la que ya tenemos resultados buenos. ¡Si, lo logramos! Después de varias iteraciones en las fases anteriores hemos llegado a la parte de presentar los resultados. La interrogante es: ¿cómo presentarlos?, la respuesta depende de diversos factores: ¿el resultado es un reporte?, ¿es un producto?, ¿es un servicio?, ¿es un dashboard?, ¿es un resultado final o una iteración?, ¿para quién son?</p><p>Aunque estemos muy felices con nuestros resultados, una presentación inadecuada puede ser desastrosa si no mostramos los aspectos de interés para cada público. Es conveniente elaborar dos presentaciones base:</p><p>• Presentación técnica: debe incluir detalles de análisis e implementación para que sea reproducible. Debe incluir referencias a los repositorios donde se ubica el proyecto para que los interesados puedan repetir los experimentos y análisis. En este tipo de presentación es importante contestar la pregunta: ¿cómo se obtuvieron los resultados?</p><p>• Presentación no técnica: debe omitir detalles de análisis e implementación e incluir resultados duros y cómo aplicar esos resultados para lograr el objetivo del negocio. Este objetivo puede traducirse en beneficios económicos, incremento en ventas, campañas de marketing, incremento en número de usuarios, entre otros. La pregunta a responder es: ¿qué beneficio se obtiene con esos resultados?. En este tipo de presentación se debe ser cuidadoso en no utilizar tecnicismos a menos que sea estrictamente necesario. Es nuestra responsabilidad describir las cosas de modo que esté al alcance de profesionales de diversas áreas. Y eso no es una tarea trivial.</p><h3>Dilemas técnicos</h3><p>La implementación de un producto basado en análisis de datos masivos provoca retos interesantes a resolver dado que los sistemas productivos generalmente no están diseñados para el tipo de carga que implica. Por ejemplo, una base de datos que soporta una aplicación web de alta escalabilidad puede responder adecuadamente cuando se tienen millones de peticiones concurrentes pero cuando se necesita consultar para análisis de datos o para un producto basado en Big Data puede poner en riesgo los sistemas productivos. ¿Qué hacer entonces?, ¿Implementar una solución batch/offline sacrificando posible utilidad de una solución en tiempo real para el usuario?, ¿replicar la base de datos a otra de sólo lectura o con fines exclusivos para el producto de data science?, ¿pagar una nueva instancia en caso de bases de datos comerciales o escoger una alternativa abierta? ¿exportar simplemente a archivos de texto y dejar que los scripts hagan el trabajo pesado? ¿utilizar cómputo en la nube para el procesamiento, y si es así, cómo hacer segura la información privada que saldrá de nuestros servidores?</p><p>Durante la fase de diseño del sistema, uno de los primeros dilemas que se pueden encontrar en las implementaciones es el tipo de arquitectura en la que va a correr. En mayor parte se cuenta con dos opciones: utilizar la infraestructura local o utilizar las diferentes servicios que ofrecen procesamiento en la nube. En este caso es muy importante conocer las ventajas y desventajas que cada una de estas implementaciones ofrece, además de las necesidades propias del sistema a implementar y que pueden afectar en menor o mayor medida a la decisión que vamos a tomar.</p><p>Lo primero que tenemos que tomar en cuenta es la capacidad de procesamiento necesaria para la implementación de nuestra solución de data science, de esta manera podemos estimar si los servidores propios son lo suficientemente capaces para soportar la carga extra que vamos a agregar al nivel de trabajo diario. En caso de que el procesamiento no sea factor, se debe de tomar en cuenta la cuestión monetaria ya que las soluciones en la nube involucran un gasto que comienza siendo moderado pero rápidamente puede llegar a cifras altas dependiendo de las instancias que necesitemos crear y el tiempo que las tengamos operando.</p><p>Además de las barreras económicas y de procesamiento, existen requerimientos específicos del sistema. En este caso si se elige una implementación de cloud, es necesario prever la integración necesaria con el sistema que tenemos local. Necesitamos saber si es necesaria la replicación de información almacenada en bases de datos locales y que se tendrá que estar replicando de manera constante a la solución en la nube, además de otros aspectos como la cantidad de información que será transferida desde el ambiente local a la nube y viceversa.</p><p>Si por otra parte se opta por una implementación local, es necesario prever desde un principio la necesidad futura ya que si es necesario escalar la implementación y no se cuenta con la infraestructura necesaria para hacerlo es posible que se requiera una reimplementación del sistema. Esta decisión puede llevar al consumo de tiempo y recursos que se pudieran haber invertido en otro tipo de solución.</p><h3>Conclusión</h3><p>Un proyecto de data science representa un reto en distintos niveles y los cuestionamientos son inevitables en el transcurso de las diversas etapas del mismo. Sin embargo, por sobre cualquier aspecto técnico está el factor humano. La colaboración, capacidad, motivación y buena disposición de los miembros del equipo son los factores clave que determinarán si el proyecto tendrá éxito o no.</p></div> <div class="text-formatted field field--name-field-autor-bio field--type-text-long field--label-above"> <div class="field__label">Bio</div> <div class="field__item"><p>Blanca Vargas, Andrés Arteaga y Eduardo Flores forman parte del equipo de Innovación y Desarrollo en OCC Mundial. Blanca se desempeña como Data Scientist, Andrés como Data Engineer y Eduardo como Gerente de Desarrollo e Innovación.</p></div> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 23:01:49 +0000 sg 6273 at https://sg.com.mx https://sg.com.mx/revista/50/resolviendo-dilemas-un-pipeline-data-science#comments Capital de Datos y Analítica Avanzada https://sg.com.mx/revista/50/capital-datos-y-analitica-avanzada <span class="field field--name-title field--type-string field--label-hidden">Capital de Datos y Analítica Avanzada</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 05:16</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/buzz/seccion-revista/portada" hreflang="und">En Portada</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores-sg/joel-galvez" hreflang="und">Joel Gálvez</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Para ser exitosas en la economía digital,&nbsp;las empresas deben internalizar la idea de que los datos son un nuevo tipo de capital, tan importante como el capital financiero para el desarrollo de nuevos productos y servicios.</p><p>Las implicaciones de esto van mucho más allá de la toma de decisiones por medio de analítica predictiva. Para algunas empresas, el capital de datos incluso sustituye al capital tradicional. Solo de esta manera se puede explicar que empresas de servicios digitales tengan valuaciones de miles de millones de dólares.</p><p>Hoy en día, los analíticos avanzados permiten a las empresas sacarle el mayor provecho a los datos que se producen a partir de las actividades del día a día, desde la información generada por sensores, por los puntos de venta, llegando a las redes sociales e imágenes y video. Las herramientas tradicionales de inteligencia de negocio producen un resumen o sumario de los datos, generando a su vez más datos, pero las herramientas tradicionales de inteligencia de negocio proveen una visión del pasado, es decir, lo que ya sucedió. Los analíticos avanzados, de la misma forma, producen más datos a partir de los datos existentes, pero estos datos son transformacionales, creando conocimiento previamente desconocido y ofreciendo una visión del futuro y de opciones no identificadas previamente, que muy posiblemente sucederán.</p><p>Las empresas deben de poner a trabajar a sus datos para poder obtener un retorno de inversión a partir de la captura, limpieza y mantenimiento de los mismos. Poner a trabajar a los datos a través de algoritmos de analíticos avanzados, ha mostrado drásticamente un constante retorno de la inversión. Tradicionalmente, los centros de datos han sido vistos como un impuesto o costo más que un generador de dividendos. El costo de mantener grandes volúmenes de datos es una carga bastante pesada cuando no es posible sacar nuevo valor de los datos y utilizarlos para generar acciones de apoyo al negocio, tales como predecir la conducta de los clientes, entender las causas raíces del comportamiento y reducir los fraudes.</p><p>¿Cómo pueden las compañías convertir los centros de datos en activos generadores de dividendos?</p><p>Una forma es a través de la reducción del costo de transacción. Típicamente, estos costos de transacción involucran mover los datos en ambientes donde los modelos predictivos pueden producirse o el análisis de los datos se realiza sobre un subconjunto pequeño de datos que puede caber en arquitecturas de hardware y software existentes. Luego está el costo involucrado en poner dichos modelos en producción. Los costos de transacción resultan en esfuerzos de múltiples pasos que involucran un trabajo intensivo, lo cual lleva a las compañías a posponer su inversión en los datos y obtener valor de ellos.</p><h3>Leyes del capital de datos</h3><p>En Oracle identificamos tres leyes fundamentales del capital de datos que describo a continuación:</p><p>1. Los datos provienen de la actividad. Los datos son registros de eventos sucedidos, así que si no estamos al tanto de las actividades cuando suceden, perdemos para siempre la oportunidad de capturarlos. Así que las empresas deben digitalizar y “datificar” las actividades clave con clientes y proveedores para poder estar capturando esos datos al momento de la actividad.</p><p>2. Los datos generan más datos. Los algoritmos que dirigen las decisiones de precio, publicidad, inventario o detección de fraudes generan datos que a su vez utilizan como retroalimentación para mejorar su desempeño. Este ciclo de retroalimentación genera una ventaja competitiva que es difícil de alcanzar.</p><p>3. Las plataformas ganarán. En las industrias intensivas en información, como el software y el mercado bursátil estamos acostumbrados a que existan plataformas informativas, ya sea abiertas o dominadas por una empresa. Este mismo fenómeno se dará en otras industrias conforme usen datos más y más. En industrias como la automotriz y de servicios de salud veremos que las empresas competirán para convertirse en la plataforma de información dominante en su industria.</p><h3>Conclusión</h3><p>Las organizaciones hoy en día deben considerar al científico de datos o, a los analistas como “gerentes del capital de datos”. Esto es, son las personas encargadas de extraer el mayor provecho y ganancia de los activos de datos. Para alcanzar estos altos dividendos con costos bajos de las transacciones, los gerentes del capital de datos necesitan valerse de herramientas y plataformas que automaticen las actividades, haciéndolo más productivo y finalmente obteniendo logros más espectaculares para la empresa, haciendo más con menos gracias a la rapidez y sencillez.</p></div> <div class="text-formatted field field--name-field-autor-bio field--type-text-long field--label-above"> <div class="field__label">Bio</div> <div class="field__item"><p>Jorge Gálvez es Director de Desarrollo de negocios para Oracle México.</p></div> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 11:16:30 +0000 sg 6271 at https://sg.com.mx https://sg.com.mx/revista/50/capital-datos-y-analitica-avanzada#comments Transformando con Datos la Industria de Manufactura https://sg.com.mx/revista/50/transformando-datos-la-industria-manufactura <span class="field field--name-title field--type-string field--label-hidden">Transformando con Datos la Industria de Manufactura</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 05:14</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/buzz/seccion-revista/portada" hreflang="und">En Portada</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores-sg/miguel-nhuch" hreflang="und">Miguel Nhuch</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Ahora más que nunca, la industria de la manufactura se enfrenta al reto de reunir y comprender cantidades masivas de datos para impulsar la eficiencia operativa, un nivel más alto de servicio y soporte. Nos guste o no, la manufactura avanza cada vez más rápido y la actitud de conformismo ante la situación actual empieza a desvanecerse porque los encargados de la toma de decisiones ya no pueden contar con los antiguos sistemas de negocios para obtener la información que necesitan.</p><p>En el mercado de hoy, explorar el efecto y la interacción entre la eficacia en la producción, la calidad de los productos, la demanda de los clientes y la excelencia en el servicio simplemente no es posible sin análisis significativos. Estas son cuatro de las formas en que los fabricantes están revolucionando su industria por medio de los datos:</p><p>1. Mejorar la producción, el desempeño de las plantas y los productos con analítica de autoservicio.</p><p>2. Mejorar la planeación de ventas y operaciones por medio de combinación y predicción.</p><p>3. Movilizar la cadena de suministro con análisis en tiempo real.</p><p>4. Escuchar, interpretar y reaccionar más rápido a los comentarios de los clientes.</p><h3>Mejorar el desempeño en las plantas con analítica de autoservicio</h3><p>Tradicionalmente, las personas que están dentro de la manufactura han obtenido acceso al conocimiento de los datos mediante informes estáticos de aplicaciones empresariales y herramientas de inteligencia empresarial que únicamente administra y usa el departamento de Tecnología de la Información. Esta costumbre antigua, diseñada y desarrollada principalmente durante la década de los 90, generalmente es compleja, inflexible y toma mucho tiempo. Debido a que las mejores implementaciones de análisis son tableros creados por el usuario, que funcionan sobre una infraestructura administrada por IT, la optimización del autoservicio es clave.</p><p>La analítica de autoservicio permite que los empleados de las plantas de manufactura puedan, al igual que el resto de la organización, visualizar y comprender los datos a lo largo de la cadena de demanda dentro de las operaciones de producción y durante todo el ciclo de vida del servicio. Al añadir visibilidad al desempeño operativo, los empleados tendrán la capacidad de supervisar los datos a lo largo de toda la organización y de aplicarlos para buscar mejoras continuas en los negocios y en los procesos por medio de las filosofías de Seis Sigma o los principios de producción sin desperdicios. El autoservicio también apoya la implementación del marco DMAIC (Define, Measure, Analyze, Improve, Control) para apoyar el ciclo de mejora impulsado por los datos, lo cual permite que un individuo explore e identifique la causa original de los defectos en los productos o los cuellos de botella.</p><p>Tesla Motors Designs, un importante fabricante de vehículos eléctricos y componentes de sistemas de transmisión, descubrió que los análisis de autoservicio permitieron a sus empleados explorar sus propios datos y contribuyeron de forma importante a sus descubrimientos acerca de la mejora y la estabilización de la producción. De acuerdo con sus ingenieros de prueba, cuando las personas empiezan a tener acceso a los datos, comienzan a hacer más preguntas; y ahí está la capacidad de ir más allá. Cuando los ingenieros de Tesla están tratando de encontrar la causa original de algún problema molesto que ha estado afectando la producción de forma negativa durante semanas o meses, el poder revisar los datos y ver cosas que no habían visto antes es una gran ventaja.</p><p>La figura 1 muestra un ejemplo de un tablero de análisis de producción donde los usuarios pueden explorar el desempeño de varias órdenes producidas con dos máquinas distintas (123 y 456). A la izquierda vemos las distintas órdenes graficadas de acuerdo a su tamaño y varianza. Al seleccionar una de ellas podemos ver a la derecha los detalles de dicha orden, como el tiempo de configuración y velocidad de operación.</p><p>Figura 1. Tablero de análisis de producción.</p><h3>Mejorar la planeación de ventas y operaciones</h3><p>Las grandes mejoras en la manufactura deben comenzar desde la fuente: la cadena de suministro. Es esencial que todos los profesionales de cadenas de suministro tengan la capacidad de proporcionar bienes y servicios usando diferentes sistemas de información en plazos muy cortos.</p><p>Los fabricantes de hoy se enfrentan a muchas fuentes de datos: la planeación de la fuerza laboral y los pedidos desde el sistema de planeación de recursos empresariales (ERP), la información de los pedidos desde los sistemas de ejecución de manufactura (MES), las bitácoras de tiempo y asistencia, los datos de alarmas y producción de diferentes fabricantes de equipo y varios sistemas de control de línea de producción (PLC) y de control de sistemas y adquisición de datos (SCADA). Vincular estas islas de información es clave para comprender el panorama y la toma de decisiones.</p><h3>Movilizar la cadena de suministro con análisis en tiempo real</h3><p>La capacidad de ver y comprender lo que sucede con datos en tiempo real y desde un dispositivo móvil es aún más revolucionaria en las operaciones de cadenas de suministro. Los datos de manufactura cambian constantemente, pero son relevantes de manera inmediata. Usar los datos en el momento correcto es esencial para una operación más provechosa.</p><p>La buena noticia es que el BI móvil está ofreciendo información en el momento y lugar necesarios para tomar decisiones cruciales de manera rápida. Coca-Cola Bottling Co. Consolidated (CCBCC), la empresa embotelladora independiente de Coca-Cola más grande de Estados Unidos, tiene trabajadores en el campo que interactúan y colaboran con tableros visuales desde cualquier lugar; incluso los choferes de camiones en diferentes ciudades. CCBCC resolvió un cuello de botella enorme en su cadena de suministro, debido a la disponibilidad limitada de informes, proporcionando actualizaciones diarias del tablero en dispositivos móviles a los líderes y a más de 800 empleados.</p><h3>Reaccionar más rápido a los comentarios de los clientes</h3><p>Después de todo, los deseos y las necesidades del cliente importan. Los fabricantes tienen que reunir los datos de los clientes mediante muchos canales diferentes, como las redes sociales, los centros de atención telefónica y las encuestas de los clientes. Cuando se llega a comprender algo gracias a la información de los clientes, es fundamental actuar rápido.</p><p>Trane, líder global en sistemas y equipo de aire acondicionado, pasó de usar únicamente hojas de cálculo a integrar visualizaciones de datos de autoservicio con los datos de servicio de los clientes para mejorar de manera significativa su velocidad de comprensión. Los tiempos de entrega a partir del entendimiento de los datos hasta la satisfacción del cliente son ahora de 10 a 100 veces menores.</p><p>Con la visualización de datos, Trane da seguimiento a las métricas clave para registrar los comentarios de los clientes más rápido. Tienen la capacidad de explorar sus datos para encontrar respuestas, por ejemplo, ¿los técnicos llegan puntuales en una región determinada?</p><p>Los empleados de ventas, los empleados de manufactura y los ejecutivos pueden ver rápidamente los distritos con mejor y peor desempeño, así como buscar la razón en los datos subyacentes.</p></div> <div class="text-formatted field field--name-field-autor-bio field--type-text-long field--label-above"> <div class="field__label">Bio</div> <div class="field__item"><p>Miguel Nhuch es Vicepresidente de Tableau Latinoamérica.</p></div> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 11:14:46 +0000 sg 6270 at https://sg.com.mx https://sg.com.mx/revista/50/transformando-datos-la-industria-manufactura#comments ¿Cómo Puede la Analítica Predictiva Ayudar a Mejorar los Negocios? https://sg.com.mx/revista/50/como-puede-la-analitica-predictiva-ayudar-mejorar-los-negocios <span class="field field--name-title field--type-string field--label-hidden">¿Cómo Puede la Analítica Predictiva Ayudar a Mejorar los Negocios?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 05:05</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/buzz/seccion-revista/portada" hreflang="und">En Portada</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/autores-sg/manuel-del-pino" hreflang="und">Manuel del Pino</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>El descubrimiento de información interesante siempre es valioso y puede ayudar a realizar análisis con relación a un incidente. Dicho análisis se produce cuando una organización descubre una serie de tendencias sobre comportamientos de sus clientes, como pueden ser los siguientes:</p><ul><li>Clientes que cancelan sus cuentas y se van a la competencia.</li><li>Clientes menores de 30 años que cuentan con historiales reducidos de hábitos de compra.</li><li>Clientes dentro de una horquilla determinada de ingresos que han llamado al call center tres o más veces en los últimos seis meses.</li><li>Clientes desde hace menos de un año cuyos comentarios sobre la empresa reflejan sentimientos negativos.</li></ul><p>Sin duda, estas conclusiones resultan interesantes y posibilitan un conocimiento más profundo del comportamiento de los clientes, pero para extraer su máximo valor deben tener impacto directo en el negocio. Para ello han de permitir predecir el comportamiento del cliente en el futuro para poder modificar los procesos y decisiones de la empresa.</p><p>Una creciente cantidad de empresas está optimizando sus negocios gracias a la monetización de datos y al empleo de la analítica para tomar mejores decisiones. Aunque estas organizaciones provienen de numerosas y variopintas industrias, en esta ocasión me gustaría destacar dos áreas en particular: en el ámbito universitario, la relativa al reclutamiento y retención de estudiantes; y en el segmento sanitario, la relacionada con la calidad de los datos para mejorar la atención al paciente. Ambos escenarios ejemplifican a la perfección cómo la analítica predictiva puede ayudar no solo a destapar tendencias ocultas en los datos, sino también a generar un impacto en la cuenta de resultados. La habilidad para generar ingresos, reducir costos y mejorar el servicio ilustra el hecho de que obtener ideas muchas veces no es suficiente: la clave estriba en ir más allá.</p><h3>Múltiples variables</h3><p>Las conclusiones que obtenemos con relación a la edad de un cliente, su historial de gasto, sus ingresos, las llamadas que realiza a nuestro call center, su entorno geográfico o las opiniones que ha vertido sobre nuestra organización nos pueden ayudar a predecir su futura marcha. Podemos asignar una probabilidad de fuga a cada cliente y realizar una aproximación más proactiva y cercana a aquellos con niveles más altos. Esto permitirá reducir el índice de fuga, ahorrar dinero, mejorar la satisfacción del cliente y mantener cuota de mercado.</p><p>Obtenemos conclusiones cuando analizamos los datos de manera holística, combinando, por ejemplo, aquellos que reflejan las interacciones de los clientes con los call centers y las redes sociales, junto a datos tradicionales como cuentas, información de gastos y detalles geográficos. Pero la analítica que realmente impacta en el negocio se obtiene, en este caso, tras vincular esas repetidas llamadas al call center y los sentimientos negativos vertidos en redes sociales con una incidencia concreta, como la fuga a la competencia.</p><p>Hoy día ya somos capaces de saber cómo estos aspectos elevan los costos de una organización, cómo pueden interactuar con otras fuentes de información y cómo permiten realizar análisis de las causas y mejorar los procesos. De esta manera cualquier organización podrá establecer acciones correctivas para reducir el número de llamadas de queja y mejorar el engagement que su marca despierta en los distintos canales sociales.</p></div> <div class="text-formatted field field--name-field-autor-bio field--type-text-long field--label-above"> <div class="field__label">Bio</div> <div class="field__item"><p>Manuel del Pino es responsable de preventa de Information Builders para México, España y Portugal.</p></div> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 11:05:51 +0000 sg 6269 at https://sg.com.mx https://sg.com.mx/revista/50/como-puede-la-analitica-predictiva-ayudar-mejorar-los-negocios#comments ¿Qué es una Organización Dirigida por Datos? https://sg.com.mx/revista/50/que-es-una-organizacion-dirigida-por-datos <span class="field field--name-title field--type-string field--label-hidden">¿Qué es una Organización Dirigida por Datos?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 04:55</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/buzz/seccion-revista/portada" hreflang="und">En Portada</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>Este artículo es un extracto del libro “Data Driven” escrito por DJ Patil y Hilary Mason y publicado por O’Reilly Media.</em></p><p>Las organizaciones&nbsp;más conocidas que están dirigidas por datos, son empresas nativas de internet como Google, Amazon, Facebook y LinkedIn.</p><p>Sin embargo, estar dirigido por datos no está limitado a internet. Walmart ha sido pionero en el uso de datos desde los 70. Fue una de las primeras organizaciones en construir grandes data warehouses para gestionar el inventario a través de sus negocios. Esto la habilitó para convertirse en la primera empresa en tener más de 1 billón de ventas durante sus primeros 17 años. Y la innovación no terminó ahí. En los 80, Walmart se dio cuenta que la calidad de sus datos no era suficiente, así que para adquirir mejores datos se convirtió en la primera empresa en utilizar lectores de código de barra en las cajas. La empresa quería saber qué productos se vendían y cómo es que el acomodo de productos en la tienda impactaba las ventas. También requería entender tendencias estacionales y diferencias regionales. Conforme aumentó el número de tiendas y volumen de productos, también aumentó la complejidad de manejar el inventario. Gracias a la disponibilidad de datos históricos combinados con un modelo predictivo, la empresa pudo controlar su curva de crecimiento. Para reducir aún más el tiempo para que sus datos se convirtieran en decisiones, Walmart fue la primera empresa en invertir en tecnología RFID. Y recientemente ha puesto sus esfuerzos en tecnologías de procesamiento de datos como Hadoop y Cassandra.</p><p>FedEx y UPS también son conocidos por utilizar datos para competir. Por medio de análisis de datos, UPS se dio cuenta que si sus choferes solo daban vueltas hacia la derecha (evitando las vueltas a la izquierda) tendrían menos accidentes, menos tiempo perdido, y ahorrarían en gasolina. Los resultados fueron sorprendentes, en un año ahorraron alrededor de 10 millones de galones de gasolina, contribuyendo también así, a disminuir su impacto al medio ambiente.</p><p>De forma similar, General Electric utiliza datos para mejorar la eficiencia de sus motores de avión. Actualmente hay aproximadamente 20 mil aviones operando con 43 mil motores GE. Durante los próximos 15 años se espera que se utilicen 30 mil motores más. Una mejora en eficiencia de 1% resultaría en 30 billones de dólares a través de los próximos 15 años. Parte del esfuerzo para atacar estos problemas es el nuevo motor GEnx. Cada motor cuenta con más de 4 mil partes y pesa cerca de 6 toneladas. Uno de sus principales diferenciadores es la cantidad de datos que registra en tiempo real. De acuerdo con GE, en tan solo un vuelo se genera alrededor de un terabyte de datos. Estos datos son utilizados por los pilotos para tomar decisiones que impacten la eficiencia, y por las aerolíneas para optimizar sus rutas y anticipar problemas de mantenimiento.</p><p>¿Qué habilita a estas empresas para utilizar datos para obtener ventaja competitiva?</p><p>Una organización dirigida por datos es aquella que adquiere, procesa y aprovecha datos continuamente para crear eficiencias, desarrollar o iterar nuevos productos, y navegar el panorama competitivo.</p><p>Desmenucemos esta definición...</p><p>El primer paso para trabajar con datos es poder adquirirlos y procesarlos. Pero no es obvio que es lo que tenemos que hacer para lograr esto de forma continua. Las mejores organizaciones dirigidas por datos se enfocan sin cesar en mantener sus datos limpios. Los deben estar organizados, documentados, en un formato consistente, y libres de errores. Limpiarlos típicamente representa 80% de un esfuerzo de ciencia de datos. Establecer procesos para limpiar datos a grandes escalas agrega mayor complejidad. Las organizaciones exitosas hacen inversiones significativas en herramientas, procesos y auditorias para maximizar dicho proceso. Han desarrollado una cultura que comprende la importancia de la calidad de los datos.</p><p>Un número sorprendente de organizaciones ha invertido cuantiosamente en sus capacidades de procesamiento de datos, con la esperanza de que eventualmente sus empleados generen valor a partir de ellos. Esta actitud de tipo “si lo construyes, eventualmente vendrán” rara vez es exitosa. El resultado son grandes costos para crear un baúl de datos que rara vez se usa. Las mejores organizaciones utilizan sus datos continuamente para entender a sus clientes y los detalles de su negocio. Hacen experimentos que les permiten demostrar hipótesis que mejoran su empresa y procesos; y utilizan los datos para construir nuevos productos.</p><h3>Democratizar los datos</h3><p>La democratización de los datos es una de las ideas más poderosas que ha surgido de la ciencia de datos. Todos los miembros de una organización deberían tener acceso a tantos datos como sea legalmente posible.</p><p>El acceso público a datos se ha popularizado en las ciencias (por ejemplo, algunos países dan acceso directo a sus datos del servicio climatológico o de salud). En el caso de las empresas, Facebook es una de las primeras organizaciones que dio acceso general a sus empleados a los datos de la empresa sin necesidad de hacer una petición o esperar autorización. Esta fue una idea radical ya que la noción preexistente era que los empleados no sabrían cómo acceder a los datos y utilizarían datos incorrectos para tomar decisiones de negocio incorrectas. Aunque ciertamente hubo retos que superar, Facebook encontró que los beneficios superaban por mucho a los costos; se convirtió en una empresa más ágil, que rápidamente puede construir nuevos productos y responder a cambios en el mercado. El acceso a datos se ha convertido en una parte crítica del éxito de Facebook, y es algo en lo que continúa invirtiendo agresivamente.</p><p>Las principales empresas de internet han seguido el ejemplo de Facebook. Ser capaz de utilizar SQL para acceder datos es una habilidad esencial para todos los analistas y ejecutivos en empresas como Google y LinkedIn. Las organizaciones sin fines de lucro también están viendo grandes beneficios de brindar acceso a sus datos. Se han dado cuenta que expertos fuera de la organización pueden realizar descubrimientos importantes. Por ejemplo, el Banco Mundial abrió sus datos para que grupos de voluntarios puedan limpiarlos e interpretarlos. Esto ha generado tanto valor que creó un sitio web dedicado a datos públicos.</p><p>Los gobiernos también han comenzado a reconocer el valor de democratizar el acceso a datos, tanto a nivel local como nacional. Por ejemplo, el gobierno del Reino Unido ha sido líder en esfuerzos de datos abiertos, y el gobierno de Estados Unidos creó la Open Government Initiative para aprovechar este movimiento. Conforme el público y el gobierno comenzó a ver el valor de abrir los datos, los gobiernos empezaron a catalogar sus datos, capacitar al público sobre cómo usarlos, y publicarlos de manera que sean fácilmente consumibles con herramientas. En la ciudad de Nueva York, el acceso a datos llevó a nuevas estrategias basadas en analítica, que obtuvo grandes resultados, incluyendo una mejora de 5x en el tiempo que le toma a los inspectores encontrar departamentos ilegales.</p><p>Uno de los retos de la democratización es el de ayudar a las personas a encontrar los conjuntos de datos adecuados y asegurar que dichos datos son de buena calidad. Como ya mencionamos, 80% del esfuerzo del científico de datos es preparar los datos, y es probable que la mayoría de las personas no cuente con la preparación adecuada para realizar la limpieza ellos mismos. Es así que para ayudar a los empleados a utilizar datos de la mejor manera, en algunas organizaciones está surgiendo el rol del delegado de datos (data steward). Su responsabilidad es asegurar la consistencia y calidad de los datos, y gestionar la inversión en herramientas y procesos para lograr esto.</p></div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 10:55:34 +0000 sg 6268 at https://sg.com.mx https://sg.com.mx/revista/50/que-es-una-organizacion-dirigida-por-datos#comments El Fin de la Era del Big Data https://sg.com.mx/revista/50/el-fin-la-era-del-big-data <span class="field field--name-title field--type-string field--label-hidden">El Fin de la Era del Big Data</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/images/robots.jpg" width="1024" height="440" alt="" loading="lazy" typeof="foaf:Image" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 04:26</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/secci%C3%B3n-revista/tendencias-software" hreflang="und">Tendencias en Software</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores/luis-daniel-soto-maldonado" hreflang="und">Luis Daniel Soto Maldonado.</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Las decisiones&nbsp;se están evaporando de nuestra vida: hoy nos encontramos utilizando apps y el internet para decidir qué libro leer, en dónde cenar, qué película ver en el cine, qué programa ver en televisión, qué música escuchar, en qué acciones invertir y a qué amigos felicitar. Las máquinas de búsqueda deciden cómo comenzaremos a navegar la red. Una tercera parte de los matrimonios en Estados Unidos se originan por citas en línea, un algoritmo inteligente y aprendizaje de máquina decide quiénes son “compatibles”. Las máquinas ya hacen más de lo que creemos que son capaces.</p><p>El cáncer no se remediará con un medicamento milagroso, no es un solo tipo. El problema de esta terrible enfermedad posiblemente se resolverá con aprendizaje de máquina. Se requiere un sistema inteligente, capaz de entender cuál es el medicamento apropiado para cada persona, capaz de conocer profundamente los hábitos del enfermo, sus antecedentes familiares, su DNA, su historia médica, las mutaciones de la cáncer, los resultados de otros tratamientos.</p><p>Es así que la era de “big data” finalmente está llegando a su fin. No es porque se haya implementado en la mayoría de las empresas, o porque las mismas ya hayan descubierto la riqueza de tomar decisiones verdaderamente informadas y en tiempo casi real. No, lo que sucede es que estamos entrando a una nueva etapa en donde el uso de los datos permite el verdadero aprendizaje de máquina. El conocimiento se empieza a acumular: aunque estamos distantes del auto que se conduce por sí mismo en un ambiente real, los vehículos autónomos que se están desarrollando cuentan ya millones de horas de aprendizaje, realizando la tarea de aprender haciendo.</p><p>Reflexionemos cómo hemos llegado aquí. La vida mecanizada no es lo que se pensó algunas décadas atrás. Los empleos del conocimiento están siendo más fáciles de automatizar que los de labor manual, como el trabajador de construcción. Todos esperamos robots que puedan verdaderamente realizar labores domésticas, pero esto conlleva implicaciones considerables como la pérdida de capacidades básicas del hombre, gracias a estos mismos avances.</p><p>Esta situación se presenta hoy en la industria médica y la aeronáutica, con una sobre-dependencia en sistemas informáticos. Si no hay sistema, no hay capacidad de actuar. Nunca habíamos alcanzado los actuales niveles de seguridad y confiabilidad en seguridad aérea, pero los pilotos tienen control manual de un avión solo unos pocos minutos por vuelo. Aunque hay beneficios, los pilotos están perdiendo sus habilidades básicas por el exceso de automatización. En situaciones de emergencia, no son capaces de recuperar el control y fallan en evitar accidentes.</p><p>Un debate que inició hace dos siglos está recientemente cobrando mayor relevancia: la separación entre hombre y máquina. ¿Cuándo una maquina será capaz de escribir una obra de arte? Las computadoras de hoy pueden, con facilidad, juzgar el éxito de un libro. Pero, ¿por qué no escribir un “Don Quijote”, “Las Mil y una Noches” o “Cien Años de Soledad”? Estamos en ese camino. Creo que las computadoras ofrecerán cientos de puntos de partida para que la creatividad humana llegue mucho más allá.</p><p>Los algoritmos y robots súper-inteligentes nos expondrán a sentimientos que nunca anticipamos por las máquinas. Hoy son solo búsquedas de texto muy complejas, pero la búsqueda por el algoritmo del aprendizaje de cualquier cosa es el problema clave a resolver. Esos sistemas llegarán con nuevas implicaciones éticas, políticas y sociales.</p><p>Regresemos a nuestro punto de partida. Empecemos por definir cómo evaluaremos dichas tecnologías, quien estará a cargo de la nueva Inteligencia Artificial en la organización y qué implicaciones brindan a nuestros modelos de negocio . Aún no hemos visto todos los actos de magia de la tecnología.</p><p>Si te interesa leer más sobre máquinas y algoritmos inteligentes, te recomiendo que visites el compendio de artículos que he creado en Flipboard:&nbsp;<a href="http://swgu.ru/re">http://swgu.ru/re</a></p></div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 10:26:48 +0000 sg 6266 at https://sg.com.mx https://sg.com.mx/revista/50/el-fin-la-era-del-big-data#comments Un Vistazo a Apache Spark Streaming https://sg.com.mx/revista/50/un-vistazo-apache-spark-streaming <span class="field field--name-title field--type-string field--label-hidden">Un Vistazo a Apache Spark Streaming</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/images/spark3.png" width="502" height="269" alt="" loading="lazy" typeof="foaf:Image" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 04:19</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/seccion-revista/tecnologia" hreflang="und">Tecnologia</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores/pedro-galvan" hreflang="und">Pedro Galván</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Apache Spark&nbsp;es un framework open source para el procesamiento de datos masivos diseñado con tres prioridades en mente: velocidad, facilidad de uso, y capacidades avanzadas de analítica.</p><p>Spark está cobrando gran popularidad porque viene a resolver varias de las limitaciones inherentes de Hadoop y MapReduce. Spark puede utilizarse junto con Hadoop, pero no es requisito. Spark extiende el modelo MapReduce para hacerlo más rápido y habilitar más escenarios de análisis, como por ejemplo&nbsp;queries&nbsp;interactivos y procesamiento de flujos en tiempo real. Esto es posible ya que Spark usa un cluster de cómputo en memoria (in-memory).</p><p>Uno de los elementos clave de Spark es su capacidad para procesamiento continuo (stream processing). Esto se logra por medio del componente Spark Streaming. En este artículo brindamos un vistazo de cómo funciona Spark Streaming.</p><h3>Descripción general</h3><p>Spark Streaming puede ingerir datos de un amplio de fuentes, incluyendo flujos provenientes de Apache Kafka, Apache Flume, Amazon Kinesis y Twitter, así como de sensores y dispositivos conectados por medio de sockets TCP. También se pueden procesar datos almacenados en sistemas de archivos como HDFS o Amazon S3.</p><p>Spark Streaming puede procesar datos utilizando una variedad de algoritmos y funciones tales como map, reduce, join y window. Una vez procesados, los datos son enviados a archivos en file systems o para popular dashboards en tiempo real.</p><p>A grandes rasgos, lo que hace Spark Streaming es tomar un flujo de datos continuo y convertirlo en un flujo discreto —llamado DStream— formado por paquetes de datos. Internamente, lo que sucede es que Spark Streaming almacena y procesa estos datos como una secuencia de RDDs (Resilient Distributed Data). Un RDD es una colección de datos particionada (distribuida) e inmutable. Es la unidad de información que el motor de procesamiento de Spark (Spark Core) tradicionalmente consume. Así que cuando usamos Spark Streaming para alimentar un stream a Spark Core, éste último los analiza de forma normal, sin enterarse de que está procesando un flujo de datos, porque el trabajo de crear y coordinar los RDDs lo realiza Spark Streaming.</p><p><img src="/sites/default/files/images/stories/sg50/spark1.jpg" alt="" width="502" height="85" /></p><p>Figura 1. Spark Streaming prepara un flujo para que Spark Core lo pueda consumir.</p><p>&nbsp;</p><p><img src="/sites/default/files/images/stories/sg50/spark2.jpg" alt="" width="490" height="90" /></p><p>Figura 2. Spark Streaming genera RDDs por intervalos de tiempo.</p><h3>Orquestación del cluster</h3><p>La figura 3 muestra a grandes rasgos cómo opera la orquestación del cluster. Las actividades son orquestadas por un programa conocido como Driver. Este programa típicamente instancía a SparkContext para realizar la orquestación de los procesos ejecutores, que son los que operan sobre los datos.</p><p><img src="/sites/default/files/images/stories/sg50/spark3.png" alt="" width="502" height="269" /></p><p>Figura 3. El driver orquesta el cluster de procesamiento.</p><p>En el caso de aplicaciones basadas en streams, se utiliza StreamingContext en lugar de SparkContext, ya que StreamingContext soporta DStreams.</p><p>Como podemos ver, el Driver es un punto central de operación, así que es importante mitigar las posibilidades de que falle. Spark Streaming soporta un concepto llamado “checkpointing” que asegura que todos los datos y metadatos asociados con RDDs que forman flujos de datos son replicados continuamente a un almacenamiento tolerante a fallas. Esto permite que en caso de una falla del driver se puedan recuperar y procesar el flujo de datos.</p><h3>Modelos de procesamiento</h3><p>Spark Streaming soporta distintos modelos correspondientes a las semánticas típicamente utilizadas para el procesamiento de flujos. Esto asegura que el sistema entrega resultados confiables, aún en caso de fallas en nodos. Los flujos de datos pueden ser procesados de acuerdo a los siguientes modelos:</p><ul><li>Exactamente una vez (exactly once). Cada elemento es procesado una sola vez.</li><li>A lo más una vez (at most once). Cada elemento puede ser procesado máximo una vez, y es posible que no sea procesado.</li><li>Por lo menos una vez (at least once): Cada elemento debe ser procesado por lo menos una vez. Esto aumenta la posibilidad de que no se pierdan datos pero también es posible que se generen duplicados.</li></ul><p>No todos estos modelos son soportados con todos los tipos de fuentes de datos. Es necesario verificar cuáles semánticas se soportan en cada una.</p><p>Desde un punto de vista de procesamiento, el modelo más sencillo de construir es “at most once”. Lo que implica este escenario es que es aceptable que ocasionalmente haya pérdida de datos, ya que lo que más importa es mantener la continuidad del flujo. Pensemos en cómo funciona un stream de video: de vez en cuando se pierden paquetes de información y baja un poco la calidad, pero lo importante es que se mantenga el flujo y que no tengamos que comenzar desde el inicio.</p><p>Bajo un modelo “at least once”, tenemos la garantía de que aunque haya alguna falla en algún nodo, no perderemos datos ya que cuando el nodo se recupere (o se reasigne su carga a otro) éste procesará todos los datos para asegurar que no se le vaya ninguno. Trasladando esto a nuestro ejemplo de streaming de un video, lo que sucedería es que todos los datos con buena calidad pero corremos el riesgo de que se repitan pedazos que ya habíamos visto. Al usar este modelo debemos buscar que las operaciones en nuestro código sean idempotentes, es decir que siempre produzcan el mismo resultado sin importar si han sido ejecutadas anteriormente (por ejemplo, x = 4 es idempotente pero x++ no lo es). De esta manera, no importa si procesamos un dato varias veces, ya que en ambas ocasiones nos generará el mismo resultado y podemos filtrar en base a esto.</p><p>Aunque el modelo “exactly once” es lo que parecería lógico que siempre debamos escoger, en realidad no es necesario en todas las ocasiones y hay que tener cuidado al escogerlo. Debemos entender que este modelo es el más intensivo en recursos y puede ocasionarnos problemas de desempeño debido a todo el procesamiento adicional que se requiere para asegurar que cada uno de los datos no se pierda ni se duplique. Adicionalmente, si nuestro código es idempotente, con un modelo at least once tendremos resultados confiables.</p><h3>Consecuencias de micro-batches</h3><p>Como ya vimos, estrictamente Spark Streaming no opera en base a flujos continuos sino a micro-batches que tienen un tiempo de intervalo entre ellos (típicamente de menos de 5 segundos). Es importante que entendamos las consecuencias que esto puede tener. Por un lado, se puede configurar y reducir el intervalo a menos de un segundo, lo cual nos daría un desempeño casi de tiempo real, pero con un alto costo en recursos de procesamiento. Adicionalmente, un argumento en contra del esquema de micro-batches es que puede ser que los datos no se reciban en el orden exacto en el que sucedieron. Esto puede o no ser relevante dependiendo de la aplicación específica. Por ejemplo, en un timeline de Twitter tal vez no sea indispensable que los tweets sean procesados exactamente en el mismo orden en el que fueron generados.</p><p>Referencias</p><ol><li>J. Scott. “A Quick Guide to Spark Streaming”.&nbsp;<a href="http://swgu.ru/rf">http://swgu.ru/rf</a></li></ol></div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 10:19:42 +0000 sg 6267 at https://sg.com.mx https://sg.com.mx/revista/50/un-vistazo-apache-spark-streaming#comments La Industria de Software en Colombia https://sg.com.mx/revista/50/la-industria-software-colombia <span class="field field--name-title field--type-string field--label-hidden">La Industria de Software en Colombia</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/images/colombia.jpg" width="1181" height="787" alt="" loading="lazy" typeof="foaf:Image" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">sg</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 03/04/2016 - 04:15</span> <div class="field field--name-field-numrevista field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Publicado en</h3> <ul class='links field__items'> <li><a href="/revista/50" hreflang="und">SG #50</a></li> </ul> </div> <div class="field field--name-field-seccion field--type-entity-reference field--label-hidden field--entity-reference-target-type-taxonomy-term clearfix"> <ul class='links field__items'> <li><a href="/revista/secciones/industria" hreflang="und">Industria</a></li> </ul> </div> <div class="field field--name-field-autor field--type-entity-reference field--label-inline field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label inline">Autor</h3> <ul class='links field__items'> <li><a href="/buzz/autores-sg/alejandra-jimenez" hreflang="und">Alejandra Jiménez</a></li> </ul> </div> <div class="text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Continuando nuestra serie de reportajes sobre la industria de software en distintos países de Latinoamérica, hemos decidido dedicar este número a estudiar el caso de Colombia.</p><p>Todos los que nos dedicamos al software hemos visto la importancia que ha estado cobrando poco a poco este país en nuestra industria. Ya sea como un mercado de servicios de tecnología, un lugar desde donde hacer outsourcing aprovechando el talento local, o una fuente de startups tecnológicos, Colombia se ha estado ganando la mirada de muchos de nosotros a través de los últimos años.</p><p>Conozcamos entonces un poco sobre cómo es que la industria de TIC de Colombia ha llegado hasta aquí, y qué es lo que sigue.</p><h3>MinTIC: Impulsando la industria desde el más alto nivel</h3><p>Colombia tiene el caso particular y notable de contar con un Ministerio (lo que equivaldría a una Secretaría en México) dedicado únicamente al sector de Tecnologías de Información y Comunicaciones [1].</p><p>El Ministerio de Tecnologías de la Información y las Comunicaciones (MinTIC), es la entidad que se encarga de diseñar, adoptar y promover las políticas, planes, programas y proyectos de este sector.</p><p>El Plan Vive Digital [2] fue lanzado en 2010 para impulsar la masificación del uso de Internet con el fin de reducir la pobreza y generar empleo. Ha representado un gran salto tecnológico a nivel nacional, involucrando a todas las entidades gubernamentales del país. Los 4 ejes de este plan, y que actualmente se siguen promoviendo, son: aplicaciones, usuarios, servicios e infraestructura. Actualmente el plan se encuentra en su segunda iteración (2014-2018) y entre sus metas, las siguientes son algunas de las que más nos llaman la atención:</p><ul><li>Generar 369 mil empleos en TI.</li><li>Ubicar al menos una ciudad de Colombia en el Top 25 del mundo para negocios TIC.</li><li>Certificar como ciudadanos digitales a 2,5 millones de funcionarios públicos para que se apropien de la tecnología.</li><li>Impulsar teletrabajo. La meta es llegar a los 120 mil teletrabajadores.</li><li>Enfocar el servicio social obligatorio para que los estudiantes enseñen a sus comunidades sobre las nuevas tecnologías.</li></ul><p>Apps.co [3] es la iniciativa de MinTIC enfocada en apoyar el emprendimiento tecnológico. Para lograr esto ofrece servicios y programas para atender algunas de las principales necesidades de los emprendedores, tales como: ayudarlos a desarrollar sus ideas de emprendimiento, conectar con inversionistas, ayudar a difundir sus productos/servicios, y brindar acceso a recursos de capacitación en línea.</p><p>Colombia no es ajeno a la necesidad global de más y mejor talento en desarrollo de software, y para ello MinTIC cuenta con la iniciativa Talento Digital [4], con la que se busca formar a miles de profesionales en TI. Por medio de este programa se ofrecen créditos condonables en distintos porcentajes en el pago de colegiaturas, buscando con ello atraer a más jóvenes a las carreras relacionadas con TI. De hecho, a esta iniciativa se han destinado recientemente 96.3 millones de dólares, que serán distribuidos en un período de 3 años (2015-2018) para beneficiar a los ciudadanos colombianos interesados en formación académica en carreras relacionadas con TI.</p><h3>Colombia Digital</h3><p>Es una corporación que surge en 2002 para promover el uso y apropiación de las tecnologías de información y las comunicaciones, en beneficio del desarrollo social y económico. Su trabajo se basa en 3 enfoques:</p><ul><li>Fortalecer la adopción y uso de TIC en la sociedad, orientados al mejoramiento de su calidad de vida.</li><li>Promover la competitividad de las organizaciones públicas y privadas, utilizando las TIC.</li><li>Apoyar la formulación, implementación y apropiación de políticas TIC, en escenarios de gobierno colombiano y global.</li></ul><p>Son una organización de carácter mixto cuyos fundadores provienen de los sectores académico, empresarial y gobierno. Hoy, Colombia Digital es una corporación independiente que no depende de ninguna instancia pública o privada, y actúa bajo un modelo de auto-sostenibilidad basado en la gestión de proyectos</p><h3>Fedesoft</h3><p>La Federación Colombiana de la Industria del Software y Tecnologías Informáticas Relacionadas (Fedesoft) es el gremio de la industria de TI en el país, con 27 años de existencia y 410 empresas afiliadas hasta el momento, en su mayoría nacionales. Ximena Duque, Directora de Empresas Competitivas dentro de la Federación, nos comenta que son 4 las áreas de trabajo:</p><ol><li>Empresas competitivas. Enfocado en medir índices de competitividad, ventas, que sus empresas cuenten con estándares internacionales, ayudar a identificar necesidades de la industria en formación, planeación para convertirlas en metas reales.</li><li>Posicionamiento global. Dedicado a posicionar a la industria colombiana como productor de software, facilitar a sus empresarios participación en ferias, entrenamientos gerenciales —no solo dentro de Colombia sino en otros países.</li><li>Talento humano. Divulgar actividades de formación técnica y profesional, procesos de calidad y asegurar que esta información llegue al sector.</li><li>CENIsoft. Centro de Investigación especializado en la industria de software, creado por Fedesoft para que sus afiliados desarrollen estudios e investigaciones, establezcan alianzas con otros organismos e instituciones educativas y se genere un observatorio de TI.</li></ol><p>Ximena comenta que: “la industria de TI está creciendo, porque la infraestructura y el gobierno lo han facilitado, y a su vez esto genera una mayor demanda de productos y servicios de TI.”</p><p>Gobierno y FEDESOFT apuestan por TI bajo la premisa de que esta actividad es transversal en la economía, y es por esto que en los programas de la Federación se busca una articulación con iniciativas lanzadas desde MINTIC o el Ministerio de Educación.</p><h3>El caso de Medellín</h3><p>Aunque Bogotá es la capital y ciudad más grande de Colombia, reuniendo cerca de 10 millones de habitantes en su zona metropolitana, es en Medellín donde hay más dinamismo en términos de innovación y emprendimiento tecnológico. A nivel mundial es considerada como una de las ciudades con los mejores programas para apoyar la generación de nuevas empresas y startups, y en 2013 obtuvo el reconocimiento por parte del Wall Street Journal como la ciudad más innovadora del mundo, por encima de los finalistas Nueva York y Tel Aviv. Medellín es, sin duda, un referente cuando se habla de tecnología e innovación.</p><p>Destaca el caso de Ruta N, una corporación creada por la Alcaldía de Medellín con conjunto con UNE y EPM (empresas locales proveedoras de servicios públicos y de telecomunicaciones), con el fin de facilitar la evolución económica de la ciudad hacia negocios intensivos en ciencia, tecnología e innovación, de forma incluyente y sostenible. Su objetivo al año 2021 es posicionar a Medellín como la ciudad más innovadora de América Latina.</p><p>Otro buen punto de entrada al ecosistema local es el programa Medellín Emprendedora. Lo conforman un conjunto de entidades que apoyan a los emprendedores para realizar sus proyectos, impulsar y/o fortalecer emprendimientos. Es una de las apuestas del gobierno de Medellín por convertir a su ciudad en uno de los referentes de tecnología y creación de startups a nivel nacional y regional con proyección internacional.</p><p>En cuestión de espacios, destaca el Parque del Emprendimiento, un espacio físico de 1,000m2 que ofrece servicios de hospedaje y aceleración a nuevos emprendimientos de base tecnológica.</p><h3>Salarios en Colombia</h3><p>De acuerdo a una encuesta realizada recientemente por la comunidad Colombia Dev, el salario medio para un desarrollador de software en Colombia es de alrededor de $1,100 dólares al mes. Al igual que en el caso de México, esto puede subir drásticamente dependiendo de la experiencia, el dominio del lenguaje inglés y las tecnologías utilizadas. Para mayor información recomendamos el análisis hecho por nuestros colegas de Make it Real [7].</p><h3>Conclusión</h3><p>Colombia está decidida a posicionarse como jugadora clave a nivel mundial en la industria de software. Cuenta con una oferta de valor interesante, y parece estar avanzando a buen ritmo. Sin duda es una gran adición al equipo de “Latam IT”.</p><p>Referencias</p><ol><li><a href="http://www.mintic.gov.co">http://www.mintic.gov.co</a></li><li><a href="http://vivedigital.gov.co">http://vivedigital.gov.co</a></li><li><a href="http://apps.co">http://apps.co</a></li><li><a href="http://talentodigital.gov.co">http://talentodigital.gov.co</a></li><li><a href="http://www.colombiadigital.net">http://www.colombiadigital.net</a></li><li><a href="http://www.medellinemprendedora.net">http://www.medellinemprendedora.net</a></li><li><a href="http://rutanmedellin.org">http://rutanmedellin.org</a></li><li><a href="http://parquedelemprendimiento.com">http://parquedelemprendimiento.com</a></li><li><a href="http://blog.makeitreal.camp/analisis-encuesta-desarrolladores-colombia-2016">http://blog.makeitreal.camp/analisis-encuesta-desarrolladores-colombia-2016</a></li></ol></div> <div class="text-formatted field field--name-field-autor-bio field--type-text-long field--label-above"> <div class="field__label">Bio</div> <div class="field__item"><p>Alejandra Jiménez es editora y escritora enfocada en temas de tecnología y emprendimiento. Facilitadora de Startup Weekend desde 2012. Ha sido colaboradora de publicaciones como PulsoSocial y Fayerwayer.</p></div> </div> <section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Fri, 04 Mar 2016 10:15:33 +0000 sg 6264 at https://sg.com.mx https://sg.com.mx/revista/50/la-industria-software-colombia#comments