Arquitectura Pag. 38
Diseño de Interfaz Pag. 56
SG SOFTWARE GURU
Pruebas de Software Pag. 34
41
No.
Especial
Internet de las cosas
CONOCIMIENTO EN PRÁCTICA Agosto-Octubre 2013 www.sg.com.mx
SISTEMAS
LEGACY No.41 | Agosto-Octubre 2013
Y MODERNIZACIÓN DE APLICACIONES
México, $65.00
Reseña
SG Conference & Expo 2013
Arquitectura Pag. 38
Diseño de Interfaz Pag. 56
SG SOFTWARE GURU
Pruebas de Software Pag. 34
41
No.
Especial
Internet de las cosas
CONOCIMIENTO EN PRÁCTICA Agosto-Octubre 2013 www.sg.com.mx
SISTEMAS
LEGACY No.41 | Agosto-Octubre 2013
Y MODERNIZACIÓN DE APLICACIONES
México, $65.00
Reseña
SG Conference & Expo 2013
www.sg.com.mx |
Software Guru
41
CONOCIMIENTO EN PRÁCTICA
.CONTENIDO
Pág.
26
Agosto-Octubre 2013 | www.sg.com.mx
En Portada Sistemas legacy y modernización de aplicaciones 26 Ante el vertiginoso ritmo de cambio en nuestra industria, es natural que los sistemas rápidamente se tornen anticuados y haya que considerar si lo mejor es mantenerlos, modernizarlos o reemplazarlos. En esta ocasión abordamos los puntos principales a considerar al emprender esfuerzos de modernización de sistemas legados.
Columnas Tejiendo nuestra red
Especial: Internet de las cosas
Por Hanna Oktaba
Dispositivos Inteligentes 16
Por Luis Cuellar
Mejora continua
08
10
40
Por Luis Daniel Soto
Código Innovare Internet de las cosas: Planeta 2.0
17
De Single-Boards y microcontroladores
18
Por Victor Jesús Hernández Salinas
Por Antonio Toriz
Columnas Invitadas: El reto de documentar procesos de desarrollo de software 42
Por Gunnar Wolf
¿Big Data podría convertirse en nuestro Big Brother?
Por Gerson García
20
Por Héctor Javier Franco
Las claves para manejar gran cantidad de información móvil 43
Industrial Internet Hoy 22
Por Christina Wong
Por Armando Betancourt
La Gestión no está en crisis en España
44
Por Ariel Súcari
Reseña SG Conference & Expo 2013
02
ActiveMQ como MOM (Message Oriented Middleware)
06
Por Jorge Alberto Rojas
45
.CONTENIDO
Pág.
Emprender o No Emprender
14
Por Federico Bravo
Lo que viene 12
Prácticas
Fundamentos Estilos de aprendizaje para diseñar una interfaz 56
Pruebas
34
Por Ariadna Esther Rosas Mosqueda
Preparación y gestión de datos de prueba
En Cada Número
Por Berenice Ruiz Eguino
Desarrollo
36
Cómo evitar que su empresa se convierta en una fábrica de desperdicios Por Elizabeth Rivera y Luis Nava
Arquitectura
Editorial
04
Noticias
05
38 Gadgets 52
Hablando con el arquitecto: Luis Carballo Por Humberto Cervantes
Cultura Libre
La Innovación abierta desde el emprendimiento social
Carrera
Por Juan Manuel Casanueva
Talento
Perfiles destacados
03
Propuesta de Técnico Superior Universitario en Software
46
El Líder de Proyectos Coach
50
48
Por Pedro Solares
Por Juan Araque Melgar
49
www.sg.com.mx |
Herramientas y Novedades
Emprendiendo
Software Guru
16
.EDITORIAL Bienvenida
. “Hay mucho por cosechar, pero primero hay que sembrar”.
Temporada de cosecha
C
ada mes del año tiene su sabor y sus retos, pero hay un sabor en especial que predomina a partir del segundo semestre del año: el de la cosecha.Los proyectos planeados comienzan a ser realidades, las tendencias de la industria ya no son tan solo modas sino que comienzan a ser iniciativas y acciones, además ya se dejan entrever los nuevos sabores que se podrán degustar posteriormente: la siembra de nuevas tendencias. En esta edición tenemos para ti los sabores enriquecidos de siempre y agregamos dos ingredientes adicionales: Modernización de aplicaciones y el Internet de las cosas. Estos dos temas muestran como en diferentes sentidos la búsqueda de la evolución está presente en los portafolios de proyectos de TI ya sea para transformar interfaces y eliminar procesos manuales o para desafiar a la cotidianidad interconectando objetos. Para nosotros es sumamente importante darle el conocimiento a nuestros lectores que facilite la “cosecha” en sus proyectos de desarrollo de software, es por ello que constantemente estamos buscando nuevos métodos para poder llevar para ti conocimiento que signifique la diferencia en el “hacer” de tus proyectos. ¡Hay mucho por cosechar y también mucho por sembrar! Esperamos seguir acompañándote en tu diaria labor con el deseo de que recolectes éxitos.
››Equipo Editorial SOFTWARE GURU
DIRECTORIO SG Dirección Editorial Pedro Galván / Dirección de Operaciones Mara Ruvalcaba Coordinación Editorial Vanessa Amaya / Arte y Diseño Oscar Sámano / Suscripciones Karina Saad Consejo Editorial Jorge Valdés - PMI / Luis Cuéllar - Softtek / Luis D. Soto - Microsoft / Hanna Oktaba - UNAM / Emilio Osorio - Sistemas Humanos / Luis Vinicio León - e-Quallity / Gloria Quintanilla
Colaboradores
Alberto Ramírez Martinelli, Antonio Toriz Ariadna Rosas, Ariel Sucari, Armando Betancourt, Arturo Lugo, Berenice Ruiz Eguino, Carlos Peix, Celeste North, Christina Wong, Elizabeth Rivera, Emmanuel Olvera, Federico Bravo, Gunnar Wolf, Héctor Franco, Humberto Cervantes , Irma Uribe, Juan Araque Melgar, Juan Manuel Casanueva, Luis Cuellar, Luis Daniel Soto Maldonado, Luis Nava, Mariano Contreras, Masa K Maeda, Mauricio Angulo, Pedro Solares y Victor Caravantes
Ventas Claudia Perea / Alianzas Alexandra Ospina / Webmaster Luis Sánchez / SGCampus Vanessa Amaya Contacto info@sg.com.mx SG Software Guru es una publicación trimestral editada por Brainworx, S.A. de C.V., San Francisco 238 Altos. Col. Del Valle. Los contenidos de esta publicación son propiedad intelectual de los autores y están licenciados bajo Creative Commons Atribución-No comercial 2.5 México. Todos los artículos son responsabilidad de sus propios autores y no necesariamente reflejan el punto de vista de la editorial. Reserva de Derechos al Uso Exclusivo: En trámite. ISSN: 1870-0888. Registro Postal: PP15-5106. Distribuido por Sepomex. Se imprimió en septiembre de 2013 en 4Press.
04
.NOTICIAS
.Super Happy Dev House Ciudad de México
Software Guru
Campus Party celebró su cuarta edición en México el pasado mes de agosto, donde más de 8,000 campuseros disfrutaron de las keynotes de Nolan Bushnell fundador de Atari y Peter Vesterbacka co-fundador de Rovio empresa responsable del desarrollo del éxito internacional “Angry Birds”. Durante esta edición de Campus Party se realizó la presentación en México del nuevo sistema operativo para móviles de la fundación Mozilla “Firefox OS” en el cual todo el desarrollo de aplicaciones se hace con tecnologías web abiertas. Software Guru también participó impartiendo la plática “¿Qué debe saber un ninja programador?”.
.Gartner presentó las mejores prácticas para enfrentar los desafíos en TI Los días 26 y 27 de junio Gartner estuvo presente en la Cumbre de Tecnologías Empresariales 2013. Gartner presentó una comprensión profunda sobre las herramientas y las técnicas para administrar hoy con éxito la TI, con estrategias avanzadas de pensamiento y las mejores prácticas globales a fin de satisfacer las demandas de TI del futuro. Se habló sobre los Impulsores de la Innovación: La Nube, Movilidad, Interacción Social e Información, tecnologías que Gartner define como el “Nexo de Fuerzas” que darán forma al futuro de la TI. La Cumbre 2013 estuvo dirigida a entender y resolver las inquietudes del mundo real, para lo cual se presentaron las mejores estrategias que permiten a las compañías alcanzar el éxito en los negocios.
.Agile Conference México
Del 4 al 6 de septiembre se llevó a cabo la 3ra edición del Agile Conference México, organizada por Cutter Consortium y Software Guru en Ciudad de México. Los consultores que participaron en esta ocasión fueron Scott Ambler, Claude Baudoin, Hubert Smits y Edgar Barroso. En los contenidos del evento se reflejó que Agile ya no es algo que se utilice en proyectos individuales, o de características muy particulares, sino que es algo que Scott Ambler ahondó en detalles sobre el modelo “Disciplined Agile Delivery”, el cual está diseñado para satisfacer las características de los proyectos corporativos.
.PayPal Dev Meetup México
El 1 de agosto PayPal México anunció su nueva API en el marco del evento Dev Meetup, en donde se reunieron desarrolladores e interesados en herramientas que aceleren el proceso de compra. Dentro de las novedades del evento, se comunicó que a finales de este año se activará en México el servicio de pagos directos con tarjeta de crédito sin necesidad de que el cliente tenga una cuenta de PayPal. La información compartida durante este evento comprueba que las tendencias de comercio electrónico a nivel mundial están tomando fuerza logrando que todos aquellos que desisten de utilizar estos medios, comiencen a hacerlo.
Para mayor información, noticias al día y actualizaciones de la industria visita: www.sg.com.mx
05
www.sg.com.mx |
.CPMX4
El pasado 24 de agosto se llevó a cabo la edición 28 del evento SHDH, en el cual equipos de desarrolladores trabajaron durante todo un día uniendo sus conocimientos de programación y su pasión por nuestra industria. Este tipo de eventos refuerza que más allá de tener talento en un país, es necesario crear espacios donde esos talentos se puedan unir para crear la sinergia que logre fortalecer el ambiente de emprendedurismo en México; contribuyendo con sus conocimientos y convivencia, dando como resultado una combinación entre técnicas, lenguajes, aplicaciones y programación únicos.
.RESEÑA
CONSTRUYENDO JUNTOS
SOFTWARE
GRANDIOSO
06
Agradecemos el apoyo de nuestros patrocinadores: Accenture, Alpha Consultoría, ATL, BlackBerry, CA Technologies, CloudSourceIT, DS Indigo, e-Quallity, Excelerate Systems, Global Lynx, Grupo HDI, Infotec, Innevo, Ironbit, McAfee, México FIRST, Microsoft, Qualtop, Scrum México, y SEAN. Gracias a todos los asistentes que año con año continúan depositando su confianza en el prestigio de SG en la creación de este tipo de eventos. ¡Te esperamos el próximo año!
www.sg.com.mx |
Software Guru
E
l pasado 4 y 5 de julio llevamos a cabo la séptima edición del congreso internacional SG Conference & Expo 2013 el cuál acercó a las organizaciones y profesionistas de TI con las últimas tendencias y prácticas más efectivas para crear software de alta calidad, contando con la presencia de prestigiados ponentes nacionales e internacionales. Cada rincón del evento tomó vida propia: los asistentes hablaban de los retos de Big Data, el desarrollo de aplicaciones móviles, prácticas de artesanía de software, las herramientas más recientes, y los siempre presentes anécdotas sobre las problemáticas en los proyectos cuyos detalles daban consuelo y consejo a los que escuchaban. Además de las conferencias, los paneles de discusión y el área de exhibición, por primera vez SG incorporó un espacio en el cual se promovió software creado por PyMEs mexicanas, donde los asistentes votaron para reconocer a las mejores aplicaciones, siendo las ganadoras: Boicing (premio a la mejor idea) y nControl (premio a la aplicación más útil). La votación también traspasó las paredes del evento gracias a las redes sociales, donde la aplicación DIGITAL SALES fue la ganadora. Y como ha sido muy bien recibida en años anteriores, nuevamente durante el evento se realizó la Feria de Reclutamiento “Great IT Jobs” en la cual los participantes y el público en general tuvo la oportunidad de acercarse a las siguientes empresas que estaban en la búsqueda de perfiles para unirse a sus filas: 4th Source, Accenture, BanCoppel, Definity First, Digilogics, Gemalto, Gesfor México, Infotec, Randstand, SVAM, Tacit Knowledge y Terss Headhunting & Outplacement
.COLUMNA Tejiendo Nuestra Red
Mucho Ojo con la “nube” ACOMPAÑADO DE UNA SELECCIÓN DE CANCIONES Y LECTURAS
E
La Dra. Hanna Oktaba es profesora de la UNAM y su objetivo principal es generar conocimiento a través de la creación y promoción de estándares. hanna.oktaba@ ciencias.unam.mx
08
stoy consiente que ya no se puede ir contra la nube. Casi toda la información que intercambiamos los humanos de texto, voz y video está en alguna nube. Hasta se sabe dónde estamos físicamente, si usamos un smartphone. No hubiéramos tenido ningún problema si viviéramos en el mundo soñado por los Beatles de “All you need is love” y “ Give peace a chance”. Desgraciadamente estamos más cerca del mundo del “Inferno” de Dan Brown (les recomiendo su nueva novela con este título). Las confesiones de Edward Snowden me bajaron de la nube. Nací y fui educada en un país detrás de la cortina de hierro, por ello me quedaba claro que todos los gobiernos se espían entre sí y, que cada gobierno espía a sus contrincantes políticos. Pero que los gobiernos nos pueden espiar a todos me parecía aberrante e imposible. Recordemos los programas de “Big Brother” (y otros similares que se producen hasta hoy en día) en los cuales la diversión de unos consiste en la observación las 24 horas de la vida de otros. Pero en estos programas por lo menos los observados se apuntaron solos y les pagan, y a nosotros ¿quién nos preguntó? y ni hablar del pago. Además, yo tenía la idea de que el espionaje gubernamental usa sus sesudas agencias de inteligencia tipo “La fortaleza digital” (lean el primer libro de Dan Brown de 1998) y no que utiliza a las empresas particulares que manejan nuestra información personal y en las cuales hemos confiado tanto.
›› “L
a expectación en torno a la nube
ha creado una oleada de normas”
Se sabe dónde estoy físicamente porque uso un iPhone, se sabe que pienso, que hago y con quien me comunico porque mi correo profesional de la UNAM está operado por Google. Afortunadamente, no soy aficionada a Facebook ni a Twitter (aunque confieso abiertamente a mis seguidores que tengo una cuenta solo para proteger mi identidad), pero uso diversos espacios compartidos para el trabajo colaborativo de la investigación y de docencia. Ustedes saben que mi trabajo más importante, aparte de la docencia, es la generación de estándares (MoProSoft, ISO/IEC 29110 Perfil básico y Kualibeh). Todos estos trabajos no son otra cosa sino la síntesis del conocimiento ya existente en Ingeniería de Software, que transmitido a los practicantes debería de servirles como el lenguaje común para intercambiar ideas y, de paso, hacer negocios. Esta es, aunque usted no lo crea, en el mundo capitalista globalizado la idea principal de los estándares – facilitar los negocios. A mi no me preocupa que se enteren de mi trabajo, ojalá que revisen la versión preliminar del Perfil Intermedio o Kuali-beh 1.3 y me lo critiquen. Mi filosofía siempre fue y es la de compartir conocimiento. Pero no me haría gracia que mis datos o fotos personales se usaran en contra mía o de mi familia.
Si estas son las preocupaciones personales, imagínense las empresariales. Por supuesto las empresas grandes cercanas a la OMG (Object Management Group) ya desde 2011 se dieron cuenta de que: “La expectación en torno a la nube ha creado una oleada de normas y la actividad de código abierto que lleva a confusión en el mercado. Los esfuerzos actuales de desarrollo de normas no son suficientes. Hay una falta de priorización en el proceso de desarrollo de estándares de nube que no toma en cuenta al cliente.”
Para entender más a detalle cuáles son las preocupaciones de este consorcio revisen su página [1]. Mi preocupación ahora es ¿en cuál nube puedo confiar? Todavía no nos hemos liberado de los virus y otros bichos y ahora nos amenazan las nubes negras. El hombre que ya imaginó mucho de lo que estamos viviendo fue George Orwell, que en su novela de “1984”, publicada en 1949 inventó eso de Big Brother y otros conceptos interesantes (es otra lectura que les recomiendo). Hace casi 65 años predijo muchas cosas de las que estamos testigos hoy, aunque no estaba pensando en el país que ahora es el protagonista de los hechos. Todas estas barbaridades les escribo para que reflexionemos un poco más sobre las ventajas y desventajas del uso de la tecnología en nuestras vidas.
>> Por Hanna Oktaba
Referencias [1] www.cloud-council.org
www.sg.com.mx |
La misión, las estrategias y las tácticas del Consejo de Clientes de Normas de la Nube se centran en las siguientes premisas: • Adopción de la computación en nube es un factor clave para las empresas del siglo 21. • El logro de los beneficios de la computación en la nube requiere de cambios significativos, tanto para las TI como para los ejecutivos de negocios. • La computación en nube es percibida por los ejecutivos de negocios como una integración de TI y la historia de la productividad, más que una historia de la agilidad del negocio. • Practicantes de computación en la nube se beneficiarían enormemente de una comunidad profesional dinámica para impulsar el éxito local, impulsado por el negocio, y para estimular la empresa más amplia y de toda la industria a la adopción de la nube.”
Software Guru
Por eso mismo fundaron el Cloud Standards Customer Council [1], “es un grupo de defensa del usuario final dedicado a la aceleración de la nube de adopción exitosa y profundizando en las cuestiones de las normas, de seguridad y de interoperabilidad que rodean la transición a la nube.”
.COLUMNA Mejora Continua
Anclas Virtuales ¿L
a última vez que fuiste a McDonalds tu experiencia fue tan buena como la primera vez?, ¿se escucha correctamente a través de la bocina del Auto-Mac?, ¿te sonrió la chica de la caja?, ¿te sirvieron rápido?, ¿tu comida estaba caliente?, ¿estaba limpio el lugar?, ¿iluminado?, ¿qué tiene esto que ver con hacer hamburguesas? La industria de los servicios ha sido la revolución del siglo XXI. Nos hemos acostumbrado cada vez más a la diferenciación que ofrecen los servicios y al valor que esto ofrece. El fin de semana, llevé a mi hija de nueve años a comprar un oso de peluche por su cumpleaños, la selección de peluches, la opción de armar tu propio muñeco en forma personalizada, ponerle el sonido que gustes, la ropa que te parezca más apropiada, el registrar tu oso en internet, generar un certificado que lo define como tuyo, finalmente se llegó al punto de que la joven que atendía el lugar brincaba junto con mi hija para agregarle un deseo al oso. Toda esta experiencia que duró alrededor de 20 minutos, dejó una hija fascinada, un papá contento y una factura de 800 pesos por un mono de peluche que no puede costarles más de 100 pesos generar. ¡El valor de los servicios! Pero hacer ingeniería de servicios tiene su complejidad: el servicio es una idea, algo no tangible que existe solamente en la cabeza y que es muy difícil describir. Cuando compras un producto físico, por ejemplo un iPad (entiendo que hoy en día todo producto se evalúa por los servicios que lo acompañan, pero por simplicidad síganme en mi ejemplo), la complejidad radica en ponerse de acuerdo en el diseño y la construcción, pero una vez terminada, toda la organización se enfoca en hacer que su producto sea un éxito, cuando éste está en producción ya no se discute si debería ser más grande, más delgada o más rápida, esos temas son para la siguiente versión, el producto en sí une los objetivos de las personas y las lleva a enfocarse en lograr que sus decisiones en común sean un éxito.
Todo es modificable
Luis R. Cuellar es director de calidad a nivel mundial de Softtek. Es reconocido por la ASQ como Certified Quality Manager, Certified Software Engineer y Six Sigma Black Belt. @lcuellar
10
En los servicios no existe un producto unificador, todo es modificable y tiende a ser modificado en cualquier momento, no existe un ancla física que una a las mentes de la organización en un fin común: la persona que te atiende podría decidir que no tiene humor de sonreírte ese día, o el que limpia el piso no fue a trabajar. Si a pesar de eso ese día no tiene consecuencias, podría repetirse el día siguiente y así hasta el cierre del negocio. Por lo tanto en organizaciones de servicios es de vital importancia buscar elementos “Ancla”. Estas anclas virtuales se basan en acuerdos o comportamientos comunes, sistemas integrados o rituales establecidos que apoyen a estabilizar los procesos requeridos. Aquí es donde toma
una gran importancia los conceptos como valores organizacionales, visión de la compañía, estrategias a seguir, políticas, procesos, procedimientos y métricas. Todos estos elementos sirven como un pegamento que define y guía un comportamiento a través del tiempo. Al implementar un modelo de servicios en una organización es vital entender cómo estos elementos juegan entre sí, no es suficiente tener una visión organizacional si no tienes procesos establecidos, es virtualmente imposible implementar procesos estables sin métricas que evalúen el cumplimiento de los objetivos o sin una forma estructurada de mejorarlos y cambiarlos, no hay forma de estructurar políticas sin acuerdos establecidos y objetivos claros, cada uno de estos puntos sirve para sustentar el siguiente y todos ellos son imprescindibles en una organización estable. La visión establece hacia dónde nos dirigimos, los valores representan cómo nos definimos, los objetivos son cómo medimos el avance que nos acerca a la visión, los roles, procesos y procedimientos son la decisión de cómo vamos a lograr nuestros objetivos, las métricas establecen qué tan bien se apegan nuestras decisiones a la realidad o que tanto tenemos que cambiarlas y la mejora continua como re-pensamos y cambiamos nuestras decisiones si las métricas nos indican que es necesario hacerlo. La unión de todos estos elementos son los que forman el ancla que le da estabilidad a una organización de servicios y son los que aseguran una ejecución estable a través del tiempo de los diferentes procesos y procedimientos.
¿Por qué estos elementos son tan imprescindibles?
A diferencia de los procesos de manufactura, los procesos de servicios no son listas interminables de cada posible falla. En una conferencia escuché que no es posible mover en forma estable a un nivel Seis Sigma a un proceso que involucre operación manual, y estoy totalmente de acuerdo. En un proceso de servicio debe de haber espacio para la interpretación, la creatividad y las ideas porque no se le puede decir a una persona “en el paso tres sonríe amablemente”; la tarea debe
›› “No es suficiente tener una visión organizacional si no tienes proceso establecidos”.
de definirse en forma holgada, por ejemplo toma la orden, y los demás elementos forman una serie de guías y parámetros que establezcan el rango sobre el cual el individuo puede crear dentro del proceso, somos una empresa alegre, la alegría es parte de nuestros valores, etc.
>> Por Luis Cuellar
www.sg.com.mx |
En muchas ocasiones veo implementaciones de procesos rígidos, como si fueran un programa de computadora, esperando que el individuo no piense y simplemente haga lo que se le dice, o veo un enfoque a métricas que ayudan a definir quién es el culpable de algo más que definir cómo podemos mejorar nuestras decisiones. Se requiere una visión más amplia para cambiar a una organización. No sólo enfocado a un proceso en particular sino a todo el ambiente que te rodea. Las políticas de tu organización, valores, visión, estrategia, deben de estar ahí y entre ellas debe de haber un balance, ninguna es más importante que la otra porque todas ellas forman un resultado final. Y lo que es más importante: todas ellas forman un Ancla la cual puede estabilizar los procesos en tiempos difíciles o puede amarrar el barco para que no se mueva por más esfuerzo que apliquemos. Si tu estrategia de implementación no se está moviendo revisa tus anclas y define un nuevo rumbo.
Software Guru
¿Cómo me afecta este diálogo como agente de cambio o responsable de implementación de procesos?
.HERRAMIENTAS Y TECNOLOGÍAS Lo Que Viene
1
Software AG dio a conocer el lanzamiento de su nueva plataforma webMethods Intelligent Business Operations (IBO), así como su adquisición de JackBe Corporation. JackBe es una empresa de origen mexicano que provee software para visualización y análisis de datos en tiempo real. La tecnología Presto de JackBe, que destaca por su capacidad para fácilmente crear mash-ups a partir de fuentes de datos diversas, servirá como pilar para la plataforma Intelligent Business Operations (IBO) la cual ha sido diseñada para proveer a los clientes visibilidad continua y en tiempo real de la operación del negocio. Más información en http://www.softwareag.com
Windows Azure Nuevas capacidades
2
3
BI diseñado para NoSQL
12
Lanza webMethods IBO y compra a JackBe
Windows Azure recibió varias actualizaciones durante este verano. Una de las principales novedades es el soporte para grupos de disponibilidad AlwaysOn con SQL Server. Esto brinda la posibilidad de instalar una o más bases de datos secundarias, lo cual no solo mejora la disponibilidad del servidor de base de datos, sino que también mejora la eficiencia ya que ahora será posible realizar tareas como respaldo y análisis de datos en máquinas secundarias. Otra nueva capacidad son los Windows Azure Notification Hubs. Mediante este servicio los desarrolladores pueden enviar mensajes/notificaciones masivos y personalizados a dispositivos de múltiples plataformas (Windows, iOS y Android). Más información en http://www.windowsazure.com
Cloudera anunció la disponibilidad de Cloudera Search. Este producto está basado en Apache Solr y Lucene, y viene a ofrecer la capacidad de búsqueda “tipo Google” sobre datos almacenados en Hadoop (HDFS y HBase). Cloudera Search permite a las personas realizar búsquedas en texto natural sobre big data, eliminando así la necesidad de conocer lenguajes de programación y sentencias de búsqueda (querying) complicadas. Cloudera Search es parte de CDH, que es la distribución de Cloudera para Hadoop. Tanto CDH como Cloudera Search son open source, y es posible adquirir una suscripción de soporte empresarial. Más información en http://cloudera.com
Pentaho 5.0
Software AG
4
Cloudera Search Como Google para Hadoop
Pentaho Corporation dio a conocer la disponibilidad de la versión 5.0 de su plataforma Pentaho Business Analytics. Con más de 250 nuevas características y mejoras, Pentaho 5.0 brinda un amplio espectro de capacidades analíticas diseñadas para negocios dirigidos por big data. Entre las características de Pentaho 5.0, destacan sus profundas capacidades para reporteo desde MongoDB, siendo posiblemente la plataforma de Business Intelligence con mejor soporte para esta base de datos NoSQL. De hecho, Pentaho presume ser la plataforma BI con el soporte más amplio para almacenes NoSQL, contando con integraciones para Splunk, Amazon RedShift, Cloudera Impala, y certificaciones de parte de MongoDB, Cassandra, DataStax, Cloudera, Intel, HortonWorks y MapR. Más información en http://www.pentaho.com
www.sg.com.mx |
Software Guru
.EMPRESAS Emprendiendo
¿Emprender o no Emprender?
›› Por Federico Bravo
P
arece todo un dilema, sin embargo en un recorrido por las principales enciclopedias en la web podemos encontrar que emprender es una actividad que implica pensar, planear y actuar. Eso significa que muchos de nosotros somos emprendedores desde que buscamos tener una amistad con alguien, conseguir un objetivo, pensar y actuar para hacer un negocio, o hacer un plan para volver realidad cualquier idea. Podemos emprender desde muchos lugares y formas. En las empresas y organizaciones se les conoce como intrapreneurs y muchos de ellos son el factor de cambio en las empresas, líderes especializados, organizadores, etc. Emprender en TI ofrece una gran cantidad de oportunidades, podemos ser emprendedores en redes sociales, multimedia, desarrollando algoritmos de cualquier tipo, a fin de cuentas, de acuerdo con las definiciones, todos de alguna forma somos emprendedores, y quizá sólo nos hace falta saberlo con precisión. Emprender incluye una decisión para actuar y lograr, y siempre por alguna causa inexplicable, el mero acto de emprender tiene sus detractores. Pero lo importante es no darse por vencido en lo que quieres lograr, pues recuerda que en la industria de TI hay muchos ejemplos de quienes han llevado sus ideas desde la cochera hasta el éxito. Y en este punto, siempre resulta interesante mirar hacia dentro de las empresas, ya que ahí existe la posibilidad de contar con emprendedores cuyas propuestas pueden ser muy valiosas. Hay ejemplos de grandes compañías que cuentan con directores creativos, directores de plantas de manufactura, que bien podrían llamarse “emprendedores internos”. Si encuentras en tu empresa esta clase de talento, no dudes ni un segundo en desarrollarlo. También hay que distinguir entre el emprendedor y el organizador. Un factor diferencial es que el emprendedor tiene un plan de acción y es responsable, mientras que el organizador solamente junta y dirige las voluntades, pero al final no se hace responsable. El tema de los emprendedores internos no es un asunto solamente de las grandes empresas, ya que la gente con ganas de hacer bien las cosas se encuentra por todos lados. Por otra parte, tampoco existen edades para definir la personalidad emprendedora, pues hay quienes empiezan muy temprano y quienes se toman su tiempo. Al igual que con la inteligencia, no hay muchas diferencias entre los sexos ni tampoco de raza, o religión, para contar con una personalidad emprendedora. Si revisamos la vida de los grandes emprendedores, podemos ver claramente varias coincidencias que pongo a su consideración: • Nunca se dan por vencidos. • Tienen ideas, las defienden y la evolucionan conforme pasa el tiempo. • Saben trabajar en equipo. • Su negocio no siempre funcionó a la primera. • Siempre tienen una actitud positiva. 14
Sin embargo, a pesar de contar con la personalidad del emprendedor y una buena idea, una limitante para emprender puede ser la falta de recursos económicos, por lo que se vuelve necesario buscar algún tipo de apoyo o financiamiento externo. Muchos de los emprendedores corren riesgos, pero en muchas ocasiones se trata de riesgos medidos, o al menos se plantean con escenarios de emergencia, ya sabemos, el famoso “Plan B”. Las nuevas plataformas de servicios, especialmente en la nube, por ejemplo, no son un riesgo en sí mismas, pero el riesgo está en no medir las implicaciones del negocio. Ahora se está volviendo común pensar en modelos de negocio en la nube y cobrar por su uso, por transacción, pero esto podría tener implicaciones negativas si por algún motivo no se calcula bien el precio de la transacción. Así pues, un modelo que todos conocemos es el modelo híbrido, que consiste en una renta básica más transacciones adicionales, tal como lo hacen muchos de los planes tarifarios de teléfonos.
Organizando proyectos
Existen muchas formas de organizar los proyectos de los emprendedores, ya sea a partir de una empresa que debe competir contra otras, o dentro de la empresa misma. La gran mayoría coincide en que es buena idea contar con un plan de negocios, pero la pregunta que siempre surge es ¿cómo se hace un buen plan de negocios? Hay miles de formas de hacerlos, pero es recomendable saber a quién se le van a presentar para armarlos de acuerdo con quien va a poner el dinero. En el sector de TI en México, los planes de negocios que se presentan ante el Gobierno Federal deben ir orientados a la generación de empleos o al desarrollo de innovación. Pero estos planes son totalmente diferentes cuando se presentan frente a los bancos, pues éstos buscan principalmente la recuperación del dinero que prestan y esperan que el modelo presentado garantice al menos esto. Por otra parte, existen los inversionistas externos, que lo que buscan es un alto retorno de su inversión por jugársela con la empresa. Como puede deducirse, estas tres formas de obtener recursos demandan una presentación diferente, aunque el proyecto sea el mismo. En otras palabras, hay que presentarlos de acuerdo con el interés del que va a poner el dinero. Cuando la empresa decide no buscar fuentes externas de financiamiento, entonces el ritmo del proyecto depende directamente de las utilidades generadas por la empresa. Será entonces cuando habrá que preguntarse si el proyecto va a llegar realmente a tiempo al mercado o quizá se haga demasiado tarde, y ya no valga la pena sacarlo debido a las pocas posibilidades de recuperar la inversión. Como dicen por ahí: lo difícil no es tomar las decisiones sino saber vivir con las consecuencias. De cualquier forma, hay que tener presente que todas las grandes ideas nacieron siendo pequeñas. Afortunadamente, en el mundo del software existen millones de ideas que podemos plantear y hacer crecer, y
“lo
.BIO Federico Bravo es Asesor Tecnológico Empresarial en FUMEC, la Fundación México-Estados Unidos para la Ciencia. Es Ingeniero Industrial por la Universidad Iberoamericana y Perito Colegiado en TI. Provee consultoría a diversas empresas y organizaciones no gubernamentales. Ha coordinado consultorías para proyectos productivos e inteligentes en distintas empresas y ha realizado actividades de representación en temas de TI ante el Senado de la República y ante el Gobierno Federal. http://fumec.org.mx/
www.sg.com.mx |
no es un requisito que nazcan siendo grandes. Los dispositivos móviles, por ejemplo, nos permiten hacer hoy muchas cosas que antes solamente unos pocos podían lograr. Tan sólo en este nicho, tenemos un campo de acción tan grande como lo sean nuestras ideas, ya que desde ahí podemos servir a muchas otras industrias y sectores como: salud, educación, entretenimiento, deportes, restaurantes, pequeños negocios y un largo etcétera. Nuevamente, el límite es nuestra imaginación: el dinero para hacer el proyecto es sólo un asunto que resolver, pero no el objetivo final. Los proyectos de TI tienen en común que deben reunir diversas variables; hay que juntar todas las piezas del rompecabezas, ya que sin duda vamos a requerir de personas, procesos, tecnología y dinero para poder armarlos. En resumen, emprender no sólo se hace una vez, y para algunas personas es algo tan común que se vuelve casi un vicio —valga la comparación— porque sencillamente no pueden dejar de emprender una y otra y otra vez. Pero lo importante siempre es concretar un emprendimiento antes de empezar otros, porque si no entonces estaremos generando ideas y no proyectos, productos y servicios, que es finalmente de lo que se vive en cualquier industria. Emprender en TI no es difícil, pero se necesita tener ganas de hacer la diferencia. Hay que recordar que los emprendedores no nada más son quienes están dirigiendo la empresa, sino que también pueden estar al frente de sus departamentos o áreas, e incluso puede haber por ahí emprendedores en espera de ser descubiertos.
Software Guru
difícil no es tomar las decisiones sino saber vivir con las consecuencias”.
Internet de las Cosas Por Luis Daniel Soto Maldonado
Imaginemos que todos los autos poseen sensores, y: • cuando un automóvil detecta un bache en la calle, automáticamente se genera una alerta y así otros automóviles que van por esa calle en dirección al bache son informados para evitarlo en medida posible; • si un automóvil cruza una luz roja, se alertará a los de la ruta que tiene el paso, ayudando a prevenir un accidente.; • manteniendo la privacidad del conductor (sin que se pueda identificar a un individuo), los automóviles reportan tiempos de desplazamiento, generando así información de tránsito vehicular en tiempo real; • la comunicación no usa la red de Internet, sino que los automóviles se comunican entre sí por radio a corta distancia; • todo cambiará no solo en la ruta diaria sino en los modelos de negocio relacionados a vehículos, el costo de asegurar un auto no se basará en estimaciones de recorrido sino en la distancia y hábitos reales de los conductores. Este ejemplo no es obra de ciencia ficción, existe hoy implementado como una prueba piloto que en pocos años será realidad en algunas ciudades. El Internet de cosas se refiere a sensores en todos lugares, equipo de cómputo que llevamos en nuestro cuerpo, el ocultar el cómputo a nuestro alrededor. Monitoreo personal de la salud Otro ejemplo de gran desarrollo en la actualidad es el uso de sensores para la salud, esto incluye electrocardiogramas, presión sanguínea, oxímetros y una gran variedad de sensores especializados. Los beneficios son claros: • Conectividad móvil y comodidad. Se aumentará el uso del equipo, dado que la colección de datos no tiene que ser en un lugar dedicado. • Mejor respuesta. Se habilita la información en tiempo real, compartir y analizar la información en vivo. • Automatización. Se elimina la necesidad de entrenamiento de personal dado que es un dispositivo de consumo. • Privacidad. En Estados Unidos ya se ha definido un espectro para uso de “Medical Body Area Network” (MBAN´s) que combinado con factores sociales, técnicos y económicos hacen posible hacer estas inversiones posibles. Sin embargo, se puede aprender mucho de los retos en este nuevo tipo de sistemas: • Cambio estructural. Las aplicaciones médicas requerirán ser modificadas a los estándares para operar, la interacción con clínicas y la forma en que el usuario paga por el servicio.
• Integración de datos. La recolección de datos sobre redes posiblemente requiera inversiones especiales. Esto en adición al tema de la privacidad de información y manejo de información sensible. • Certificación. Los dispositivos médicos son altamente regulados. • Competencia en protocolos. Hay un gran rango de opciones a considerar al implementar dispositivos médicos, tanto abiertos como propietarios. Diversas normas aplican en base a diferentes tipos de redes (Low power Wi-Fi, Bluetooth low energy, ZigBee, IEEE 802.15.6, Ant+, etcétera). Es difícil pensar que contaremos con estándares globales. La pregunta clave en regiones en desarrollo es: ¿qué tanto el bajo costo de la mano de obra compite con la posibilidad de implementar un “servicio de monitoreo permanente”? Accesorios inteligentes Los teléfonos inteligentes ya no se consideran un fenómeno sino una realidad. Los accesorios hoy representan ya el 63% del mercado, luego del teléfono en sí mismo y sus servicios básicos. En los próximos años nos encontraremos con accesorios inteligentes que extienden a los celulares, teléfonos inteligentes, tabletas y otros dispositivos portátiles, en auto, persona, plantas, edificios inteligentes y más. Pero la clave es extender el ambiente a nivel de aplicación mediante funciones más avanzadas del sistema operativo. Un verdadero dispositivo inteligente no sólo colecciona datos, sino que puede interactuar con otros dispositivos de un mismo usuario y con grupos de usuarios. Esto parece ser en su totalidad la creación de un nuevo ecosistema de dispositivos coordinados. ABI research estima que para el año 2018 se habrán vendido más de 2.7 billones de dispositivos. Por otro lado, hay un gran reto en diferenciación: 60% de los usuarios, cuando se les pregunta, no son capaces de recordar la marca de accesorios que adquirieron. El impacto en la empresa Para la empresa las implicaciones son aún mayores que para el consumidor y el desarrollador de la tecnología: deben considerar cómo la tecnología de salud personal promoverá la creación de programas corporativos que promuevan el abandono de fumar, la reducción de peso, ejercicio para disminuir riesgos de problemas cardiacos, disminución del estrés. Es momento de empezar a pensar en cómo incentivar el uso y medir el beneficio de esta tendencia. La era del uso del cómputo y sensores a gran escala ha dado inicio. En un futuro cercano podré conocer la reacción de mis lectores a cada párrafo de este artículo.
.BIO Luis Daniel Soto Maldonado labora en la división de negocio de servidores y herramientas de Microsoft Corp. @luisdans y @luisdanielsoto
16
.ESPECIAL
Internet de las Cosas
Planeta 2.0
“Uno de los factores clave para que IoT sea posible es el ancho de banda”.
formando de los signos vitales de la persona, historial médico y toda la información necesaria que sea importante para salvarle la vida. Uno de los factores clave para que IoT sea posible es el ancho de banda, ya que sin Internet de alta velocidad sería imposible su realización. Empresas como Google tendrán que adaptarse a esta nueva revolución digital, muchos buscadores, navegadores y “apps” si desean sobrevivir, deberán considerar el auto suicidarse, para evitar que les pase lo que a Kodak, que al resistirse a los cambios ha dejado de existir. Los objetos tendrán sus propias redes sociales, sus propias fuentes de consulta de y para objetos, aquellos programadores que se adapten al desarrollo de nuevas aplicaciones de IoT podrían volverse millonarios con tan solo una idea bien implementada. Los sensores jugarán un punto primordial en el desarrollo de nuevas aplicaciones, ya que cada objeto que no esté conectado a Internet, no se le podría catalogar como IoT. El impacto del Internet de las Cosas en la industria de los medios de comunicación nos da una pista sobre los tipos de trabajos y oportunidades económicas que se crearán, caso claro de ello es que hoy en día se prefieren los smartphones que un teléfono celular analógico. La seguridad informática de los objetos inteligentes será todo un reto para los expertos del área, a ninguna persona le agradaría la idea de ser espiado por su propia taza para el café. Las leyes informáticas actuales también tendrán que adaptarse a IoT, pensar en ser y estar monitoreado en todo momento y todo lugar causa paranoia hoy en día.
.BIO Antonio Toriz (@ingbruxo) es egresado de la Universidad Autónoma del Estado de México, Campus Valle de Chalco. Actualmente trabaja como profesor de tecnologías a Nivel Medio Superior y Superior. Sus áreas de especialidad incluyen ingeniería inversa de computadoras, hardware libre, seguridad informática e innovación tecnológica. Lee su blog en http://antoniotoriz.blogspot.com
17
www.sg.com.mx |
I
nternet de las cosas abre la puerta a un planeta 2.0, proporcionando a cada objeto conexión a Internet en cualquier momento y lugar, dejando atrás la red de comunicación M2M. Desde su creación, Internet ha estado en un continuo crecimiento y evolución, proporcionando conexiones más rápidas y amigables para la población. Hasta ahora las personas solo conocen el Internet de y para las personas, cada persona contribuye con el crecimiento e interacción de la red. Al conectarse redactan para blogs, consultan revistas y periódicos, mandan un “tweet” o tienen perfil en alguna red social, por mencionar algunos ejemplos. Recordemos que en los años noventa, cuando se popularizó la World Wide Web, mucha gente se preguntaba ¿para qué diseñan la página web de un Centro Comercial, si ya sé dónde se encuentra? En esa época aún no se conceptualizaba la importancia de una página web como tal, hoy en día tener una página en Internet es tan indispensable como el correo electrónico, y lo mismo pasará con Internet de las cosas “IoT” (Internet of Things). Aún desconocemos la importancia y alcances que tendrá si solo nos enfocamos a un refrigerador o Smart-TV conectados al ciberespacio. Imaginemos a una persona adulta conduciendo a alta velocidad su automóvil por la carretera, para su desgracia sufre un paro cardíaco, en situaciones actuales tiene un gran probabilidad de volcar su auto y morir. En un futuro las camisas de vestir inteligentes podrán avisarle al auto que el conductor ha sufrido un incidente, por lo tanto, dicho auto debe tomar el control y llevar a dicha persona al hospital más cercano, mientras lo hace, se está comunicando al hospital in-
Software Guru
Por Antonio Toriz
De Single-Boards y microcontroladores Por Gunnar Wolf
L
as promesas del Internet de las cosas han estado por décadas ya a la vuelta de la esquina, y cada vez parecen acercarse más. Imaginar un mundo de sub-artefactos inteligentes (me niego a darle el título de computadora completa a un empaque de leche, el típico ejemplo, por el simple hecho de que un microcontrolador en su empaque me permita leer «Contenido: 32%; Frescura: 4 días») nos ha resultado natural desde hace mucho, posiblemente por la prevalencia de estas ideas en las novelas de ciencia ficción por mucho más tiempo ya. Como contraejemplo, la adopción, crecimiento y masificación de Internet, y lo fundamental que nos resulta hoy en día para comprender a la sociedad o participar en ella, nos tomó mucho más por sorpresa, y tal vez sea en parte porque era algo prácticamente nunca imaginado. Si revisamos la ciencia ficción entre los años 1950 y 1980, muchos relatos consideran como un hecho casi cotidiano el tema del viaje en el espacio y –dependiendo, claro, de las inclinaciones narrativas del autor– la inteligencia de las cosas que acompañan a los héroes del relato, pero muy frecuentemente las comunicaciones que describen se sienten, a nuestros ojos y a sólo 20 años de la masificación de Internet, como reliquias de tiempos hace mucho desaparecidos; se sienten tan anacrónicas como hoy en día un fax, ese mágico e impresionante implemento que a tantos nos maravilló hace no tanto tiempo. ¿Y por qué el contraejemplo? Porque tuvieron que pasar varios años desde el inicio de la masificación del uso de Internet hasta que fuera terreno explorado y comprendido por el ecosistema que hoy la conforma. Entonces, parece que, ahora sí, las cosas (en contraposición de las computadoras, a quienes podemos ver como ciudadanos de pleno derecho en nuestra red de redes) están a punto de estar tan conectadas como nosotros, con nuestros lentos y analógicos cerebros que requieren de prótesis para participar en el intercambio global de información. ¿Por qué ahora sí? Hay dos factores fundamentales que han demorado esta realidad, fuertemente interrelacionados: Costo y tamaño. El Internet de las co18
sas requiere que los miles de computadoras y microcontroladores que nos rodeen sean tan pequeños, y que lleven un precio unitario tan marginal, que podamos olvidarnos de ellos, que no nos acordemos de su existencia excepto cuando requiramos pedirles información (o cuando estos determinen, basados en los valores que les configuramos previamente, que ocurrió un evento de nuestro interés). Y en ambos casos, todo apunta a que ahora sí estamos a punto de dar el paso. Me gustaría hacer predicciones acerca de cómo es que esto nacerá como un nicho, y se masificará tanto o más que lo que ha hecho Internet. Sería muy divertido ahondar en cómo resolver los problemas de autoconfiguración y de uso de ancho de banda cuando tengamos cientos de redes de área personal luchando por intercambiar mensajes de forma coordinada en un mismo vagón de metro, e imaginar las tremendas implicaciones que estos desarrollos tendrán para otra redefinición más de lo que constituye información íntima, privada o personal. Pero mi horóscopo del día de hoy apuntaba a que todas las predicciones que haga serán erróneas. Entonces, para evitar caer en la futurología, toca la tarea de evitar que el futuro nos tome desprevenidos. ¿Cómo podemos comenzar a desarrollar habilidades y conocer las herramientas que emplearemos para no sólo utilizar, sino que ser partícipes de la creación del Internet de las cosas? Los invito a voltear hacia el área denominada del Cómputo de ultra-bajo costo (Ultra Low Cost Computing, ULCC). En los últimos años han salido al mercado varios dispositivos con los que podemos irnos acercando a las restricciones y las realidades del entorno con el que trabajaremos. Sugiero mirar, en dos direcciones fundamentales: por un lado, hacia el desarrollo de microcontroladores, y por el otro, hacia el desarrollo de computadoras mínimas (Single-board computers). Y en particular, a pesar de que hay ya una amplia gama de productos que cubren este espacio, los productos más definitorios del sector hoy en día son el Arduino y la Raspberry Pi.
.ESPECIAL
Internet de las Cosas
Raspberry Pi La Raspberry Pi ha causado un gran revuelo e interés en la comunidad de aficionados: Es una pequeña computadora, con prestaciones equivalentes a los equipos de escritorio que estaban en el mercado hace 5 o 10 años, a un precio de apenas €30, y con suficientes puertos y capacidad para considerarla una computadora completa. Al igual que los Arduino tiene una serie de pines independientes para entrada y salida programable, pensados para manejar una serie de sensores y actuadores según lo requiera cada proyecto. Lo que logra una Raspberry con su humilde procesador ARM y 256 o 512MB de memoria (depende del modelo) es notable: puede correr una distribución estándar de Linux, con un entorno ligero
de escritorio. El sistema Raspbian, promovido por sus desarrolladores, viene cargado con entornos de enseñanza de programación aptos para niños de diferentes edades, y con herramientas de cómputo en general — Navegador, suite de oficina, etc. En mi opinión, resulta erróneo presentar a la Raspberry como un reemplazo de computadoras estándar para entornos económicamente desfavorecidos. A pesar de haber experiencias como la de un laboratorio de computación en una región rural de Camerún[1] y probablemente haya muchos otros, estas maquinitas están más bien enfocadas a la enseñanza de computación a otro nivel, enfocadas a crear nuevas soluciones, casos de uso aún no cubiertos. Convertir a una Raspberry en una computadora tradicional eleva fuertemente su costo (el impulsor europeo del proyecto de Camerún estima €250). ¿Fines educativos? Como ya mencionamos, tanto los Arduinos como la Raspberry fueron creadas originalmente con fines educativos. ¿Por qué resulta esto relevante? Más allá de ser ejemplos de desarrollos exitosos de hardware libre, diseñados por una comunidad de entusiastas, un importante punto es que son proyectos que buscan despertar la creatividad, el asombro que muchos de nosotros sentimos hace tantos años, al tener la oportunidad de usar una computadora por primera vez, al darnos cuenta de que en realidad podíamos hacer que un artefacto mágico nos obedeciera. Obviamente, esa época pasó, y describir la magia de algo hoy tan cotidiano no hace más que constatar la edad del que escribe. Sin embargo, yendo más allá de la importancia de estos dispositivos como parte de una estrategia comercial y de desarrollo de habilidades profesionales, me parece muy importante que estos “bichitos” pueden encender la curiosidad y atraer a nuevos entusiastas a nuestro campo. El nivel de matriculación en las carreras que conducen a la formación de profesionales capaces de desarrollar sistemas e impulsar las nuevas tecnologías han ido cayendo a nivel mundial. Nuestra profesión ya no es vista como “la carrera del futuro” y cada vez es menor la proporción de jóvenes que deciden dedicarse al apasionante mundo del desarrollo de sistemas. Sin embargo, la ciencia ficción sigue llamando, seguimos queriendo traer la magia que nos prometieron para aquel nebuloso futuro que no termina de llegar. Estos modestos juguetes pueden también representar parte de la respuesta y traer a nuevos entusiastas. Referencia [1] “Bringing computing to rural Cameroon” http://www.raspberrypi.org/archives/3634
.BIO Gunnar Wolf es administrador de sistemas para el Instituto de Investigaciones Económicas de la UNAM y desarrollador del proyecto Debian GNU/Linux. http://gwolf.org
19
Software Guru
La familia Arduino La familia de microcontroladores Arduino nace desde modelos muy básicos, con 2KB de memoria y basados en un procesador de 8 bits, pero al ser diseños de hardware libre, diferentes diseños han ido apareciendo, incorporando todo tipo de interfaces, procesadores más avanzados y medios de adquisición de datos. Pero incluso con los diseños más sencillos, ver lo que en unas cuantas tardes de ocio dedicado a programar puede lograr un aficionado a la electrónica es impresionante: Me tocó ver a un pequeño Arduino con 2.5KB de memoria controlando una pantalla de televisión analógica, empleando únicamente dos de sus hilos de salida. Con sólo usar como referencia los relojes que emplea el viejo estándar de televisión NTSC y un poco de ingenio, nos presentaron un pequeño videojuego. No, no utilizando una tarjeta de video, sino que modulando la frecuencia directamente con el procesador. Los Arduinos se programan por medio de un lenguaje cercanamente derivado de C, que incluye macros, facilitando el uso de las características del hardware. El precio de los Arduino (a partir de unos 20 dólares) puede parecer elevado si consideramos que querremos embeberlo en todo tipo de productos. Pero una vez desarrollado el prototipo, puede contratarse la manufactura a gran escala de un microcontrolador dedicado, todavía más pequeño y más barato que éste. Los Arduinos están basados en arquitecturas de procesadores disponibles comercialmente, y sin duda los veremos poblando a muchas de esas cosas inteligentes conectadas a la red.
“Si revisamos la ciencia ficción entre los años 1950 y 1980, muchos relatos consideran como un hecho casi cotidiano el tema del viaje en el espacio”.
www.sg.com.mx |
Es difícil definir de forma clara y sin ambigüedad el punto en que deja de ser un microcontrolador y comienza a ser una computadora mínima. El punto que empleo es la existencia o falta de puertos para interfaces estándar de entrada/salida: Al trabajar con microcontroladores, en general interactuaremos con ellos exclusivamente a través de una serie de pines individuales que pueden ser programados y manipulados de forma independiente; en una computadora mínima normalmente es posible conectar por lo menos un teclado y un monitor. Un punto, a mi entender, muy importante en ambos casos es que estas dos principales plataformas son productos desarrollados en primer término con fines educativos — Tema que abordaré brevemente.
¿Big Data
podría convertirse en nuestro Big Brother?
Por Héctor Javier Franco Beltrán
S
eguramente este es un artículo de Big Data que en el presente mes se suma a la cada vez más creciente cantidad de miles de artículos mensuales escritos sobre este tema en todos los medios, para todas las audiencias, en todos los idiomas, desde la academia, los proveedores, los analistas, los consultores y uno que otro “Fan” de la tecnología a nivel mundial; esto claramente nos dice que independientemente de lo que signifique, Big Data, éste es un término que ha inundado las mentes de todos nosotros. Hace algún tiempo tuvimos la oportunidad de hablar de “Inteligencia de Negocios” y su compleja simbiosis como “Mutualismo” para ayudarnos a tener un mejor desempeño empresarial y sus efectos positivos, al igual que sus contradicciones ya que muchas veces los “Negocios” muestran ir contra el concepto más puro de “Inteligencia Humana”. Por ejemplo: comida chatarra vs diabetes juvenil, cigarrillos vs cáncer, alcohol vs accidentes, consumo energético vs efecto global de invernadero, etc. En esta ocasión solo abordaremos el concepto Big Data en el ámbito de la “Inteligencia de Negocios”, CPM, BI, Predictive Analytics, EPM y aquellas técnicas, metodologías y herramientas que nos apoyan actualmente a tomar decisiones informadas por el uso extensivo de grandes volúmenes de datos, propios, públicos, comprados y en ocasiones hasta “prestados”. Primeramente tomemos alguna de tantas definiciones de Big Data que existen, en este caso de Gartner Group: “Big Data son los activos de información de alto volumen, alta velocidad, alta variedad de datos que demandan formas costo/efectivas e innovadoras de procesamiento de información para mejorar con un conocimiento profundo y apoyar la toma de decisiones” [1]. Se parece en su objetivo final a la definición de Inteligencia de Negocios…. pero en grande. Básicamente lo que es bueno saber es que la iniciativa Big Data es parte de la evolución lógica de la tecnología de toma de decisiones y que no a todos sorprende dado que muchos de los componentes que hacen de esta tendencia una realidad hoy en día viene desde sus orígenes en BI, CPM, EPM, Data Mining y se ha empleado en Universidades, Centros de Investigación a nivel mundial en el Departamento de Defensa de los Estados Unidos. Especialmente impulsado en estos días por la administración del Presidente Barack Obama a través de DARPA (The Defense Advanced Research Projects Agency) establecida en 1958, también criticado dicho programa por sus polémicos logros en robótica, mapas del cerebro humano, detección selectiva de amenazas internas, externas, en grupo o individuales, son hoy por hoy la gestación de lo que podría ser un “Big Brother”. Adicionalmente se le ha asignado un presupuesto sin precedente histórico para la defensa que, utilizando las palabras de su directora Dr. Arati Prabhakar 20
“Estamos creando y apoyando a los creadores de la tecnología que se usará por las próximas generaciones y que rompe con muchos paradigmas actuales, para esto hay que pensar fuera de lo convencional por completo “. Esto a algunos grupos, científicos, investigadores y tecnólogos a lo largo del mundo les ha hecho “levantar la ceja” más de una vez, lo que nos confirma que no a todos se les puede mantener satisfechos con las decisiones políticas. Lo importante de esta evolución natural de la tecnología de apoyo a la toma de decisiones empleando grandes cantidades de datos, en múltiples formatos, a gran velocidad y una poderosa profundización de los datos que soportan una decisión es que son un hecho hoy en día, disponible en el mercado y con una larga lista de recomendaciones en su instrumentación que veremos más adelante, pero disponible a costo razonable para la mayoría de las organizaciones. Actualmente la tecnología ya existe y se encuentra disponible con fines civiles y comerciales a su vez que crece en los siguientes aspectos: • Poder de Cómputo en aumento y técnicas de almacenamiento alterna, por ejemplo IMC (In memory computing) • Poder de Almacenamiento creciente a un menor costo • Capacidad para mantener almacenados los datos en medios ubicuos • Capacidad para manipular datos y darles significado a los datos no estructurados, p.e. desambiguación textual, meaning based computing, map reduce, HADOOP, etc. • Incremento constante de la gran cantidad de datos producidos y transmitidos en muy diversos formatos y dispositivos que pueden ir desde el uso y explotación comercial hasta apoyo a tropas en combate usando diversos medios de tecnología y nuevos retos surgen con las guerras virtuales, asistidas por drones, robots y cientos de dispositivos en tiempo real que apoyan la victoria y protegen la vida del soldado en campo. • Gran cantidad de dispositivos que producen datos como video, voz, dispositivos militares, climatológicos, redes sociales, satélites de comunicaciones, automóviles, teléfonos inteligentes, sensores de presión, noticieros, radio, TV, reconocimiento biométrico, señales sismológicas, detectores de vida, etc. • Gran capacidad de transmisión de datos, estando en fase de desarrollo diversos nuevos tipos de comunicación de una nueva generación de tecnologías para sustituir los viejos satélites de posicionamiento global y comunicaciones, ubicación-transmisión nosatelital-GPS según el DARPA (The Defense Advanced Research Projects Agency) fundado en 1958 con la misión de prevenir cual-
.ESPECIAL
Internet de las Cosas
El 29 de Marzo de 2012 Barack Obama anunció el programa DARPA XDATA por parte de la Oficina de Política en Ciencia y Tecnología de la Casa Blanca y otras agencias federales de aquel país como parte de la iniciativa Big Data de DARPA. Las buenas noticias Con lo anterior tenemos dos hechos fundamentales sobre Big Data: 1. Es una iniciativa con apoyos muy amplios y de largo plazo que combina múltiples disciplinas y que es fundamental para la seguridad de las naciones. 2. Representa un área de oportunidad y de Inteligencia Estratégica para las empresas que requieran competir en el entorno actual y futuro en el ámbito de los negocios. Las oportunidades 1. Utilizar Big Data para desarrollar programas de Ventas, CRM, Lealtad, Oferta Dirigida a la Oportunidad, Conocimiento del Cliente, Monitoreo del Desempeño Empresarial en Línea. 2. Desenchufar ese viejo Refrigerador (DW) y potencializar cada componente de recopilación y generación de información y análisis en tiempos mucho más cortos. 3. Crear sistemas de Advertencia Temprana en el ámbito de seguridad pública, política, tendencias de grupos de mercado, etc. Los Riesgos ya conocidos Puede que Big Data sea relativamente nuevo, pero para aquellos que llevamos toda una vida inmersos en las tecnologías de Business Intelligence / Data Warehouse / Predictive Analytics sabemos bien que hay ciertas disciplinas, metodologías, técnicas y herramientas que debemos usar para controlar los viejos problemas de manejo y análisis de datos y como menciona nuestro mentor y amigo Bill Inmon (considerado el padre del data warehouse a nivel mundial), “nuevos retos surgen al querer dar un significado a los datos no estructurados en un ambiente contextualmente cambiante y donde los datos no estructurados muchas veces requieren de una desambiguación textual para tener un significado concreto”.
1. Tener clara la Estrategia con la cual se usará Big Data para obtener una ventaja competitiva, inversión, alcance por etapas, disminución de costos y riesgos e incremento de utilidades. 2. Identificar los potenciales costos ocultos de la iniciativa, por ejemplo: capacitación, limpieza de datos, auditorías de avance, middleware, conectividad, etc. 3. Establecer un Gobierno de Datos. 4. Administrar los Catálogos Maestros Globales, Locales y Externos. 5. Empleo de Técnicas y Herramientas de Calidad de Datos y su monitoreo. 6. Incrementar la seguridad de acceso a toda la arquitectura. 7. Dar cumplimiento al ámbito regulatorio nacional e internacional respecto al uso de los datos (omitir este punto puede ser muy costoso). 8. Conocer e identificar a las fuentes con datos humanos o no humanos considerados “paleros”, información inducida, “Bots” generadores de trends y likes, al igual que todo tipo de bichos que pululan en la web y en las tabletas de muchos adolescentes. 9. Emplear un cuerpo de conocimientos formal para la Administración y Dirección de proyectos como el PMBok del Project Management Institute y sus áreas de conocimientos. Los riesgos potenciales Esta lista se incrementa o disminuye día a día conforme nosotros los entusiastas y nuestros amigos detractores seguimos visualizando las implicaciones para la información personal, de las empresas, de los gobiernos y de seguridad que implica que mucha de nuestra información personal, de patrones de consumo, rutas de ejercicio, listas de supermercado, de nuestro estado de salud, etc. Se encuentren disponibles para su análisis por muchas de estas arquitecturas de este tipo para diferentes propósitos. De hecho en estos días existe una gran polémica de cómo esta tendencia puede poner en riesgo la propia seguridad nacional de varios países, entre ellos, los Estados Unidos. Ante esta realidad yo recomiendo estar preparados y abiertos a una nueva generación de aplicaciones y relacionamientos en los negocios que no tienen precedentes en la historia de la humanidad. Más vale conocer a nuestro Big Brother desde ahora que se está formando y que en muchas ocasiones conocerá más de nosotros, nuestros gustos, fortalezas y debilidades que nosotros mismos.
Referencia [1] http://www.gartner.com/it-glossary/big-data/
.BIO Héctor Javier Franco Beltrán es Ingeniero en Computación del ITAM. Cuenta con más de 24 años de experiencia profesional en Consultoría en Tecnología, Inteligencia de Negocios, Innovación, Mejora en Estrategia-Táctica y Operación. Es Presidente del Business Intelligence Institute www.tbii.org , fue del 2007 al 2011 Coordinador del Diplomado en Business Intelligence del ITAM. Es investigador de la Red Temática de Tecnologías de Información y Comunicación del CONACYT. Es Project Management Professional (PMP) del PMI, Coordinador de Sector Gobierno del PMI Capítulo México. Hfrancob@tbii.org.mx
21
Software Guru
quier sorpresa estratégica que impacte negativamente a los Estados Unidos, al igual que asegurar el mantener una superioridad militar incuestionable a nivel global. • Gran capacidad predictiva y adaptativa del software y la interacción hombre-máquina, métodos intuitivos, algoritmos co-relacionales. • Por si estas capacidades fueran pocas, también estamos incrementando nuestra capacidad de protección de datos personales, sensibles, gubernamentales, industriales y militares.
La respuesta para atenuar muchos de los riesgos y salvaguardar el retorno de la inversión es “Volver a los orígenes” o bien a consultar con un experto que forme parte del caso de negocios, valide los componentes y proponga las metodologías, herramientas y proporcione acompañamiento para:
www.sg.com.mx |
“muchas veces los “Negocios” muestran ir contra el concepto más puro de “Inteligencia Humana”.
GE Predictivity™: Industrial Internet Hoy Por Armando Betancourt
E
n los últimos eventos sobre tendencias en Tecnologías de Información a los que he atendido, los términos de Cloud, Mobile, Big Data y ahora “Industrial Internet” no pueden faltar en cada una de las presentaciones. Como muchos de ustedes saben, lo más importante de estos mensajes, es lograr traducirlos en un proyecto de alto valor agregado para nuestras organizaciones, alineado con la estrategia de negocio y los presupuestos reales. El denominado Industrial Internet es realmente la siguiente Revolución en una historia de transformación y cambio iniciada a partir de la Revolución Industrial, donde las máquinas y fábricas generaban economías de escala y ampliaban el alcance de nuestra producción; y de la Revolución de Internet, donde se generaron enormes redes distribuidas de información, interconectando personas y procesos, rompiendo barreras geográficas y organizacionales. Ahora, en esta nueva Revolución, las fronteras se desvanecen con el mundo off-line y la colaboración entre máquinas, información y personas ya es una realidad. ¿Cómo comunicarnos con las máquinas? Esto no es nuevo, durante años, millones de máquinas han contado con sensores que nos proveen de información, el ejemplo más antiguo que recuerdo es el odómetro de nuestros autos, indicando el número de kilómetros recorridos, la innovación entonces, no está en la recopilación de datos, sino en la capacidad de habilitar una comunicación bidireccional con estas máquinas. Para los arquitectos de SOA (Service Oriented Architecture) el concepto va a resultar sumamente familiar, el primer reto de esta arquitectura es poder habilitar una comunicación entre plataformas completamente distintas y algunas de ellas hasta con protocolos propietarios. Para esto se requiere crear un proveedor de servicio a través de un adaptador que exponga las funciones, en este caso de la máquina, en un lenguaje y protocolo de comunicación abierto como JSON/XML y HTTP. Ver Figura 1 Aquí es donde ser OEM (Original Equipment Manufacturer) cobra vital importancia, ya que una de las principales ventajas que tiene GE (NYSE: GE) es el acceso a toda la gama de tecnología industrial que ha creado desde hace más de 100 años: motores, generadores de energía, equipo médico, locomotoras, turbinas de avión, etc. GE conoce desde hace mucho tiempo el lenguaje de es22
Figura 1. Uso de la capa de integración.
tas máquinas y hoy con los avances tecnológicos se abre una puerta para crear soluciones integrales orientadas a resolver los principales problemas que el mundo necesita, como generar energía con menor impacto al medio ambiente, crear medios de transporte más rápidos y eficientes en el consumo de combustible, hasta reducir el tiempo de espera de pacientes en hospitales, todo esto al mismo tiempo que se optimizan los mantenimientos y la disponibilidad de estos activos. El contar con Terabytes de datos históricos de operación de estos equipos y con la capacidad actual de compararlos con la información que generan en tiempo real, abre la posibilidad de toda una nueva gama de servicios que GE ha denominado Predictivity™. “Historical Data + Real-Time Data = Predictivity” Como mencioné al principio, la meta no es la tecnología, sino cómo la utilizamos para generar valor agregado para nuestros clientes, así que el enfoque de GE está totalmente orientado a la optimización de su operación y del ciclo de vida de sus activos. Con más del 30% de la economía mundial directamente atribuida a la actividad industrial, la capacidad de interactuar con las máquinas nos abre una gama de oportunidades en diferentes industrias. Ver Figura 2. Aviación – Una reducción del 1% en costos de combustibles ahorraría hasta $30 mil millones USD en 5 años. Energía – Solamente considerando las plantas de energía basadas en gas, las eficiencias generadas por el software y la optimización de la red así como
“la meta no es la tecnología, sino cómo la utilizamos para generar valor agregado”.
Figura 2. Oportunidades de Interacción.
Referencias [1] Video: http://youtu.be/IxeMY8cdr7E [2] http://www.ge-ip.com/ [3] http://www.gesoftware.com [4] http://www.ge.com/b2b/predictivity [5] http://www.opengroup.org/soa/source-book/ soa_refarch/integration.htm
.BIO Armando Betancourt es Director de Procesos y Tecnologías de Información para GE Power Generation Services Latinoamérica, se ha desempeñado en diferentes posiciones estratégicas como Program Manager y Chief Enterprise Architect en industrias de Telecomunicaciones, Aerolíneas y Energía. mx.linkedin.com/in/abda10
www.sg.com.mx |
Una nueva Revolución se está gestando y una vez más, las grandes oportunidades serán de quienes sean capaces de comprender y traducir los beneficios que ofrece la tecnología en proyectos de alto valor agregado. Por su historia, por la diversidad en su capacidad instalada en máquinas alrededor del mundo y por su profundo conocimiento del lenguaje de las máquinas, GE está preparada como nadie para liderar esta revolución en favor de sus clientes.
Software Guru
una mejor sincronización entre el gas utilizado y el sistema de generación podrían ahorrar $66 mil millones USD en 15 años. Salud – Los sistemas de salud globales tienen un desperdicio de hasta $732 mil millones USD anualmente. GE Healthcare ha identificado un ahorro de $100 mil millones USD anuales directamente atribuibles a las soluciones de Industrial Internet. Ferrocarriles – Industrial Internet puede reducir cerca de 2.5%, ó $5 mil millones por año, en la operación del sistema ferroviario mundial.
CHRISTOPHER
AVERY Nos habla sobre Liderazgo en TI
C
hristopher Avery es un asesor de negocios de TI especializado en el liderazgo responsable, trabajo en equipo y el cambio para las empresas y SG tuvo el gusto de conocerlo en persona, siendo el encargado de abrir con su conferencia nuestro pasado Congreso SGCE y con esta entrevista acercamos aún más a nuestros lectores la gran experiencia de Christopher.
SG - La Innovación de TI requiere pensamiento creativo, ¿Cómo los líderes de TI pueden fomentar eso? CA - He visto a muchos equipos de liderazgo aprender, adoptar y practicar un poderoso principio organizador y herramienta llamada El Proceso de la Responsabilidad™. Cuando los líderes empiezan a funcionar a partir de una verdadera responsabilidad, muchas cosas suceden: • Ellos aprenden y crecen mucho más rápidamente. Los datos del estudio del caso muestran que supervisores recién nombrados, se convirtieron proactivos y expertos, en la mitad del tiempo usual. • Salen de los propios problemas - independientemente de la causa – con la velocidad de un rayo. • Se convierten en un modelo a seguir, para el funcionamiento de la posición mental de la responsabilidad. Cuando esto sucede con un puñado de altos líderes, entonces el responsable de auto-liderazgo se muestra en cascada por toda la organización y cambia la cultura. Florece la innovación. Hemos visto esto una y otra vez.
Software Guru (SG) - ¿Cuál es el mayor desafío que enfrentan los líderes de hoy en día? Christopher Avery (CA) - El mayor desafío de liderazgo hoy en día es la integración de los valores propios de uno mismo, los valores de su empleador o cliente y los valores de las personas que son servidos por esos líderes. Cuando estos tres conjuntos de valores se salen de la línea, los líderes dejan de liderar y recurren a control gerencial. Eso no es liderazgo sino manipulación. SG - ¿Cuál fue el cambio más significativo en el liderazgo que has visto en una organización? CA - El cambio de organización más exitoso es el menos conocido. Este sólo ocurre cuando uno o más líderes experimentan una transformación personal y luego simplemente empiezan a comportarse de manera diferente. No hay programas de cambio en vertical (de arriba para abajo) con grandes nombres sofisticados. En vez de eso, sólo pasa que los líderes se comportan con mayor claridad acerca de sus pensamientos y acciones. La organización responde a eso. Este es mi enfoque para el desarrollo y el cambio en líderes, equipos de liderazgo y organizaciones.
SG - ¿Cómo pueden los líderes de TI acelerar la eficacia en sus equipos? 24
CA - Al servir “fuera y hacia abajo” en lugar de la gestión de “hacia arriba”- La mayoría de nosotros se obsesionó de la autoridad gerencial, estado, títulos, y el tamaño de nuestro presupuesto. Cuando hacemos esto, perdemos lo más valioso disponible en la competencia de liderazgo nuestro poder “integrador”. Poder integrador es nuestra capacidad de utilizar nuestra mente y nuestras acciones, para atraer a la gente, para hacer juntos algo más grande que nosotros – y que ellos – que podamos hacer solos. Usted puede conocer mejor esto como trabajo en equipo, colaboración, o incluso como el liderazgo “servidor”. El punto es que el estatus, la autoridad y el presupuesto, todos son conceptos arraigados en la escasez. Son limitados. Sin embargo, la efectividad del equipo se origina en los conceptos de integración y expansión (también conocida como abundancia). El poder integrador de un líder sólo está limitado por ese líder y nada más. Sólo nosotros limitamos nuestra capacidad de atraer a otros, para lograr juntos algo grande. Y lo que más se interpone en nuestro camino, es que nos centramos excesivamente en la autoridad, estado, y presupuesto para lograr que las cosas se hagan.
.ENTREVISTA
2. Obtenga en las personas el sentimiento de que están en el mismo barco. Se hace eso, pensando profundamente acerca de lo que el equipo debe hacer que sea más grande que cualquier miembro, requiere de todos los miembros, y ningún miembro puede cantar victoria por sí solo. Entonces, cuando usted piensa que usted puede ser que sepa lo que es, involucrar al equipo en un diálogo sobre el tema. Plantee la pregunta: “¿Qué debemos hacer juntos que es más grande que cualquiera de nosotros, requiere a todos nosotros, y ninguno de nosotros podemos cantar victoria sin ello?” 3. Descubra el gran “Por Qué” de cada miembro (más allá de un cheque de pago). Cuando los miembros de los equipos de trabajo tienen una motivación intrínseca natural para trabajar juntos. Cuando los equipos no funcionan, esa motivación interna está faltando en uno o más miembros. Otros ven que se preocupan menos. Cuando eso ocurre, los otros miembros realmente reducen su compromiso con el equipo, porque no es justo tener que sacar la carga ajena. Este es un concepto mal entendido por la mayoría de los líderes. Nos centramos en los motivadores extrínsecos como el pago, el título y los beneficios. Pero la verdad es que los líderes de grupo y líderes servidores pueden no tener acceso a los motivadores extrínsecos de la organización. 4. Hacer y mantener unos pocos acuerdos operativos claros. Normas, es decir, un comportamiento normal, desarrollar en equipos y organizaciones de dos maneras: de forma predeterminada y por diseño. Normas de alto rendimiento rara vez se desarro-
SG - ¿La Responsabilidad personal y compartida se puede enseñar, o es un atributo innato? CA - Sí y sí. La sociedad nos enseña que la responsabilidad es un rasgo de carácter - que algunas personas tienen y otras no. Sin embargo, la investigación en las últimas tres décadas demuestra que la responsabilidad es en realidad un proceso mental, que funciona de la misma manera en todos nosotros. A esto lo llamamos el Proceso de la Responsabilidad™. Aquí una breve descripción: El Proceso de la Responsabilidad, derivado de los estudios de campo, muestra cómo las personas “procesan” los pensamientos acerca de cómo evitar o asumir la responsabilidad. El conocimiento del proceso proporciona una infraestructura para el aprendizaje. Es el primer modelo de “guía práctica” para la toma, la enseñanza, y la inspiración de responsabilidad personal - el principio # 1 del éxito. Nadie piensa en la responsabilidad personal cuando las cosas van bien. Cuando algo sale mal, grande o pequeño (pérdida de llaves o pérdida de la cuenta del retiro), el Proceso de la Responsabilidad “nos afecta” La mente nos ofrece el Echarnos la Culpa como una razón. Si acepta la culpa como una razón suficiente, entonces actuará con esa culpa. Si no la acepta, entonces su mente le ofrece una excusa (Justifica). Y así sucesivamente. Por lo tanto, asumir la responsabilidad personal es un proceso
gradual de negarse a interpretar una serie de pensamientos irresponsables que su mente le ofrece en sacrificio. El Proceso de Responsabilidad es más útil cuando es auto-aplicado. Es contraproducente cuando se usa para Echar la Culpa a otros. SG - La industria de TI está llena de retos y problemas, ¿cómo pueden los líderes de TI, mantenerse ellos mismos para permanecer motivados? CA - Lo mejor es rodearse usted mismo de otras personas que tratan de dominar la responsabilidad de tener la vida, el trabajo y las relaciones de sus sueños. Esta es una ruta conocida de la felicidad y el éxito productivos que yo empleo en el desarrollo de líderes alrededor de todo el mundo. Usted y otros puedan apoyarse mutuamente en ser cada vez más auténtico y líderes verdaderamente integrados y de gran alcance. Ver Figura 1.
Software Guru
Estos son los pasos más importantes: 1. Merezca - y exija - estar en un gran equipo. Eso significa tomar posesión por estar en un equipo de alto rendimiento. Si no lo hace, entonces nadie más lo hará.
llan de forma predeterminada. Así que usted necesita diseñarlas, y eso usted lo hace a través de acordar sobre cómo desea operar. Tener una discusión o utilizar un proceso de lluvia de ideas por notas adheribles para reflexionar en cómo se comportó la gente en los mejores equipos en los que usted a estado. A continuación, trabajar las ideas más importantes - que uno de cada uno apoya – hacia acuerdos operativos. Muchos miles de líderes de TI alrededor de todo el mundo, han encontrado que esta infraestructura es mágica para equipos de alto rendimiento. Pruébelo. Y para más información, lea mi libro “El Trabajo en Equipo es una Habilidad Individual” (2001, BerrettKoehler).
www.sg.com.mx |
SG - ¿Qué métodos recomiendas para lograr el compromiso de los miembros del equipo? CA - Los líderes han estado viniendo a nosotros por 25 años, para aprender y dominar las verdaderas habilidades, enfocadas al verdadero liderazgo de equipo de trabajo.
Figura 1. Responsability Process™
Referencias Christopher y su equipo gentilmente han compartido un conjunto de herramientas y recursos gratuitos para los lectores de SG. Consúltalas en http://www.christopheravery.com/sg
Descarga un póster a color del Responsibility Process™ en http://christopheravery.com.
.BIO Christopher Avery, Ph.D. un asesor de negocios de TI especializado en el liderazgo responsable, trabajo en equipo y el cambio para las empresas como GAP, Wells Fargo, y Ebay. Fundador y líder de la creciente y mundial comunidad de líderes Leadership Gift™. Christopher es más conocido por su trabajo de vanguardia, para desmitificar y luego desarrollar habilidades prácticas para liderazgo en equipo, para ingenieros y otros profesionistas técnicos. La Revista FORTUNE llamó a su clásico “El Trabajo en Equipo es una Habilidad Individual” como el único libro sobre el trabajo en equipo, que usted necesita leer.
25
EN PORTADA
LEGACY APPLICATIONS ¿RE-ESCRIBIR O MANTENER? Por Carlos Peix
EN ESTE ARTÍCULO EVALUAREMOS LAS SITUACIONES POR LAS CUALES LAS EMPRESAS DEBEN RESPONDERSE ESTA PREGUNTA, PROFUNDIZANDO EL ANÁLISIS SOBRE LAS CAUSAS PARA MEJORAR LAS POSIBILIDADES DE ÉXITO DEL PROYECTO Y, SOBRE TODO, NO VOLVER A TROPEZAR CON LA MISMA PIEDRA EN UN PAR DE AÑOS. Muchas veces he escuchado al desarrollador superhéroe decir: “Esta aplicación ya no sirve, debemos reescribirla”. Tantas otras veces he visto estos proyectos fracasar luego de meses o años de trabajo. Lo primero que debemos determinar es si estamos ante una aplicación soberana [1] en cuyo caso debemos tomar con mucho cuidado el proyecto de reemplazo o de mantenimiento. En general la situación anterior, en la que el superhéroe propone el cambio drástico, viene acompañada de uno o más de los siguientes motivos: • Años de falta de mantenimiento adecuado. • Obsolescencia de la tecnología de base • Dificultad creciente en el agregado de nuevas funcionalidades. • Ausencia de documentación apropiada. • Disolución (o huida) del equipo de desarrollo. Todos estos motivos tienen algo en común: debieron haberse evitado y, si no aprendemos la lección, es seguro que los repetiremos
una y otra vez. Repasemos algunas ideas para controlar estos problemas y como las Metodologías Ágiles y Scrum pueden ayudar.
FALTA DE MANTENIMIENTO Y ACTUALIZACIÓN DE LA TECNOLOGÍA DE BASE Una solución de software depende de muchos componentes externos al código escrito por el equipo de desarrollo: bases de datos, componentes de terceros, entornos de ejecución, porciones de código descargadas de internet, etc. La solución a este problema debe ser analizada en dos fases. En primer lugar, en la fase de diseño, debemos decidir cuidadosamente qué tecnologías utilizamos y, sobre todo, cómo las utilizamos. Comencemos por la base de datos: Todos los proveedores ofrecen características que mejoran una u otra operación, la hace más sencilla y hasta más conveniente desde algún tipo de vista. Sin embargo, éstas características especiales, por definición, serán difíciles de encontrar en otros
proveedores y hasta podrían ser discontinuadas en futuras versiones del mismo proveedor. Recomendación: el equipo debe esforzarse por utilizar las características básicas de la base de datos. Otro caso podría ser el de algún componente o fragmento de código de terceros que nos permite salir del paso rápidamente, aunque no entendamos bien cómo funciona. Esto puede ser un problema en el futuro cuando ya haya desaparecido todo soporte. Recomendación: evalúe cuidadosamente si utiliza componentes de terceros y, si lo hace, genere una “envoltura” con el nivel de abstracción apropiado para poder reemplazarlo cuando sea necesario. Más allá de las decisiones de diseño, inevitablemente tendremos que utilizar elementos no controlados por el equipo de desarrollo. .BIO
Carlos Peix es Ingeniero en Electrónica con más de 20 años de trabajo en la industria del software y más de 10 ayudando a equipos de desarrolladores a construir software de calidad. Ha participado activamente, desde sus comienzos, en la comunidad de metodologías y prácticas ágiles en Argentina y en Latino América. Se especializa en coaching, entrenamiento, diseño y arquitectura de software, prácticas y metodologías ágiles, Scrum, extreme programming. Actualmente trabaja como trainer y coach en Kleer (www.kleer.la), empresa que trabaja en México con Scrum México (www.scrum.org.mx).
EN PORTADA PARTE I
Los últimos 40 años de la industria del software demuestran que, a menos que hagamos un esfuerzo, el software se deteriora, su estado empeora. No me refiero a los conceptos indicados en el apartado anterior, tampoco quiero decir que se oxida o que se rompe como un dispositivo físico, quiero hablar de otro problema conocido como Software Rot [3]. Software rot es otro tipo de deuda técnica. Es la deuda técnica que introduce el equipo de desarrollo por apuro, por desconocimiento o, simplemente, por descuido. No me atrevería a decir cuál de los tres motivos es más frecuente, apuesto a que es un empate triple. El descuido y el desconocimiento pueden y deben ser controlados internamente en el equipo prestando atención al aprendizaje continuo, al intercambio de conocimientos, a la investigación aplicada, etc. En otras palabras, tratando de no caer en la deuda de innovación [4]. Recomendación: Existen muchas técnicas concretas para motivar al equipo a aprender y a cuidar la calidad interna del código pero creo que la más eficiente es el coding dojo [5], una actividad en la cual el equipo de desarrollo dedica frecuentemente (una vez a la semana) un espacio de tiempo acotado (una o dos horas) a aprender y a compartir conocimientos, ya sea con una nueva tecnología o técnica de desarrollo. En cambio el “apuro” es algo que debe ser atacado desde el equipo y todo su entorno puesto que se debe a múltiples causas. Una de las causas es la deuda técnica, de la que hablábamos antes, pues hace que las tareas sencillas se transformen en complejas y las complejas en imposibles. De esto se desprende que, si controlamos la deuda técnica de la manera recomendada tendremos más tiempo disponible, es decir, menos urgencias. Otra forma de deuda técnica son los trabajos manuales requeridos en muchos casos debido a que el software no soporta completamente las
Recomendación: deben identificarse las tareas imprevistas más frecuentes, evaluar posibles soluciones, estimarlas y priorizarlas con las demás funcionalidades, junto con el responsable de producto o usuario para desarrollar la solución. Una manifestación adicional de apuro se debe a las imprevisiones de los usuarios finales o responsables del producto que llevan al equipo a realizar con muy poco tiempo tareas extensas por caer en la cuenta de fechas críticas a último momento.
AUSENCIA DE DOCUMENTACIÓN APROPIADA La documentación es uno de los subproductos más cuestionados y menos atendidos en el desarrollo de software. Incluso las metodologías ágiles se asocian, injustamente, con la “no documentación”. La documentación es un artefacto más del software que el equipo debe desarrollar y mantener con la misma calidad y atención a la calidad que el propio software. De la misma manera que el código, la documentación debe mantenerse en buen estado, eliminar la que resulta redundante o innecesaria. Recomendación: revise periódicamente la calidad de la documentación, su actualización y, sobre todo, su relevancia. No hay nada peor que escribir con máxima eficiencia una documentación innecesaria.
DISOLUCIÓN (O HUIDA) DEL EQUIPO DE DESARROLLO No trataré aquí la disolución programada de un equipo de desarrollo por culminación de un proyecto. Interesa más, desde el punto de vista de este artículo, la disolución espontánea del equipo, aquella que ocurre porque sus integrantes se agotan y marchan a buscar mejores experiencias. La falta de objetivos de negocios claros, el cambio continuo de prioridades, las presiones con las fechas de entrega y las jornadas de trabajo extensas, atentan contra la motivación y, una vez que la motivación se ha perdido, la caída de la productividad, la calidad y la huida final del profesional, son cuestión de tiempo.
¿COMO AYUDA SCRUM? (Y LAS METODOLOGÍAS ÁGILES EN GENERAL) Scrum [6] es un marco de trabajo pensado para mejorar, al mismo tiempo, la productividad, la calidad y satisfacción en forma sostenible. 27
“ESTA APLICACIÓN YA NO SIRVE, DEBEMOS REESCRIBIRLA”. La productividad global del equipo en términos de valor aportado al negocio, software funcionando en manos del usuario. La calidad, pues es imprescindible para que los defectos del software o los rechazos por el no cumplimiento de las funcionalidades pedidas, impacten negativamente en retrabajo. Y la satisfacción de todos los involucrados (desarrolladores, responsables de infraestructura, usuarios finales, etc.) pues es también imprescindible para que la combinación anterior sea sostenible en el tiempo. Scrum no logra esto mágicamente. Lo logra basándose en los principios del manifiesto ágil [7] y definiendo un nuevo juego de responsabilidades para el trabajo en equipo. Uno de los roles es el Product Owner, cuya responsabilidad es el diseño del mejor producto posible para las fechas estipuladas. Para lograrlo, lógicamente, debe priorizar y decidir el mejor camino para maximizar el valor de negocio del esfuerzo de desarrollo. Otro de los roles es el de Miembro de Equipo o simplemente equipo, cuya responsabilidad es la de desarrollar con la máxima calidad y productividad el producto. El equipo también debe lograr que este trabajo pueda ser mantenido en forma indefinida, es decir, que su rendimiento pueda ser sostenible y predecible. Por último, el ScrumMaster es el responsable de ayudar a que el marco de trabajo anterior funcione perfectamente como un reloj suizo. Por supuesto que hay mucho más que decir de Scrum pero eso es materia de otro artículo.
Referencias [1] Cooper07: About Face by Cooper, Alan, Reimann, Robert & Cronin, David ISBN 9780470084113 2007 [2] Techincal Debt: http://en.wikipedia.org/wiki/Technical_debt, http://martinfowler.com/bliki/ TechnicalDebt.html [3] Software rot: http://en.wikipedia.org/wiki/ Software_rot [4] Innovation debt: http://blog.pbell. com/2013/03/19/innovationdebt/ [5] Coding dojo: http://codingdojo.org/ [6] Scrum: http://agileatlas.org/atlas/scrum [7] Agile manifesto: http://www.agilemanifesto.org/
Software Guru
DIFICULTAD CRECIENTE EN EL AGREGADO DE NUEVAS FUNCIONALIDADES.
necesidades del negocio debido a que nunca hubo tiempo de programar esa funcionalidad.
www.sg.com.mx |
La otra fase en que debemos controlar este problema es en el mantenimiento evitando la“deuda técnica” [2]. Para ello el equipo debe revisar periódicamente la actualización de los componentes o tecnologías de base y aplicar las actualizaciones o reemplazarlas en caso de que hayan sido discontinuadas. Esta es una responsabilidad del equipo y de todos los interesados, dedicando una porción de tiempo a esta importante tarea.
LA GESTIÓN DE REQUERIMIENTOS EN LA MODERNIZACIÓN DE APLICACIONES Por Víctor Caravantes
EN TÉRMINOS GENERALES, EL ÉXITO DE UNA ORGANIZACIÓN DEPENDE DE TRES VARIABLES FUNDAMENTALES: EL PERSONAL QUE LA CONSTITUYE, EL NIVEL DE DEFINICIÓN Y EJECUCIÓN DE LOS PROCESOS QUE SIGUE Y LAS HERRAMIENTAS QUE APOYAN A SUS PROCESOS. SUPONIENDO ENTONCES QUE SE CUENTA CON GENTE CALIFICADA Y COMPROMETIDA CON LOS INTERESES DE LA ORGANIZACIÓN ASÍ COMO CON UN PROCESO RAZONABLEMENTE BIEN DEFINIDO TANTO EN EL ÁMBITO OPERATIVO COMO EL ADMINISTRATIVO, QUEDAN ENTONCES LAS HERRAMIENTAS COMO EL FACTOR PARA INSTRUMENTAR UN PROCESO DE FORMA EFICIENTE. Muchas organizaciones dependen de las herramientas que hayan elegido para apoyar su operación y más aún si se habla específicamente de los Sistemas de Información o aplicaciones que sustentan su actividad principal, por ejemplo, sería francamente impensable que alguna institución bancaria, de seguros o retail no dependan 100% de sus Sistemas de Información. Y en un mundo globalizado y cada vez más competido, las aplicaciones pueden ser vitales para diferenciarse de la competencia. Por ende, la actualización de estas aplicaciones es un camino que tarde o temprano deberá recorrerse debido a circunstancias diversas tales como el crecimiento del negocio, adecuaciones regulatorias, cambios de infraestructura, etc. Por otro lado, hay empresas que probablemente cuentan con aplicaciones que tienen una edad equiparable a la vida de la empresa misma, que almacenan y procesan no solamente información sustancial de su operación, sino también conservan toda las reglas de negocio que constituyen el proceso
operativo mediante un mantenimiento que es correctivo o evolutivo, pero que no está orientado hacia la mejora (o actualización) de su infraestructura. La vigencia de estos sistemas dependerá de muchos factores entre lo que destaca la facilidad para adaptarse a los requerimientos que demanden las distintas instancias implicadas en su funcionamiento; si esta facilidad disminuye paulatinamente para un sistema, a la postre la aplicación se convertirá en un Sistema Legacy.
EVALUANDO LA MODERNIZACIÓN Si la aplicación es un producto adquirido que contempla el cambio de versión del software como es el caso de un ERP, la actualización por esta vía puede ser a primera vista una opción atractiva. Sin embargo, se debe evaluar la versión a la que se desea actualizar considerando la infraestructura que será requerida (y por supuesto, el tiempo de vida estimado de la misma) para instalar la nueva versión así como la funcionalidad extendida que se ha construido alrededor 28
del producto base que también deberá actualizarse; en ocasiones el esfuerzo y tiempo requerido para rescatar estas personalizaciones son equiparables a un desarrollo nuevo y podrían hacer inviable la actualización. Como otra opción de modernización para este tipo aplicaciones, existen estrategias como la implementación de SOA, lo que al final permite prolongar su vida útil; sin embargo, obviando por un momento el enorme esfuerzo que implicará un proyecto de esta naturaleza, invariablemente llegará el momento en que su modernización implicará la sustitución ¿Por qué? Porque su infraestructura (hardware y software) está sujeta al mantenimiento contratado con los fabricantes de la misma, lo que aplica también para aquellas aplicaciones que fueron desarrolladas (ya sea como parte de un producto comercial o un desarrollo propietario) con una tecnología cuyo framework, IDE, etc. también están sujetos a una actualización constante, y por ende, indudablemente su fabricante dejará de invertir en actualizaciones y correcciones. Por supuesto, siempre se puede correr el
EN PORTADA PARTE II
“ES FACTIBLE QUE SE DETERMINE COMO ESTRATEGIA DE LA ORGANIZACIÓN LA SUSTITUCIÓN DEL SISTEMA LEGACY” O “MUCHAS ORGANIZACIONES DEPENDEN DE LAS HERRAMIENTAS QUE HAYAN ELEGIDO PARA APOYAR SU OPERACIÓN”.
Entre los muchos aspectos que se deben cuidar en un proyecto de este tipo para que sea exitoso, destacan la gestión y desarrollo de requerimientos dado que el establecer y acotar el alcance incide en diversas etapas y participantes del proyecto: la estimación del esfuerzo, la planeación, la definición de los criterios de aceptación, las pruebas, etc. Por ende, los requerimientos deben documentarse de manera que tengan rastreabilidad a lo largo de todas las etapas del proyecto. Al inicio, desde un punto de vista general, los requerimientos se clasificarán en dos grandes grupos: funcionales, que normalmente determinan el “qué”, y los técnicos, que resuelven el “cómo”. Comúnmente los requerimientos funcionales se identifican primero dado que la necesidad de negocio ya existe, mientras que los técnicos complementan otros aspectos como la integración con otros sistemas en términos de interfaces, procesos, datos, etc. Sin embargo, en una transición tecnológica, el levantamiento de requerimientos funcionales se complicará por el hecho de que ya existe un marco de referencia: la funcionalidad del Sistema Legacy. Es decir, para
LA EVALUACIÓN A partir de requerimientos, se completará la estrategia de actualización tecnológica, evaluando opciones que incluyen esencialmente un desarrollo nuevo o la adquisición e implantación de una aplicación comercial. En este punto, se definirán no sólo los requerimientos técnicos sino además el peso que tendrán vs. los requerimientos funcionales. Es decir, al empezar a evaluar las posibles soluciones que eventualmente sustituirán al sistema actual ¿Se apostará a una renovación completa del marco tecnológico de referencia de la institución si las opciones así lo requieren? ¿O la factibilidad de utilizar la infraestructura actual será un factor de decisión entre las opciones evaluadas? Ambas opciones cuentan con pros y contras y a lo largo de este proceso, se determinará cuál será la postura que tomará la institución. Si bien es cierto que para entonces ya existe una línea base del alcance esperado del sistema determinada por los requerimientos iniciales, lo cierto es que en esta etapa los requerimientos funcionales y técnicos estarán cambiando, dejando de lado algunos o
identificando otros nuevos, mismos que se seguirán revisando, ajustando y priorizando para constituir una solución final propuesta con una estimación preliminar de recursos, tiempo, esfuerzo y por supuesto, costos.
LA EJECUCIÓN Durante la ejecución, la gestión de requerimientos seguirá vigente dado que con cada etapa del proyecto se conocerá con más detalle la implementación del proceso, con lo que cual se revelarán más incógnitas tales como será necesaria la migración de datos y qué información es susceptible de ser migrada o si es factible que la integración con otros sistemas, requiriendo para ellos pruebas de concepto o servicios de consultoría especializada. Incluso se pueden desprender nuevos desarrollos cuyos requerimientos deberán vincularse a los del proyecto inicial. Aunado a esto, existe un obligado empalme entre el proyecto de implantación de la nueva solución y la operación del sistema actual, lo que implica que si éste recibe mejoras que no pueden ser pospuestas al inicio de operación del nuevo sistema (y que pueden deberse al negocio o que son de índole regulatoria y por ende, obligatorias), dichas mejoras tendrán que administrarse como nuevos requerimientos cuya incorporación tendrá un impacto en tiempo, esfuerzo y costo. En la recta final del proyecto, la adecuada gestión de requerimientos habrá sentado las bases de conocimiento suficientes para generar matrices de pruebas funcionales y técnicas que sustenten los criterios de aceptación.
CONCLUSIÓN La modernización y/o sustitución de una aplicación puede ser un proyecto cuya dimensión dependerá de diversos factores que una organización identificará y ponderará para decidir y ejecutar su estrategia tecnológica. Sin embargo, la gestión de requerimientos será la piedra angular que dará visibilidad sobre diversos aspectos del proyecto, siendo así un factor crítico de éxito del mismo.
.BIO Victor Caravantes tiene más de 15 años de carrera en los cuales ha adquirido sólidos conocimientos para implementar y administrar soluciones tecnológicas que satisfacen las necesidades administrativas, operativas y de negocio de la empresa o cliente, aplicando las mejores prácticas de Administración de Proyectos y Gestión de TI. Dada su adherencia natural a las metodologías de trabajo puede implementar, seguir y mejorar marcos de trabajo basados en modelos estándar como CMMI, ITIL y PMBOK.
Software Guru
GESTIÓN Y DESARROLLO DE REQUERIMIENTOS
definir los requerimientos funcionales que deberá atender la nueva solución, será necesario revisar el proceso actual con el propósito de abstraer la funcionalidad que requiere el negocio para operar adecuadamente y separarla de aquella que podía proporcionar el sistema por sus propias limitantes o porque así había sido definida en un principio. Ciertamente será una labor complicada, pues conlleva el esfuerzo adicional de cuestionar procedimientos arraigados con la operación y replantear paradigmas, además de retomar todas aquellas solicitudes de mejora al sistema actual que no prosperaron por sus mismas limitantes. Por ende, un factor crítico de éxito será el involucrar al área operativa dejándole ver que lo esencial del proceso es el conocimiento que posee, mismo que debe capitalizarse para la definición del alcance del nuevo sistema.
www.sg.com.mx |
riesgo de continuar operando con la infraestructura actual dejando de lado los beneficios que incluye mantenimiento del fabricante, pero este riesgo se incrementa con el tiempo y seguramente bastarán un par de incidentes referentes al servicio no disponible para que se reconsidere esta estrategia. Considerando estos escenarios, es factible que se determine como estrategia de la organización la sustitución del Sistema Legacy, lo cual representa un proyecto de grandes dimensiones en el que será primordial involucrar al área directiva como Sponsor y al resto de las áreas como interesados. Es decir, es importante aclarar desde el principio que no es un proyecto sólo de TI, pues aun cuando ésta sea el área ejecutora, el cambio tendrá impacto en la organización entera.
EVOLUCIÓN DE LAS TIC EN EL H. AYUNTAMIENTO DE DURANGO Por Gabriel Arturo Lugo Morales
LA INCORPORACIÓN DE LAS TIC EN EL H. AYUNTAMIENTO DE DURANGO (HAD) COMIENZA EN OCTUBRE DE 1996 AL CREARSE LA DIRECCIÓN MUNICIPAL DE SISTEMAS E INFORMÁTICA (DMSI), BUSCANDO ESTANDARIZAR LOS INTENTOS DE SISTEMATIZACIÓN DE LAS DIFERENTES DEPENDENCIAS MUNICIPALES, DARLES RUMBO Y LOGRAR UNA INTEGRACIÓN TOTAL. Al inicio el caos reinaba: cada dependencia implementaba la herramienta que mejor dominaba; costó mucho trabajo que vieran a la DMSI como la autoridad en informática y cada decisión se consultara antes de efectuarla. El organigrama original constaba de: Director, Subdirector, dos desarrolladores de software y un encargado de mantenimiento y soporte técnico. El hardware estaba compuesto por cuatro computadoras Pentium® con Windows95® y se trabajaba en una casa adaptada como oficina. Para enero de 1997 la DMSI fue reubicada en un edificio que fue hotel y se rehabilitó para albergar a la Dirección Municipal de Administración y Finanzas (DMAF), la DMSI y otras dependencias. Se instalaron las primeras redes de computadoras, las cuales fueron 10BASE2 (thin Ethernet), ubicadas en los departamentos de cajas y contabilidad. Para marzo de ese mismo año se integraron tres personas más y comenzaron a desarrollarse los sistemas de Catastro, Predial, Cajas, Ejecución Fiscal, Recuperación de Obra y Control de Contribuyentes, todos al servicio de la DMAF. Simultáneamente se inició el cableado del edificio usando cable par trenzado nivel 5, se estuvo dotando de computadoras a las dependencias y se revisaban los equipos ya existentes para que estuvieran en óptimas condiciones. Durante este periodo, todo el trabajo era “hecho en casa” y era tanto que se recibió apoyo de estudiantes del Instituto Tecnológico de Durango quienes realizaban su servicio social o residencia profesional. Se comenzó a configurar
el site con 2 servidores, uno Pentium II MMX® y 96 MB de RAM, y otro Pentium III® con 256 MB de RAM corriendo sobre Novell Netware 4.11®. Los “racks” estaban hechos de tabla-roca. Muchos de los equipos de la DMAF constaban de CPU 386®, 1 MB de RAM, sin disco duro y se eligió Microsoft FoxPro for DOS 2.6® como plataforma de desarrollo de software, cuyos requerimientos mínimos eran ideales. Muchos datos eran compartidos por los diferentes departamentos pero cada área consideraba como suya dicha información, esto originó un problema de redundancia (cada uno tenía una copia de las tablas) e inconsistencias en las bases de datos. Por ejemplo: el padrón catastral sirve de base para calcular el impuesto predial que se cobra en cajas; si el departamento de Catastro actualizaba el padrón, el impuesto predial en Cajas NO reflejaba dicha actualización. Para enero de 1998 se liberó la primera versión del Sistema de Cobro de Impuestos, contando con un módulo de cobro para cada tipo de derecho o impuesto y tablas repetidas e inconsistentes. Ya en 1999 se liberó una nueva versión incorporando el concepto de “Caja Universal” que consistía en un solo módulo cobraba todo, accediendo a tablas comunes únicas; si un departamento realizaba una actualización, las demás áreas “acusaban recibo” de dicho cambio, optimizando la operación de los sistemas y la consistencia de la información. Como los principales “clientes” de la DMSI eran departamentos de la DMAF, la administración municipal
30
1998-2001 decidió incorporar a la DMSI como Subdirección Municipal de Sistemas e Informática (SSI) adscrita a la DMAF, pero atendiendo al resto de dependencias municipales. Junto al desarrollo de software y la reorganización administrativa, las comunicaciones mantenían su crecimiento: para 2001 estaban cableadas por completo la DMAF, el Palacio Municipal y las Direcciones de Obras Públicas y Seguridad Pública, aunque el enlace entre dichas dependencias aún era rudimentario mediante enlaces E1 y antenas inalámbricas. La telefonía seguía independiente de la red interna, generando un alto costo por servicio medido. En el periodo 2001-2004 cambió la forma de actualizar los cobros de predial en los centros receptores repartidos en la ciudad. Hasta entonces diariamente se hacían dos recorridos: 1. En la apertura: actualizando las tablas locales con los movimientos realizados el día anterior en los otros centros. 2. Al cierre: recolectando los movimientos efectuados a lo largo del día, concentrándolos en la base de datos central. Para resolver esta actualización se contrataron con una empresa de televisión por cable, líneas dedicadas para cada centro receptor, convirtiendo cada equipo usado para la recaudación en una computadora más de la LAN, manteniendo en línea todos los movimientos y por fin: una sola base de datos centralizada. Conforme pasó el tiempo, el número de usuarios concurrentes aumentó y FoxPro® no los soportaba,
EN PORTADA PARTE III
1. Infraestructura Tecnológica y Telecomunicaciones. 2. Sistema Cartográfico Municipal. 3. Integración de Sistemas y Datos Municipales.
4. Sistema de Atención Ciudadana. 5. Sistema de Gestión de Calidad ISO 9001:2008.
• Sistemas: Notarios en Línea, Multa Electrónica en Sitio, Administración de Remisiones y Actas Administrativas, entre otros.
Se creó el Centro Municipal de Tecnologías de Información, se desarrolló una robusta infraestructura de comunicaciones (líneas dedicadas de Internet, telefonía IP eliminando el servicio medido en llamadas internas, un anillo de fibra óptica y hot spots) que permitió enlazar a todas las dependencias en una sola red municipal, siendo la base para la implementación de diversas aplicaciones. Mediante arrendamiento de equipo de cómputo y comunicaciones se garantizó al Ayuntamiento tener dispositivos nuevos en cada administración municipal. Con la plataforma Oracle® se logró automatizar la mayoría de los sistemas, entre ellos:
Actualmente la SSI emplea a 42 personas en los departamentos de Redes y Mantenimiento, Desarrollo e Implementación de Sistemas, Calidad y Respuesta 072.Todos los recursos de las TIC de DCD conforman un eficiente sistema de atención ciudadana. El Call Center y el Portal Web canalizan las demandas ciudadanas a la dependencia correspondiente, traduciendo la inversión en tecnología en mejores servicios para los duranguenses. Este trabajo ha recibido reconocimientos nacionales e internacionales: • Por el concepto “Ciudad Digital”, en beneficio del desarrollo económico de la región otorgado por CISCO y Bentley System de México (2008). • 3er. Lugar, categoría de ciudades medianas, VI Premio Iberoamericano de Ciudades Digitales 2009 otorgado por AHCIET. • Premio Gobierno y Gestión Local Edición CIDE (Centro de Investigación y Docencia Económica) otorgado por INFOTEC, 2009 y 2010. • Finalista smart21.- Ubicándose entre las 21 comunidades más desarrolladas en el mundo de la banda ancha, según el Intelligent Community Forum 2012.
• Sistema Cartográfico Municipal: Requirió fotogrametría, vuelos sobre 273 Km2, aerotriangulación, ortofoto digital y actualización y mantenimiento del padrón catastral. • Sistema Recaudador Municipal: Manteniendo constante actualización permite un control eficiente de TODOS los ingresos municipales, recibe pagos en las oficinas, en sitio (móvil), bancos, centros comerciales, por Internet 365 días al año, 24 horas al día, eliminando limitantes de horario y lugar. • Sistema Financiero Municipal: Consta de Contabilidad General, Contabilidad de Grants, Activos Fijos, Compras y Cuentas por Pagar; maneja altos volúmenes de trabajo, concesiones y financiamientos. • Sistema de Digitalización de Documentos: Digitalizando más de 8’000,000 de documentos catastrales, contables, expedientes del personal, etc., logrando trámites con mayor rapidez y conservando los documentos fuente. • Ventanilla Multitrámite: Optimiza el uso de bases de datos unificadas disminuyendo los tiempos de respuesta a la ciudadanía
Estos reconocimientos son producto de un trabajo en conjunto con los diferentes niveles de gobierno que ha permitido posicionar a la ciudad como modelo de innovación ante otras ciudades. Iniciando prácticamente desde cero, hoy el HAD se mantiene a la vanguardia en la aplicación de tecnologías para mejorar los servicios que brinda a la población, como lo evidencian los logros antes mencionados.
Referencia [1] http://www.municipiodurango.gob.mx
.BIO Arturo Lugo Morales es Licenciado en Informática por el Instituto Tecnológico de Durango. Es Docente de tiempo parcial. Departamento de Sistemas y Computación del Instituto Tecnológico de Durango. Tiene experiencia en Mantenimiento y Soporte Técnico. Dirección Municipal de Sistemas e Informática del H. Ayuntamiento de Durango, así como también administrando sistemas en la Subdirección Municipal de Sistemas e Informática, de la Dirección Municipal de Administración y Finanzas del H. Ayuntamiento de Durango. alugo@itdurango.edu.mx
www.sg.com.mx |
los archivos de índices se dañaban, obligando a dar de baja del sistema a todos los usuarios para reconstruir los índices y reiniciar operaciones, situación que para 2006 se presentó con mucha frecuencia siendo inaceptable. La administración 2004-2007 invirtió fuertemente en equipo de cómputo, el site siguió creciendo, preparando la infraestructura para migrar los sistemas desarrollados en FoxPro® hacia una plataforma más robusta. Desarrollado por terceros se implementó el Sistema Recaudador Municipal (SRM), en plataforma web, Java® como lenguaje y Oracle® como gestor de bases de datos. En 2007 fue la última recaudación con el sistema desarrollado en FoxPro® que se convirtió en sistema de consulta histórica (legado) y así continúa hasta la fecha para consultar movimientos realizados antes de marzo de 2007 ya que en ese mes se liberó el SRM. En Seguridad Pública, se creó el Sistema Municipal de Monitoreo (SIMMON), instalando cámaras en diferentes puntos de la ciudad, permitiendo vigilar áreas claves. Para enero de 2008 el SRM tendría su máxima prueba ya que, al ser liberado en marzo de 2007, no se probó con carga máxima, como sucede cada enero. Los resultados fueron satisfactorios y el hecho de correr sobre web permitió abrir más centros receptores de pagos, las limitantes de FoxPro® fueron superadas. El verdadero despegue de las TIC en el HAD sucedió en la administración 2007-2010 con el proyecto Durango Ciudad Digital (DCD), cuyo objetivo es la incorporación de las TIC para tener un Ayuntamiento moderno, procesos automatizados, trámites sencillos, basados en estándares de calidad, usando eficientemente los recursos para ejecutar más obras con sentido social. Comprende cinco ejes rectores:
Software Guru
“SE LOGRÓ AUTOMATIZAR LA MAYORÍA DE LOS SISTEMAS”.
EN PORTADA PARTE IV
MODERNIZACIÓN DE APLICACIONES IMPACTO EN ESTRATEGIAS MÓVILES Y CLOUD
El siguiente artículo provee un resumen de un reporte titulado “Application Modernization Is King, And Mobile Is The Heir Apparent”, desarrollado por Forrester Consulting bajo encargo de HP y publicado en Mayo de 2013. La versión original del reporte está disponible en http://www8.hp.com/h20195/v2/GetDocument.aspx?docname=4AA4-6878ENW
EL CÓMPUTO MÓVIL Y EN LA NUBE SON DOS TENDENCIAS MUY POPULARES ACTUALMENTE EN LAS TECNOLOGÍAS DE INFORMACIÓN. SIN EMBARGO LOS PROFESIONISTAS DE TI EXPERIMENTADOS ESTÁN CONSCIENTES DE QUE ÉSTOS SON SIMPLEMENTE ESO, TENDENCIAS QUE RESULTAN EN ELEMENTOS QUE SE INCORPORAN (AL IGUAL QUE LO HAN HECHO MUCHAS OTRAS TECNOLOGÍAS ANTERIORMENTE) A LA ARQUITECTURA Y PORTAFOLIO DE APLICACIONES DE TI EN LOS CORPORATIVOS. A PESAR DE TODA LA INNOVACIÓN Y DISRUPCIÓN QUE PUEDAN TRAER CONSIGO DICHAS TENDENCIAS, SE SIGUE APLICANDO LA MISMA REGLA DE SIEMPRE: LAS EMPRESAS QUE INCORPOREN NUEVAS TENDENCIAS —COMO EL CÓMPUTO MÓVIL, EN LA NUBE, SOCIAL, BIG DATA— SIN PRIMERO TENER BAJO CONTROL SU PORTAFOLIO DE APLICACIONES EXISTENTES, SE DIRIGEN AL DESASTRE. HALLAZGOS En abril de este año, HP comisionó a Forrester Consulting para encuestar a más de 200 empresas globales sobre su actividad actual en las áreas de móvil, cloud y big data. Los hallazgos clave se resumen a continuación: Los ejecutivos de TI quieren portafolios de aplicaciones esbeltos y claros. Tal como se aprecia en la figura 1, la modernización de aplicaciones está en primer lugar de la agenda de los ejecutivos, ya que éstos reconocen que sus aplicaciones y procesos existentes son un gran obstáculo que les dificultan llevar al mercado productos innovadores. Un CIO de un banco europeo comentó que el 90% de su presupuesto se gasta en sistemas e infraestructura para simplemente “mantener el negocio funcionando”, dejando tan solo un 10% para nuevos proyectos que ayuden a crecer el negocio. Dicho CIO agregó que por medio de una estrategia de modernización de aplicaciones busca el costo de operación a un 60% de su presupuesto. Las organizaciones de TI exitosas eliminarán de su portafolio los sistemas obsoletos, redundantes y difíciles de integrar, y modernizarán el resto aprovechando estrategias que involucren cómputo móvil y en la nube, construyendo así una base sólida para el futuro. Ver figura 1. Agregar aplicaciones móviles a un portafolio congestionado solamente empeora la
Figura 1. Demanda de la alta dirección al portafolio de aplicaciones de TI.
situación. Al ser cuestionados sobre si su portafolio de aplicaciones existente restringe su habilidad para integrar aplicaciones móviles, 35% de los participantes indicó que las restricciones eran “significativas” y el 8% las juzgo como “prohibitivas”. Las organizaciones que no resuelven la deuda técnica de sistemas legados, enfrentan una gran desventaja competitiva. La austeridad no es la respuesta, lo que requieren dichas organizaciones es evaluar y transformar su portafolio de aplicaciones de TI. Los líderes de negocio comentan que el cómputo móvil es estratégico, sin embargo le asignan poco presupuesto. El 62% de los participantes indicaron que las iniciativas de cómputo móvil están dirigidas por proyectos de negocio 32
estratégicos. Sin embargo, solamente el 25% de los proyectos es fondeado por la alta dirección. Así que al final, las iniciativas de cómputo móvil terminan siendo fondeadas y gestionadas de forma táctica en lugar de estratégica. El fondeo de iniciativas móviles se encamina a ser estratégico, pero todavía no lo consigue del todo. La adopción de cómputo en nube pública sigue siendo muy baja. Los ejecutivos de TI ven en la nube una herramienta que les permite satisfacer las necesidades de cómputo elástico que acarrean las nuevas aplicaciones móviles. Sin embargo, todavía hay muchas preocupaciones sobre los riesgos de seguridad, y esto ha evitado una amplia adopción de nubes públicas en el segmento corporativo.
.PUBLIRREPORTAJE
finales de los 90’s las organizaciones enfrentaron la necesidad de cambiar la información estática por dinámica en sus sitios Web, e INFOTEC decidió desarrollar una solución a esta problemática, basado en su experiencia a través de la construcción de aplicaciones Web principalmente para el sector público y en el año 2000 se inicia el desarrollo del proyecto “WebBuilder”, con el propósito de que los usuarios generadores de información, pudieran publicarla y actualizarla de una forma fácil y rápida, tanto en aspectos de contenido como de diseño gráfico, sin la necesidad de contar con conocimientos técnicos. Por ello WebBuilder se definió como una Plataforma Tecnológica que facilita las consideraciones para desarrollar portales de integración, colaboración y conocimiento, por medio de la aplicación de Tecnologías emergentes como las “Redes Semánticas”, con el objetivo de dar significado y una estructura lógica a la información que generan las organizaciones. Desde sus inicios, uno de los objetivos principales de WebBuilder ha sido dar sentido lógico a la información que una organización produce, a la velocidad que sus estrategias de negocio lo requieran, por ello en Junio de 2001 se lanzó WebBuilder V.1.0. Un administrador de contenidos, con funcionalidades de manejo de plantillas, despliegue de publicidad dinámica y soporte a múltiples sitios. Para enero de 2007 se liberó la versión de WebBuilder Open Source 3.2, que fue concebido como un Administrador de Portales Semántico, conjugando funcionalidades de Administración de Contenidos, “Portalización”, Administración de Contextos de información, Administrador de Procesos de Negocio e integración de plataformas tecnológicas bajo el concepto de arquitecturas orientadas a servicios (SOA), todo en un sólo producto y con la posibilidad de extender su funcionalidad mediante el desarrollo de nuevos componentes a partir de su plataforma (API). Y todo bajo el esquema de código libre para aportar al crecimiento de la industria TIC en México. La visión era contar con herramientas que permitieran definir, administrar y relacionar información, de forma que fuera procesada y contextualizada de acuerdo a las necesidades del usuario, imitando el pensamiento humano y el lenguaje natural. Cumpliendo con las siguientes metas: • Construir una plataforma de desarrollo de portales semánticos. • Definir un modelo semántico (Ontología) que integre los elementos para administrar semánticamente la información de un Portal. • Demostrar la viabilidad de la implementación del modelo semántico, para la definición e integración de los objetos internos del sistema. • Desarrollo de librerías para el manejo de información semántica y para la creación de componentes para extender la funcionalidad del sistema.
¿Qué hace el proyecto WebBuilder? Cerca del final de la primera década del siglo XXI la Web 2.0 ya era una realidad y la gran penetración de las tecnologías móviles
y redes sociales era más que evidente y comenzaba a anunciarse en el horizonte un cambio en el paradigma de la construcción de portales, la Web 3-0 o Semántica. Por ello en Julio de 2009 WebBuilder evolucionó nuevamente para convertirse en SemanticWebBuilder (SWB) plataforma para el desarrollo de aplicaciones semánticas, en donde la información se define de forma que pueda ser interpretada y procesada por personas y/o sistemas, se enfoca en la representación del conocimiento de las organizaciones, mediante la identificación de la semántica de la información a publicar. Incorporando funcionalidades de manejo de contextos de información, relación semántica de datos e integración de estándares de intercambio de información avalados por la W3C, reforzando el compromiso que diez años antes se había planteado de ser un producto innovador y de vanguardia. Pero lo principal es que ahora SWB ya no era una sola herramienta, como habían sido sus versiones previas, sino que ahora es una plataforma para desarrollar nuevas aplicaciones. Y como ejemplo de ello la Suite de Productos que nacieron a partir de esta evolución y que siguen continuamente creciendo en número y diversidad de especializaciones: • SWB Platform. Plataforma que permite el desarrollo acelerado de aplicaciones mediante modelos ontológicos. • SWB Portal. Heredero de la funcionalidad y objetivos del anterior WebBuilder. • SWB Process. Herramienta BPM para el desarrollo de procesos de flujo de negocio basados en modelos semánticos y “portalizable” al conjugarse con SWB Portal • Conorg. Repositorio de Conocimiento que permite registrar, documentar, relacionar y explotar mediante contextos el aprendizaje organizacional. Sin mencionar los productos que aún se están preparando para atender diversas necesidades empresariales, bajo la línea del manejo semántico de información, incluyendo diversas mejoras en varios aspectos como por ejemplo la seguridad, que se ha reforzado al extremo para blindar cualquier posible brecha y garantizar a los usuarios mayor confiabilidad en SWB. De tal forma que algunas dependencias de Gobierno Federal y diversos conglomerados financieros e industriales ya han adoptado a SWB como su plataforma oficial de desarrollo de portales y procesos, detonando a la Semántica y a SWB como una de las bases a considerar al elaborar su Planeación Estratégica.
www.infotec.com.mx 33
www.sg.com.mx |
A
Software Guru
A MÁS DE UNA DÉCADA DEL PROYECTO WEBBUILDER…
.PRÁCTICAS Pruebas
Preparación y Gestión de Datos de Prueba ››Por S. Berenice Ruiz Eguino
Factor clave para una buena ejecución
S
i bien es cierto pareciera tan común, no siempre recibe el foco adecuado de entre la lista de tareas predefinidas en el plan de pruebas. Por lo general, creemos que llegada la fase de ejecución de pruebas, se nos podrán ocurrir datos lo suficientemente útiles para ejecutar nuestros casos de prueba sin mayor problema; sin embargo, lo “suficientemente útiles” se queda corto cuando se tiene la expectativa de detectar esos defectos que han sido inyectados desde etapas tempranas del desarrollo del software; de modo que, más bien debiéramos buscar preparar datos lo “suficientemente correctos” para cada prueba, de manera que alcancemos una mayor eficiencia en nuestros ciclos de ejecución. Test Data Management es el proceso de crear/preparar y utilizar adecuadamente datos de prueba “realistas” para propósitos distintos de los de producción; por ejemplo, para su uso por áreas de Desarrollo, Testing, Capacitación, etc. Ver Fig. 1. Y como Datos de Prueba podemos considerar todas aquellas entradas con las que es alimentado el sistema para ser operado en períodos de evaluación, ya sea que se introduzcan como datos directamente alimentados desde la interfaz de usuario, desde archivos precargados en distintos formatos (xml, .jpeg, etc.), registros tomados desde las tablas de la base de datos, archivos de configuración, archivos de datos generados por el mismo sistema que servirán de entrada para algún otro proceso, así como también datos que ya deben existir en el sistema para que dichos casos de prueba puedan realmente ejecutarse. .BIO Sandra Berenice Ruiz Eguino es Directora de Operaciones de e-Quallity. Ha participado como Consultora Senior en proyectos de mejora de organizaciones de Prueba de Software; cuenta con certificación internacional en Pruebas por el ASTQB. A lo largo de su trayectoria profesional ha actuado también como Ingeniero de Pruebas Senior, Líder de Proyectos, Administradora de Proyectos nacionales e internacionales, analista y desarrolladora. Ha sido profesora de la Universidad Autónoma de Guadalajara (UAG), donde realizó sus estudios de Maestría en Ciencias Computacionales.
Figura 1. Subconjuntos de datos de pruebas para distintos propósitos.
Existen muchos problemas que se pueden evitar si realizamos una adecuada preparación de datos de prueba, algunos de ellos son: • Detener o retrasar la etapa de ejecución de pruebas debido a datos inadecuados o insuficientes. • Cobertura incompleta en el proyecto de pruebas. • Reportar defectos inválidos a causa de una incorrecta configuración/preparación de datos (errores humanos). • Dejar de detectar defectos potencialmente graves, importantes y/o urgentes. • Existencia de datos ya procesados (y no administrados correctamente) en fases de prueba previas, que dificultan o entorpecen la ejecución actual. • Manejo inadecuado de datos de producción que pudieran propiciar problemas legales (privacidad, seguridad).
¿En qué tipos y/o niveles de pruebas de software conviene dedicar como tarea específica la de Data Preparation? • Pruebas funcionales manuales • Pruebas funcionales automatizadas • Pruebas de performance • Pruebas de seguridad • Pruebas para aplicaciones web, de escritorio, móviles, etc. • Pruebas a nivel unitario, de sistema, de integración de sistemas, a nivel de aceptación de usuarios, etc.
En varios o prácticamente en todos los casos, es importante cuidar la integridad referencial de la información manejada, dadas las relaciones de ciertos registros que se requiere sean utilizados en diversos módulos de la aplicación a probar. Por ejemplo, si quere34
.PRÁCTICAS Pruebas
“Existen muchos problemas que se pueden evitar si realizamos una adecuada preparación de datos de prueba”.
Tabla 1. Ejemplo de Identificación de clases de equivalencia.
La razón de que bajo esta técnica se requiere probar sólo con un dato representativo de cada partición o clase, es porque asumimos que con cualquiera de los datos de prueba de dicho subconjunto que utilicemos, obtendremos los mismos resultados. De igual manera ocurrirá cuando se evidencie una falla. ¿Cómo utilizar las clases de equivalencia para la definición y preparación tanto de los casos de prueba, como de los datos de prueba que en éstos deberemos emplear? 1) Identificar las Clases de equivalencia: Identificar todas las clases, identificar/clasificar las clases válidas e inválidas, rango de valores válidos. 2) Identificar los casos de prueba: Diseñar casos de prueba hasta cubrir todas las clases 35
válidas. Diseñar casos de prueba que cubran clases inválidas (En función de los recursos). Ejemplo: Ver Tabla 1. El ejemplo anterior, aunque simple, refleja cómo a partir de ciertos campos de entrada, como aquí el contenido de Calif (Calificación), pueden desprenderse diversas combinaciones de pruebas, dada la variedad de clases de equivalencia que podrían surgir, si la regla de negocio estipula que se realizarán ciertas acciones si dicho dato de entrada está entre 0 y 10, o si está específicamente entre 6 y 7, o bien entre 8 y 10, o completamente fuera de dicho rango (ya sea hacia arriba o hacia abajo). La tarea de identificación de clases de equivalencia (válidas e inválidas) se vuelve más interesante cuando intervienen diversas entradas, para las cuales se contemplarían datos de prueba diversos, relacionados entre sí, pues ello generará un mayor número de combinaciones. La calidad de los datos de prueba, impacta directamente en la calidad de los resultados del proyecto de Testing, razón por la que bien vale la pena dedicar un esfuerzo especial, e incluso a veces un equipo especial para poder replicar las condiciones adecuadas que permitan cubrir los requerimientos de datos de prueba especificados en los escenarios y/o datos de prueba diseñados para evaluar nuestras aplicaciones. Otra buena razón, es que los testers mostrarán mayor productividad en las etapas de ejecución, en la medida que sea más eficiente el proceso de creación, mantenimiento y gestión de sus datos de pruebas.
Software Guru
paración manual de datos de prueba, dada la limitación de espacio, abordaremos a continuación sólo la técnica de Clases de equivalencia o Particiones de Equivalencia, la cual se recomienda utilizar al momento de diseñar y ejecutar casos de prueba: • Es una estrategia de pruebas de Caja Negra, empleada para reducir metódicamente la cantidad enorme (infinita) de casos de prueba posibles, a un conjunto más pequeño, pero con una efectividad equivalente. • Una clase de equivalencia o partición de equivalencia, es un conjunto de casos de prueba con cuyos valores o datos de entrada se prueba lo mismo; es decir, el empleo de cualquier dato perteneciente a dicha clase, revela el mismo error, reduciendo así la cantidad posible de casos de prueba a diseñar/ejecutar.
www.sg.com.mx |
mos probar un escenario que implica validar las reglas de negocio para determinar los cargos automáticos mensuales que se aplicarán a aquellos clientes de un banco que han solicitado un crédito de auto, es preciso emplear datos de prueba tales que a su vez estén relacionados a otros datos de prueba previamente registrados desde otros escenarios, de modo que dicho cliente exista, tenga asociada una cuenta, esté activo, tenga saldo disponible para aplicarle el cargo, etc. Como podemos ahora imaginar, hay situaciones en las que la preparación de datos puede resultar una tarea sencilla, más habrá muchos otros casos en los cuales dicha actividad se convierte en todo un reto, dado que, no sólo el volumen de datos sino la criticidad de la información a manejar para las pruebas, son de gran peso, tratándose de aplicaciones grandes (que manejan datos complejos y a gran escala) y cuya fuente pudiera requerir ser una “copia” de datos de producción. Copia de la cual se requerirá enmascarar ciertos datos/valores a fin de no incurrir en problemas de seguridad o faltas a la privacidad. Para casos como éste último, donde la preparación manual de datos resultaría ineficiente, existen herramientas especializadas en manejo de datos de prueba, que de alguna manera presentan ciertas ventajas significativas: • Optimizar/agilizar esfuerzos de Testing. • Manejar distintas versiones de datos. • Parametrizar y enmascarar datos para evitar su uso inadecuado en las pruebas. • Generan de forma escalable sub-conjuntos de datos de BDs acorde a las necesidades. • Permiten la extracción de un subconjunto de datos de pruebas desde varias tablas de diversas BD’s e incluso desde diversos DBMS’s (Oracle, DB2, SQL server, Informix, etc.). • Cargan grandes volúmenes de datos de ambientes pre-producción o producción con relativa facilidad. • Proveen de características y habilidades para “refrescar” los datos de prueba de manera eficiente y confiable. • Facilidad para editar los datos y forzar condiciones de error. Por otro lado, en lo que respecta a la pre-
.PRÁCTICAS Desarrollo
¿Cómo Evitar que su Empresa se Convierta en una Fábrica de Desperdicios? ›› Por Elizabeth Rivera y Luis Nava
¿
Cuántos procesos de su empresa fabrican desperdicios? Ante esta pregunta puede que usted se diga, “en mi empresa, como en cualquier otra, cometemos algunos errores, pero de eso a fabricar desperdicios, de ninguna manera”. Veamos algunos capítulos de la fábrica de desperdicios: Primer capítulo: desperdiciando tiempo. Hay reunión de trabajo y la mayoría de la gente llega entre 5 y 10 minutos tarde. Para este evento están convocadas 20 personas. Debido a los que no pudieron llegar a tiempo, ya se generó un desperdicio de 100 minutos en promedio. Se requiere repetir lo que ya se comentó al inicio de la reunión y se pueden generar discusiones posteriores o pláticas estériles por no haber entendido el material del inicio. Esta media hora multiplicada por 20 personas es igual a 600 minutos, que sumándolos a los anteriores 100 minutos da un total de 700 minutos de desperdicio, alrededor de 12 horas hombre por reunión. Segundo capítulo: desperdiciando recursos. Muchos programadores no siguen una metodología para hacer sus desarrollos. Cuando se encuentran con un error desconocido y después de varias horas de trabajar en vano para hallar el problema, buscan la solución en internet durante todo un día, a fin de encontrar el código que pueda resolver su problema. Si esto llega a ocurrir dos veces al mes, y se multiplica el número de programadores en la empresa por dos, y luego por un día y medio de búsqueda, se puede llegar a conocer el cúmulo de horas importantes desperdiciadas para este evento.
.BIO Elizabeth Rivera cuenta con más de 18 años de experiencia en las áreas de desarrollo de sistemas y soporte técnico en empresas de producción, consultoría, educación y desarrollo social. Ha participado en la implantación de procesos basados en Lean y Ágil encaminados a apoyar a la madurez de la empresa. Graduada con mención especial de la Maestría de Tecnologías de Información y Administración del ITAM actualmente trabaja en varios proyectos para dar a conocer más ampliamente Lean y Ágil a la empresa mexicana. erivera@serentable.com M.C. Luis A. Nava Fernández, Director de Investigación y Desarrollo en InnovAdeo. Es especialista en Gestión Lean+Agile y Desarrollo de Software. Ha sido asesor de empresas internacionales y de gobierno, también ha publicado a nivel internacional. luis.nava@innovadeo.com
Tercer capítulo: desperdiciando oportunidades. El personal de ventas suele hacer compromisos de tiempos, servicios o productos que son irrealizables o difíciles de alcanzar y es muy complicado salir de tales aprietos. Ocurre comúnmente que estas personas no están adecuadamente habilitadas para ofrecer los productos o servicios de la empresa, lo cual genera que se pierdan buenas oportunidades de negocio. Cuarto capítulo: desperdiciando planeación. Es muy común que las empresas hagan contratos que requieren, al final, protocolos de aceptación de cambios que
resultan ser diez veces más grandes que el contrato mismo ¿Por qué no hacer unos en los que se indique aquello de lo que si se tiene conciencia y dejar huecos suficientes para lo que no? ¿Alguno de “estos capítulos” le suena conocido? Si es así puede que piense que evitar lo anterior es prácticamente imposible o puede que se pregunte si habrá alguna forma de evitarlo. Si en el párrafo anterior coincidió con la segunda opción, lo primero y más importante es que sea consciente de que el desperdicio está ahí y que tiene efectos desastrosos, aumentando los costos, afectando negativamente al personal y disminuyendo la calidad de los productos. Una buena manera de combatirlo consiste en hacer cambios pequeños no sólo en los procesos sino en la actitud de la gente. El modificar un proceso no cambia la cultura de la empresa, pero el tener una actitud distinta, si. Y el desperdicio, para que realmente pueda abatirse de manera efectiva, requiere un cambio organizacional. Los autores de Lean Manufacturing definen desperdicio como cualquier cosa que no proporciona valor al cliente y a partir siete desperdicios descritos por estos autores, los Popendieck[1] definieron equivalencias en el desarrollo de software: 1. Trabajo parcialmente hecho, el cual tiende a ser obsoleto y además ocupa el tiempo de otro desarrollo. Es un riesgo financiero. 2. Procesos extra, como la documentación que nadie lee, que requiere de recursos valiosos y que al final se degrada y se hace obsoleta sin darle ningún tipo de valor al cliente. 3. Características extra o sobreproducción. Es importante recordar que si no son necesarias, pueden solamente representar un punto de falla más que una ayuda al sistema. 4. Cambio de tareas o proceso inadecuado. Pensar que alguien es capaz de realizar efectivamente y sin perder un momento, un cambio continuo de tareas es simplemente una ilusión. El tiempo que lleva el cambiar de una tarea a otra es un desperdicio. 5. Esperas. Los retardos en el desarrollo de software son bastante comunes, pero es importante identificar aquellos que son verdaderamente un desperdicio. Esto ocurre frecuentemente cuando se procesa una necesidad urgente por parte del cliente, propiciando que lo que está esperando a ser desarrollado y que representa valor al cliente, no sea entregado. 6. Movimiento innecesario (traslados). Si todos los miembros de un equipo trabajan en un mismo lugar, y además cuentan con la presencia constante de un representante del cliente, esto permitirá que todos estén enterados de lo que está ocurriendo y si existen dudas, muy posiblemente éstas se podrán resolver más fácilmente con ayuda del representante del cliente o con el apoyo del equipo, evitando perder el enfoque de lo que se está realizando. 36
.PRÁCTICAS
Arquitectura “El modificar un
proceso no cambia la cultura de la empresa, pero el tener una actitud distinta, si”.
Figura 1. Esquema de mapa de flujo de valor. TR: Tiempo Real, TT: Tiempo Total, TEA: Tiempo entre acciones, y PT: Porcentaje del tiempo real consumido en cada ciclo.
A. Falta de aplicación de la inteligencia colectiva. En oposición a usar métodos y sistemas de decisión jerárquicos, puede utilizar técnicas participativas para la resolución de problemas, evitando el derroche de potencialidad de los miembros del equipo.
Ver Figura 1.d
B. No incluir “el error” en el proceso de madurez de la empresa. Cometer un error proporciona pistas sobre lo que no se debe hacer y qué ocurre en el caso de que se haga. Es un desperdicio no aprovechar la información que se genera a partir de los errores cometidos.
en conclusión Sea honesto consigo mismo, ¿verdaderamente su empresa no es una fábrica de desperdicios? Si tiene la menor duda haga un recorrido por sus procesos creando un mapa de flujo de valor de su empresa. • Es muy importante que al construir su mapa: • Considere todo el escenario que implica su negocio. • Haga una búsqueda consciente y metódica de lo que ocurre en su empresa. • Encuentre la forma de que todo su personal sea lo más honesto posible al construir el mapa.
C. Mal uso de habilidades. Personas con ciertas habilidades no están desempeñando el rol apropiado, desperdiciando así estas capacidades que podrían dar un gran plus a la empresa. En un marco más general, Lean se enfoca en todo el proceso, desde la concepción de la idea hasta el consumo del producto. Bajo esta visión sistémica es más fácil identificar los desperdicios. Si se optimiza cada proceso por separado, se crearán grandes inventarios entre cada fase, lo cual conducirá a un mayor desperdicio. Construir un mapa de flujo de valor (Value-Stream Map) es una herramienta Lean que puede usarse para encontrar desperdicios. A través de esta herramienta es posible visualizar los procesos, el orden en que se llevan a cabo, el tiempo necesario para cada uno así como los tiempos de espera entre cada proceso. Es muy importante ayudarse de la gente que verdaderamente hace cada proceso para que el planteamiento sea lo más cercano posible a la realidad.
Con este mapa, ahora puede evidenciar algunos desperdicios que se fabrican entre sus procesos. Es importante comentarle que el proceso presentado para la creación del mapa de flujo de valor es genérico.
Al conjuntar los fundamentos de Lean y las herramientas ágiles se facilita la creación de esta visión sistémica para acelerar la madurez de la empresa.
Referencias [1] Poppendieck, Mary y Poppendieck, Tom. Lean Software Development: an Agile Toolkit. Addison Wesley, 2003. [2] Alan Shalloway, Guy Beaver, James R. Trott. Lean-Agile Software Development: Achieving Enterprise Agility. Pearson Education, 2010. [3] Monzó Marco, José. El pensador sistémico, volumen 1. Artículos 1995-2005. [4] Anderson, J. David. Kanban. Blue Hole Press, 2010.
37
Software Guru
Desde nuestra perspectiva se pueden encontrar otros tipos de desperdicio que se deben tomar en cuenta para beneficio de la empresa:
Para hacer un mapa: • Liste los nombres de todos los procesos y ponga cada uno en un recuadro. • Indique el tiempo de cada acción en la base de cada recuadro. • Indique el tiempo de cada acción, es decir, el tiempo real. • Identifique el tiempo entre cada proceso. • Identifique los ciclos existentes entre los procesos.
www.sg.com.mx |
7. Defectos. Ninguna fábrica es infalible, pero encontrar un defecto lo más rápido posible es la mejor forma de reducir su impacto. Y por supuesto, el defecto más barato es el que nunca existe, luchando por hacer las cosas bien desde el inicio.
.PRÁCTICAS Arquitectura
Hablando con el Arquitecto: Luis Carballo ›› Por Humberto Cervantes
E
n esta ocasión presento en esta columna una entrevista con Luis Carballo, Arquitecto de software de uno de los sistemas más críticos para México. Luis trabaja desde hace 7 años en la Bolsa Mexicana de Valores (BMV) en el área de sistemas en una empresa llamada Bursatec. Él es egresado de la UAM en donde estudió Ingeniería Electrónica y posteriormente realizó una maestría en el ITAM de TI y Administración (luis.carballo@mac.com). Humberto Cervantes (HC): Buenos días Luis, ¿puedes platicarnos un poco acerca del proyecto en el cual estás trabajando? Luis Carballo (LC): Es un proyecto de renovación tecnológica del motor central de negociación de la bolsa que inició en el 2009. El sistema sustituye a tres sistemas legados, dos que corrían en Tandem que eran propietarios y un tercero que se le compró a la bolsa española. Se instaló en producción la primera parte, que corresponde al mercado accionario, en Septiembre de 2012 y la segunda parte, que corresponde al mercado de derivados, en Abril de 2013. HC: ¿Puedes hablar un poco acerca de lo que llamamos los “drivers” y en particular los atributos de calidad del sistema? LC: Uno de los objetivos de reemplazar los antiguos sistemas era de reducir el costo total de propiedad pues el costo de mantenimiento de los sistemas Tandem, escritos en Cobol, era muy alto. Otro objetivo era aumentar el desempeño pues el sistema anterior iba a tener un límite con el cual se iba a topar pronto. La idea era reemplazarlo por uno nuevo que pudiera tener muchas más capacidades sobre todo en rendimiento, en baja latencia, en alta disponibilidad y que fuera mucho más fácil de probar y de integrar continuamente. .BIO
El Dr. Humberto Cervantes es profesor-investigador en la UAM-Iztapalapa. Además de realizar docencia e investigación dentro de la academia en temas relacionados con arquitectura de software, realiza consultoría y tiene experiencia en la implantación de métodos de arquitectura dentro de la industria. Ha recibido diversos cursos de especialización en el tema de arquitectura de software en el Software Engineering Institute, y está certificado como ATAM Evaluator y Software Architecture Professional por parte del mismo. www.humbertocervantes.net
HC: De estos drivers que mencionaste, ¿cuál ha resultado el más complejo? LC: Creo que el más difícil de todos es el de latencia porque toca todo el flujo de código por el cual se va a ejecutar una transacción. La latencia se refiere al tiempo de procesamiento dentro del motor desde que llega un mensaje (por ejemplo una compra de una acción) hasta que el motor responde (ej. aceptada o rechazada o hizo “match” contra otra orden). El
promedio de latencia del sistema anterior era 24 milisegundos. El requerimiento original era que fuera menos de un milisegundo pero durante el análisis que se hizo contra otros mercados, se decidió bajar el tiempo para hacerlo más competitivo y que fueran menos de 100 microsegundos, o sea, 240 veces más rápido que el sistema anterior. El rendimiento se refiere a la cantidad de transacciones que se pueden ejecutar en un segundo dado. El sistema anterior tenía una capacidad de procesamiento de transacciones baja y el sistema actual está diseñado para soportar más de 100,000 transacciones por segundo. Al ser un sistema de misión crítica, la alta disponibilidad también es un factor importante y se consideran dos escenarios: en caso de falla de uno de los nodos primarios tiene que hacer “failover” (tolerancia a fallas) a otro en el mismo centro de datos y, el otro es que, en caso de falla del centro de datos primario, se pueda seguir la operación en un centro de datos secundario. Para el primer caso hoy en día tarda entre 5 y 10 segundos hacer la transición de una máquina a otra. HC: ¿Qué tan importante es considerar la arquitectura para un sistema como éste? LC: Creo que es de los factores de éxito más importantes porque, de haber construido sin tener en mente la latencia, el rendimiento o la alta disponibilidad, hubiera hecho que al final del proyecto fuera prácticamente imposible el tratar de satisfacer esos atributos de calidad. El haber hecho el diseño desde el inicio de tal forma que hubiera foco en la latencia desde el diseño original permitió que el sistema fuera exitoso. Hubo un momento durante las pruebas en el cual la latencia se disparaba poco a poco hasta llegar a segundos y todo por una sola línea de código. Generamos ciertas métricas y guías para evitar usar cosas que sabemos que son dañinas para efectos de latencia. Yo creo que ese tipo de problemas no los hubiéramos encontrado si no nos hubiéramos enfocado constantemente en que los atributos de calidad se cubrieran. HC: ¿Cómo le hicieron para desarrollar esta arquitectura? LC: Contratamos al SEI para que nos asesorara en el diseño de la arquitectura y utilizamos los métodos que ellos proponen para efectos del diseño del sistema [1][2]. Se hizo un Taller de Atributos de Calidad (QAW), ADD con una modificación, documentación basada en atributos de calidad y ATAM (Architecture Tradeoff Analysis Method) para la evaluación. La modificación de ADD consistió en hacer mini-sesiones de cuestionamiento al diseño generado usando ADD para asegurar que el resultado fuera el esperado. 38
.PRÁCTICAS
Arquitectura
“al ser un sistema de misión crítica,
la alta disponibilidad es un factor importante”.
LC: Respecto a la latencia, hay cosas como la elección misma de las estructuras de datos pues unas son más rápidas que otras. Aún si en el diseño de la arquitectura pusimos cuotas sobre la latencia de ciertos componentes, durante la ejecución hubo que probar diferentes soluciones y ver cuál era la mejor opción según el caso. Es un tema de ir buscando, aún durante la construcción, las mejores soluciones posibles para poder satisfacer los atributos de calidad. Se hacían prototipos específicos para lo que se quería en ese momento y se determinaba cual era la mejor solución, que “tradeoffs” había, que restricciones pudiera tener y cuáles no y en base a eso, se tomaban las decisiones finales. Afortunadamente el grupo de arquitectura pasó a ser parte del grupo de desarrollo entonces ellos asesoraban a todos los demás para que supieran cuáles eran las intenciones sobre ciertos componentes y que se apegaran a los lineamientos establecidos. HC: Con respecto a la documentación, ¿cómo fue ese aspecto? LC: La hicimos durante el diseño. Durante la ejecución fuimos documentando toda la arquitectura que era requerida para la evaluación. Usamos algo como vistas pero más enfocadas a los atributos de calidad. Teníamos vistas específicas de cómo se resuelven los atributos de calidad. Hay por ejemplo, una vista específica de componentes para el escenario de alta disponibilidad. Se pueden tener varias vistas pero todas orbitan alrededor de un mismo atributo. Esto facilitó la evaluación, pues en esta se toma un escenario y se describe como está el flujo. De hecho durante el ATAM nos saltamos una de las dos fases, porque ya estaba prácticamente hecho.
HC: En el desarrollo en general de sistemas, ¿qué tanta importancia crees que haya que darle a la arquitectura? ¿En todo sistema debe cuidarse? LC: No, no en todo sistema. En sistemas muy pequeños es muy fácil cambiar el sistema para adecuar ciertos atributos de calidad y la arquitectura emerge naturalmente. Mientras más grande el sistema, más importante es. No sé si hay una regla pero al final es el costo de no hacerlo en un sistema chico es menor que en un sistema grande. Por otro lado, aún en sistemas pequeños, si los drivers son muy exigentes, se deben considerar desde el inicio porque después va a ser más difícil satisfacerlos. HC: Si tuvieras que volver a hacer ese sistema con el conocimiento que tienes hoy en día, ¿qué harías distinto? LC: Creo que la documentación es algo que siempre es mejorable. Hay muchas decisiones que tomamos en el camino y que no documentamos de la mejor forma o son decisiones implícitas y es mejor hacerlas explícitas desde el momento en que se toman aunque parezcan básicas porque después se olvida. Otra es hacer casos de prueba específicos para la arquitectura desde el principio. HC: Muchas gracias Luis.
Referencias [1] J. McHale, R. Nord, L. Carballo, “Driving Out Technical Risk by Blending Archi-
HC: ¿Qué recomendaciones generales harías a los arquitectos en relación con el desarrollo de sus arquitecturas?
tecture, Process, and Project Discipline”, http://www.sei.cmu.edu/library/abstracts/ presentations/mchale-saturn2012.cfm [2] R. Nord, J. McHale, F. Bachmann, “Combining Architecture-Centric Enginee-
LC: Una es que los requerimientos funcionales tienen algún impacto, además de los atributos de calidad, en las decisiones que se toman de
ring with the Team Software Process”, http://www.sei.cmu.edu/library/abstracts/ reports/10tr031.cfm
39
Software Guru
HC: A nivel del diseño, ¿qué retos hubo para satisfacer los atributos de calidad más importantes?
arquitectura. Entonces conviene tener una lista lo más amplia posible de funcionalidades que puedan afectar la arquitectura para que se tomen las mejores decisiones al momento de hacer el diseño. La otra es que aunque haya atributos de calidad que aparentemente no sean relevantes para el negocio, siempre hay que considerarlos al momento del diseño, como por ejemplo la facilidad de prueba (testability). Durante el diseño, que es un proceso iterativo, cuando se agotan los escenarios prioritarios, los que siguen deben analizarse y ahí es donde aparecen los de modificabilidad, testability y otras, además de escenarios adicionales de alta disponibilidad, de recuperación de fallas. Siempre hay escenarios que no son los más críticos pero que un día van a suceder y por lo tanto son importantes para analizar y considerar en el diseño.
www.sg.com.mx |
La gente del SEI nos cuestionaba diciendo “oye, el diseño que llevas hasta ahora a ver qué tan efectivo es para resolver problemas de latencia, desempeño...”. Estas sesiones se hacían constantemente como parte de las iteraciones de diseño. Eran prácticamente dos semanas de diseño y después del diseño una sesión de cuestionamiento. Fueron como diez iteraciones de diseño en las cuales se tomaron las decisiones más importantes. Después de eso se hizo la evaluación de la arquitectura usando ATAM con resultados satisfactorios.
.COLUMNA Código Innovare
Preparen Armas...
Listos... ¡A programar!
¡T
an solo 3 puntos abajo! Sólo unas líneas de código más… Casi cuarto para las doce… El código aún no es perfecto. El ataque es muy bueno, pero la defensa aún no es suficientemente efectiva… Ese otro tanque aún me está derrotando… ¡Diez minutos y se cierra el concurso! ¡Vamos piensa!... ¿Y si agrego un ciclo aquí y pongo esta rutina de giro adicional? ¡Y el campo de fuerza justo después de la teleportación al momento de soltar la mina, ahora quitaré los comentarios de mi código especial… ¡Sólo dos minutos más!... ¡¡Listo, a pelear!!
En el principio
En la reciente edición del Campus Party en México, conocida también como CPMX4, además de las conferencias dictadas, se lanzaron también diversos retos por parte de las empresas e instituciones que participaron, ya fuera como patrocinadores, expositores o con dinámicas de generación de conocimiento para todos los “Campuseros”. Un reto que se presentó por segunda ocasión consecutiva fue el “INFOTANK”, un Victor Jesús “juego” donde cada participante debe utilizar sus Hernández Salinas es Coordinador conocimientos y habilidades de programación, lóde Servicios de Producto en INFOgica y estrategia para proveer a su tanque de las insTEC. Es Licenciado en Sistemas de trucciones necesarias para vencer a sus oponentes. Computación AdEn el juego combaten tanques pre-programados ministrativa por la UVM. Desde 2003 por cada jugador, que tratan de demostrar que su colabora en INFOTEC en el equipo estrategia para vencer a sus oponentes es la mejor. de Desarrollo de Para ello el reto considera que los trabajos de desanuevos productos y servicios. Fue rrollo abarquen las áreas de inteligencia artificial, creador y Coordinador del área de programación y lógica, conjugado en los algoritServicios de Producto y su normamos más innovadores que permitan atacar y defentividad, es además der la posición de cada tanque. coordinador del programa de CerLa primera vez que se presentó este reto en el tificaciones para SWB. Ha impartido evento CPMX3 o Campus Party México 2011, conferencias sobre fue uno de los concursos que más aceptación Web Semántica y Ciudades Digitales y expectativa generó entre los “Campuseros”, en diversos foros, participado en obteniendo una participación de cerca de 400 mesas redondas gubernamentales y competidores (el registro de concursantes más publicado artículos alto en un reto en la historia de los Campus, en diversas revistas y sitios web. según los propios organizadores). Uno de los ganadores del reto expresaba incluso: “Llevo varias
noches sin dormir plenamente por estar pensando en el algoritmo, y cuando decidí que era suficiente, que ya debía dormir y que ya no me importaba si ganaba o perdía, me desperté soñando en el código que implementé sólo unas horas antes de que cerrara el concurso… ¡Y gané!”, y su entrega fue tal que cuando se anunciaron los ganadores él no estuvo presente por estar dormido. Un aspecto interesante, es que en aquella ocasión, la última hora y en especial los últimos minutos fueron sumamente intensos en cuanto al movimiento de puntuaciones y cambios en la tabla de posiciones, y por supuesto la demanda de tráfico al servidor del sitio web, al grado que se tuvo un empate en tercer lugar, generando cuatro ganadores del reto. A partir de esa fecha, el INFOTANK se ha utilizado en diversas ocasiones posteriores ya como concurso en congresos universitarios o como elemento didáctico para principiantes en programación, o en eventos con espacios para estudiantes de niveles primaria y secundaria. Permitiendo en todos los casos la experiencia de sentir que la programación no es tan compleja como pudiera pensarse y que la inteligencia artificial de un “robot” (aunque sea de forma virtual, como puede ser un tanque del juego) puede producir resultados tan simples o extraordinarios como la creatividad y astucia del programador lo permitan.
De regreso al presente
En esta edición CPMX4 o Campus Party México 2013, la experiencia fue incluso mayor en términos de calidad de los algoritmos, aún cuando solo participaron 230 concursantes, quienes incluso una semana antes de comenzar oficialmente el periodo de competencia, empezaron a poner en práctica diversas estrategias, de forma que pudieran ser los mejores programando la inteligencia de sus tanques. Los combates se realizaron formalmente desde el día 31 de Julio hasta el 3 de Agosto, de los cuales, los últimos treinta minutos de competencia fueron un vertiginoso cambio de posiciones y puntos, pues de un segundo a otro un tanque podía subir o bajar desde una hasta tres posiciones, generando que los últimos 5 minutos en especial fueran de una intensidad enorme, además de irse presentando empates múltiples continuamente en los primeros lugares, hasta que finalmente a las 12:00pm se conocieron los tres primeros lugares. 40
.COLUMNA Código Innovare
“El reto lo vi desde que lo publicaron y me interesó mucho, me gusta la programación y pensé que era mi oportunidad de demostrar lo que puedo hacer. Yo tenía mis códigos, los probaba, subía de nivel y los comentaba para que no se viera que podía hacer” decía con una sonrisa el veracruzano Gerardo García, al conversar con Infotec al terminar la premiación. “En lo personal se me hizo una gran experiencia porque nunca había participado en este evento, es la primera vez que mezclo tantos conceptos juntos en algo tan divertido que no te das cuenta cómo pasa el tiempo” expresó alegre Rosaura Vidal, quien se llevó el tercer lugar a Cuernavaca. Las opiniones de los “Campuseros” sobre el reto fueron muy positivas, particularmente en relación con la dinámica, diversión y por supuesto el estímulo de saber quién es el mejor programador. “Lo que más me gusta de INFOTANK es que puedes poner en práctica tus capacidades de programación y algoritmos en un ambiente de lucha”, comentó Jacobo González, propietario del tanque Moctezuma1. “INFOTANK es una excelente oportunidad de competir con otras personas y eliminar al más débil”, dijo Francisco Javier García, propietario del tanque “Gears of War”. Este año INFOTANK presentó nuevas armas: minas terrestres, campos de fuerza y teleportación. Sin embargo las balas y los misiles mantuvieron su papel protagónico en los combates y sin lugar a dudas los competidores tuvieron más elementos para destrozar al enemigo.
A través del espejo
Más allá de la experiencia, la diversión, y el orgullo de sentirse el mejor programador, está la plataforma tecnológica con que se desarrolló este juego. El portal Infotank.infotec.com.mx cuenta con instrucciones, foros, consola de programación (donde cada jugador
puede ingresar las líneas de código para programar los movimientos de su tanque), zona de entrenamiento (para experimentar el código y verificar que se encuentre listo antes de entrar en batalla), y el Campo de Batalla donde se libran todos los combates y se ganan o pierden los puntos que permiten alimentar la tabla de posiciones para saber quién va a la delantera y quién rezagándose. Lo importante de este sitio web es que al incluir ciertos componentes se comporta como un API para realizar el propósito principal del juego: Programar. Puede no parecer impresionante para muchos o lo contrario para otros, pero lo principal es que siendo una página web formada de la integración de componentes con funcionalidades específicas que como piezas “Lego”, al conectarse, permiten tener toda la funcionalidad que se muestra en el reto INFOTANK, y que la tecnología usada es la misma para el desarrollo de una página informativa simple o para un producto complejo como un CMS o un administrador BPM, pero que al integrar modelado de funcionalidades mediante Web Semántica se obtienen resultados mucho más ambiciosos y en tiempos más cortos, pues la versión que incluyó nuevas armas y reglas, usada en CPMX4 tomó únicamente una semana realizarse y probarse, sólo por referir un ejemplo. Mucho se ha mencionado en esta columna sobre desarrollo orientado a la semántica o paradigmas de algoritmos basados en esta tecnología, así como que la plataforma SemanticWebBuilder con sus componentes utiliza esta tecnología y son base para desarrollar otras aplicaciones. Por ello, el caso del INFOTANK es tan importante, pues aún cuando se trata de un juego en línea, es una aplicación por sí misma que brinda distintas interfaces según la administración, edición o publicación de la información que se desee operar por parte de los usuarios, y que además lo logra de una manera simple, pero poderosa, pues permite a desarrolladores que no tienen idea de estar usando modelos semánticos u ontologías en sus desarrollos la operen y se sientan cómodos trabajando en estos modelos, dando la pauta de que la línea evolutiva del desarrollo de Software no se encuentre tan distante de la pauta indicada para la Web 3.0. Armen sus tanques, la guerra continúa…
>> Por Victor Jesús Hernández Salinas 41
www.sg.com.mx |
“Debo decir que este reto fue muy interesante, estaba lleno como cualquier competencia de la vida real de estrategia, matemáticas y al final quien hizo mejores matemáticas y eso fueron los mejores tanques y fue muy divertido verlo”, expresó Alejandro Jimenez, ganador del primer lugar, en el escenario principal ante los “Campuseros” que veían la premiación de todos los retos.
Software Guru
“El propósito principal del juego: Programar”.
.COLUMNA Columna Invitada
El reto de documentar procesos de desarrollo de software
Introducción a SPEM ¿A
lguna vez ha intentado documentar un proceso de desarrollo de software? ¿Por dónde se comienza? ¿Hay algún estándar o recomendación en la industria? Para cualquiera que haya realizado estas tareas, se dará cuenta que no es fácil y en general uno termina usando los recursos disponibles sin mucha guía: procesadores de texto, herramientas de ayuda en línea, wikis, diagramadores de procesos, etc. La documentación de los procesos de desarrollo de software no es sencilla: ¿cómo documentar adecuadamente un proceso de desarrollo de software con el objetivo que sea entendido claramente por un equipo y la documentación sirva como un apoyo en la implementación y seguimiento del proceso descrito? A lo largo de los años diversos autores y organizaciones han tratado de definir y comunicar procesos de desarrollo: desde Royce con el Modelo en Cascada de 1970 hasta los métodos ágiles más recientes. Probablemente la propuesta más estructurada, y que con su publicación en 1998, mostró el nivel de detalle que se puede lograr con la descripción de un proceso de desarrollo fue el “Proceso Unificado” (Unified Process). Este trabajo inició años antes, en 1987 cuando Ivar Jacobson en Suecia creó Objectory y fue adoptado por Ericsson, después Objectory AB fue adquirida por Rational Software Corporation en 1995 (Ambler, 2005). En 1996, se integra el “Rational Approach” con “Objectory Process v.3.8” para crear el “Rational Objectory Process 4.0” y que posteriormente se convertiría en 1998 en RUP 5.0 (Kruchten, 2000). De su documentación destacan el nivel de detalle que tiene y la integración de sus elementos: artefactos, roles, tareas, fases, etc. Esto permitió que se entendiera fácilmente como un producto y tuvo gran aceptación junto con UML. Sin embargo, muchas veces se omite un aspecto valioso del Proceso Unificado: cuenta con un modelo general y con un framework que permite su extensibilidad y soporte por medio de herramientas. Este modelo se basa en conceptos básiGerson García es cos que permiten la definición de procesos más comDirector de Tecnología en Testing plejos y detallados: IT. Es Maestro en Administración de • Roles: Es un conjunto de habilidades, competenTI por el Tec de Monterrey donde cias y responsabilidades (el “quién”). también estudió • Tareas y Actividades: Describe una unidad de traIngeniería en Sistemas Computaciobajo que se asigna a un rol para lograr un resultado nales. Cuenta con más de 10 años significativo (el “cómo”). de experiencia en • Productos de Trabajo (artefactos): Es un resultapruebas de software. Ha particido significativo de un proceso (el “qué”). pado en proyectos de desarrollo de • Procesos: Definen las estructuras de trabajo sesoftware para sector financiero cuenciales que deben realizarse para desarrollar un y se especializado sistema, normalmente compuestos por diversos flucomo consultor en ingeniería de jos de trabajo y fases (el “cuándo”). software y ALM. Cuenta con las certificaciones: ISTQB Test Manager Advanced Level, IREB Professional Requirements Engineer e iSQI Certified Agile Tester.
“Este
modelo se basa en conceptos básicos que permiten definir procesos más complejos y detallados”.
cómo lograr metas específicas, independientemente de su colocación en un proceso. • Guías. Es un concepto que engloba todas las formas de contenido cuyo propósito principal es proveer explicaciones adicionales e ilustraciones de apoyo: plantillas, herramientas, listas de verificación (checklists), etc. • Método o Metodología. Es la combinación de un proceso y contenido metodológico (la forma en que los combinamos nos define el enfoque particular para desarrollar un proyecto).
Figura 1. Method Framework.
El framework original del Proceso Unificado evolucionó al “Method Framework” que forma la base del “Software & Systems Process Engineering Meta-Model Specification” (SPEM) v.2.0 [3]. SPEM es un “meta-modelo” y un perfil de UML 2.0, que se usa para definir procesos de desarrollo de software y sistemas junto con sus componentes. Es decir, es un esquema estandarizado de describir procesos de desarrollo administrado por el OMG. Al enfrentar este tipo de proyectos de ingeniería de software, vale la pena revisar SPEM como un marco teórico y las herramientas que lo soportan. Ver Figura 1.
>> Por Gerson García
Referencias [1] Ambler, S. (2005). History of the Unified Process. Obtenido de Enterprise Uni-
Los conceptos clave que organizan el marco de trabajo son: • Contenido Metodológico. Es la información en el proceso, la propiedad intelectual de “cómo” realizar ciertas tareas y productos. La explicación detallada de
fied Process: http://www.enterpriseunifiedprocess.com/essays/history.html [2] Kruchten, P. (2000). The Rational Unified Process, An Introduction. AddisonWesley Professional. [3]Object Management Group. (2008). Software & Systems Process Engineering Meta-Model Specification Version 2.0. MA: Object Management Group.
42
.COLUMNA Columna Invitada
Data Grids
“Una
La clave para manejar gran cantidad de información móvil
• Brinda información precisa en tiempo real: contar con acceso en tiempo real a la información precisa, marca la diferencia entre las decisiones acertadas y las erróneas. Los data grid acercan los datos a la aplicación, proveen tolerancia ante fallos y permiten un acceso rápido y de baja latencia a la información crucial para el negocio. • Alcanza altas expectativas en tiempo de actividad y capacidad de respuesta: para que los clientes permanezcan fieles y comprometidos, las aplicaciones deben funcionar con coherencia y prestar un servicio ininterrumpido; incluso durante los momentos de máxima actividad y de picos de tráfico imprevistos. Un data grid puede acelerarse y desacelerarse en forma elástica en los nodos distribuidos ayudando a cumplir con los tiempos de respuesta requeridos. • Procesa grandes volúmenes de transacciones: cada vez más negocios se realizan mediante aplicaciones en línea, lo cual aumenta la actividad web y obliga a las aplicaciones a manejar volúmenes de transacción sin precedentes y siempre en aumento. A medida que la cantidad de datos crece, las actividades de lectura y escritura en los depósitos tradicionales de back-end pueden convertirse en cuellos de botella para el rendimiento de las aplicaciones. Los data grids actúan como capas intermedias entre los depósitos relacionales y los frontends para cumplir con los requerimientos de conservación de datos e impulsar un rendimiento sumamente rápido y escalable. • Se integra eficientemente con un nivel de datos complejo y rígido: la implementación de nuevas aplicaciones o actualizaciones debería ser un proceso ágil y simple. Data grids disminuyen los costos fijos y los dolores de cabeza asociados a la integración de niveles
de datos, permitiendo a las empresas una rápida salida al mercado. • Interopera en entornos informáticos mixtos: las empresas de hoy en día poseen entornos informáticos diversos. Las aplicaciones y la infraestructura pueden encontrarse en el lugar, en la nube, ser heredados o contemporáneos. Los data grids pueden actuar como capa de abstracción de datos y ofrecer la flexibilidad de trabajar en una variedad de entornos, aplicaciones, plataformas y bases de datos. Una grilla de datos en memoria es una solución de almacenamiento que permite a las aplicaciones cumplir con los exigentes requerimientos de rendimiento, disponibilidad, confiabilidad y escalamiento flexible. Puede actuar como capa intermedia entre la base de datos relacionales (RDBMS) y la aplicación, manteniendo datos que son intrínsecamente transitorios o temporales, o que son necesarios para el acceso veloz, el acceso frecuente o el acceso entre múltiples geografías. El RDBMS luego puede liberarse para almacenar datos a los que rara vez se accede o son modificados.
¿En dónde se puede utilizar?
En pocas palabras, el data grid puede actuar como “supercargador” de una aplicación. Aumenta el rendimiento de la aplicación para adaptarse a grandes volúmenes de transacciones y a picos de actividad con velocidades en memoria. Y debido a su naturaleza distribuida y tolerante ante fallos, las grillas de datos son ideales para dar soporte a los negocios globales descentralizados de hoy en día. En la actualidad, data grid puede utilizarse en una gran variedad de industrias, como por ejemplo al brindarle al cliente una experiencia sin contratiempos en diferentes aplicaciones móviles y de la Web, al lograr un rendimiento y un escalamiento confiable frente a las fluctuaciones estacionales del negocio, o al reducir la carga de las bases de datos relacionales tradicionales a fin de ofrecerles a los usuarios servicios donde el factor tiempo es crucial. Las tecnologías de data grid también son utilizadas cada vez más en compañías internacionales para administrar y distribuir recursos entre múltiples centros de datos en tiempo real. En un espectro amplio de industrias, las organizaciones de hoy enfrentan desafíos que el escalamiento tradicional de datos no puede resolver con facilidad, ya sea que se trate de brindar Christina Wong es acceso a información en tiempo real, manejar grandes Gerente Senior de Comercialización volúmenes de transacciones, cumplir con la exigencia de de Productos de Red Hat y está a largos tiempos productivos o integrarse con un entorno cargo de Red Hat JBoss Data Grid informático diverso y dinámico. y Red Hat JBoss Las tecnologías in-memory data grid permiten Portal Platform. Obtuvo una Maesque las empresas alcancen un alto grado de flexibilitría en Administración de Empresas dad y rendimiento para sus aplicaciones y agilicen las en la Universidad interacciones con el nivel de datos, brindándoles una de Babson en EU y posee una década ventaja para aprovechar las oportunidades comerciade experiencia empresarial y en les y salir más rápidamente al mercado. ingeniería en alta tecnología.
>> Por Christina Wong 43
Software Guru
n el año 2012, las empresas en general contaban con la suficiente capacidad de base de datos para manejar y procesar la actividad diaria de sus clientes; sin embargo, analistas de IDC han pronosticado un incremento masivo en el uso de Internet móvil en los teléfonos inteligentes y tabletas. Esta tendencia y el aumento de datos móviles, se incrementa aún más por los sistemas interconectados y distribuidos como los que se encuentran en los automóviles, en los electrodomésticos y en los sensores de servicios. Este continuo crecimiento de los volúmenes transaccionales combinados en la llamada “Internet de las cosas”, implicará que los sistemas de base de datos tradicionales se vean limitados en un futuro cercano. Hoy, las empresas buscan escalar los sistemas sin perder rendimiento y aprovechar la ventaja y oportunidad comercial que ofrece Internet móvil. Como los niveles de datos tradicionales son demasiado rígidos, complejos y costosos para enfrentar el desafío de los datos móviles, las grillas de datos en memoria (in-memory data grids) están diseñadas para ofrecer los niveles necesarios de rendimiento y flexibilidad a escala. Como resultado, las grillas de datos en memoria se están convirtiendo en una tendencia que sirve para modernizar el software y adaptarse a las complejas exigencias en términos de rendimiento. A continuación, se exponen diversas razones por las cuales esta tecnología está creciendo en adopción por el mercado:
www.sg.com.mx |
E
grilla de datos en memoria es una solución de almacenamiento”.
.COLUMNA Columna Invitada
La Gestión de Proyectos
no está en crisis en España.
A
la denominada Gran Recesión, con origen en los Estados Unidos se le atribuyen entre sus principales causantes: los altos precios de las materias primas debido a una elevada inflación planetaria, la sobrevalorización del producto, crisis alimentaria mundial y energética, así como una crisis crediticia, hipotecaria y de confianza en los mercados. Cuando esto sucede, las empresas comienzan a adoptar medidas extremas, sobre todo, en aquellos países con estructuras que fueron pensadas y construidas basadas en demandas excesivas. Cerca del 60% de los ejecutivos, colocan entre sus prioridades la de construir una fuerte disciplina de gestión de proyectos en sus empresas para combatir la crisis.
El caso de España
Su PIB muestra variaciones negativas o inferiores a 1 desde el comienzo de la crisis y los valores de desempleo han superado la escalofriante cifra del 27%. Resulta por demás interesante observar que mientras los valores económicos españoles caen estrepitosamente, la cantidad de certificados en gestión de proyectos crece a doble dígito. En el año 2010, España ya contaba con cerca de 2.000 certificados como PMP (Project Management Professional), y para Julio de 2013 esta cifra ya se había convertido en 4.848. Para hacer un paralelismo que no deja de ser útil, la cantidad de PMPs certificados a nivel mundial a comienzos de 2010 era de aproximadamente 413.000, pero para Julio de 2013 esta cantidad se elevó a 552.977. Resumiendo: la cantidad de certificados en el mundo ha crecido un 25% entre 2010 y 2013 mientras que esta misma cantidad a nivel español se ha elevado en un 60%. Ver Tabla 1. ¿Qué hace que España tenga estos valores tan grandes de crecimiento? Las estructuras de las empresas españolas, en los sectores financieros y de la construcción sobre todo, fueron rediseñadas entre el 2000 y 2007, años en los que la economía española tenía variaciones anuales del PIB mayores a 2.5%, por lo tanto, para el 2008, éstas estaban completamente sobredimensionadas. Adicionalmente, debido a la baja de la demanda y la disminución de los márgenes de operación, salen a la luz las ineficiencias en los procesos de negocio de las compañías. Los responsables comienzan a darse cuenta que necesitan diseñar un plan de acción inmediato para no dejarse aplastar Ariel Súcari lleva por una realidad ineludible. Es aquí cuando la gestión de promás de 15 años en distintas posicioyectos empieza a prevalecer ante cualquier plan de mejora que nes relacionadas con la mejora de se coloca sobre la mesa de estos ejecutivos. procesos asesorando empresas y organizaciones en distintos países alrededor del mundo. Técnico en Computación, Licenciado en Sistemas y Maestro en Negocios; actualmente dirige la sucursal Española de la consultora Mexicana Itera. ariel.sucari@ iteraprocess.com
Una gestión de proyectos bien implantada les permitiría: 1. Alinear la estrategia con las iniciativas de negocio. Podrán visualizar que todos los objetivos están siendo cubiertos por, al menos, una iniciativa, y a su vez, que no hay iniciativas que no se corresponden con algún objetivo de negocio. 2. Mejorar la asignación de recursos. Los proyectos más importantes a nivel estrategia organizacional reciben los mejores y más escasos recursos primero. 3. Balancear el portafolio. Al igual que en un portafolio finan-
Tabla 1. Certificados PMPs en el Mundo y en España.
ciero, dependiendo del perfil que quiera asumir la organización, deberá seleccionar y priorizar los proyectos a ejecutar ya que los proyectos son las inversiones de las compañías. 4. Crear una filosofía de generación de valor. En tiempos de crisis, y en cualquier otro tiempo, no debería ejecutarse ningún proyecto que no genere más valor que su costo. Para poder estar seguros que cumpliremos con este último axioma, tendríamos que tener un mecanismo para garantizar que podemos contestar estas 4 sencillas preguntas: 1. Estratégica: ¿Estamos haciendo las cosas correctas? 2. Ejecución: ¿Lo estamos haciendo adecuadamente? 3. Entrega: ¿Lo hemos entregado bien? 4. Valor: ¿Hemos obtenido los beneficios esperados? Un “no” como respuesta a cualquiera de estas preguntas significa que hemos desperdiciado el dinero de nuestros accionistas, por lo tanto, puede ser que el año o período siguiente, estos accionistas decidan cambiar posiciones. Durante el 2008 un gran número de empresas presentaron expedientes de regulación de empleo (EREs), entre otras, Bridgestone (2.463 empleos), Delphi (800), Iveco (1.000 empleos), Nissan (1.500), Viajes Marsans (1.800 empleos, año 2010 y cierre de la compañía), Ono (1.300 empleos), Opel, Pirelli (460), Renault, Roca (1.900), Ryanair (800 empleos), Sony España (275), y Telefónica Móviles (700 empleos). [1] Los números paralizan, sin embargo, es un buen momento para actuar y crear un marco de gestión de proyectos, programas y portafolios que garantice la optimización de la generación de valor en las compañías, permitiéndoles obtener una ventaja competitiva en un momento crucial donde una mala gestión puede costar muy caro.
>> Por Ariel Súcari Referencia [1] Wikipedia en Español
44
.COLUMNA Columna Invitada
ActiveMQ como MOM
(Message Oriented Middleware)
E
entre el cliente y el MOM usando conectores de transporte y entre MOMS usando conectores de redes. ActiveMQ permite a aplicaciones cliente conectarse utilizando una variedad de protocolos como: HTTP/S, Multicast, SSl, STOMP, TCP, UDP, XMPP entre otros. También permite la creación de canales de comunicación que dan paso a la implementación de redes complejas de MOMS.
Lenguajes de programa-
La integración requiere de dos cosas “La manera más eficiente ción usados para transimportantes, la primera es el medio de intercambiar información es mitir la información de transporte por el cual viaja toda utilizando un método o La información se transmite vía menla información (debe proporcionar sajes que pueden ser armados en vatecnología de comunicación que alta disponibilidad, escalabilidad, rios lenguajes de programación como se llama MESSAGING”. confiabilidad y seguridad) y el seJava, .NET, C y C++ entre otros. gundo la manera en que se arma la información para minimizar riesgos y errores (la forma en que se programa la transmisión). Un escenario de integración Se tienen dos aplicaciones funcionando en el negocio, la primera es un sistema de ventas residente en un servidor Windows que usa base de El medio de transmisión Se ha comprobado que la manera más eficiente de intercambiar in- datos A y la segunda es un sistema de contabilidad residente en una formación es utilizando un método o tecnología de comunicación mainframe con AIX al cual se le hizo una inversión muy fuerte usando que se llama MESSAGING o, MENSAJERÍA. En el campo de la base de datos B. La solicitud es que se implemente un sistema de toma integración la mayoría usa una implementación de JMS (Java Mes- de decisiones que estará disponible a nivel nacional para consulta de los saging System). Para que esto funcione es importante que exista ejecutivos. Éste permitirá saber lo que se ha vendido, quién ha compraun medio de comunicación que administra el envío y recepción de do más, los tiempos de compra, el tiempo del proceso de compra, así mensajes llamado MOM (Message Oriented Middleware). También como los productos que más compran y quién es el cliente más importante. Debemos integrar las aplicaciones generando la base de datos C conocido como BROKER. con la información para consultas Los integrantes o participantes de la información inmediatas. Jorge Alberto Rojas Ponce En el manejo de la información existen dos entidades involucradas, es Principal Latin America en Xcellat Consulting Inc, una firma Espero haya dejado claro el la primera es el productor (el que genera la información y la envía) de consultoría especializada en integración y desarrollo de y la segunda es el consumidor (el que hace uso de la información u concepto de integración en sus software basada en Katy, Texas y oficinas próximas en la ciudad bases elementales, el ejemplo andestinatario final). Ver Figura 1. de México. Su principal motor en terior es un problema típico a rela integración es proporcionar al cliente consultorías y cursos solver mediante integración. Comunicación entre clientes y MOMS abiertos utilizando tecnologías de open source. El rol principal de un MOM es el de proporcionar una infraestrucarojas@xcellat.com tura de comunicación para clientes y para este efecto proporciona conectores que son un mecanismo que permite la comunicación >> Por Jorge Alberto Rojas 45
Software Guru
Componentes de la integración
Figura 1. Los integrantes de la información.
www.sg.com.mx |
n un momento u otro, todas las empresas tienen la necesidad de que sus aplicaciones se puedan comunicar entre sí, extraer datos de una base de datos y transformarlos para integrarlos en otra base de datos o transferir información de un sistema a otro. A esto se le llama integración y solo es un capítulo de un tema más amplio que se llama SOA (Service Oriented Architecture). Hay muchas soluciones al problema pero, dependiendo de las restricciones y los requisitos, decidir cómo resolverlo se vuelve una tarea de alto impacto en el negocio. Hay muchos costos involucrados, desde la inversión en software hasta la protocolización del intercambio de información hasta la homogenización de la misma. Lo más importante es tener una estrategia de integración de acuerdo a su presupuesto.
.CULTURA LIBRE
La Innovación Abierta desde el emprendimiento social ››Por Juan Manuel Casanueva
L
a cultura abierta se basa en la premisa de que el conocimiento, las acciones y las expresiones humanas no son creadas espontáneamente. Lo que sabemos, hacemos y decimos es producto de la influencia de tendencias técnicas, corrientes filosóficas o posiciones humanas que vamos adoptando y/o acumulando voluntaria o involuntariamente a lo largo de nuestra vida. En el campo de la innovación, así como sucede con el desarrollo de software enmarcado en el movimiento de cultura libre, podemos encontrarnos con el término de “open innovation” o innovación abierta. La innovación abierta tiene dos características definitorias: la primera corresponde a la búsqueda de la generación de valor. En las últimas dos décadas, los círculos de innovación tecnológica y empresarial han estado abriendo sus estructuras y equipos de trabajo para que nuevas ideas y propuestas influyan sus enfoques de diseño de productos, servicios y procesos con tal de mejorarlos para ser más competitivos o adaptarse a nuevas demandas del mercado. La “receta tradicional” para esta apertura es el desarrollo de esquemas de intercambio y socialización de talentos entre empresas, grupos de especialistas e inclusive stakeholders multidisciplinarios sin total afinidad al servicio o producto. O como comúnmente dice Henry Chesbrough, uno de los pioneros de la innovación abierta en el ámbito del emprendimiento, la apertura se basa en la idea de que “no toda la gente brillante trabaja para ti”. Hoy en día hay un caleidoscopio de esquemas en donde empresas y emprendedores buscan fomentar o pertenecer a grupos de especialistas que les permita estar a la vanguardia. Los concursos, “hackatones”, programas de incubación de talento, intercambio de personal entre organizaciones aliadas y la inmersión en contextos multidisciplinarios son situaciones en las que se puede observar esta necesidad de colaborar y pertenecer a grupos de creadores. Pero la innovación abierta busca concretamente apalancarse de las personas que están inclusive fuera de estos círculos de confianza de las organizaciones, que mediante su huella digital al dejar los objetivos, ideas preliminares, documentación de trabajo y tecnologías, espacios de conversación e inclusive la toma de decisiones de manera pública y transparente, promueven la colaboración en su forma de apertura total. COMUNIDADES EN ACCIÓN
En una plática reciente con Darío Wainer, director de GarageLab en Argentina, nos comentó que hoy en día no hay fronteras que
detengan la voluntad de tener espacios globales de colaboración y que la innovación abierta busca la posibilidad de hacer realidad el que “ninguna organización puede tener como laboratorio de innovación más grande que el mundo entero”. Y para grupos de innovación social, como GarageLab, que buscan crear soluciones para problemas de la vida cotidiana es más fácil resolver problemas si se involucran quienes lo pueden solucionar independientemente de dónde estén y a que se dediquen y no solamente mediante el empleo de un grupo talentoso de personas. Actualmente, GarageLab es una pequeña –pero vigorosa– comunidad de tecnólogos que trabajan realizando proyectos de manejo de datos, desarrollo de software y recientemente hardware abierto, en conjunto con una amplia gama de especialistas de grupos sociales y dependencias de gobierno. Para Darío Wainer el proceso de innovación abarca la identificación del problema, la vinculación con comunidades y tendencias globales, los ejercicios disruptivos, la experimentación, las pruebas de concepto, la elaboración de prototipos y el análisis de los fracasos, etapas que va realizando y documentando bajo licencias flexibles de propiedad intelectual que permitan el uso, la modificación y la realización de obras derivadas de lo generado en el proceso de innovación. Desde el mundo del emprendimiento social, en donde el escenario operativo generalmente es austero en materia de recursos financieros y complejo en el escenario de los problemas sociales que se buscan resolver; la innovación abierta está teniendo cabida cada vez más en la plétora de soluciones con el fin de optimizar el acceso a expertos, soluciones, metodologías o procedimientos sin importar las posibles limitantes. Esta segunda característica fundamental de la innovación abierta también se centra en la calidad de las destrezas y habilidades de las personas pero agrega un componente adicional: su articulación para que mediante flujos irrestrictos de conocimiento se logren impactos puntuales durante el (re)diseño de un producto, servicio o proceso. Éste es el caso de otra organización que recientemente conocimos de manera cercana, Waag Society, uno de los laboratorios de innovación más antiguos de Europa que hoy en día ha adoptado modelos abiertos de innovación para el análisis y desarrollo de soluciones sociales y tecnológicas. Además de tener espacios físicos abiertos al público y gran parte de la documentación de proyectos accesible para su re-uso irrestricto, los proyectos ahí concebidos buscan ser creados en redes de colaboración multidisciplinaria. 46
.CULTURA LIBRE
“La apertura se base en la idea de que
no toda la gente brillante trabaja para ti”.
El reto de innovación al que se enfrentaron los participantes en el proyecto Fair Phone es muy similar a lo que muchas empresas con fines de lucro enfrentan en la actualidad.
Hoy en día el valor va más allá de hacer un producto más. El reto está en diseñar y articular el conocimiento adecuado para enfrentar problemas y necesidades del mercado de manera distinta y propositiva antes de que otros lo hagan primero. De manera general, tanto los espacios empresariales como los sociales están en plena experimentación y adaptación a los modelos abiertos. En el contexto empresarial, Henry Chesbrough ha sido muy enfático en señalar que no existe aún un ciclo de reciprocidad innovativa entre lo que él llama “outside-in innovation” y el “inside-out innovation”. Si bien se han ya puesto en marcha modelos ‘outside-in’ en donde grupos de innovación participan en ecosistemas abiertos de intercambio de conocimiento y extraen de ellos ideas, tecnologías y métodos para convertir en soluciones y productos como parte de una empresa o marca, es mucho más difícil encontrar modelos opuestos que liberen la tecnología realizada dentro de un grupo de innovación hacia el público para que haya productos, servicios y procesos derivados.
Agradecimiento al Dr. Alberto Ramírez Martinelli por haber colaborado en la revisión de este artículo.
Referencias [1] www.waag.org [2] www.fairphone.org [3] www.openpcr.org [4] https://www.innovationmanagement.se/2013/07/17/open-innovation-past-andpresent-an-exclusive-interview-with-henry-chesbrough/ [5] http://www.youtube.com/watch?v=02tCs3oKovc
.BIO M.C. Juan Manuel Casanueva Vargas tiene 15 años de experiencia en el sector de Sociedad Civil en México participando en el desarrollo, educación y proyectos ICT4D. Es Promotor, investigador y capacitador de TIC para el Desarrollo y Acción Social. Es Co-fundador de SocialTIC. @jm_casanueva @socialtic
47
Software Guru
CONCLUSIONES
www.sg.com.mx |
Uno de sus recientes proyectos, openpcr.org es un ejemplo de innovación abierta ya que una red de especialistas se dedico a elaborar una termocicladora sin restricciones de propiedad intelectual con el fin de que pudiera ser construida a un costo accesible por centros de salud e investigadores en países de pobreza extrema para que así poder amplificar moléculas del ADN con el fin de identificar elementos causantes de enfermedades. Al día de hoy, el OpenPCR puede ser comprado a un costo sustancialmente más bajo que el del mercado o también se puede realizar en “casa”. El desarrollo entero de OpenPCR fue realizado de manera colaborativa y su documentación tanto del diseño como del software están abiertas y pueden ser accedidas en el sitio del proyecto: openpcr.org Otro proyecto de diseño e innovación abierta recientemente incubado por Waag Society es el primer teléfono móvil elaborado con materiales y procesos comerciales que no afectan en ningún paso de su cadena de suministro a personas o al medio ambiente. Este proyecto representó un reto que superó la concepción tradicional del diseño abierto ya que implicó la redefinición de una cadena de valor entera basada en principios de comercio ético sin perder de vista a los consumidores. El proceso de innovación del Fair Phone es producto de una extensa red de colaboración entre especialistas en diversas partes del mundo que han analizado alternativas en las áreas de cadena de suministro, ensamble y comercialización redefiniendo los procesos, estándares y materiales mismos que forman parte de un producto. Gracias a este proceso abierto de innovación ha sido posible que un equipo pequeño –inclusive de proporciones financieras menores– haya podido analizar y proponer alternativas a la cadena de valor de un producto como un teléfono móvil. El valor que trae al mercado el Fair Phone no está sólo en sus características como un producto competitivo, sino que promueve los estándares que productos similares deben de cumplir para ser considerados éticos. Hoy en día, después de una campaña de crowdfunding, se han vendido suficientes teléfonos generando así la inversión necesaria para iniciar el primer lote de producción.
.CARRERA
Propuesta de Técnico Superior Universitario en
E
n el ámbito internacional existe una necesidad de formar profesionales en software, cuyo mercado se ha incrementado en la última década en México y en el mundo. La carrera de Técnico Profesional Universitario (TSU) está ligada a los cambios en los procesos de las empresas que exigen mayor profesionalización y adecuación del talento humano a las nuevas condiciones de la demanda, y a un mercado altamente competitivo y en constante cambio. Además de acceder en menor tiempo al mundo laboral, porque cada día las organizaciones necesitan más mano de obra calificada, y el profesional técnico se convierte en una buena opción. En la década del 2003 al 2013 el mercado internacional del Software aumentó la inversión del 8.4% al 8.8% (412 miles de millones de dólares). En México en la misma década aumentó del 2.7% al 4.4 % (mil 980 millones de dólares). Para el presente año se estimó el gasto promedio de TI/ PIB (Tecnologías de Información/Producto Interno Bruto) del 2.3% [1]. El Programa para el Desarrollo de la Industria del Software (Prosoft 2.0), de la Secretaría de Economía, proyectó la creación de 12 mil 133 empleos y mejora, a través de capacitaciones y/o certificaciones, de 27 mil 438 personas que actualmente laboran en el sector de TI, impactando así a 39 mil 571 personas y la certificación y/o verificación organizacional de 123 centros de desarrollo [2]. Para la propuesta del plan de estudios se consideró el estudio realizado por la ANIEIILCE (ANIEI- Asociación Nacional de Instituciones de Educación en Tecnologías de la Información, A.C. ILCE- Instituto Latinoamericano de la Comunicación Educativa) con el apoyo de la Secretaría de Economía, para determinar la cantidad y calidad de recursos humanos necesarios para el desarrollo de la industria del software en México, se detectaron dos problemáticas fundamentales [3]: • La disparidad que existe entre los conocimientos adquiridos en las instituciones educativas y las competencias demandadas por la industria. • El costoso y extenso período de transi.BIO
M. en C. Pedro Solares Soto es Coordinador de Maestría en Administración de Servicios de T.I. del Departamento de Ingenierías de la Universidad Iberoamericana de la Ciudad de México. pedro.solares@ibero.mx
ción adaptativa, esto es, el tiempo entre el egreso de las instituciones educativas y el momento en que son productivos. Además se realizaron varios Focus Group (sectores educativo, empresarial y asociaciones) para determinar las competencias generales y técnicas requeridas por los empleadores. Las generales son: aprendizaje continuo, trabajo en equipo, orientación al cliente, comunicación, resolución de problemas, uso de metodologías, asertividad, liderazgo y capacidad de innovar. Las técnicas requeridas son: entendimiento de sistemas operativos, diseño y desarrollo de aplicaciones y de técnicas de calidad de software, diseño y técnicas de arquitectura de software, tratamiento de la información, base de datos, redes y comunicaciones, y conocimientos básicos de programación. Teniendo como base las competencias generales y técnicas se propone la formación de un Profesional Técnico con visión humanista e integral, cuya vocación, aptitud, conocimientos y destrezas son impulsados para ejercer funciones de implementar aplicaciones de software, mediante técnicas, metodologías y estándares de programación considerando los requerimientos de la organización. La propuesta del Plan de Estudios para formar el TSU en Software tiene las siguientes características generales: • Duración con ciclos cortos (cuatro semestres). • Vinculación con el sector productivo (convenios con diversos sectores empresariales). • Participación de las empresas en la formación de estudiantes (estadías). • La inserción en su etapa de estudiante y en su vida profesional (prácticas profesionales y empleo al egresar).
Software
›› Por Pedro Solares
• Computación: Soporte Técnico, Sistemas Operativos. • Habilidades Directivas: Desarrollo del Pensamiento lógico y Matemático, Taller de Expresión oral y escrita, Administración de Proyectos, Formación de liderazgo y comunicación, Reflexión I, Reflexión II. • Idioma: Inglés I, Inglés II, Inglés III. El plan de estudios está constituido por: • Horas: 1972. • Semestres. Cuatro, más la estadía. • Materias: 24. • Horas de Estadía: 460. Como valor agregado se ofertan certificaciones en: PSP. Arquitecto de Software, Administrador de Proyectos y Procesos de Software. Emprendedor de Negocios de Software.
conclusión En México se ha conformado un ecosistema de software cuyo grado de densidad es lo suficientemente alto como para sostener una industria especializada con capacidad competitiva internacional. La industria del software en México está solicitando capital humano con certificaciones.
Referencias [1] Propuesta de la Agenda Digital Nacional 2011. http://www.canieti.org/Libraries/Downloads/ADNcompleto_04112011.sflb.ashx. accesado el día 30 de Mayo del 2011. [2] Secretaría de Economía programa PROSOFT 2.0. http://www.prosoft.economia.gob.mx/. accesado el día 12 de Julio del 2013. [3] Secretaría de Economía. http://www.edigital.
Para el diseño del plan de estudios se analizaron diversos elementos de referencia [4][5], la estructura por área de conocimientos es la siguiente: • Programación: Metodología de Programación, Programación, Arquitectura de Software, Integración de Proyectos de Software, Desarrollo de Aplicaciones I, Calidad del Desarrollo de Software, Arte Digital, Desarrollo de Aplicaciones II. • Base de Datos: Estructura de Datos, Base de Datos, Administración de Base de Datos. • Telecomunicaciones: Fundamentos de Redes, Redes.
economia.gob.mx/capital%20humano.htm. accesado el día 15 de Julio del 2013. [4] Modelo paracurricular IMPULSA: CIEES (Comités Interinstitucionales de Evaluación de la Educación Superior), Marco de Referencia para TSU. CENEVAL (EGETSU Computación). Instituto de Ingenieros de Software (Carnegie Mellon University), certificaciones. [5] SICAPH-TI (Sistema Inteligente de Capital Humano en Tecnologías de la Información de IMPULSA) Perfiles y Competencias 2013. http://www.edigital.economia. gob.mx/capital%20humano.htm. accesado el día 20 de Julio del 2013.
48
El Líder de Proyectos
›› Por Juan Araque Melgar
Coach
con nosotros mismos. Se le llama herramienta conversacional en términos de coaching. Debemos asegurar que el asunto a tratar está totalmente claro, indagar y asegurar no estar tratando un asunto y darnos cuenta que no era el correcto, es decir, podemos confundir un problema de desempeño pensando que es un tema de actitud, cuando realmente el asunto es la falta de capacitación. Una vez que tenemos claro el asunto, continuamos con el siguiente paso, ¿Qué objetivo queremos lograr sobre el asunto? ¿Qué queremos lograr? ¿A qué se comprometerá la persona/equipo? El objetivo que definamos deberá estar fundamentado en realidades, siempre basarnos en hechos y en situaciones reales, si no es así el proceso será frustrante para ambas partes coach y coachee. El siguiente paso es la identificación de opciones para lograr el objetivo, seguro no hay solamente una, sea en el mejorar el rendimiento, minimizar una desviación, etc. Y por último lograr compromiso, compromiso generado bajo el proceso de coaching, NO por el coach. El coach solo indagó y buscó respuestas en todo momento que nos llevaron a un objetivo (retador) con un plan de acción bien claro, con métricas bien claras y bajo un compromiso conjunto. Intentemos aplicar este estilo, el beneficio se ve en corto plazo. .BIO Juan Araque Melgar es Lic. en Sistemas de la Universidad Iberoamericana con 25 años de experiencia en proyectos de TI y Mejora de Procesos. Del 2000 al 2003 fue Director de proyectos de Gestión de Riesgos en División América de Banco Santander en Madrid, España realizando proyectos mutiplataforma y multipaís con equipo de más de 150 personas. Es Coach certificado por la IAC capítulo México. Actualmente es Socio director de Consultoría Estratégica y Coaching, empresa enfocada en el coaching para la gestión de proyectos y mejora de procesos de desarrollo y entrega de Servicios de TI. jaraque@cecoaching.com.mx
www.sg.com.mx |
T
odo líder utiliza, o debería, varios tipos de liderazgo en su gestión, estudios realizados en Harvard indican que los líderes exitosos manejan al menos 4 estilos de 6 reconocidos y que son: autoritario o visionario, coach, conciliador, democrático, ejemplarizante y dominante o coercitivo, es muy importante tener claro que cada estilo tendrá efecto en el clima laboral del proyecto, ninguno es ni bueno ni malo, dependerá de la situación en que se tenga que aplicar, pero algunos tienen mejor o peor impacto en el clima. En esta columna nos enfocaremos en el Coach ya que tiene bastantes ventajas y puede ser utilizado en varias etapas del proyecto y situaciones con el equipo. El coaching se basa obtener respuestas, realizar preguntas que lleven al coachee (persona o equipo al que se le está aplicando el proceso) a dar ideas y opciones, logrando con ello la pertenencia de las mismas por parte de él o los miembros del equipo que las dieron. El estilo Coach nos ayudará a que la gente crezca, a que la gente se comprometa con las tareas y con los objetivos, resolver conflictos y a identificar opciones (entre otras). Tiene un impacto positivo en el clima laboral del proyecto, pero se recomienda no abusar de este estilo cuando tengamos que dar una instrucción clara (estilo autoritario) démosla, el líder de proyecto tendrá, normalmente, mayor información que el resto de la gente, no dejemos todo al coaching. El coaching se puede dar de dos maneras en los proyectos, porque el líder requiere resolver un asunto específico con alguna persona o grupo de personas (podría ser el equipo de proyecto completo), o porque una persona o grupo de personas se acerca a él con un asunto específico a tratar. El coaching se basa en una herramienta muy poderosa: La Conversación, la base de todo, sea con alguna persona, con un equipo e incluso
Software Guru
“Nuestro objetivo debe ser retar”.
.SG TALENTO Perfiles
EDWIN CRUZ
JOSÉ GÁLVEZ
ROBERTO CARRERA
http://swgu.ru/edwincruz
http://swgu.ru/galvezz
http://swgu.ru/rcarreram
Edwin actualmente desempeña el rol de Principal
José es Cofundador y CEO de Venddo, startup que
Roberto Carrera es consultor en desarrollo de soft-
Software Engineer en la empresa Crowd Interactive
desarrolla productos para ayudar a los negocios a en-
ware, con más de siete años de experiencia desarro-
liderando el equipo de ingeniería, se involucra en to-
contrar clientes e implementar estrategias de marke-
llando aplicaciones para empresas como Converse,
das las operaciones de la compañía, incluyendo deci-
ting en redes sociales. Cofundador y CEO de Mango
Audi, Motorola, y brindando consultoría a equipos
siones de arquitectura, contratación, presencia públi-
Hosting, compañía que ofrece Servicios Cloud en
para mejorar su calidad y eficiencia, además de in-
ca dando conferencias, consultoría e interacción con
México. Mentor en Startups Temple, aceleradora de
volucrarse en procesos de automatización de infra-
los clientes. Ha trabajado en empresas del “top” 10
startups en México.
estructura. Fue actor clave en la conformación de la
Fortune (incluyendo GE y Google) y en los últimos 4 años ha trabajado solamente para startups en USA.
comunidad de desarrolladores Java en Guadalajara ¿Qué es lo que más me gusta de lo que hago?
(esfuerzo iniciado por Gilberto Alvarado Berto II).
Crear productos o servicios que ayudan a las personas
Actualmente trabaja para Tacit Knowledge.
¿Qué es lo que más me gusta de lo que hago?
y negocios. Crear conceptos, marcas que sean usadas
Lo que más disfruto de mi trabajo es el saber cuánto
por muchos usuarios en diversos lugares. Me gusta
¿Qué es lo que más me gusta de lo que hago?
alcance tiene lo que hago, es realmente gratificante el
programar y crear aplicaciones que integran investi-
Me encanta resolver problemas, cada proyecto en el
saber que lo que alguna vez hiciste en tu computadora
gación, programación y algún tipo de mercadotecnia.
que me involucro es un nuevo problema, cierto, en
sea usado por millones de usuarios, generando mucho
Me gusta invertir en stocks y startups, y conocer de
todos quieres de una u otra manera automatizar, re-
dinero, resolviendo problemas, ayudando a personas
otras empresas y modelos de negocios, ser parte de
ducir costos o acelerar procesos, sin embargo siempre
a encontrar lo que quieren y lo principal: hacer felices
las historias de crecimiento de conceptos y empresas.
es una nueva industria, que representa un nuevo conocimiento y retos particulares a esa industria.
a los usuarios. ¿Quiénes son mis modelos a seguir? ¿Quiénes son mis modelos a seguir?
El emprendedor por excelencia Steve Jobs, desde lue-
¿Quiénes son mis modelos a seguir?
No tengo un héroe en particular, pero sí admiro
go. Jeff Bezos que creó Amazon y ha incursionado
Tengo la fortuna de trabajar con personas muy talento-
mucho a los jóvenes que se atreven a innovar, que
con gran anticipación la industria de Cloud Services.
sas y con vasta experiencia en el área de desarrollo; esto
no quieren un trabajo estable y se aventuraron en el
Admiro mucho el trabajo de gente como el funda-
me ha permitido aprender de ellos. Ahora bien, mis
mundo del emprendimiento, ese tipo de personas son
dor de Starbucks, Howard Schultz por su estrategia
modelos a seguir dentro de los líderes de la industria te
las que cambian el mundo.
de expansión y de prioridad en servicio al cliente; a
diría: Kent Beck, Robert C. Martin, Andy Hunt y aun-
Drew Houston por lo que ha logrado con Dropbox y
que algunos amigos míos me desaprueben y otros me
Mi consejo para mis colegas
la dedicación de David Karp con Tumblr. Por último,
apoyen también mi modelo a seguir es Martin Fowler.
El fallar es parte del aprendizaje, he aprendido más
admiro la sagacidad y visión de inversionista-especu-
de resolver fallas en producción que de leer tutoria-
lador de Donald Trump.
les, no tengan miedo de experimentar, un producto
Mi consejo para mis colegas 1. Ser curiosos: cómo funcionan las cosas (fra-
experimental siendo usado es mucho mejor que un
Mi consejo para mis colegas
meworks, procesos, código en general), ver más allá
producto perfecto nunca liberado. Por último, apren-
Enfocarse. Si tienes que dejar proyectos u otros ne-
de la superficie.
dan a manejar el pánico.
gocios, déjalo, no se puede servir a tantos amos y ser
2. Desarrollar habilidades sociales, y no me refiero a
exitoso. Trabajar mucho. Pedir y pagar por ayuda.
fiestas y cervezas (que tampoco hay que olvidarlas),
Buscar mentoría y siempre estar abierto a aprender.
sino al hecho de aprender a comunicarnos oral y por
No tener miedo al fracaso.
escrito, nuestro trabajo se sustenta en el hecho de entender qué es lo que nuestro cliente quiere y en el poder colaborar efectivamente con su equipo y con
Te invitamos a compartir tu perfil en http://sgtalento.com
nuestro equipo. No importa qué tan buenos seamos desarrollando si no podemos trabajar en equipo.
50
www.sg.com.mx |
Software Guru
.TECNOLOGÍA Gadgets
Ultrabooks premium
Este verano vimos llegar nuevas laptops con la más reciente generación de procesadores de Intel (Haswell), sin embargo la gran mayoría estaban dirigidas al mercado del consumidor. Fue así que los usuarios premium que buscan los equipos más avanzados, y los usuarios empresariales que requieren de equipos con mayores niveles de durabilidad, seguridad y facilidad de gestión han tenido que esperar. Conforme nos dirigimos hacia el último trimestre del año, por fin estamos viendo llegar nuevas portátiles dirigidas a estos segmentos. De la reciente camada de Ultrabooks empresariales, una de las que nos llama la atención es la ThinkPad T440s de Lenovo, que como se podrán imaginar no destaca precisamente por su belleza pero es un caballo de batalla confiable y que ofrece buen desempeño. Por su parte, Asus lanzó la Zenbook UX301 con pantalla táctil cubierta con Gorilla Glass 3 y resolución de hasta 2,560 x 1,440. Dell todavía está haciendo su lucha y lanzó la línea Latitude 7000 cuyos equipos no destacan por su poder, pero son sencillos de administrar y ofrecen buena relación precio/valor/durabilidad, adicionalmente Dell tiene pendiente lanzar la Precision M3800 que tendrá una tarjeta gráfica NVIDIA Quadro y pantalla táctil de 3,200 x 1,800. Todo parece indicar que pronto veremos la nueva Macbook Pro, que también promete dejarnos boquiabiertos. En resumen, este fin de año tendremos muy buenas opciones para actualizar nuestras portátiles. Así que hay que aplicarnos para que nos vayan autorizando ese presupuesto ...
PowerPot
El PowerPot es un generador termoeléctrico, así que convierte cualquier fuente de calor en energía para cargar un dispositivo electrónico por medio de USB. Tan solo agrega agua al PowerPot, ponlo en una estufa o fogata, conecta tu dispositivo (no te preocupes, el cable es resistente al fuego) y éste se cargará. El PowerPot es a prueba de agua, resistente al fuego y muy portable con un peso menor a los 350 gramos. Así que si planeas ir a acampar y no quieres estar desconectado, o simplemente te estás preparando para el apocalipsis zombie, el PowerPot puede ser de gran utilidad.
Sony Xperia Z1
Sony dio a conocer en la exposición de electrónica de consumo IFA en Berlín su nuevo smartphone, el Xperia Z1. El Z1 es un smartphone basado en Android dirigido al segmento premium que viene a actualizar al Xperia Z. Al igual que su predecesor, el Z1 es resistente al agua, soportando estar sumergido bajo una profundidad de 1.5 m durante 30 minutos. Posiblemente el elemento que más distintivo del Z1 es su cámara, que ofrece una resolución de 20.7 megapixels. Más allá de la resolución de la cámara, el Z1 cuenta con varias tecnologías que se combinan para brindar una gran calidad de imagen, tales como un lente “G Lens” gran angular de 27mm con apertura de luminosidad F2.0, sensor de imagen CMOS Exmor RS de 1/2.3 pulgadas, y el procesador de imagen BIONZ. La combinación de estas tecnologías ofrece el mismo nivel de calidad y desempeño que una cámara digital convencional, en un smartphone delgado a prueba de agua. En términos de capacidad de cómputo, el Z1 también destaca gracias a su procesador Snapdragon 800 quad-core con una velocidad de reloj de 2.2 GHz. Para compensar el impacto en el consumo de energía, el Z1 cuenta con una batería bastante grande (3,000 mAh).
52
.TECNOLOGÍA Gadgets
Teclado CODE
Los desarrolladores de software pasamos gran parte de nuestro día “dándole duro a la tecla”, y por lo tanto el contar con un buen teclado es de gran importancia. Jeff Atwood, un programador y blogger conocido bajo el nickname de “Coding Horror”, diseñó en conjunto con Weyman Kwong un teclado denominado “CODE keyboard”. Atwood define su creación como “un teclado mecánico que es sencillo, cómodo y hermoso”. A diferencia de la mayoría de los teclados existentes, el CODE no utiliza membranas plásticas, sino que cada una de sus teclas usa switches mecánicos —específicamente switches Cherry Mx Clear. Esto brinda una mejor retroalimentación y sensación al escribir, además de ser mucho más silencioso. El CODE cuenta con todo tipo de detalles para satisfacer hasta al más quisquilloso usuario: iluminación para las teclas con 7 niveles de intensidad configurable; soportes de hule para evitar el movimiento; el layout de las teclas se puede configurar (ej. Qwerty, Dvorak, Colemak); se puede reconfigurar la función de teclas específicas; reconoce hasta 6 teclas presionadas al mismo tiempo (6Key USB Rollover) además de Ctrl, Alt y Shift, brindando la posibilidad de tener atajos de hasta 9 teclas simultáneas; cuenta con alma de metal para mayor durabilidad. Este “teclado ideal” originalmente fue lanzado en una producción limitada a un precio de $149 dólares y se agotó en pocos días. Dado su éxito, sus creadores están considerando comenzar a producirlo masivamente.
Withings Pulse
Hablando de sensores e internet de las cosas, presentamos el Withings Pulse, un monitor portátil que captura todo lo que quieres saber sobre tu actividad física: cuántos pasos das, cuántas calorías quemas, qué distancia y elevación recorres. Además, puede medir tu ritmo cardiaco y también analiza tu ciclo de sueño. El Pulse es bastante pequeño, midiendo cerca de 4 cm en su lado más largo y pesando tan solo 8 gramos; está diseñado para llevarlo en un bolsillo o sujetarse por medio de un clip a un cinturón o ropa. El Pulse cuenta con una pantalla táctil OLED donde puedes consultar hasta 14 días de datos históricos. También se sincroniza con smartphones iOS y Android por medio de Bluetooth. Además de tener su propia app en la que puedes consultar y almacenar la información de tu actividad, el Pulse también puede comunicarse con una gran variedad de apps terceras.
53
www.sg.com.mx |
Escuchar y llevar a todos lados la música que más te gusta, con sorprendente calidad de audio, a una máxima potencia y de forma súper compacta, ahora es posible con Moon: Bocina Portátil Recargable Bluetooth 2.1 de Perfect Choice, la cual está equipada con un potente subwoofer y dos satélites integrados que harán tus experiencias fuera de serie. La bocina es tan pequeña que quedarás sorprendido con el nivel de audio y potencia, pues tan sólo mide 17.5 x 10 x 16 cm. Bastará con echarla a la bolsa o mochila para llevar la fiesta garantizada. Déjala que suene libremente pues su batería tiene una duración aproximada de hasta 8 horas y el hecho de que sea Bluetooth® te permitirá utilizarla con tu smartphone o cualquier dispositivo que cuente con este tipo de transmisión inalámbrica para que todo mundo pueda compartir su música.
Software Guru
MOON: Bocina portátil Bluetooth
.SG MARKET
Directorio Abiztar 4F
Quarksoft 55
www.abiztar.com.mx/SG
http://www.quarksoft.net/
Accenture 23
Sean 49
http://cvaccenture.com.mx
http://www.seanmexico.com/
Alpha 54
SG Talento 2F
www.alpha-consultoria.com
http://sgtalento.com/
Blue Touch 54
SG Virtual 01
http://bluetouch.mx/
http://sg.com.mx/sgvirtual
Code3e 54
Testing IT 11
www.code3e.com
www.testingit.com.mx
Gartner 51 www.gartner.com/mx/aadi
Infotec 33 www.infotec.com.mx
Kilo 54 www.kilo.com.mx
Kryteria 09
Pronatura 3F http://www.pronatura.org.mx/
QA&Test 54 http://www.qatest.org/es/index.php
TENEMOS UN ESPACIO RESERVADO PARA TI SG se distribuye de manera impresa en la República Mexicana, y de manera digital llega a más de 25mil lectores de habla hispana. El anuncio en la revista digital cuenta con hiperliga directa a tu sitio web, lo que te dará la oportunidad de acercarte a nuevos clientes. “Es una gran oportunidad participar con Software Guru, pues comprobamos que es un medio efectivo.” -Novalys Latinoamérica Contáctanos en el (55) 5239.5502 o en publicidad@sg.com.mx
www.sg.com.mx |
Mexico First 15 www.mexico-first.org
Software Guru
http://www.kryteria.com.mx/
.FUNDAMENTOS
Estilos de Aprendizaje para Diseñar una Interfaz
›› Por Ariadna Esther Rosas Mosqueda
M
e encontré con este tema de los estilos de aprendizaje, el cual me hizo reflexionar sobre un proyecto en el que debía implementar una interfaz para una red social de una empresa, quise innovar mi proyecto con el nuevo tema pero descubrí miles de variantes, anatómicamente los seres humanos somos lo mismo: contamos con una estructura cerebral igual, pero cada individuo vive, reflexiona, conceptualiza y finalmente aprende la información de acuerdo a su preferencia cognitiva, a sus intereses, a la capacidad que tenga el individuo para adaptarse a un ambiente, a su personalidad y a la edad. Estas características son parte del estilo de aprendizaje de cada persona y el estilo de aprendizaje no se define por el coeficiente intelectual ni está vinculado a la inteligencia como muchos llegamos a creer. Más de uno conoce el compañero “listo” que todo entiende a la primera lectura, al colega que sabe utilizar a la perfección la máquina de control numérico sin haber llevado un curso, o al chico que memoriza conceptos al pie de la letra, este tipo de individuos están más inclinados a cierto estilo de aprendizaje y son estimulados en un ambiente apto, todos aprenderíamos de la misma forma en la que ellos nos sorprenden, si recibiéramos la información en el ambiente correcto. Los estilos de aprendizaje se definen como Activo, Teórico, Pragmático y Reflexivo. CONOCIENDO CADA ESTILO
Una persona Activa es atraída por nuevas experiencias, son distinguidas por su carácter animador, les gusta improvisar y descubrir, son personas arriesgadas y espontáneas, creativas, novedosas, aventuradas, protagonistas o líderes. Las personas con inclinación al estilo Reflexivo, tienen el carácter ponderado, son concienzudas, receptivas, analíticas, exhaustivas, observadoras, pacientes, recopiladoras, lentas, cuidadosas, prudentes, y tienen actitudes para elaborar informes, hacer investigación o análisis minuciosos. En el estilo teórico predominan las características de una persona, metódica, lógica, objetiva, crítica y estructurada, tienen actitudes de disciplina, planificación, y son pensadoras. Las personas pragmáticas son personas que experimentan, directas, eficaces, pragmáticas y realistas, se les facilitan las actividades técnicas, son rápidos al desempeñar sus funciones, útiles en el trabajo y siempre buscan una forma resolver algún pro-
blema. Nadie es cien por ciento pragmático o teórico, cada uno de nosotros oscila entre cada estilo, aunque siempre predomina uno, requiere un pequeño análisis para definir cuál es el mejor ambiente para aprender. Cuantas veces nos encontramos páginas muy interesantes pero visualmente poco atractivas, una persona “teórica” no tendría mayor problema navegando entre solo letras, pero una persona activa, se le haría tedioso procesar la información, o al revés, encontrarnos con interfaces muy vistosas que te hacen perder el interés en la información, distrayéndote por los colores y animaciones. ¿Y ENTONCES CÓMO DISEÑAMOS?
Para diseñar interfaces atractivas y cómodas es importante abarcar cada uno de los puntos de los estilos de aprendizaje tomando en cuenta el contenido que vas a presentar y la audiencia que tendrás, así atraerás y mantendrás cómodo al público que visita tu sitio web o a los usuarios que utilizaran tu interfaz. Todo esto suena laborioso pero tampoco es imposible tener una navegación agradable, existen colores que puedes combinar para tener una interfaz interesante sin sobre cargar el color y las imágenes o en caso contrario, tener un sitio simplón y poco atractivo. Recuerda que puedes combinar los estilos. Las personas activas se ven atraídas por las tonalidades vivas y brillantes como el rojo, magenta, naranja. Los reflexivos por colores como el naranja, amarillo y verde en tonos opacos y no muy brillantes, una persona teórica tendrá preferencia por los colores sobrios en tonalidades verdes azules y amarillas, y una persona pragmática por colores en tonalidades claras como el azul, morado, rosa. En mi red social para la empresa, mezcle dos estilos de aprendizaje, el pragmático y el reflexivo, el modo de navegación es simple y con pocas opciones para no permitir que los empleados se distraigan, utilice colores verdes, amarillos, arena, azules en tonalidades pastel, para los sonidos de la aplicación del chat ocupe alertas sonoras y no visuales, para llamar la atención de los usuarios activos. Recuerda sacar el mejor provecho de tu aplicación, mezcla los estilos de aprendizaje y evalúa el peso del contenido que vas a presentar, analiza la audiencia que tendrás y encuentra el punto medio. .BIO
Ariadna Esther Rosas Mosqueda está cursando el décimo semestre de la carrera de Ingeniería en Computación y Sistemas en la Universidad Autónoma del Estado de Puebla y actualmente realiza prácticas profesionales en T-systems Puebla, en el área de voz IP para grupo Grupo Modelo. En 2007 participó como expositor en el XXII Encuentro de Jóvenes Investigadores en Salamanca, España y ese mismo año ganó el Primer Lugar XVI Exposición Estatal de Prototipos y salió publicada en el libro “Jóvenes Investigadores” con la ponencia “SIMEZCLA- 47 Simulador Didáctico de Mezclado”. aritte3@gmail.com
56