Está en la página 1de 60

PLANEACIÓN ESTRATÉGICA DE TI

PAG. 30

CONTRATACIÓN BASADA
EN RESULTADOS
PAG. 32

USER EXPERIENCE DESIGN
PAG. 38

TUTORIAL
APPS MÓVILES CON
XAMARIN.FORMS
PAG. 14

NO.47 CONOCIMIENTO EN PRÁCTICA
www.sg.com.mx
MAKER ZONE

GENERACIÓN DE
MAPAS CON DRONES
PAG. 42

COMERCIO
DIGITAL TENDENCIAS Y TECNOLOGÍAS
NO.47 CONOCIMIENTO EN PRÁCTICA
www.sg.com.mx

EN PORTADA
COMERCIO DIGITAL
020

Abordamos tanto aspectos estratégicos como


detalles técnicos del comercio digital: tenden-
cias de mCommerce, interés de los consumido-
res, gateways de pago, bitcoin, blockchain. Con
este reportaje tendrás una idea mucho más cla-
ra de cómo subirte a esta ola.
CONTENIDO

INDUSTRIA PRÁCTICAS C COLUMNAS H HUMANOS


I Y EMPRESAS
P DESPUÉS DE TODO

¿Sabemos qué Necesitan los Contratación Basada Tendencias en Software 007 Carrera: Guía para certificarte
Emprendedores? 010 en Resultados 032 — como Tester 053
— Tejiendo Nuestra Red 008
Seguridad y Frameworks 036 —
— Código Innovare 031
A la Defensa de los Usuarios 038 —
HERRAMIENTAS Y O EN CADA
T TECNOLOGÍAS

Sobre Nuestra Misión
Progamar es un
modo de vida 048 NÚMERO
como Testers 040
OpenStack 012 — Noticias y Eventos 005
— Mapas de Alta Resolución —
WebRatio 013 con Drones 042 Radar 006

V VOCES —
Xamarin.Forms 014 Hardware 054

Los Bugs del Biblioteca 056
ESTRATEGIA
E DE TI
Testing en México 041

F FUNDAMENTOS Más allá del Software 046
El Presupuesto de TICs 028 —
— Software
Certificados Digitales 052 Planeación Estratégica 030 Defined Networking 050

EMPRENDIENDO
010
O EDITORIAL

Renaciendo
cual fénix

La última vez que platicamos por medio de estas líneas era diciem- Es por ello que tomamos un tiempo para hacer varios ajustes en SG de for-
bre de 2014. Cinco meses después, te presentamos este nuevo número de ma que podamos seguir realizando por muchos años más nuestra misión:
SG. Lo sabemos, es mucho tiempo y te pedimos una disculpa. informar, inspirar y vincular a los profesionistas y organizaciones de TI en
Latinoamérica para impulsarlos a ser de clase mundial.
¿Qué estuvimos haciendo durante todo ese tiempo? Pues más que nada, es-
tuvimos pensando en cómo queremos que sea Software Guru, y qué necesi- En esta edición de SG notarás algunos cambios: nuevos colaboradores, sec-
tamos hacer para que eso suceda. ciones y temas, además de un ligero rediseño. Continuaremos con los ajustes
a lo largo del año, pero prometemos ya no hacerte esperar tanto.
Como sabes, SG nació hace poco más de 10 años. Durante este tiempo, tanto
la industria de medios como la de TI han sufrido grandes cambios tanto a Agradecemos tu paciencia y lealtad. Lo mejor está por venir.
nivel global como local. Es así que SG también necesita cambiar para ajustar-
se a las nuevas características de la industria y satisfacer las necesidades de Equipo Editorial
nuestra audiencia. Software Guru

DIRECTORIO SG
Dirección Editorial Pedro Galván | Dirección de Operaciones Mara Ruvalcaba
Coordinación Editorial Susana Tamayo | Arte y Diseño Oscar Sámano | Suscripciones María de Jesús Montiel
Consejo Editorial Luis Daniel Soto | Gunnar Wolf | Luis Vinicio León | Hanna Oktaba
Ariel Jatuff | Emilio Osorio | Gloria Quintanilla | Jorge Valdés

COLABORADORES
Andrés Bianciotto, Celeste North, Miguel Ángel Barajas, Alder López, Arturo Téllez, Héctor Santillán, Gabriela Campos, Guilherme Siqueira Simoes, Humberto Cervantes,
Misael León, Pilar Barrio, Carlos González, Quauhtli Martínez, Víctor Hernández, Carlos Perea, Héctor Uriel Pérez, Ismael Villegas, Armando Márquez

Ventas Claudia Perea | Ventas y Delivery Yoloxochitl Juárez | Marketing y Alianzas Fernando Hernández | SGCampus Vanessa Amaya y Ariel García

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 licen-
ciados 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.

004
NOTICIAS O
Noticias

HACKMTY 2

El hackathon estudiantil HackMty se llevó a cabo


el 21 y 22 de marzo en el campus Monterrey del
Tecnológico de Monterrey. 300 estudiantes se
organizaron en equipos y trabajaron en sus pro-
yectos a lo largo del fin de semana. Los proyectos
ganadores fueron Roady (app para gamification
de puntualidad), ID Scanner (lector de datos en
identificaciones para alimentar formas) y Rocket
(clustering para procesamiento distribuido usando
smartphones). El evento fue organizado por Major
Leage Hacking, que se especializa en organizar hac-
MOBILE DAY 2015 1 kathons estudiantiles y que a lo largo del año estará
realizando otros eventos en el país.

Software Guru organizó la edición 2015 del Mobile Day (enfocado en el desarrollo de apli-
caciones móviles empresariales) el pasado 19 de marzo en Ciudad de México. Este es su
segundo año y contó con más de 300 asistentes interesados en construir mejores apps. A
lo largo del día, los participantes aprendieron sobre mejores prácticas de UX design, estra-
tegias de testing para lidiar con la gran variedad de dispositivos, criterios para desarrollar
apps nativas o híbridas, low-code mobile platforms, gamification, y la plataforma Twitter
Fabric, entre otros temas. Agradecemos a los participantes y nos vemos en 2016.

GLOBAL ARDUINO DAY 3 SXSW INTERACTIVE 4

El pasado 28 de marzo se celebró el Global Arduino Un año más, y otra edición del SXSW Interactive. El festival más importante de medios
Day con eventos en distintas ciudades del mundo. interactivos se realizó del 13 al 17 de marzo en Austin, Texas reuniendo a más de 30 mil
América Latina tuvo una participación nutrida con la participantes. México tuvo participación a través del panel “Navigating the Entrepreneurial
realización de más de 70 eventos. Tan solo en Brasil Ecosystem in Mexico”, así como un pabellón en la expo con la presencia de varias empre-
se realizaron más de 30, y en México 9. Ciudad de sas nacionales (entre ellas SG). En cuanto a las novedades y tendencias, previo al evento
México fue una de las sedes con mayor participa- el tema que se esperaba que dominara las conversaciones era el de Internet de las Cosas,
ción realizando un evento en el Centro de Cultura apareciendo en al menos 70 sesiones (de un total de mil 250 sesiones que se realizan a
Digital con conferencias y exhibición de proyectos. lo largo del festival). Y efectivamente IoT fue un tema importante, pero lo que en realidad
Adicionalmente se contó con un programa de talle- dominó las conversaciones en SXSW 2015 fue Meerkat, la app para hacer live streaming
res prácticos realizados a lo largo de una semana en que había sido lanzada apenas un par de semanas antes, y durante SXSW captó cerca de
los maker spaces de Hacedores y 330 ohms. 100 mil usuarios nuevos. Así que la noticia es que SXSW todavía puede funcionar como
Imagen cortesía de hacedores.com detonador de apps y startups.

SG.COM.MX 005
O RADAR

VISUAL STUDIO CODE 2


Y 2015

Durante la conferencia Microsoft Build se liberaron


o dieron a conocer una gran cantidad de proyectos,
como por ejemplo Vorlon.js para depurar código
Javascript de forma remota, o la posibilidad de portar

1 apps iOS y Android para Windows. Sin embargo, las


noticias que más interés generaron entre los desa-
rrolladores fueron las relacionadas con Visual Studio.
MACHINE LEARNING AL ALCANCE DE TODOS
La principal noticia en este sentido es Visual
Studio Code, el primer editor de código creado por
Microsoft que funciona en Mac y Linux (además
En los últimos meses hemos visto gran movimiento dinámico en la oferta de servicios de de Windows, obviamente). Incluye muchas de las
Machine Learning en la nube. IBM fue de los primeros en entrar en este espacio con el ser- capacidades de Visual Studio como IntelliSense,
vicio de Watson Analytics. Microsoft anunció en febrero la disponibilidad oficial de Azure navegación y depuración de código, pero está dise-
Machine Learning (previamente disponible como beta). Un par de meses después Amazon ñado para operarse principalmente por medio del
Web Services comunicó su servicio Amazon Machine Learning. A esta lista hay que agre- teclado (ya que en estas plataformas estamos más
gar otras ofertas de proveedores de nicho como Prediction IO, así como la posibilidad de acostumbrados a teclear comandos que dar clic en
crear tu propio servicio de predicción directamente sobre Apache Spark o sobre una capa iconos u opciones de menú). VS Code es gratuito y
intermedia como Databricks Cloud. ya está disponible para descarga.

Cada uno de estos servicios tiene sus pros y contras. Por ejemplo, el servicio de Amazon Por su parte, Visual Studio 2015 (la versión “tradi-
es bastante sencillo de usar pero es muy limitado en cuanto a sus capacidades. En cambio, cional”) también ya está disponible como Release
Watson Analytics y Azure Machine Learning son mucho más poderosos pero involucran Candidate. Entre sus nuevas capacidades podemos
una mayor curva de aprendizaje. Esperamos próximamente poder preparar un comparativo encontrar mejoras al emulador Android, herramien-
entre estos servicios y compartirlo en estas páginas. tas para Docker, y soporte para Apache Cordova.

ANGULAR 2.0 VS. 1.X 4

AngularJS es un framework Javascript para el desarrollo de apps web creado por Google
que ha cobrado gran popularidad. En octubre de 2014 el equipo de Angular anunció planes
para lanzar una versión 2.0 con grandes mejoras, pero que no sería retrocompatible con la
rama 1.x. Como era de esperarse, la mayoría de los desarrolladores pusieron el grito en el
cielo. Así que durante su conferencia, Angular (ng-conf) en marzo de este año, se dieron a
JAVA 7 LLEGA AL 3 conocer los planes actualizados...
FINAL DE LA LÍNEA
La rama 1.x se mantendrá, y estará hospedada en http://angularjs.org mientras que
Angular 2.0, actualmente en versión alfa, será hospedado en http://angular.io. El plan es
monitorear el tráfico a ambos sitios, así como la actividad en los repositorios de GitHub,
En esta ocasión no les hablamos de algo que viene, para conocer el nivel de interés en cada rama y determinar hasta cuándo seguir mante-
sino de algo que se va. En abril de 2015 Oracle cesó niendo la rama 1.x, así como investigar posibles estrategias de migración de 1.x a 2.
la disponibilidad pública de parches y actualizacio-
nes para Java 7 incitando a los usuarios a migrar a Angular 2.0 está principalmente enfocado al desarrollo de aplicaciones móviles, incorpora
Java 8 o comprar un plan comercial de soporte de un mecanismo mejorado de dependency injection que soporta child injectors, aprovecha
largo plazo para seguir recibiendo actualizaciones y las capacidades de los navegadores más modernos y el código es más esbelto y con mejor
parches para la máquina virtual de Java 7. Entonces, desempeño que el de la rama 1.x. Así que a futuro, es mejor opción que 1.x.
si tienes aplicaciones en producción que utilizan la
JVM de Oracle para Java 7, ve revisando cuál va a En resumen, si tienes aplicaciones hechas con Angular 1.x, puedes estar tranquilo por aho-
ser tu estrategia ya sea para migrarla, comprar so- ra, pero mantente al tanto de recomendaciones para posibles estrategias de migración a
porte comercial o utilizar otra máquina virtual que 2.0. Por otro lado, si apenas estás entrándole a Angular, vale la pena que mejor enfoques
mantenga soporte. tus esfuerzos a Angular 2.0.

006 SG.47
TENDENCIAS EN SOFTWARE C

El Futuro del Software


CAMBIANDO LA FORMA DE VENDER Y MERCADEAR

Por Luis Daniel Soto Maldonado

“IDC anticipa que para el año 2018 el 50% de las cargas


de trabajo de software operarán en la nube pública”.

El mercado de “Software empresarial” es enorme, se o uno especializado para administrar Wi-Fi sólo por unas horas,
estima en $317 billones de dólares anuales y tiene el ma- usarlo en la nube y luego apagarlo permanentemente. Es posi-
yor crecimiento porcentual en inversión en Tecnologías ble adquirir un servidor de análisis de datos por mes, ya que la
de Información [1]. La transformación del modelo “tradi- mayoría de proyectos tienen duraciones menores a tres meses
cional” al software como servicio (SaaS) ha cambiado los y no justifican la compra anual ni “mantenimiento” del mismo.
requerimientos, el modelo de negocio y la forma en que la Este marketplace cuenta ya con más de 2 mil productos, con la
casa de software empaquetado vende y se mercadea. ventaja para el cliente de que hay un único punto de contacto
y atención, y una cuenta de servicios consolidada. Se facilita la
No obstante, el cambio al SaaS ha sido mucho más lento evaluación de software como nunca antes.
que lo anticipado. La infraestructura como servicio abrió las Luis Daniel Soto (@luis-
puertas al software tradicional para operar en la nube, y en Para los vendedores también hay ventajas clave: vender alre- dans / @luisdanielsoto)
los meses más recientes dicha migración continúa acelerán- dedor del mundo, a grandes compradores y recibir el pago en trabaja en Amazon Web
dose. Aún así, la nube pública, incluyendo a Google, Amazon Estados Unidos mediante la plataforma de comercio electróni- Services, enfocado en el
y Microsoft tiene menos del 15% de la base instalada total de co global, hacerse visible a más de un millón de clientes existen- desarrollo global de ne-
servidores a nivel mundial. tes, eliminar los problemas de la distribución física del software. gocios para Big Data e
¿El fin del canal? Inteligencia de negocios.
IDC anticipa que para el año 2018 el 50% de las cargas de Algunas empresas de software han invertido 5-10 años en crear sotols@amazon.com
trabajo de software operarán en la nube pública [2]. ¿Cómo una muy amplia red de canales. La nueva realidad es distinta: El
es esto posible? internet llega a los usuarios de negocio y estos van a poder ac-
Mercados de software empresarial ceder el software empresarial de la misma forma que funciona
Enfoquémonos en el software tradicional. Hoy el adquirir cualquier “app store” y en muchas ocasiones con nulo o muy
software empresarial no es simple: poco soporte del departamento de sistemas. Los canales van a
El “licenciamiento” es complejo, requiere de contratos y tener que enfocarse 100 por ciento en servicios de valor agrega-
acuerdos legales con muchos proveedores. Agregar o re- do, el licenciamiento del producto gradualmente desaparecerá,
ducir servicios sólo puede suceder en ciertos periodos y de ya que el software será cada vez más un “producto básico”. La
forma limitada. Establecer una relación comercial y formas magia del software continuará, pero las reglas van a cambiar.
de pago con muchos vendedores es laborioso y difícil de ad-
ministrar. En algunas ocasiones el software especializado no Desde febrero de este año, estoy dedicado a la nueva misión
tiene distribuidores locales. de simplificar el acceso al software.

Amazon es uno de los jugadores tratando de resolver estos


problemas, con un nuevo modelo de menor fricción. Imagina —
que de la misma forma que se compran productos en el web Referencias
o contenidos digitales sea posible adquirir software empre- [1] “Gartner Says Worldwide IT Spending on Pace to Grow 2.4 Percent in
sarial, utilizarlo por hora y disponer de muchos de los pro- 2015”. http://swgu.ru/ps
veedores, en particular todos los de alta calidad que son eva- [2] “IDC: Worldwide Cloud Server 2014–2018 Forecast”. http://swgu.ru/pt
luados por analistas como Gartner o Forrester.
En el “AWS Marketplace” es posible rentar un software de CRM

SG.COM.MX 007
C TEJIENDO NUESTRA RED

KUALI- BEH como extensión


de las alfas de ESENCIA (ESSENCE)
PARA LOS QUE QUIEREN HACER EXPLÍCITAS SUS BUENAS PRÁCTICAS

Por Hanna Oktaba

En la columna anterior les platiqué sobre el concepto de la forma de trabajar y la vista operacional con el trabajo mismo.
las alfas de Esencia y su posible uso. Mientras se publicaba A raíz de esta observación, los colaboradores de Jacobson nos
la revista, me enteré de que en noviembre del año pasado el propusieron incorporar KUALI-BEH como extensión de los alfas
estándar ESSENCE de OMG superó la prueba como beta 2 de Way of Working y Work, lo que quedó documentado como
y, finalmente, fue publicado en su versión 1.0 [1] con KUALI- Apéndice B (normativo) del estándar.
BEH incluido. En la sección 6 del documento se pueden apre-
ciar los reconocimientos para la UNAM y todas las organi- En esta ocasión les quiero presentar cómo la vista estática
La Dra. Hanna Oktaba es zaciones y personas que nos han apoyado en esta aventura. de KUALI-BEH quedó expresada como sub-alfas de Way of
profesora de la UNAM y Working llamadas Autoría de Práctica (Practice Authoring)
su objetivo principal es La historia de cómo se gestaba KUALI-BEH y como se “casó” y Autoría de Método (Method Authoring).
generar conocimiento a con ESSENCE la pueden encontrar en mis columnas de los Autoría de práctica
través de la creación y años entre 2012 y 2014. En esta ocasión les explicaré cual es Es una guía definida de trabajo, con un objetivo específico,
promoción de estándares. el resultado final de la integración de KUALI-BEH a la Esencia. que asesora en la manera de producir un resultado a partir
@hannaoktaba de una entrada. La guía proporciona un conjunto sistemático
KUALI-BEH (buen camino) es una propuesta de conceptos y repetitivo de actividades enfocadas en el logro del objeti-
comunes para los proyectos de desarrollo de software, que vo de la práctica y del resultado. Se definen los criterios de
permiten expresar los métodos y prácticas de las organi- terminación, asociados al resultado, para determinar si fue
zaciones, así como su ejecución durante los proyectos. Se logrado el objetivo. Se requieren competencias particula-
compone de dos vistas (Ver figura 1): estática y operacional. res para realizar las actividades de la guía, opcionalmente
apoyadas por el uso de herramientas. Se pueden asociar las
La vista estática permite a los ingenieros de software expre- medidas seleccionadas para evaluar el desempeño y el logro
sar sus formas de trabajar como métodos compuestos por de los objetivos de la práctica. Las medidas se estiman y se
prácticas, los cuales se resguardan como infraestructura del recogen las mediciones durante la ejecución de la práctica.
conocimiento de la organización.
La Autoría de Práctica proporciona un marco para que los
La vista operacional se relaciona con la realización dinámica practicantes definan sus diferentes formas de trabajar. La do-
de proyectos. Proporciona a los equipos los mecanismos para cumentación de la especificación [1], en su anexo B dedicado
ejecutar los métodos adaptando sus prácticas al contexto es- a KUALI-BEH contiene una plantilla para definir prácticas.
pecífico del proyecto y a las necesidades de los involucrados.
La figura 2 muestra los estados por los que pasa la autoría
Entonces ¿cómo se integró KUALI-BEH a la Esencia? En la en- de práctica: Identificada, Expresada, Acordada, En Uso, En
trega anterior de esta columna en SG 46 expliqué qué son los Optimización y Consolidada.
alfas, el concepto básico de la propuesta de Ivar Jacobson y sus
colegas. En particular, el área del Esfuerzo/Proyecto tiene tres Su uso es recomendado para las organizaciones que no tienen
alfas: Equipo (Team), Forma de Trabajar (Way of Working) y documentadas las formas de trabajar. Sobre todo, se sugiere
Trabajo (Work). Al analizar estas alfas nos dimos cuenta de que que las pequeñas organizaciones intenten ponerse de acuerdo
la vista estática de KUALI-BEH tiene que ver con la definición de y expresar sus formas de trabajar tácitas, empezando por lo

008 SG.47
TEJIENDO NUESTRA RED C

“La Autoría de Práctica proporciona un marco


para que los practicantes definan sus diferentes
formas de trabajar”.

Figura 1. Vista estática y operacional de KUALI-BEH.

Figura 2. Los estados de Practice Authoring sub-alfa. Figura 3. Los estados de Method Authoring sub-alfa.

que les parezca más importante, para que em- prácticas y métodos hay dos puntos que consi- suficientes para lograrlo (completo) y no
piecen a acumular conocimiento explícito com- dero son novedosos: generar desperdicios en actividades o pro-
partido por la organización. Cuando tengan defi- ductos innecesarios (consistente).
nidas varias prácticas interrelacionadas pueden 1. Proponemos definición de prácticas y
componerlas en un método. métodos (antes llamados procesos) de Conclusión
manera de “abajo hacia arriba” (bottom Este es el primer acercamiento a lo que propo-
Autoría de método – up), a partir de las formas tácitas de ne KUALI-BEH como parte del nuevo estándar
Un método es una articulación de un conjunto trabajar, que cada organización tiene. Es de OMG Esencia. A los interesados les reco-
coherente, consistente y completo de las prác- decir, primero las prácticas individuales y miendo revisar el Apéndice B para tener mayor
ticas, con un propósito específico, con el fin de luego su composición en métodos. Que detalle. Con gusto recibo sus comentarios en
cumplir con las necesidades de los involucrados luego se pueden ir mejorando en función @hannaoktaba
en condiciones específicas. de los acuerdos y necesidades de la pro-
pia organización.
La sub-alfa de Autoría de Método pasa por —
los siguientes estados: Identificado, Integrado, 2. El método bien formado (léase proceso) Referencias
Bien Formado, En Uso, En Optimización y no es un conjunto de prácticas cualquie- [1] ESSENCE: Kernel and Language for Software Engineer-
Consolidado, que se ilustran en la figura 3. ra, las prácticas tienen que aportar algo ing Methods 1.0. http://www.omg.org/spec/Essence/1.0
En nuestra propuesta para la autoría de las al propósito del método (coherente), ser

SG.COM.MX 009
I EMPRENDIENDO

¿Sabemos qué Necesitan


los Emprendedores?

Por Andrés Bianciotto

Nota del editor: Este artículo fue originalmente escrito en enero 2015 y por lo tanto se enfoca en “el inicio de año”. Por cuestiones ajenas al autor el artículo se está
publicando en mayo, pero se mantiene igual de relevante.

Mientras estás leyendo esta nota, el precio TechCrunch (tcrn.ch/1FS7Y1O), o la adquisición sino que —aunque es mejor que la muerte—
del petróleo nos juega una mala pasada, anuncian de Aventones por BlaBlaCar. tampoco están en el sustrato correcto para la
otro recorte en Pemex y quizás el tercer recorte etapa de vida de la empresa, retrasando su cre-
federal. Te preguntas ¿en qué mes fue el “Mexican Por supuesto que estamos lejos de las va- cimiento por falta de opciones.
Moment”? y ¿por qué parece tan lejano? Aún se luaciones “billonarias” de los Uber, Alibaba y
escucha el eco de los grandes anuncios sobre Facebook del mundo, pero que eso no nos opa- Un candidato más que saludable para tomar
reformas y todavía nos agobia el vacío que que la perspectiva: tenemos un nivel más que una posición fuerte en ese segmento es el mar
dejan miles de líneas borradas en archivos de saludable de energía emprendedora que debe- de family offices que floreció en México a partir
Excel, como un pequeño hipo en la pantalla, mos encauzar y favorecer para establecer éxi- de la diáspora de empresarios medianos que
mientras se ajustan las previsiones de creci- tos, repetirlos, exportarlos e inspirar a nuevas salieron del país y establecieron una adminis-
miento en grandes despachos. generaciones a seguir este camino. tración profesional para sus activos. Una vez
dado ese paso, y más allá de alguna cuestión
Muchos ensayan esas frases trilladas que son Hoy la “capa” de incubadoras y aceleradoras sentimental sobre la empresa familiar, las inver-
mitad resignación, mitad refugio. Que así so- en México está bien poblada, aunque nunca siones se evalúan según su mérito propio y pro-
mos, que “puespaquésiyaves”, etc. Otros sim- sobran. Y cualquier proyecto que facture unos yectos atractivos pueden ser buen destino de
plemente se levantan y comienzan otro día de cuantos millones por año y tenga un camino capitales que en otra época irían directo a bie-
mucho trabajo, paga insuficiente y pocas pro- claro de crecimiento puede conseguir capital nes raíces (y algunos aún lo hacen por defecto).
babilidades de éxito. Como ayer, como mañana. mexicano o extranjero sin mucho peregrinar.
Ya tuvimos muchos “años de”, ya vivimos el
Los emprendedores mexicanos, por necedad o Hay un vacío entre esos dos pasos, que es el año del emprendimiento, el de las incubadoras,
virtud, llevan años librando batallas que harían desafío actual: una vez que se monta la startup el de los eventos, el de las apps. Ya conocemos
renunciar a Sísifo. Con un sistema financiero au- y se valida el producto durante unos 6 meses las estadísticas que indican que son las PyMEs
sente, capital “de riesgo” conservador hasta el de incubación, ¿quién pone 150 mil - 200 mil y emprendimientos quienes emplean al grueso
paroxismo, educación de otro siglo, burocracia dólares para financiar el primer año “serio” de de la población activa. Ya descubrimos que ig-
Kafkiana y ni empecemos a hablar de las políticas operación de la empresa, hasta que la factura- norándolos no desaparecen.
federales “pro-emprendimiento”, estos Quijotes ción logre cubrir los gastos?
me hacen parafrasear aquella declaración de Comencemos a mirar seriamente a la materia
Jurassic Park: “entrepreneurship finds a way”. Tenemos un grupo de emprendimientos que prima que alimenta y se desdobla en todo lo
pasan por más de una incubadora en sus ini- otro: el loco solitario que un día se pone de pie y
Como contrapartida, ese medio ácido no impide cios, en una suerte de respirador artificial mien- dice: “voy a mover esa piedra”. Es hora de que le
que cada tanto escuchemos de grandes opera- tras reúnen fuerzas para dar el salto a la reali- preguntemos qué necesita. Es tiempo de hacer-
ciones, como la venta de SinDelantal.mx a Just dad. No sólo están absorbiendo recursos que se le la vida fácil, porque pocas veces tanto futuro
Eat, por más de 20 millones de dólares según utilizarían mejor generando nuevas empresas, depende de tan módica locura.

Andrés Bianciotto (@andresb) fundó Next.LA, un servicio de hosting especializado en medios digitales y dirige Founder Institute en México, una incubadora de startups con presencia en
más de 100 ciudades del mundo. andres@next.la

010 SG.47
T INFRAESTRUCTURA

Figura 1.
Arquitectura
de OpenStack

Todo como Servicio


con OpenStack

Por Miguel Ángel Barajas

Sin duda el cómputo en la nube está cambian- grandes conceptos: cómputo, almacenamiento información en una base de datos compartida.
do la forma en la que consumimos recursos de y red, que a su vez son soportados por varios La comunicación entre programas se realiza tí-
cómputo. Nos estamos acostumbrando a consu- servicios compartidos. picamente por medio de APIs y es “stateless”.
mir todo “como servicio”.
Al momento de editar este artículo, está por libe- La comunicación directa con el hardware o soft-
Una de las formas más básicas de consumir rarse la versión Kilo de OpenStack (abril 2015), ware a controlar se hace mediante agentes y/o
recursos como servicio es el denominado que incluye los siguientes proyectos: plug-ins específicos del fabricante.
Infrastructure as a Service (IaaS) donde bási- • Gestión de recursos de cómputo (Nova).
camente rentamos una máquina virtual conec- • Almacenamiento de objetos (Swift). Distribuciones de OpenStack
tada a la red y pagamos por el uso de proce- • Almacenamiento de bloques (Cinder). OpenStack sufre del mismo “problema” que
samiento, almacenamiento y transferencia de • Manejo de imágenes (Glance). GNU/Linux en cuanto a que la configura-
datos. Empresas como Amazon, Microsoft, • Aprovisionamiento de base de datos como ción, empaquetado e instalación manual es
HP e IBM ofrecen este servicio. Sin embargo, servicio (Trove). un compleja. Por ello, al igual que GNU/Linux
también existen productos y proyectos para • Manejo de redes y direcciones IP (Neutron). Openstack se distribuye de una manera em-
que las empresas puedan crear su propia nube. • Gestión de identidad y SSO (Keystone). paquetada. Es así que los “sospechosos co-
Dentro de estos proyectos, el que más destaca • Panel de control (Horizon). munes” son los que han creado distribuciones
es OpenStack, una plataforma para construir • Orquestación de servicios (Heat). los cuales dan soporte y mantenimiento así
nubes altamente escalables. • Telemetría para monitorear el uso de servi- como compatibilidad con sus propias distribu-
cios (Ceilometer). ciones de GNU/Linux, una lista no extensiva
Openstack (http://openstack.org) es un sistema • Aprovisionamiento de clusters Map- de estas distribuciones de OpenStack son:
operativo de cómputo en la nube que controla Reduce para Hadoop y Spark (Sahara). RDO de RedHat, SUSE Cloud de SUSE, Ubuntu
grupos de recursos de cómputo, almacenamien- • Aprovisionamiento en “bare metal” (Ironic). OpenStack, Mirantis.
to y redes. Se administra por medio de un panel • Mensajería entre aplicaciones (Zaqar).
de control (dashboard) y permite que los mismos • Sistema de archivos compartido (Manila). También está Devstack, que es un “shellscript”
usuarios puedan aprovisionar recursos a través • DNS como servicio (Designate). que nos permite hacer un despliegue automatiza-
de una interfaz web. OpenStack es software libre • Gestión de llaves secretas (Barbican). do de OpenStack en una sola máquina virtual para
(licencia Apache 2.0) y se construye de forma propósitos de pruebas. Es una excelente forma de
abierta y colaborativa. Es muy rico en caracterís- Arquitectura jugar un poco con la plataforma y entender un
ticas y altamente configurable, por lo que permite La figura 1 muestra un diagrama con un ejemplo poco más como funciona OpenStack.
crear soluciones para todo tipo de nubes. Puede de arquitectura común de OpenStack, donde se
controlar múltiples hipervisores y manejadores de muestran los principales servicios y cómo inte- Conclusión
virtualización, además de ser compatible con una ractúan entre sí. OpenStack es una excelente opción para aque-
gran variedad de hardware y software, lo cual nos llas empresas que desean establecer su propia
ayuda a mitigar casos de “vendor lock-in”. Aunque a primer vista se ve complicada, en infraestructura de cómputo como servicio. Al ser
realidad no lo es tanto si nos abstraemos al ni- una plataforma abierta, ayuda a las empresas a
Proyectos de OpenStack vel de los distintos servicios (compute, stora- evitar el evitar el vendor lock-in, reducir costos y
OpenStack está organizado en torno a 3 ge, network, etc). Los programas mantienen su tener mayor control sobre su futuro tecnológico.

Miguel Ángel Barajas (@gnuowned) es un Arquitecto Senior de Soluciones especializado en cómputo en la nube. Actualmente colabora con Cisco Systems atendiendo clientes en la
región de Latinoamérica.

012 SG.47
CONTENIDO PATROCINADO

WebRatio Platform
DESTÁCATE EN LA ERA DE LOS NEGOCIOS DIGITALES

WebRatio es una plataforma para desarrollar aplicaciones móviles y


web innovadoras sin escribir ni una sola línea de código.

Singularidad y velocidad
La revolución digital que vivimos permite a las empresas ofrecer productos
y servicios únicos, revolucionando el mercado y respondiendo a las necesi-
dades de los clientes de forma fácil y rápida. Para satisfacer las exigencias
de los mercados dinámicos que demandan velocidad y agilidad, las organi-
zaciones de TI deben ver más allá de los métodos de desarrollo tradicional.

WebRatio ha creado la herramienta de desarrollo ágil: WebRatio Platform,


la cual ayuda a los CIOs y desarrolladores a entregar siempre a tiempo sus
proyectos. Es una plataforma integrada en Eclipse que permite desarrollar
aplicaciones móviles y web de forma visual ahorrando hasta el 80% de los Figura 1. WebRatio trabaja en base a estándares y evitas lock-in.
tiempos y los costos en comparación con métodos tradicionales.

Para las aplicaciones móviles se utiliza la arquitectura abierta de Apache


Cordova (PhoneGap), junto con Ionic, AngularJS y SQLite para poder de-
finir la aplicación solo una vez y luego liberarla ya sea para Android o iOS.
La figura 1 muestra este proceso a grandes rasgos.

Aplicaciones para todas las necesidades


WebRatio permite no solo crear sistemas para responder a necesidades exis-
tentes, sino también construir soluciones innovadoras que ofrezcan nuevas po-
¿Cómo funciona WebRatio? sibilidades. Un ejemplo es el proyecto evenTometers (www.eventometers.com)
WebRatio es una plataforma visual. El desarrollador diseña el modelo con- realizado en conjunto con Fluxedo y Eurotech; es una solución tipo IoT (Internet
ceptual de la aplicación sea para la definición del front-end, back-end y of Things) para poner a disposición de las empresas sistemas inteligentes que
la integración con otros sistemas. Una vez definido el modelo, WebRatio puedan facilitar la recolección, análisis y difusión de datos durante eventos.
Platform genera automáticamente todo el código necesario para el funcio-
namiento de la aplicación. Los usuarios de WebRatio pueden personalizar WebRatio está disponible en tres ediciones:
en cualquier momento las reglas de generación y los componentes de sus • Community edition (gratuita) para crear aplicaciones sencillas de uso
proyectos utilizando lenguajes a ellos familiares. personal.
• Professional edition para freelancers y pequeños negocios.
WebRatio Platform es simple: cada experto tiene una vista dedicada para • Enterprise edition para empresas grandes y aplicaciones.
sus actividades y la plataforma se ocupa de la integración de las distintas
partes del proyecto. Más información en www.webratio.com

Ágil y segura, basada en estándares WebRatio: la empresa


WebRatio Platform se basa únicamente en estándares sin utilizar lengua- WebRatio es una empresa Italiana que opera en Norteamérica, América Latina
jes que aten a los desarrolladores y las empresas al uso de la plataforma y Europa. Desde el 2001 WebRatio ofrece sus plataformas de desarrollo para
(no vendor lock-in). El desarrollador podrá tener acceso al código genera- la creación de aplicaciones empresariales móviles y web. En 2013, Gartner
do con total libertad de manipularlo. nombró a WebRatio como «Cool Vendor». WebRatio es creador original del
Interaction Flow Modeling Language (IFML), actualmente estándar de la OMG.
Junto a los estándares UML y BPMN, WebRatio Platform soporta IFML
(Lenguaje de Modelado de los Flujos de Interacción), una nueva notación WebRatio cuenta con una red internacional de partners. En México, las
para la definición de la UX de la aplicación y que además es un estándar de empresas que ya están ofreciendo productos y servicios WebRatio son:
industria gestionado por el Object Management Group (OMG). Genoco, Innovatedu, 4 Tools Power Systems e IDT Mexicana de Servicios.

El código generado por las aplicaciones web es 100% Java. El front-end de Contáctanos
las aplicaciones se vuelve responsivo y dinámico gracias al uso de HTML5, Estados Unidos: +1 612 638 2762
CSS3 y Javascript. Para el back-end se utiliza Java, Spring y Hibernate, Latinoamérica (Ecuador): +593 7 4103 792
también se integra con todas las bases de datos, sistemas gerenciales y
otros que ya existan en la empresa. Estaremos presentes en SG CONFERENCE & EXPO 2015, ¡ven a conocernos!

SG.COM.MX 013
T TUTORIAL

Desarrollo Cross-Platform con Xamarin.Forms



Por Alder López

Xamarin es una plataforma para desarrollar podemos reutilizar el código en un 75-85% según Lo que muestra la figura 1 es que tenemos un
aplicaciones para plataformas iOS, Android, fuentes oficiales. Esto no quiere decir que no ten- proyecto o librería compartida que contiene
Windows Phone, Windows Store y Mac usando gamos que saber detalles de cada plataforma, de los componentes de las capas de negocio, ser-
el lenguaje de programación C#. Cabe aclarar hecho lo mejor es conocer al menos conceptos vicios y datos. Por otro lado, tenemos distin-
que en este artículo sólo trataremos el desarrollo básicos del manejo de recursos, configuraciones, tas aplicaciones para cada tipo de cliente, que
de Android e iOS por ser las plataformas de ter- etcétera, ya que al final el proceso es como si es- utilizan las librerías y componentes nativos de
ceros. Para Windows Phone o Windows Store, si tuviéramos desarrollando una aplicación nativa la User Interface de cada plataforma. Las apli-
somos desarrolladores de .NET no se nos com- respectivamente, pues se genera una .APK para caciones cliente acceden al código compartido
plica en lo absoluto, es muy parecido a lo que ya Android y un .IPA para iOS; y se le debe dar el para interactuar con las capas de negocio, ser-
sabemos desarrollar, sólo que con diferentes es- tratamiento normal a cada una para probar en vicios y datos.
tándares de desarrollo de la UI (User Interface). dispositivos o emuladores para posteriormen-
Es importante mencionar que Xamarin dispone te publicar. Otro punto importante es que para Para desarrollar las aplicaciones nativas
de una versión para estudiantes, con la que se Android por ejemplo, si tenemos algunos com- para cada plataforma, Xamarin ofrece dos
puede compilar y probar las aplicaciones utili- ponentes en java podemos utilizarlo por medio estrategias:
zando Xamarin Studio. Adicionalmente se anun- de lo que llamamos Java Integration, para hacer • La primera es crear aplicaciones específicas
ció hace algunos meses la firma de colaboración un Java Bindings Library (una clase wrapper del para cada plataforma por ejemplo utilizando
entre Xamarin y Microsoft, que además de tener tipo en java) para hacer referencia desde C# hacia Xamarin.iOS y Xamarin.Android, dependien-
un equipo de trabajo dedicado a optimizar y ex- los archivos .jar; así como también un Java Native do del caso. Esto permite aprovechar los ele-
plotar mejor los recursos de las diferentes pla- Interface (JNI) que permite realizar llamadas a mentos de UI específicos de cada plataforma y
taformas, se tendrá disponible desde la versión código java corriendo en la JVM (Java Virtual construir así interfaces de usuario avanzadas y
Visual Studio Community 2015 la Free Xamarin Machine) desde aplicaciones no escritas en java, personalizadas para cada una.
Starter Edition for Visual Studio Users, es decir, por lo cual Xamarin.Android utiliza JNI para crear • La segunda estrategia es Xamarin.Forms.
podremos compilar, ejecutar y probar las apli- sus bindings en el codigo C#. Una serie de componentes que permite de-
caciones para Android e iOS, por lo que si ha- finir interfaces de usuario para distintas pla-
bía duda de qué tan fuerte está Xamarin en el Por ejemplo para Android, al construir el pro- taformas desde una misma base de código.
mercado, con los recientes anuncios por parte yecto nos generará el archivo .APK, el cual po- Xamarin.Forms está orientado a construir
de ambas compañías vemos una seria consoli- dremos ejecutar en un emulador, en un disposi- aplicaciones con interfaces de usuario senci-
dación en el mundo de desarrollo de aplicacio- tivo o incluso en la tienda de google realizando llas, donde es más importante la capacidad de
nes multiplataforma y se despeja la interrogante. el proceso tradicional. compartir código que el brindar interfaces de
usuario avanzadas y personalizadas para cada
Xamarin nos da la posibilidad de tener una base La figura 2 ilustra la arquitectura típica de una plataforma, sin embargo, existe la posibilidad
de código compartido que contiene entidades de aplicación Xamarin. de hacer la personalización de los compo-
negocio, lógica de negocio, acceso a servicios, et- nentes a cada plataforma heredando nuestro
cétera, y simplemente tener código distinto para componente básico de Xamarin.Forms a uno
los detalles de interfaz de usuario para la capa de que se implementara en el proyecto de iOS y
cliente en cada plataforma. Básicamente es como Android , y ahi podemos usar instrucciones tí-
desarrollar al mismo tiempo para todas las plata- picas (equivalentes en .NET) de Objective-C y
formas, por lo que minimizamos tiempos de de- Java respectivamente.
sarrollo. Por ejemplo, tradicionalmente tenemos
que desarrollar la aplicación en Java para Android Primera aplicación Xamarin.Forms
y en Objective-C para iOS la misma funcionali- A continuación mostraremos cómo se construye
dad, lo cual es tedioso y repetitivo, con Xamarin Figura 1. Arquitectura de aplicación Xamarin. una aplicación con Xamarin.Forms. Por ahora solo

Alder López es ingeniero de software e investigador en la empresa Advanced Technology Research. Se especializa en el desarrollo de aplicaciones móviles.
https://mx.linkedin.com/in/alder1sismty

014 SG.47
TUTORIAL T

crearemos para iOS y Android como se mencionó plataforma utilizando la directriz #ifdef. Por
antes. Haremos esto en Visual Studio. ejemplo, un bloque con #ifdef __ANDROID__
1. Visual Studio –> Nuevo Proyecto. solo se ejecutará en plataforma Android.
2. Seleccionamos aplicación en blanco de
tipo Xamarin.Forms.Portable.
3. En el nombre de la solución, escribi-
mos “SG”.

Enseguida tenemos 3 proyectos:


El primero es SG, un proyecto portable en el que
vamos a escribir el código común. En los pro- Listado 1. App.cs
yectos SG.Android y SG.iOS vamos a escribir lo
requerido por cada plaforma. La figura 2 mues- Listado 4. Forma de login.
tra la estructura generada.

Listado 2. MainActivity.css

Figura 3. Ejemplo de pantallas de login.

Una segunda forma de lograrlo sería utilizar


la clase Device y TargetPlatform, como se
muestra en el listado 5.

Figura 2. Estructura del proyecto. Listado 3. AppDelegate.cs

En el proyecto SG tendremos el programa App. Si quisiéramos hacer una forma de captura, por
cs cuyo código base se muestra en el listado 1. ejemplo un login con usuario/contraseña, inclui-
ríamos un código similar al del listado 4 en nues-
El listado 2 muestra el el código del tro proyecto portable, sin necesidad de tener que
MainActivity.cs en el proyecto de Android, y mover un dedo sobre el código de iOS y Android. Listado 5. Consultar plataforma.
el listado 3 muestra AppDelegate.cs para el La figura 3 muestra cómo se despliega esta for-
proyecto iOS. Notemos que en los proyectos ma tanto en iOS como en Android. Nótese que Una tercera forma es utilizar inyección de de-
SG.Droid y SG.iOS se tiene la instrucción: en cada caso se aplica automáticamente el estilo pendencias. La forma de lograr esto es que en
default de la plataforma correspondiente. el proyecto portable definimos las interfaces
Xamarin.Forms.Forms.Init(this, bundle); de nuestras clases, y éstas se implementarán
Inyección de dependencia en cada plataforma (iOS y Android para nues-
Este código inicializa los componentes necesa- Incluso en el proyecto Portable podemos espe- tro caso), utilizando DependencyService de
rios para que todo esto funcione. cificar un comportamiento diferente para cada Xamarin para instanciar las implementaciones

SG.COM.MX 015
T TUTORIAL

o si se requiere algo mucho más robusto po- public class CustomEntry: Entry { }
demos utilizar Unity , TinyIOC, Autofac entre
otras que se pueden obtener desde Nuget. Posteriormente, implementamos
la personalización de dicho control
Las principales clases candidatas a ser imple- Listado 7. Implementación para Android en Android e iOS. El listado 9 tiene
mentadas por medio de inyección de dependen- la personalización para Android, y
cias son las que utilizarán recursos propiamente el 10 para iOS.
de la plataforma como: acceder a la ruta de la
aplicación en el dispositivo móvil para almacenar Analizando el código, podemos
un archivo, acceso a los recursos de redes, pre- darnos cuenta que existen di-
ferencias, creación y acceso a una base de datos ferencias irreconciliables entre
de SQLite, preferencias de la aplicación en el dis- plataformas por la forma en que
positivo, personalizar un control como un botón, procesan sus datos y la arquitec-
un grid, procesamiento de una imagen, etcétera. tura, por lo que es necesario que
en funcionalidades como estas
DependencyService es el medio por el cual po- desarrollemos el código específi-
demos resolver las interfaces cuya implementa- co para la plataforma.
ción se encuentra en cada plataforma. Al utilizar:
Estilos
[assembly:Dependency(typeof( Clase))] Podemos definir estilos que de-
terminen los aspectos visuales de
estamos indicando a .Net que esa clase podrá re- nuestra interfaz de usuario tales
solverse mediante DependencyService tomando como colores, tipografías, tama-
la implementación en la plataforma en ejecución. ños, etcétera; de tal manera que
no estemos redefiniendo dichos
A continuación mostraré un ejemplo para reali- estilos en cada pantalla. Para lo
zar la funcionalidad de localización de recursos cual creamos una clase donde
para soportar multilenguaje. Listado 8. Implementación para iOS definimos los estilos y de ahí los
vamos colocando según se requiera.
Primero, en el proyecto portable declaramos un Teniendo estas implementaciones, basta con po-
interfaz llamado ILocalizeService. El listado 6 ner desde nuestro código portable algo como: El listado 11 muestra el código de un programa
muestra el código. AppStyles.cs que define un estilo para objetos
var language = DependencyService.Get<ILocale>(). Label. Este código es independiente de la pla-
GetCurrent(); taforma así que sólo se fija una vez en nuestro
proyecto portable.
Personalización de controles
Otro tema muy importante en Xamarin.Form Entonces cuando creamos un objeto Label, pode-
es que es posible personalizar los controles mos establecer su estilo de la siguiente forma:
UI específicos para cada plataforma utilizando
Custom Renderers. Esto se realiza mediante la var nameLabel = new Label () {
Listado 6. Definición de interfaz. directriz ExportRenderer. A continuación vere- Text = “Name”,
mos un ejemplo donde personalizamos un con- Style = AppStyles.LabelStyle
Lo siguiente es codificar la implementación trol para cada plataforma. };
puntual de esta funcionalidad en cada plata-
forma. El listado 7 contiene la implementación En nuestro proyecto portable definimos un
para Android, y el listado 8 para iOS. CustomEntry de la siguiente forma:

016 SG.47
Listado 9. CustomEntryRenderer en Android.

Listado 10. CustomEntryRenderer en iOS.

Listado 11. Definición de estilos.

Conclusión
En este artículo hemos visto cómo por medio de Xamarin.Forms podemos construir aplicacio-
nes móviles que reutilicen elementos de código común para generar aplicaciones nativas para
cada plataforma, y también hemos visto algunas formas en que podemos ajustar el comporta-
miento y estilo de cada plataforma.

El código generado durante este tutorial está disponible como un repositorio en:
https://github.com/pacificIT/SG.Xamarin
COMERCIO
DIGITAL
HACE MÁS DE 15 AÑOS QUE SE REALIZA COMERCIO POR MEDIO DE INTERNET, ASÍ
QUE DISTA DE SER UNA NOVEDAD. SIN EMBARGO, DESPUÉS DE MÁS DE DÉCADA Y
MEDIA DE EVOLUCIÓN, HAY ALGO EN EL ÁMBITO DEL COMERCIO DIGITAL QUE LE
ESTÁ DANDO UN NUEVO AUGE. MÁS AÚN, POR PRIMERA VEZ EN LATINOAMÉRICA
LO ESTAMOS ATESTIGUANDO COMO ALGO VIABLE Y DISPONIBLE LOCALMENTE.

LA MAYOR PENETRACIÓN DE CONECTIVIDAD DE BANDA ANCHA, LA


DISPONIBILIDAD DE MECANISMOS DE PAGO DIGITAL —INCLUSO NUEVOS TIPOS
DE MONEDA DIGITALMENTE NATIVAS— Y LA LLEGADA DE LOS MILLENIALS A LA
FUERZA LABORAL (Y POR LO TANTO CON CAPACIDAD DE ADQUISICIÓN) SON
ALGUNOS DE LOS FACTORES QUE ESTÁN IMPULSANDO ESTA NUEVA OLA DE
COMERCIO DIGITAL. A TRAVÉS DE LAS SIGUIENTES PÁGINAS ANALIZAMOS ESTOS
FACTORES CON MIRAS A PODER EXPLOTAR AL MÁXIMO SUS POSIBILIDADES.

COMENCEMOS (Y COMERCIEMOS)...

018 SG.47
SG.COM.MX 019
EL SUPERMERCADO
DIGITAL
Por Pedro Galván

Parte 1. El Lechero Digital


Probablemente si hoy le explicaras a tus hijos
que en tu infancia había un señor que andaba
de casa en casa vendiendo leche, les costaría
trabajo imaginarlo. El mundo actual parece
estar muy lejos de ese modelo de venta. Sin
embargo, en todo el mundo se está viendo un
resurgimiento del modelo de entrega a domici-
lio, pero con la novedad de que está habilitado
por tecnología. Los consumidores no sólo están
pidiendo por teléfono; cada vez más lo están
haciendo desde web o desde apps móviles. En
un estudio realizado recientemente por The
Nielsen Company, una cuarta parte de los parti-
cipantes indicaron ya estar comprando despen-
sa vía internet para entrega a domicilio, y 55%
indicó estar interesados en hacerlo próxima-
mente. En resumen, el lechero ha vuelto pero
ahora es digital.

Cada vez más, los comercios están introduciendo tienen capacidad de compra. Estos consumido-
modelos de e-commerce que facilitan a los consu- res tienen un gran entusiasmo por la tecnología
midores a comprar en línea los productos que les y para ellos comprar vía internet es natural. Por
interesan. Por ejemplo, en 2011, Tesco (Homeplus) ejemplo, 30% de los millenials (edades de 21
introdujo el primer supermercado virtual en una a 34 años) y 28% de la generación Z (15 a 20
estación del metro de Seúl en Corea del Sur (ver años) ya hacen algunas compras de despensa
figura 1). El supermercado consistía en letreros por internet. La figura 1 muestra mayor detalle.
(pósters) en la pared con imágenes de productos
que el usuario seleccionaba con una app y al hacer ¿Qué está pasando localmente?
“check-out” se enviaban ese mismo día a su casa. En México, aunque son todavía pocas las empre-
De esta manera, los usuarios aprovechaban su Figura 1. Supermercado virtual en Seúl. sas que venden artículos de despensa en línea
tiempo mientras esperaban a que llegara el metro. con entrega a domicilio, sí las hay y se espera que
la oferta aumente considerablemente durante
Los compradores están puestos ya están activas en línea, y por lo tanto no es re- los próximos años. Por un lado están las grandes
The Nielsen Company recientemente realizó una presentativo de la población en general. Aun así, tiendas de supermercados como Superama que
encuesta en la que participaron más de 30 mil el estudio sin duda nos permite ver hacia donde lo ofrecen desde hace varios años, pero también
personas en 60 países para entender el impacto van las cosas. han surgido startups para productos de espe-
que la tecnología digital tendrá en el escenario cialidad, o difíciles de conseguir. Un ejemplo es
de grocery shopping (“comprar la despensa”) del 13% de los participantes indicaron realizar compras My Coffee Box, un servicio de suscripción online
futuro. El reporte “The Future of Grocery” [1] ge- en alguna tienda virtual con entrega a domicilio, que te envía cada mes a domicilio una dotación
nerado a partir de los resultados de la encuesta, y un 12% indicó que realizan órdenes por internet de café gourmet sembrado por pequeños pro-
muestra cómo los consumidores utilizan la tec- y pasan a recoger su pedido. Más del 50% están ductores nacionales. Otro caso es el de Good
nología para comprar y ofrece ideas de cómo los interesados en utilizar estas opciones en el futuro. Express, una tienda en línea de comida saludable
comercios pueden aprovechar esta oportunidad (por si no sabes en dónde conseguir esos ma-
para mejorar la experiencia de sus clientes. Dado El crecimiento de las ventas en línea se debe en zapanes de alga spirulina). Mi Alacena es otro
que la encuesta se realizó por medio de internet, gran parte a que los jóvenes que crecieron con la nuevo startup, que busca permitirte comprar
sólo refleja el comportamiento de personas que tecnología digital están alcanzando la madurez y productos y alimentos que no hay en tu ciudad y

020 SG.47
EN PORTADA P

Figura 2. Hábitos de compra en internet por generación.

Figura 3. Uso e intención de digitalizar experiencia en tienda.

recibirlos en tu domicilio (conforme escribo esto Imagina un supermercado en el que al momen- de compra, y Wi-Fi. Actualmente, sólo un pe-
se me antojan unos tamales de elote de la Chata to de entrar recibes recomendaciones y ofertas queño porcentaje de consumidores en el mun-
de Culiacán). Si conoces otros casos que quieras personalizadas, donde de antemano puedas do está utilizando tales capacidades, pero hay
compartir de empresas locales que están ha- saber en qué pasillo y estante está el producto un alto interés por hacerlo. Por ejemplo, un 18%
ciendo e-commerce en nuestra región, por favor que buscas, donde puedas saber cuándo y en reporta utilizar cupones digitales actualmente
coméntalos en la versión online de este artículo donde se cosechó una fruta, donde no tengas pero un 65% planea hacerlo próximamente. El
en http://swgu.ru/q3 que hacer cola y ni siquiera tengas que sacar caso de las listas de compra en el móvil es simi-
tu cartera para pagar. Suena futurista, pero si lar, con un 15% de uso actual y un 64% de in-
lo piensas, la tecnología para hacerlo ya existe. tención futura. 14% indicó utilizar una app de la
Parte 2. Mejorando la Experiencia Posiblemente sea un caso de “el futuro ya está tienda o de su programa de lealtad para recibir
en Tiendas Físicas aquí, pero no está distribuido uniformemente”. información y ofertas, y un 63% planea usarlas
La primera parte de este artículo se enfoca en la cuando estén disponibles para la tienda de su
compra de productos con entrega a domicilio. Pero la compra vía internet es solamente un as- preferencia. 12% reporta utilizar el Wi-Fi de la
Es decir, en cómo la tecnología puede ayudar al pecto de la transformación digital del autoservi- tienda para recibir ofertas, y un 11% escanea
consumidor a evitar las tiendas físicas. cio. Una estrategia digital completa para retail códigos QR para acceder a mayor información.
incluye interacción en todos los puntos de la
Pero las tiendas físicas (brick and mortar) segui- experiencia de compra, desde localizar tiendas, La figura 3 refleja los porcentajes de uso e in-
rán predominando, al menos en un futuro cer- hacer listas, checar precios, investigar productos, terés en las distintas regiones del mundo, para
cano. Además del beneficio obvio que ofrecen pagar, y compartir tu experiencia de compra o uso distintas posibilidades que complementen la
de poder obtener un producto inmediatamente de un producto con otros (ej. en redes sociales). experiencia digital en una tienda física. Como
y sin costos de envío, hay experiencias senso- podemos ver, la región de Asia Pacífico es don-
riales que son prácticamente imposibles de Todos estos puntos de interacción se dan den- de estas capacidades están más instaladas y
replicar en línea, como por ejemplo el olor de tro y fuera de las tiendas, y los consumidores los consumidores tienen mayor disposición a
pan recién horneado. De hecho, 61% de los par- crecientemente utilizan tecnología para simpli- utilizarlas. En Latinoamérica, aunque el uso ac-
ticipantes en el estudio de Nielsen previamente ficar y mejorar el proceso. tual es bajo, hay bastante entusiasmo por ha-
mencionado, consideraron que ir al supermer- cerlo en el futuro.
cado es una experiencia grata. Insertar estrategias digitales a la experiencia
de compra en tiendas físicas todavía es algo Todas las estadísticas y gráficas presentadas
Así que las tiendas de autoservicio deben bus- novedoso y experimental. Las tiendas de auto- en este artículo se obtuvieron del estudio “The
car cómo aprovechar la tecnología para asegu- servicio tienen mucho camino que recorrer para Future of Grocery”, publicado por The Nielsen
rarse de que la experiencia del consumidor sea cubrir aspectos básicos de habilitación digital Company en abril de 2015. Para obtener una
grata, eficiente y asegure su retención. tales como cupones móviles, apps para listas copia del reporte, visita http://swgu.ru/py

Pedro Galván es cofundador y director editorial de SG Software Guru.

SG.COM.MX 021
GATEWAYS DE
PAGO EN LATAM
Por Pedro Galván

Si estás desarrollando un sitio web o app


desde el cual quieres que tus usuarios puedan
pagar por un producto o servicio, seguramente
requerirás utilizar un gateway de pago. Este tipo
de servicios se encargan de operar el cargo a
tarjetas de crédito y otros medios (ej. gestionar
pagos por medio de tiendas de autoservicio).
Sin embargo, ante la variedad de gateways de
pago que han surgido en los últimos años en
nuestra región, la pregunta es: ¿cuál elegir?
A continuación comparto un listado con un bre-
ve análisis de los gateways disponibles en nues-
tra región que considero más relevantes.

PayPal. Es el más conocido y utilizado a nivel


mundial. Y México no es la excepción, a pesar
de que las comisiones que cobra son relativa- Compropago. Solamente soporta pago por me- decir que Mercado Libre es un titán del comer-
mente altas (4% + $4 pesos por cargos a tarje- dio de tiendas de autoservicio. Sin embargo, la cio electrónico). Mercado Pago tiene presencia
tas de crédito) además de que ofrece las meno- comisión que cobra es la menor para este tipo en varios países de nuestra región. Las comisio-
res posibilidades de personalización ya que en de pago (2.9% + $3) y soporta una amplia red nes son un poco mayores que las del segmento
nuestra región sólo soporta el nivel de servicio de tiendas que no solo incluye a los sospechosos bajo, cobrando 3.79% + $4.00 en el caso de
PayPal Payments Standard. http://paypal.com comunes como Oxxo, 7 Eleven y Extra, sino tam- México. https://www.mercadopago.com
bién a tiendas Soriana, Chedraui, Elektra, Coppel,
Conekta. El retador local. Soporta una gran canti- entre otras. https://www.compropago.com Stripe. Es un gateway importante a nivel in-
dad de medios de pago como tarjetas de crédito ternacional, sin embargo para Latinoamérica
y débito Visa y Mastercard nacionales e inter- Astropay. Gateway originario del Reino Unido y por el momento sólo tiene un beta privado en
nacionales, American Express, pago en tiendas enfocado en atender países en desarrollo. En el México que únicamente acepta pagos en pesos
Oxxo, y transferencia bancaria por SPEI. Las co- caso de Latinoamérica, soporta transacciones mexicanos. https://stripe.com
misiones que cobra están en el nivel bajo (para en Argentina, Brasil, Chile, Colombia, México,
Latinoamérica): no hay costo de instalación, y Perú y Uruguay. Uno de sus distintivos es que Opté por no mencionar a los servicios que pro-
se cobra una comisión de 2.9% + $2.5 pesos por su solución tecnológica se basa en el protoco- veen un lector de tarjeta tales como iZettle, Clip,
cada operación con tarjeta Visa o Mastercard; lo Ripple, el cual está diseñado especialmente o Pago Facil, porque a pesar de que algunos ofre-
3.5% + $2.5 en Oxxo y 4.5% + $2.5 con American para la interacción entre instituciones financie- cen APIs que se pueden usar como gateway, en
Express. Expone un API REST, y ofrece scripts ras. Además del servicio de gateway, Astropay realidad están más enfocados a usarse como so-
de integración client-side en javascript, iOS y tiene un servicio de tarjeta (Astropay card) que lución integrada para agregar a tu aplicación. Sí
Android. Del lado del servidor ofrece librerías para es como una cuenta donde acarreas saldo y con es posible hacerlo, pero no es en lo que destacan.
Ruby, Python, PHP, y Java. https://www.conekta.io la cual puedes pagar en sitios web que soporten
Astropay. https://merchant.astropay.com Conclusión
OpenPay. Otro retador local. Las característi- La gran cantidad de proveedores que han sur-
cas, comisiones y hasta librerías son muy simi- PayU. Es lo que antes se conocía como gido en este espacio en los últimos años es
lares a las de Conekta. Podríamos decir que son DineroMail, y es una de las empresas pioneras prueba del interés que hay por resolver el reto
como gemelos pero nacidos de distintas ma- en soportar pagos en tiendas de autoservicio en de los pagos digitales en nuestra región. Nos
dres. Una de las diferencias es que en el caso nuestra región. Las comisiones que cobra están sorprendió gratamente ver a competidores lo-
de tiendas de autoservicio, OpenPay no utiliza en el mismo rango que Conekta y OpenPay. Entre cales que están haciendo un excelente trabajo.
Oxxo sino otras tiendas como 7 Eleven, Extra, sus fortalezas está la amplia presencia que tiene Esperamos que esto comience a rendir frutos
Farmacias Benavides, entre otras. Aunque no a nivel Latinoamérica, soportando transacciones pronto, mejorando el comercio digital en nues-
tuvimos oportunidad de probar sus librerías en Argentina, Brasil, Colombia, Chile, México, tra región e impactando positivamente las eco-
de integración, en papel parece ser el ganador Panamá y Perú; con una amplia red de tiendas de nomías de nuestros países.
de esa categoría por la amplia variedad de len- autoservicio en cada país. http://www.payu.com
guajes que soporta, además de que su docu- Agradezco a Eugenio Perea y Fernando Ramos
mentación técnica está muy bien organizada. Mercado Pago. Es el gateway de pago creado por la información provista para el desarrollo de
http://www.openpay.mx por la empresa Mercado Libre. (No está de más este artículo.

022 SG.47
EN PORTADA P

M-COMMERCE USANDO BITCOIN


Por Joel Cano

La migración hacia la economía mismas transacciones de una ma-


móvil será una de las tendencias nera completamente digital, elimi-
tecnológicas que veremos consoli- nando intermediarios y para tran-
darse en 2015. Los servicios como sacciones de cualquier monto.
el comercio móvil, la banca móvil
y los servicios de billeteras para Adopción Bitcoin
Bitcoin han hecho que el número de • 8.5 millones de billeteras.
usuarios de teléfonos móviles que • 88 mil comercios.
realizan transacciones y compran • 180 miles de millones USD de
bienes y servicios se incremente de ingresos.
manera rápida. • 374 cajeros automáticos.
• 3.4 miles de millones USD de
Las transacciones bancarias, los capitalización.
pagos de servicios, las compras de • 14 millones de bitcoins en
productos y servicios se realizan circulación. Figura 1. Inversión en bitcoin.
cada vez más usando dispositivos
móviles; y éstos a través de apli- Por ejemplo un usuario puede tener
caciones que han sido habilitadas una billetera digital que le permitiría efectivo con una solución llamada en este tipo de tecnología que
con la capacidad de hacer “com- pagar el monto del transporte públi- sendbitcoin.mx mediante el envio promete cambiar la manera en
pra-en” mismas que se conectan a co, la mensualidad de un auto o in- de una cuenta instantánea a teléfo- como manejamos el dinero y los
las cuentas de débito o crédito de cluso el auto completo con la misma no celular y con un código de segu- valores al igual que sucedió con la
los usuarios vía sistemas de pago forma de moneda. ridad de cuatro caracteres realizar información antes y después de
les permiten hoy comprar libros, la operación de manera segura. internet (ver figura 1).
solicitar taxis o hacer pagos me- La billetera funciona en el teléfo-
diante sistemas de banca móvil. no inteligente y conectada a un Otras tecnologías que ya están En México meXBT está impulsan-
Exchange puede hacer transac- disponibles son por ejemplo “SIM- do soluciones como sendbitcoin.
Desafortunadamente la cantidad ciones de prácticamente cualquier cards” que habilitan un telefóno mx que permite que las remesas
de teléfonos inteligentes conec- monto de manera sencilla. Sólo se celular tradicional o inteligente entre Estados Unidos y México
tados a internet, así como la pe- descarga la aplicación de billetera como una billetera con bitsim.co; puedan tener un costo y velocidad
netración del dinero electrónico como BlockChain Wallet o Hive y si se están desarrollando apli- más conveniente para las perso-
mediante tarjetas de débito y por ejemplo, se solicita la direc- caciones móviles para teléfonos nas que necesitan mover dólares
crédito es limitada. Se estima que ción pública de la billetera o punto inteligentes y se desea integrar- americanos a pesos mexicanos.
existe una penetración de no más de venta donde se realizará el pago les opciones de pago seguras, se También está impulsando solucio-
de 40% de los servicios financie- de la compra y listo. Si se necesita puede lograr mediante bitcoin en nes que puedan convertir los pagos
ros en México. comprar o cambiar los Bitcoins rivetz.com entre empresas pequeñas y media-
que se han recibido, simplemente nas al extranjero para que más fá-
Otra limitante son los montos de se crea una cuenta en un Exchange Estas son solo algunas de las posi- cilmente puedan integrarse en las
transacción, debido a los altos como meXBT y desde ahí es posi- bilidades de conectar los móviles cadenas productivas globales y que
costos en el uso de estos servi- ble comprar o cambiar Bitcoins con bitcoin y el blockchain. La ver- los pagos para la importación y ex-
cios, y a la posibilidad de rechazo por pesos o dólares. La cuenta en dadera movilidad en el comercio portación de productos y servicios
en la adopción por parte de los el Exchange se puede cargar en ahora es una realidad. desde México a cualquier parte del
usuarios, hacen difícil justificar a efectivo o mediante transferencias mundo sean a través de un simple
muchos negocios la posibilidad de electrónicas a través de 160 mil La inversión de capital empren- clic en nuestras computadoras o
ofrecer estos servicios. tiendas de conveniencia . dedor en el primer trimestre de teléfonos celulares.
2015 en este nuevo ecosistema
Pero hay una nueva tecnología Tambien se pueden enviar los es prácticamente igual a la que se El futuro de los pagos y transferen-
que podría cambiar esta realidad bitcoins a un cajero que tenga la realizó en internet en 1995. Esto cias de dinero y valores mediante
en el futuro cercano, BlockChain opción de dinero móvil y sin necesi- es sin duda, indicativo del poten- estas nuevas tecnologías está ape-
y Bitcoin permiten hacer estas dad de una cuenta bancaria retirar cial que los inversionistas ven hoy nas empezando.

Joel Cano es Director de Operaciones en meXBT, empresa especializada en negocios con criptomonedas.

SG.COM.MX 023
EL BLOCKCHAIN
Y SUS APLICACIONES
Por Pedro Galván

Hoy en día, una conversación sobre tenden- del blockchain. Aproximadamente cada 10 mi-
cias en comercio que no hable sobre bitcoin, sin nutos se crea un nuevo bloque que contiene un
duda quedaría incompleta. Ya en este reportaje grupo de transacciones aceptadas, se agrega el
hablamos sobre bitcoins y la expectativa que bloque a la cadena, y se envía al resto de los
hay alrededor de la criptomoneda, pero ahora nodos. El proceso de calcular los bloques para
quisiera platicar sobre la tecnología que susten- irlos agregando a la cadena es lo que se conoce
ta al bitcoin, es decir el block chain.* como hacer minería. Es un proceso diseñado
para ser computacionalmente intensivo, de tal
Conforme escribo este artículo, Nasdaq ha manera que el número de bloques que se en-
anunciado que comenzará a experimentar con cuentra cada día se mantiene constante.
usar blockchain para registrar transacciones
[1]. Pero las aplicaciones de éste no se reducen El algoritmo blockchain fue inventado específi-
al ámbito financiero. Por ejemplo, la plataforma camente para el sistema Bitcoin, pero se puede
DemocracyOS está considerando aprovechar aplicar en cualquier otro caso donde se requiera
esta tecnología para registrar votación ciuda- establecer un consenso distribuido en presen-
dana. El artículo “Block chain 2.0: The renais- cia de actores maliciosos o no confiables.
sance of money” publicado por Wired en enero
de este año lo plantea así [2]: Garantizando la integridad
Como su nombre lo indica, el blockchain es una Monedas de colores
“Bitcoin, altcoin, dodgecoin … ¿a quién le im- cadena de bloques. La cadena va desde el blo- Imaginemos que a nuestros bitcoins les agregamos
portan? Lo único que importa es el block chain”. que inicial (génesis) hasta el bloque más recien- notas para indicar que en realidad representan cier-
te. Es así que una copia completa del blockchain to activo. Esto es lo que se conoce como monedas
Así que hay que asegurarnos de entender qué contiene todas las transacciones realizadas en coloreadas (colored coins), y es un mecanismo que
es, cómo funciona y cómo se podría aplicar en un sistema a lo largo de su historia. A partir de permite utilizar el blockchain para almacenar y ges-
otros campos. esta información, es posible determinar el valor tionar la propiedad de activos que no son bitcoins.
que corresponde a cada dirección del sistema Por ejemplo, podríamos manejar el capital social de
Fundamentos en cualquier punto de la historia. una empresa en el blockchain por medio de colo-
El aspecto central sobre el que se basa el diseño rear monedas que representen acciones y repar-
del sistema bitcoin es que no hay una autoridad Para implementar este encadenamiento, cada nue- tirlas entre los accionistas. Las acciones entonces
central. Ante esto, se requiere un mecanismo vo bloque contiene un hash del bloque previo. Esto se podrían negociar inmediatamente y sin costos
para determinar quién es dueño de qué monedas. garantiza un orden cronológico, ya que un bloque de transacción. También podemos representar
Dicho mecanismo debe ser distribuido (repartido nuevo requiere conocer el bloque anterior para bienes inmobiliarios como monedas coloreadas.
entre una red de nodos) y resistente a ataques poder determinar su hash. Una vez que un bloque Entonces, puedes poner tu casa en un bitcoin, y
que quieran alterar su integridad. Este es el rol es parte de la cadena, todos los bloques subse- transferir la propiedad de tu casa por medio de una
que juega blockchain. Es una bitácora donde se cuentes tienen rastro de ese bloque, por lo que si simple transacción en la red de bitcoin.
registran todas las transacciones de bitcoins que quisiéramos alterar un bloque, cambiaría su hash y
se comparte por todos los nodos que participan por lo tanto habría que regenerar todos los bloques Coloredcoins.com [4] es un servicio para colo-
en la red bitcoin. En otras palabras, el blockchain subsecuentes, lo cual lo hace impráctico compu- rear monedas, es decir crear activos digitales
es una bitácora transaccional distribuida, y en el tacionalmente y por lo tanto es un mecanismo de sobre la red bitcoin. No me sorprendería que al-
caso del bitcoin viene a ser el equivalente a su li- protección para evitar alteración de datos. gún romántico(a) ya haya puesto su corazón en
bro mayor de contabilidad (ledger). un bitcoin y lo haya transferido a su amado(a).
Podremos tener nuestras opiniones sobre el
Blockchain es administrado por la red de no- bitcoin y su viabilidad, pero es un hecho que Contratos inteligentes
dos del sistema bitcoin. Dichos nodos están la tecnología blockchain funciona y es efecti- y dinero programable
continuamente difundiendo transacciones va para su propósito. Un blockchain se puede Uno de los campos de aplicación para el block-
del tipo: el emisor X envía Y bitcoins al recep- utilizar para firmar digitalmente cualquier tipo chain es el de contratos inteligentes. Esto consiste
tor Z. Los nodos validan las transacciones, las de información sensible, sin necesidad de una en crear programas que pueden manejar dinero
agregan a su copia del libro de contabilidad, y autoridad central. Esto por ejemplo se puede automáticamente. Al crear un contrato se defi-
difunden estas nuevas transacciones a otros aplicar en la gestión de contratos, depósitos de nen ciertas condiciones o criterios que se deben
nodos. Cada nodo de red tiene su propia copia garantía, autenticación, etcétera. cumplir, y las acciones (transacciones) que se

024 SG.47
EN PORTADA P

para gestionar los derechos de otras obras ar-


tísticas, como la música o las películas, permi-
tiendo rastrear su uso y por lo tanto compensar
adecuadamente a los dueños de los derechos.
Por ejemplo, si eres un artista puedes asignarle
los derechos a tu obra a una disquera y moni-
torear por medio del blockchain las formas en
las que la disquera explota tus obras (ventas, li-
cencias, streaming, etcétera). Esto minimizaría
la controversia y costos de transacción sobre el
pago de regalías. Pero más allá de eso, facilitaría
que los artistas pudieran compartir, gestionar y
monitorear directamente el uso de sus obras.

Conclusión
Nos dirijimos a un mundo de aprendizaje automa-
tizado (machine learning), en el que las computa-
doras pueden actuar sin necesidad de ser progra-
madas explícitamente. Dicho mundo requiere de
la capacidad de asignar recursos de forma rápida
y eficiente, sistemas capaces de auto-organizarse
y realizar las transacciones. El blockchain parece
ser la clave para lograrlo. Si te interesa ir a mayor
profundidad técnica sobre cómo crear una cade-
na alternativa del blockchain, la wiki de Bitcoin [8]
tiene buena información al respecto.

Nota sobre nomenclatura. La documentación origi-


nal del bitcoin utiliza el término “block chain” (dos
palabras) para referirse a este mecanismo, ya que
a fin de cuentas es eso, una cadena de bloques. Sin
embargo, conforme su popularidad y aplicaciones
han aumentado, es común referirse a éste como
un sustantivo y unir las dos palabras para crear un
anglicismo (“el blockchain”). Es por ello que en la
disparan cuando se cumplen los criterios. Cuando Gestión de propiedad intelectual mayoría de este artículo he utilizado esta forma,
se realiza una transacción entre dos partes, el pro- Otra aplicación interesante del blockchain es una sola palabra integrada como anglicismo.
grama verifica que el producto/servicio se haya para compartir y gestionar el uso de propie-
satisfecho, y solamente si el criterio se cumple dad intelectual.
entonces la cantidad de dinero se transmite a la —
cuenta del proveedor. De esta forma, se obtiene Por ejemplo, Ascribe [6] es un servicio que Referencias
un servicio de depósito de garantía en tiempo real utiliza el blockchain de bitcoin para permitir [1] “Nasdaq bets on bitcoin’s Blockchain as the future of
con un costo de operación cercano a cero. a artistas, galerías y coleccionistas registrar, finance”. The Guardian. http://swgu.ru/p-
transferir y archivar arte digital. Los artistas re- [2] “Block chain 2.0: The renaissance of money”. Wired.
Si te interesan los contratos inteligentes, te gistran sus obras en un sistema de registro de http://swgu.ru/p-
recomiendo que eches un vistazo al proyecto propiedad intelectual distribuido que es públi- [3] Colored coins. http://coloredcoins.org
Codius [4]. Es una plataforma open source para camente accesible. Las obras son almacenadas [4] Codius. https://codius.org
hospedar programas inteligentes que adminis- en la nube y acreditadas al artista. Cada versión [5] Ethereum. http://ethereum.org
tren contratos, criptomonedas u otros activos. de la obra recibe un identificador criptográfico [6] ascribe. https://www.ascribe.io
Otro proyecto que busca establecer una pla- único que es inseparable de la versión original. [7] “The Bitcoin Blockchain Just Might Save The Music
taforma para aplicaciones descentralizadas es Industry...If Only We Could Understand It”. Forbes.
Ethereum [5], el cual involucra una nueva crip- El fundador de ascribe comentó recientemen- [8] http://swgu.ru/pz
tomoneda, un lenguaje de programación y un te en un artículo publicado en Forbes [7] que [9] Alternative chain.
nuevo navegador diseñado para este protocolo. un acercamiento similar también sería muy útil https://en.bitcoin.it/wiiki/Alternative_chain

SG.COM.MX 025
5 FORMAS DE
PREPARARSE PARA
EL COMERCIO MÓVIL
Por Jennifer Polk

Este artículo es una versión traducida y editada por


Software Guru del original “5 Ways to Prepare for
Mobile Commerce” publicado en el blog de Gartner
for Marketing Leaders y disponible en http://
blogs.gartner.com/jennifer-polk/5-ways-prepare-
growth-mobile-commerce

Gartner estima que para el año 2017, más


de la mitad del comercio digital en Estados
Unidos se realizará por medio de dispositivos
móviles. Sin duda, cada país tiene su propio
ritmo, pero es un hecho que el mobile com-
merce está cobrando relevancia, y las empre-
sas que lo ignoren perderán una gran oportu-
nidad de negocio.

Aquellas empresas que quieran aprovechar


esta oportunidad, deben hacerse las siguien-
tes preguntas:
1. Analice el comportamiento móvil de sus compras online donde el cliente tiene la op-
• ¿Qué rol juega la interacción en dispositivos clientes. ¿Cómo utilizan sus dispositivos móvi- ción de pasar a una tienda a recoger su pedi-
móviles en la decisión de compra de nuestros les? ¿Cómo varía el uso dependiendo de si usa do, entonces aproveche la app para facilitar y
clientes? un smartphone o una tablet? ¿Qué rol tienen las agilizar el proceso de recolección. Otro ejem-
• ¿Qué cambios requiere nuestra estrategia de aplicaciones móviles y sitios web optimizados plo es que si va a estar publicando ofertas,
comercio digital para no sólo soportar mobile para móvil en la interacción que tienen con tu permita que el consumidor pueda guardarlas
commerce sino aprovecharlo al máximo? empresa o marca? en su cartera digital para que le sea más fácil
• ¿Qué inversiones requerimos hacer en per- recordarlas y aplicarlas.
sonas, procesos y tecnología para mobile 2. Manténgase al pendiente de factores que
commerce? puedan disparar cambios de comportamiento. 5. Innove por medio de la creatividad y la
Por ejemplo, ¿cómo se podría afectar el com- utilidad. La innovación en el comercio móvil
Responder estas preguntas no es trivial. Las portamiento de tus clientes móviles con la lle- tiende a venir de aplicaciones con caracte-
áreas de marketing y TI no podrán contestarlas gada de servicios como Apple Pay? rísticas creativas y visualmente atractivas,
por sí solas tampoco. Los líderes de TI, marke- como por ejemplo poder compartir fotos de
ting y comercio digital requieren colaborar para 3. Adapte sus procesos de comercio móvil de productos. Sin embargo, las tácticas que ge-
construir una estrategia, establecer objetivos, acuerdo al comportamiento del cliente. No in- neran mayor uso son aquellas que también
elegir y habilitar tecnología (tanto en front-end tentar obligar al cliente a cambiar sus hábitos y proveen información o acciones útiles para
como back-end) y preparar a la organización forma de usar su dispositivo móvil para poder in- los usuarios, como por ejemplo poder cono-
para ejecutar una estrategia de comercio digi- teractuar con su marca o comprar sus productos. cer la disponibilidad de cierto producto en
tal que considere un amplio crecimiento en el El cliente preferirá comprarle a alguien más, que una tienda cercana.
comercio móvil. cambiar sus hábitos.
El comercio móvil impactará la forma en que in-
A continuación comparto con usted cinco re- 4. Busque oportunidades para agregar valor a teractuamos con nuestros clientes y representa
comendaciones para empresas que buscan sus clientes móviles por medio de característi- una gran oportunidad para crecer nuestro nego-
prepararse para el crecimiento del mobile cas y ofertas que les ahorren tiempo y dinero. cio. ¿Cómo se está preparando su organización
commerce: Por ejemplo, si su empresa tiene una app para para el crecimiento en el comercio móvil?

Jennifer Polk es Directora de Investigación en Gartner, especializada en comercio digital.

026 SG.47
EN PORTADA P

M-COMMERCE EN IMÁGENES
Para cerrar este reportaje sobre tendencias en comercio móvil, les La segunda figura, creada por Pymnts.com es un mapa del metro que re-
compartimos un par de infografías interesantes que ayudan a dimensio- presenta los distintos conceptos que sustentan la cartera digital, agrupa-
nar la diversidad y complejidad de este todavía naciente ecosistema. dos como rutas. Este mapa fue hecho en 2013 y le hace falta una actua-
lización (por ejemplo, no hace mención de las criptomonedas), pero sin
La primer figura, creada por Trinity Ventures, es un mapa de los principa- duda ayuda a visualizar los distintos conceptos, servicios y tecnologías
les jugadores en el ecosistema de mCommerce, agrupados por categoría. que se conjuntan para soportar la visión de la cartera digital.

Figura 1. m-Commerce
market map.
Trinity Ventures.

Figura 2. Digital wallet


subway map.
Pymnts.com

SG.COM.MX 027
E ESTRATEGIA DE TI

El Presupuesto de TICs
INDICIOS, ARGUMENTOS Y EXPECTATIVAS

Por Héctor Santillán

El presupuesto destinado a las tecnologías Baja madurez de procesos Complejidad de integración


de la información y comunicaciones (TICs), Sólo es factible recopilar métricas en procesos Las soluciones tecnológicas empresariales típi-
es principalmente el resultado del esfuerzo definidos, a los que la organización se apega, y camente involucran integrar una gran variedad
personal del CIO. que están instrumentados con indicadores ope- de plataformas, herramientas y servicios de
rativos y financieros. distintos proveedores, lo cual acarrea riesgos.
Me explico: La problemática básica radica en Por más que dichas plataforma y herramientas
que típicamente las TICs son un medio, no Se diluye el beneficio pregonen ser abiertas y basadas en estándares,
una finalidad. Así que la trazabilidad y cuanti- Se deja de cuantificar como un beneficio el im- la realidad es que siempre ocurrirán problemas
ficación de cómo las TIC contribuyen a obte- pacto de una solución tecnológica a partir del de integración, lo que generará costos imposi-
ner resultados y generar valor, ya sea público segundo año, a veces antes. Por ejemplo, si una bles de prever.
o económico, no es evidente en la mayoría de nueva solución ahorra X cantidad de dinero du-
los casos. rante su primer año, en los años subsecuentes Los costos ocultos
se deja de cuantificar este beneficio, así que se Usualmente se privilegia el resultado inmedia-
Por otro lado, las áreas financieras y presupues- diluye. Entonces, unos años más tarde cuando to o en el corto plazo, sacrificando o aplazando
tales, no están familiarizadas con la compleji- se solicita presupuesto para actualizarla o rea- los costos y esfuerzo que implica el integrarlo
dad real de utilizar la tecnología. Así que usual- lizar un mantenimiento mayor, es más difícil de al núcleo de la solución, y no como un agrega-
mente califican más como un costo o gasto, que obtener el apoyo de la alta dirección. do externo.
como un activo en el que conviene invertir en
su creación y sobre todo en su mantenimiento. Costos de operación Debido a que el mantenimiento típicamente
La dificultad para comprender el costo total de es urgente, circunscrito a requisitos especí-
Uno de los principios básicos de cualquier área propiedad, en particular los relacionados con la ficos, muchas veces etiquetados como “tem-
financiera es mantener los costos bajos, pero la provisión de servicios y activos tecnológicos que porales”, no se acostumbra considerar que
pregunta clave es: ¿cómo sabemos que un monto habilitan o soportan funciones de negocio. muchas veces conviene hacer un rediseño de
cualquiera, es un costo bajo?; La respuesta la da la aplicación, con todo el esfuerzo que ello
la racionalidad y justificación de la inversión. Solo Se invirtieron 10 millones para desarrollar un implica. Conforme se evade el trabajo de re-
que la racionalidad y la justificación pueden ser nuevo sistema. Pero, luego entra a la etapa de diseño, los ajustes o parches que se realizan
muy subjetivas, por eso es bueno justificar con mantenimiento, en donde se debe de contem- hacen que el mantenimiento posterior sea
números, pues son objetivos. plar no sólo las adecuaciones que solicite el cada vez más complicado.
área de negocio, sino las que se requieran por
¿Qué ocurre con las tecnologías de la informa- la obsolescencia de la plataforma tecnológica. La obsolescencia tecnológica
ción y comunicaciones?, pues que es muy fácil Se acostumbra decir que el costo de realizar Desgraciadamente las áreas financieras acos-
cuantificar cuánto se gasta en ellas, pero es di- un cambio, es del doble en comparación de tumbran no entender este tema en su amplitud.
fícil cuantificar la contribución desde un punto haberlo desarrollado por primera vez. Así que El problema no es que acabe la vida útil de un
de vista financiero. hay que estimar no sólo la cantidad de mante- producto y se compre algo más actual. Ocurre
nimiento esperado, sino que además, es posible que se reinventa, se replantea todo y se vuelve
A continuación ahondo en los principales facto- que el sistema deba de sobrevivir a la obsoles- casi imposible tratar de prolongar la vida a tec-
res que inciden en esta situación: cencia del hardware y software de plataforma. nologías que están casi extintas.

Héctor Santillán (@hectorsantillan) se desempeña como consultor en gobernabilidad de TICs, formulación de soluciones de negocio y marketing digital.

028 SG.47
ESTRATEGIA DE TI E

Justificar el presupuesto
de tecnología
Aunque al justificar el gasto en tecnología de-
bemos considerar los ahorros que vamos a
generar, debemos estar conscientes que esto
posiblemente no sea suficiente y concientizar a
las áreas financieras de que así como aumenta
la plantilla de una organización, su activo fijo,
sus ventas, requerimos estar aumentando los
sistemas y el presupuesto asignado a éstos.

Hagamos un ejercicio de planeación. Imaginemos Tabla 1. Planeación de presupuesto.


una organización donde cada año se construye
una solución tecnológica nueva para resolver
una necesidad de negocio distinta. Conforme se
desarrollan las nuevas soluciones, hay que dar Si -> 5 puntos las demás partes interesadas en el aspecto finan-
mantenimiento a los sistemas en producción que No -> 0 puntos. ciero, sobre todo, en años subsecuentes.
implementamos anteriormente. 2. ¿Tienen cuantificados los beneficios que • La trazabilidad de los activos y servicios TICs,
año tras año aportan las TICs? versus las funciones, soporte y habilitación de
Para efectos ilustrativos, establezcamos los si- Si -> 5 puntos los procesos de la organización, es fundamen-
guientes supuestos. No -> 0 puntos. tal para tener indicios o datos para lograr una
1. El desarrollo de cada nuevo sistema implica 6 3. ¿Cómo se determina el presupuesto de TI estimación de la contribución de las TICs a la
mil horas hombre al año, o sea 3 personas de respecto al año anterior? generación de valor.
tiempo completo aproximadamente. a) Similar al año pasado más la inflación -> • Es necesario evangelizar a las demás áreas
2. Se estima que el mantenimiento a un siste- 2 puntos. involucradas, respecto a cómo y por qué se re-
ma en producción, es alrededor del 10% del b) Se incrementó por nuevos proyectos -> 3 quiere hacer X desembolsos. Pero más impor-
tamaño del sistema, así que el esfuerzo de puntos. tante, es necesario crear una cultura relativa a
mantenimiento es de 1,200 horas al año, apli- c) Se evalúa y considera cada renglón del pre- buenas prácticas de inversión en TICs, con una
cando la regla de 2 horas de mantenimiento supuesto (zero-based) -> 5 puntos. visión a largo plazo.
por 1 de desarrollo. 4. ¿Hay una trazabilidad entre los servicios y • Para comenzar a obtener resultados, se requie-
3. El sistema tiene una vida útil de 6 años, por activos digitales versus las funciones y áreas re de una inversión significativa. Si solamente
la razón que quieran. Es así que al término de de negocio? justificamos decisiones de TI en base a ahorros,
este periodo, habrá que realizar un esfuerzo Totalmente -> 5 puntos. nuestra organización perderá oportunidades im-
específico para reemplazar o modernizar dicho Parcialmente -> 3 puntos. portantes de innovación por medio de TI.
sistema. Asumamos que esto requiere invertir No -> 0 puntos.
las mismas 6 mil horas hombre que se utiliza- 5. ¿Con que herramienta se elabora el Con el advenimiento del cómputo basado en la
ron para implementar el sistema original. presupuesto? nube, el acceso a internet desde móviles y en el
a) Sistema para Gobierno de TIC -> 5 puntos camino, las ventajas y beneficios potenciales, la
La tabla 1 refleja el ejercicio de planeación a 8 b) Hoja de cálculo -> 2 puntos nueva lógica financiera que esto implica, hace
años con los supuestos anteriores. que el tema de la planeación presupuestal sea
Resultados: un elemento clave que permitirá a las organiza-
Este tipo de ejercicios pueden ayudarnos a • 20 puntos o más: Una organización ejemplar, ciones obtener grandes beneficios.
justificar el presupuesto requerido para poder queremos aprender de ti.
satisfacer las metas de negocio desde el ámbito • 9 a 18 puntos. El presupuesto es subjetivo, y El verdadero reto para el CEO, es contar con un
tecnológico. Necesitamos suficientes datos du- seguramente resultado de la argumentación y CIO, que tenga la visión de cómo aprovechar la
ros para que todas las partes interesadas: CEO, negociación. tecnología, con la capacidad de compartirla y
COO, CFO, CIO y demás, puedan tener una vi- • 8 puntos o menos: Prácticamente no hay planea- convencer al resto de la organización, cuando
sión compartida. ción de TI, se trabaja de forma reactiva. en la práctica, tiene pocos datos duros, y más
indicios y percepciones.
Autoevaluación Conclusiones
Hagamos ahora un ejercicio de autoevaluación • Entre mayor es el aprovechamiento de las La creación del presupuesto no es únicamen-
contestando el siguiente cuestionario y suman- TICs, mayor es el gasto que se deberá desti- te un ejercicio de planeación estratégica o
do los puntos que obtenemos en cada respuesta. nar a ellas. financiera, sino de liderazgo, cabildeo, visión
1. ¿En su organización se planea el presupues- • Es útil compartir el costo total de propiedad pre- de negocio, con futurología y por supuesto,
to de TICs? visto, para tener bases útiles para entenderse con ¡trabajo en equipo!

SG.COM.MX 029
E ESTRATEGIA DE TI

Planeación Estratégica de TIC


¿REALIDAD O FICCIÓN?

Por Arturo Téllez

Ahora que estamos en el segundo trimestre beneficios cualitativos y cuantitativos en térmi- “plan estratégico” de TI, adivinando qué puede
del año, probablemente tengamos una buena nos de negocio. Incluso tratándose de proyec- ser relevante para el negocio. El inconveniente
cantidad de iniciativas y proyectos de TI en tos regulatorios, tendríamos que ser capaces que esto acarrea es que estamos colocando una
curso, todos ellos obviamente apegados al de justificarlos en función de evitar las multas restricción importante al negocio, definiendo no-
presupuesto y al plan estratégico de TI, que a o sanciones económicas o evitar daño reputa- sotros solos la arquitectura e infraestructura, sin
su vez está alineado a los planes de negocio cional a la compañía. Planear también implica fundamento alguno de negocio.
pues fueron conjuntamente elaborados entre ser capaces de tener identificados los recursos
octubre y noviembre del año pasado. requeridos en aspectos de infraestructura, licen- ¿Por dónde empezar?
ciamiento, software, habilidades e información, De esta forma, la planeación estratégica de TI
Nada más lejos de la realidad… Para este momen- los tiempos en que tendría que llevarse a cabo consiste en construir la visión del futuro de la
to del año, algunas iniciativas de TI seguramente y lo más importante, quiénes serán los respon- organización, con base en las iniciativas y pro-
surgieron como resultado de atender un tema sables de ejecutar dichos proyectos, así como el yectos tecnológicos de alto impacto y largo pla-
regulatorio, alguna petición urgente del negocio o patrocinador no solamente financiero. zo que hagan correspondencia con las respecti-
apagar un fuego. Pocas veces se observa un pro- vas iniciativas estratégicas de negocio.
ceso formal de planeación. Mucho menos con un ¿Es válido hablar de
sentido estratégico ya sea de TI o de negocio. estrategia tecnológica? Llevar a cabo un ejercicio de planeación estra-
Por otro lado, es una tentación cotidiana en las tégica de tecnología en conjunto con las áreas
Para comprender por qué sucede así, debemos empresas, darle la connotación de estratégico de negocio, ofrece consistencia, minimiza el
estar conscientes que dentro de las organiza- a todo lo que consideramos importante a dis- fracaso de los proyectos y asegura la entrega
ciones tenemos un entendimiento distorsiona- creción del solicitante, máxime cuando el so- de valor al negocio. Es decir, alinea la visión
do tanto de lo que es planeación como de lo licitante está del lado del negocio. Estratégico tecnológica con la visión que tiene y persigue
que es estratégico, y en algunas ocasiones sor- no sólo es aquello que requiere grandes can- el negocio, y garantiza que todas las iniciati-
prendentemente hasta de lo que son las TIC. tidades de recursos o que provenga de la alta vas y proyectos por realizar tienen un sustento
dirección. Estratégico debe ser aquello de alto razonable y no son capricho de uno o algunos,
¿Realmente hacemos impacto —en función del negocio— y con- sin poner en riesgo la consecución de las metas
planeación tecnológica? secuentemente de largo plazo. Si estos dos organizacionales.
Como mexicanos tenemos un reto cultural- componentes no están presentes a la par, no
mente hablando, pues no somos precisamente podemos decir que es estratégico. Una vez estructurado el plan, deberá ser pre-
proclives a planear, justificando en muchas oca- sentado, revisado, aprobado y priorizado por
siones que el área de TI es un área de servicio — Algo indispensable es que el ejercicio de pla- la dirección general o comité si fuese el caso,
lo cual es cada vez menos cierto— y debemos neación estratégica no debe realizarse en ais- y finalmente comunicado para que se tenga
sólo responder a lo que el negocio requiera en el lamiento. Muchas empresas aíslan —con el certeza de la utilización de los recursos, en los
momento que lo requiera. Luego entonces, nos afán de crear un clima favorable de “análisis y tiempos programados y saber en qué momento
encontramos con listas de buenos deseos ela- reflexión”— a su cuadro directivo para elaborar tendrá lugar cada proyecto.
boradas con solicitudes de pasillo por parte de el plan estratégico de negocios y a su regreso
las gerencias o de la dirección general. (generalmente de lugares paradisiácos) le co- Tomando esto en consideración cualquier or-
munican dicho plan al responsable de TI para ganización, ya sea pública o privada, pequeña
La planeación de TI implica llevar a cabo un pro- que con base en él, elabore el plan estratégico o grande, familiar o con gobierno corporativo,
ceso formal de levantamiento de requerimientos de tecnología. En el lado contrario de la mone- puede hacer realidad un Plan Estratégico de TI
que estén debidamente justificados en cuanto a da, algunos CIOs elaboran a ciegas su propio que soporte lo que el negocio requiere.

Arturo Téllez Mejía actualmente funge como Gerente de Seguridad y Redes para Quálitas Compañía de Seguros. Es egresado de la Licenciatura en Informática de la UPICCSA-IPN y
maestro en Tecnologías de Información y Administración por el Instituto Tecnológico Autónomo de México (ITAM). Es catedrático a nivel posgrado en el ITAM y la UVM.
www.arturotellezmejia.com

030 SG.47
CÓDIGO INNOVARE C

Alineando la Estrategia
de Marketing a Redes Sociales
OPTIMIZACIÓN Y DEFINICIÓN DE OBJETIVOS SON PIEZAS FUNDAMENTALES

Por Gabriela Campos

Para los responsables del departamento de marketing, • Usar las redes sociales como un mero canal publicitario, que Gabriela Campos Torres
la optimización del retorno de inversión en comunicación di- se acaba convirtiendo en basura para los usuarios. es Community Manager
gital y medios sociales es crítica. Hoy en día, el mercado es • Falta de escucha y de personalización, sin proporcionar de SemanticWebBuilder
dinámico y todo cambia en un minuto. a los clientes potenciales la información que quieren y en la Gerencia de
buscan. Desarrollo de Nuevos
Cambios en los medios sociales • No fomentar las relaciones con la comunidad, sin man- Productos y Servicios de
Los medios sociales han pasado de ser un elemento estra- tener ningún tipo de conversación con ellos, sin respon- INFOTEC. Es Licenciada
tégico para cualquier empresa y por lo tanto deben ser pla- der a sus comentarios o sin darles las gracias por sus en Ciencias de la
neados de la misma forma. En toda organización debe existir aportaciones. Comunicación por el Tec
una estrategia de redes sociales y un plan general para poder • No desarrollar un plan de crisis, alineado con el plan gene- de Monterrey. Cuenta
cumplir con los objetivos. ral de crisis de la empresa. con amplia experiencia
• No analizar qué están haciendo las empresas de la compe- en la ejecución de pro-
Medir el impacto ayuda a clarificar en qué porcentaje se ha tencia en redes sociales. yectos relacionados con
incrementado el valor de la marca gracias a la actividad so- • No monitorear y escuchar lo que se dice de la marca y del la adopción de implan-
cial. Por tanto cuando se plantea una estrategia de marketing sector al que pertenece. taciones tecnológicas y
que incluye redes sociales, se dará un paso hacia la planifi- • No actualizar la estrategia de redes sociales, de acuerdo a cambios culturales.
cación promocional multicanal, que además permitirá reali- las necesidades existentes.
zar una segmentación mucho más delimitada por intereses,
edades, estudios, etcétera. Conclusión
En definitiva, las redes sociales se han convertido en un me-
La aspiración principal de las empresas es asegurarse de que dio muy útil para la redefinición y crecimiento de negocios
sus redes sociales no sólo funcionen a nivel local, sino en todos siempre y cuando se tome en cuenta la inversión y los resul-
los mercados en los que tienen presencia. El objetivo es usar tados que se obtendrán. Y en este sentido los dispositivos
los medios sociales para mejorar la percepción de la marca. móviles son cada vez más importantes entre los consumi-
dores, pues se han convertido en una parte fundamental del
Errores en la estrategia de redes sociales día a día de los usuarios y por tanto las organizaciones están
Lo importante no es estar, sino saber estar. Aquí algunos invirtiendo cada vez más en su estrategia móvil.
errores comunes que debemos evitar:
• Carecer de una estrategia. INFOTEC desarrolló una herramienta en esquema de Open
• No alinear la estrategia de redes sociales con la estrategia Source que tiene como propósito principal obtener elemen-
y la visión de la empresa. tos de análisis que proporcionen datos de utilidad para la
• No integrar marketing online y offline, que constituyen las toma estratégica de decisiones en cuestión del social media.
dos caras de una misma moneda. De esta manera, INFOTEC incursiona en la investigación y
• No ofrecer una experiencia de marca. Olvidar la identidad, desarrollo tecnológico de herramientas de software en el
la filosofía y la razón de ser de la empresa. mercado internacional.
• No involucrar a todos los departamentos en la definición de
la estrategia de redes sociales. La investigación y los prototipos realizados para el desa-
• No informar a todos los empleados de la estrategia de re- rrollo del SWB Social pueden ser retomados y extendidos
des sociales. para aplicarse en diversos ámbitos a nivel nacional, como
• No tener una presencia activa en las redes sociales en las puede ser la obtención de información estadística subje-
que la empresa está presente. tiva para la generación de métricas e indicadores especia-
• No invertir lo suficiente para tener personal con el perfil lizados de cualquier industria. Este conjunto de atribucio-
apropiado para encargarse de la gestión de redes sociales. nes se realiza bajo el esquema de código libre y ya se está
• Creer que todas las redes sociales son iguales, sin conside- trabajando en la versión para dispositivos móviles con la
rar las particularidades y usos de cada una de ellas, así como intención de seguir aportando al crecimiento de la indus-
el potencial diferente que ofrecen. tria TIC en México.

SG.COM.MX 031
P SOURCING

Contratación
de Software Basada en
Resultados —
Por Guilherme Siqueira Simões

El sector de Tecnologías de la Información se ha visto muy afec- El aspecto más crítico de este tipo de contratación, es que el clien-
tado por el movimiento de externalización de las empresas. Gran te es responsable por la gestión del equipo de servicio, incluyendo la
parte del desarrollo y mantenimiento de los sistemas ya no se hace productividad del proveedor. Esto requiere un nivel de competencia
más internamente. que puede no estar disponible internamente. Además, la remunera-
ción del proveedor no está vinculada a los resultados producidos, sólo
Sin embargo, esta medida trajo efectos secundarios inesperados (y no al número de horas realizado. No hay incentivo para que el proveedor
deseados) para muchas organizaciones que han adoptado esta iniciativa. mantenga o aumente los niveles de productividad y calidad, lo que
Uno de los problemas se refiere a las prácticas de contratación de estos debería ser parte de su responsabilidad. El incentivo es negativo: en
servicios de terceros. En las secciones siguientes se comentan las formas cuanto más esfuerzo se demande por parte del proveedor, mayor será
más comunes de la contratación de servicios de desarrollo de software. la remuneración. Y esta es la antítesis de la productividad.

La contratación por hora-hombre Otro obstáculo está relacionado con las garantías de servicio. Si la
En esta forma de contratación, también conocida como body shopping, el asignación implica más de una empresa, es muy difícil aislar las res-
cliente contrata a profesionales para la asignación en el desarrollo de soft- ponsabilidades de cada empresa y exigir la garantía. El cliente paga
ware, generalmente en conjunto con su propio equipo, algunas veces con por un servicio y también por cualquier mantenimiento posterior co-
varios proveedores de mano de obra, y utiliza su infraestructura logística rrectivo asociado a éste.
interna. La remuneración del proveedor se calcula basándose en el nivel
de cualificación y experiencia de los profesionales en las horas trabajadas Contratar a un precio fijo
y otros gastos posibles. Este tipo de contratación, también conocido como fixed price, favorece
el enfoque de proyecto con un comienzo y un final bien definidos (y por
En este tipo de contrato, la remuneración del proveedor está orientada supuesto, del alcance). Además, este modelo requiere un mayor nivel de
a los procesos “internos” de la producción de software. El precio final de organización del cliente y del proveedor. Si los requisitos están mejor defi-
un proyecto se determina a partir de consideraciones tales como: la can- nidos hay menos posibilidades de fricción entre las partes.
tidad de trabajo que requiere, el perfil y la cantidad de profesionales mo-
vilizados para su aplicación, y la complejidad de la gestión. El control de Sin embargo, es probable que el proveedor no tenga mucha información,
precios está en manos del proveedor, que en teoría, tiene más experiencia no domine el problema o no dedique tiempo para un análisis detallado
en estos aspectos técnicos del proyecto que el cliente, cuya actividad eco- de los requisitos para la preparación de su propuesta de negocio. Como
nómica tiende a ser diferente al desarrollo o mantenimiento de software. resultado, habrá un subdimensionamiento o sobredimensionamiento del
presupuesto presentado. Cuando la competencia es intensa, es probable
Este modelo es fácil de administrar y proporciona una gran flexibilidad que el primer caso se produzca.
tanto para el cliente y como para el proveedor. Una vez que se hayan es-
tablecido las relaciones comerciales, el cliente es capaz de ser más ágil en Ambos casos son indeseables. En el primero, el proveedor tendrá difi-
el cumplimiento de los picos de demanda del servicio. En el caso de que cultades para atender al cliente. Si los requisitos no están bien definidos,
exista cambio de las necesidades, no es necesario renegociar el contrato es probable que se cree un callejón sin salida y una nueva negociación
con el proveedor. Sin embargo, aumentar el alcance provoca un incremen- comercial tendrá que ser considerada. Aunque los requisitos hayan sido
to del trabajo (horas), así como del costo del proyecto. Es justo que haya bien definidos, el presupuesto por el proveedor puede haber sido insufi-
remuneración al proveedor por este esfuerzo adicional, ya que la gestión ciente y la calidad del producto se vea seriamente afectada o incluso el
del alcance es responsabilidad directa del cliente. proyecto no se pueda completar.

032 SG.47
SOURCING P

“Un modelo de contratación óptimo sería la


remuneración de acuerdo con las unidades de
resultado del servicio realizado”.

En este modelo hay una transferencia del riesgo del cliente al proveedor, Por lo tanto, un modelo de contratación óptimo sería la remuneración
y surgen los cuestionamientos con respecto al riesgo del alcance (¿los de acuerdo con las unidades de resultado del servicio realizado. Esto
cambios serán alojados sin coste adicional?) y de la productividad (¿cuál promueve el balance de riesgos y responsabilidades entre cliente y
es el nivel de control sobre los vectores que afectan el trabajo?). El precio proveedor. En este caso, la productividad es responsabilidad del pro-
propuesto por los proveedores debe tener en cuenta estos riesgos. veedor, ya que existe un riesgo de lesiones si hay retraso en las unida-
des de producción. Además, en el caso de que exista un aumento en el
El uso de este enfoque se complica cuando se asume que los requisitos alcance, se debe construir más unidades para el servicio y el proveedor
no cambiarán (o habrá poco cambio) después del inicio del proyecto. El es remunerado por ello.
entorno de una organización se es dinámico, los requisitos también lo son.
En cuanto más larga sea la duración del proyecto, es más probable que El gran desafío de este enfoque es encontrar una unidad que sea recono-
hayan cambios en los requisitos. Aparte es difícil de estimar cómo estos cida de manera inequívoca, uniforme y consistente tanto para el cliente
cambios afectan el presupuesto original del proveedor. De acuerdo con C. como para el proveedor. Ejemplos de unidades podrían ser: pantallas,
Jones [7] más de 2% de los requisitos cambian mensualmente después informes, tablas, casos de uso, líneas de código, stored procedures, we-
de la fase de requisitos. En este caso, es probable que sea necesaria una bservices, puntos de función, entre otros. Pero no todas estas unidades
renegociación. Si esto ocurre, el cliente no tendrá la misma condición ori- cumplen con los criterios para ser reconocidos por el cliente y el provee-
ginal, ya que dependiendo en qué fased el proyecto esté, no hay compe- dor de forma consistente.
tencia, ni una unidad para comparar el precio originalmente acordado con
los precios cobrados de acuerdo a las nuevas características solicitadas. Al analizar las unidades de carácter más técnico, no se tiene en cuenta la vi-
sibilidad de estas por parte del cliente. La relación (si existe) entre las líneas
En este modelo de contratación, el control sobre la cantidad a pagar lo de código, por ejemplo, y algo de valor tangible al cliente es muy débil. El
tiene el proveedor. Es muy común que la formación de precios se efectúe cliente no siempre tiene toda la experiencia para atribuir valor a un servicio
en términos de la estructura de descomposición del proyecto de traba- que involucró a escribir un cierto número de líneas de código. A menudo,
jo, la cantidad de las horas y el perfil de profesionales asignados a esa una de las razones para la externalización es precisamente la búsqueda de
actividad. Esto también ocurre con la contratación por hora-hombre, el un proveedor con más conocimientos especializados en un tema, que no es
control está bajo quienes poseen los conocimientos técnicos de ingeniería de interés para el cliente y no le generará interés de tener dominio.
de software y la aplicación de sus disciplinas.
Por otra parte, al analizar algunas unidades menos técnicas, tales como
Un modelo alternativo de contratación pantallas, tablas, informes, casos de uso o los puntos de función, estos tie-
Con el tiempo, algunas organizaciones comenzaron a experimentar con for- nen unidades que son fácilmente reconocidas y comprendidas por ambas
mas alternativas de contratación de servicios de software que promovían una partes. La cuestión ahora es encontrar una definición consistente para esta
mejor distribución de los riesgos y resultados. En el modelo hora-hombre, la unidad. En el caso de las pantallas, tablas, informes y casos de uso, no hay
productividad del trabajo es un problema de gestión del cliente, cuando de- definición normalizada. A pesar de que hay buenas prácticas, y hacen uso
bería ser preocupación del proveedor. La administración del alcance también del sentido común para definir lo que debería ser o no un caso de uso o una
es responsabilidad del cliente, ya que el proveedor no tiene control sobre los pantalla, estas unidades no son suficientes para utilizarse como una unidad
requisitos. En el modelo de precio fijo, la productividad es responsabilidad del de medida de contratos. En un extremo el cliente puede manejar el servicio
proveedor, lo que es justo, ya que este es responsable del proceso de trabajo. de todo el sistema si se especializa en solo un caso de uso para minimizar
Sin embargo, cualquier cambio o incertidumbre de los requisitos, que es res- el costo; en caso contrario, el proveedor puede dividir la especificación del
ponsabilidad del cliente, impacta este modelo de contrato. sistema en casos de uso para aumentar su remuneración.

SG.COM.MX 033
P SOURCING

El tamaño funcional puede ser considerado una unidad viable de medida en costos, como en el precio unitario es definido (o debería ser definido)
en los contratos, precisamente porque son una medida de carácter no según la productividad esperada para el contrato.
técnico, con una definición estándar, y consistente.
Al igual que las características de los servicios que se exigen en el con-
Por otra parte, la contratación de los servicios basado en los resultados trato, el modelo puede ser refinado (y por lo general esto se hace) con el
entregados, permite al cliente tener más control sobre los costos. uso de diferentes indicadores de la tasa de entrega (H/PF) o el precio de
la unidad ($/PF), calibrado para especificidades de cada tipo de servicio.
La medición funcional del software
La medición funcional mide el software mediante la cuantificación de sus Para organizaciones grandes, los procesos de contratación son a menudo
tareas y servicios, es decir, las características que el software proporciona largos y costosos. Por lo tanto, el modelo descrito anteriormente se aplica
al usuario. En resumen, mide los requisitos funcionales del software. generalmente no en un proyecto individual, sino a un volumen de puntos
de función predefinidos para ser utilizados en varios proyectos durante un
La idea es que la medición funcional sea: período por lo general de doce o más meses. Este volumen se determina
• Lo suficientemente simple para reducir al mínimo el costo adicional del normalmente basado en los proyectos previstos por el área de sistemas
proceso de medición. en la planificación estratégica.
• Una medida consistente entre los diversos proyectos y organizaciones.
A medida que el tamaño funcional se realice con base a la vista externa del
El resultado de la medición es llamado tamaño funcional y a menudo ex- usuario, en contraste con una vista interna de la ingeniería de software, el clien-
presado en una unidad llamada punto de función (PF). te ejerce el control efectivo y la gestión de contratación. El perfil de los profe-
sionales movilizados o la cantidad de horas trabajadas dejan de ser factores
Hay cinco métodos de medición funcional estándares: IFPUG (ISO/IEC definitivos para el análisis. Se trata de un modelo en el que el tamaño funcional
20926), NESMA (ISO / IEC 24570), Mark II (ISO / IEC 20968), COSMIC no cumple el papel de la estimación de esfuerzo o costo, sino de prescribir la
(ISO/IEC 19761) y FISMA (ISO/ IEC 29881). cantidad que se pagará independientemente de su costo o esfuerzo real.

Modelo de costos Al igual que los contratos de precio fijo, este modelo tiene riesgos. Sin
Un modelo para la prestación de servicios de software basado en el tama- embargo, con una mejor distribución. Las consideraciones acerca de la
ño funcional puede ser representado por las fórmulas siguientes, que en complejidad del trabajo en sus diversas dimensiones (excepto alcance de
la práctica son similares. las funciones solicitadas y entregadas al usuario), y el perfil y la cantidad
de profesionales asignados serán consideradas cuando se defina el precio
Esfuerzo = Tamaño x Tasa de entrega (1) por unidad ($/PF) o la tasa de entrega (H/PF).

En esta primera fórmula, el esfuerzo del proyecto que se ejecutará es es- El precio unitario, junto al tamaño funcional, prescribe la forma en la que
timado (en horas) teniendo en cuenta el tamaño (en puntos de función) y el proveedor será recompensado por cada servicio prestado.
una tasa de entrega pre-definida (horas por puntos de función). Esta tasa
es definida, de acuerdo con el proveedor y un estudio de productividad En un análisis específico de cada proyecto entregado, la recompensa (o
del cliente basado en una muestra histórica de proyectos ya implemen- esfuerzo) aumenta o disminuye en comparación con lo realmente realiza-
tados. El costo del proyecto se deriva simplemente de la multiplicación do. Este modelo utiliza como base el precio medio (o promedio de produc-
del esfuerzo calculado por un valor de horas acordado entre el cliente y tividad) para la derivación del costo. Dado que hay una buena definición
el proveedor. de los parámetros de precios, estas variaciones entre los proyectos tien-
den a anularse entre sí cuando se considera el conjunto de proyectos en
Costo = Tamaño x Precio por Unidad (2) un horizonte de tiempo más largo (por ejemplo, un año).

En esta segunda fórmula el costo del proyecto se calcula directamente con Beneficios del modelo propuesto
el tamaño funcional multiplicado por el precio unitario de éste. Para esta- Una de las razones para usar el modelo propuesto es que el vocabulario
blecer el precio que se ofrece, los proveedores deben tener en cuenta todo de la medición funcional utiliza la terminología y define elementos de aná-
el proceso de trabajo definido por el cliente en el Request for Proposal. lisis que son independientes de la tecnología utilizada para desarrollar el
Ambas fórmulas son equivalentes, ya que el esfuerzo se puede convertir software. El proceso de medición sólo tiene en cuenta la perspectiva de

034 SG.47
SOURCING P

“Para los contratos basados en los puntos


de función, el fraude es fácilmente detectado
por la auditoría”.

negocio como se entiende y es válida para el cliente. La eliminación de gran impacto para promover este cambio. La contratación por el tama-
estos tecnicismos facilita la comprensión entre las partes y es un motor ño funcional consiste en trabajar enfocado en proyectos, lo que implica
importante para la comunicación entre cliente y proveedor. una buena planificación y evaluación del alcance. Sin embargo, la falta de
planificación, documentación y visibilidad de los resultados producidos es
Otra de las ventajas de este método, especialmente para el sector público, común en contratos por hora-hombre.
es que contratos remunerados por el tamaño funcional permiten auditoría
externa de todos los pagos hechos. Algo que no puede ser hecho en un Otro punto en el que se debe tener cuidado es no copiar modelos de cos-
contrato por hora-hombre. Verificar horas trabajadas después del pago tos de otras organizaciones, sin la calibración necesaria de sus paráme-
es muy difícil. tros con datos históricos propios. Cuando se utilizan parámetros de otras
organizaciones (o precio unitario), los costos de la contratación pueden
Para los contratos basados en los puntos de función, el fraude es fácilmente elevarse o los proveedores serán oprimidos hasta llegar al punto de res-
detectado por la auditoría. A medida que la medición funcional refleje funcio- cindir el contrato.
nalidades entregadas por los proyectos, no hay manera de que sean falsificados.
Una dificultad más está relacionada con las mediciones, que deben cen-
Service Level Agreements (SLAs) trarse exclusivamente en las necesidades del negocio. Para aquellos que
En este modelo hay interés directo de los proveedores para maximizar el están involucrados en la implementación, es común que haya una dificul-
flujo de las demandas entregadas, ya que implica un aumento de los ingre- tad en la abstracción de la implementación y esto se refleja en una medi-
sos. Para el cliente esto también es beneficioso, ya que proporciona más ción a menudo incorrecta (y por lo general, más grande).
capacidad de respuesta a las necesidades de software de la organización.
Conclusión
Como también hay interés por parte del proveedor para entregar un ser- El modelo de contratación de servicio de software por resultados ha sido
vicio de calidad, ya que las correcciones implican repetición del trabajo, madurado principalmente en Brasil y Corea del Sur durante los últimos
sin los ingresos asociados, el costo impacta a la rentabilidad del contrato. quince años. En varios casos fueron percibidos mejora de productividad,
mejora de la calidad de la documentación de requisitos y resultados entre-
Pronto podremos ver una convergencia de intereses en ambos lados para gados con nivel de satisfacción más alto.
una rápida entrega y una mejor calidad del servicio entregado. Sin embar-
go, no se puede prescindir de los Acuerdos de Nivel de Servicio (Service
Level Agreements), específicamente en plazo y calidad.

Cuando hay un retraso en la entrega del servicio, incluso si el cliente tiene —


la previsibilidad del saldo a pagar, este retraso puede resultar en pérdida Referencias
de oportunidades para el negocio. Lo mismo se aplica a los defectos, aun- [1] Vazquez, C. E.; Simões, G. S; Albert, R. M., “Análise de Pontos de Função: Medição,
que no hay costo adicional para las correcciones, esto puede afectar la Estimativas e Gerenciamento de Projetos de Software”. 13ª ed., São Paulo-Brasil: Editora
fecha de entrega de una solución o incluso provocar un daño muy grande Érica, 2013.
al negocio si la manifestación del defecto ocurre después del despliegue [2] International Function Point User Group. http://ifpug.org
del software. Por lo tanto, es una buena práctica, el uso de SLA’s en los [3] United Kingdom Software Metrics Association. http://uksma.co.uk
contratos basados en la medición funcional. [4] Common Software Measurement International Consortium (COSMIC).
http://cosmicon.com
Dificultades comunes [5] NESMA. http://nesma.org
Una dificultad para la adopción del modelo de contrato basado en el tama- [6] Finnish Software Measurement Association (FISMA) http://fisma.fi
ño funcional es la poca madurez en proyectos en muchas organizaciones. [7] C. Jones. “Conflict and Litigation Between Software Clients and Developers”,
Para aquellos que están en un modelo basado en hora-hombre, existe un Software Productivity Research, Versión 10 . abr. 2001

Guilherme Siquiera Simões es socio y director de FATTO Consultoría y Sistemas, donde actúa como consultor e instructor en servicios de consultoría y capacitación de medición, esti-
mación y requisitos de proyectos de software. Es autor del libro “Análise de Pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software”, el más vendido en Brasil
sobre este tema.

SG.COM.MX 035
P ARQUITECTURA

Seguridad
y uso de
Frameworks —
Por Humberto Cervantes, Rick Kazman y Jungwoo Ryoo

En esta ocasión resumiré un trabajo que presenté en la conferencia


SATURN 2014 de arquitectura de software junto con mis colegas Rick
Kazman y Jungwoo Ryoo. Rick Kazman es investigador del Software
Engineering Institute y académico en la Universidad de Hawaii. Jungwoo
Ryoo es investigador de la Universidad del estado de Pensilvania y ex-
perto en temas de seguridad. Cabe señalar que la conferencia SATURN,
organizada por el SEI, está enfocada a los practicantes y que este trabajo
fue muy bien recibido por dicha comunidad, por lo que considero que pue-
de ser de interés para los lectores de esta sección.

Enfoque arquitectónico hacia la seguridad


La seguridad del software es una preocupación cada vez más importan-
te para las organizaciones. Sin embargo, pocos arquitectos abordan este
atributo de calidad de manera estratégica. Los arquitectos y desarrolla-
dores frecuentemente ponen un énfasis mayor en satisfacer los reque- Figura 1. Categorización de tácticas de seguridad.
rimientos funcionales, y la seguridad usualmente es aplicada como un
“parche” durante o después de que la aplicación ha sido desarrollada.

Desarrollar código enfocado a la seguridad es una tarea compleja y, por • Sistema 3. Una aplicación interna programada en Java por una empre-
ello, frecuentemente se recurre a la adopción y uso de frameworks que se sa mexicana. Este sistema representa el enfoque de adopción completa.
enfocan en atender distintas áreas de la seguridad como pueden ser el Utiliza Spring security [2] como framework primario de seguridad pero
control de acceso, el cifrado y la validación de entradas entre otras. también utiliza el framework ZK [3] en la capa de presentación, que
también brinda protección de ataques comunes en esta capa.
Podemos identificar tres enfoques relativos a la adopción de frameworks
como parte del diseño de la arquitectura para resolver la seguridad: Estos sistemas fueron analizados utilizando la herramienta IBM AppScan
que analiza alrededor de 33 tipos distintos de vulnerabilidades tales como
• No adopción: La seguridad no es considerada dentro del diseño de la inyección de SQL, negación de servicio o indexado de directorios. La he-
arquitectura y solamente se codifican soluciones ad-hoc para tratar as- rramienta genera un reporte de resultados indicando la cantidad de vul-
pectos de seguridad. nerabilidades identificadas, agrupadas por severidad. El análisis se enfocó
• Adopción parcial: Se introducen frameworks de seguridad después del únicamente en los aspectos de software, por lo que se deshabilitó hard-
diseño inicial de la arquitectura. ware de seguridad tal como firewalls.
• Adopción completa: La seguridad es considerada dentro del diseño ini-
cial de la arquitectura y parte de las decisiones del diseño incluyen el uso Adicionalmente se realizó una entrevista a los arquitectos de los distintos
de frameworks enfocados a la seguridad. sistemas para entender los enfoques de seguridad que siguieron. Estas en-
trevistas se basaron en la lista de 17 tácticas de seguridad que se muestra en
Caso de estudio la figura 1. Para cada una de las tácticas se le preguntó al arquitecto si la había
Con el fin de comprender las consecuencias de los tres enfoques des- considerado y, en caso afirmativo, qué medidas había tomado al respecto.
critos anteriormente, realizamos un estudio sobre tres distintos sistemas
empresariales accesibles vía web: Resultados
La tabla 1 presenta un resumen del resultado del análisis sobre los distin-
• Sistema 1. Un sistema de administración de registros médicos de fuente tos sistemas.
abierta llamado OpenEMR [1]. Desarrollado en PHP y representa el enfo-
que de no adopción. Como se puede observar de la tabla, los enfoques de adopción parcial y
• Sistema 2. Un portal web desarrollado usando HTML y JSP. En un prin- completa tienen los mejores resultados ya que ninguno de estos sistemas
cipio utilizaba un enfoque de no adopción y posteriormente se decidió exhibió vulnerabilidades de severidad alta. En el caso del sistema 2, llama
agregar una solución comercial para mitigar riesgos de seguridad en el la atención que al introducir un framework de seguridad se eliminaron
código, aplicando así un enfoque de adopción parcial. Nos referiremos a por completo las vulnerabilidades de severidad alta, y las medianas se
éste como “Sistema 2 Antes” y “Sistema 2 después”. recortaron a la mitad.

036 SG.47
ARQUITECTURA P

“La seguridad es un aspecto de gran


importancia en la mayoría de las aplicaciones.
Se le debe dar una consideración primordial
como parte del diseño de la arquitectura”.

Tabla 1. Resultado del análisis de seguridad.

Por otro lado podemos apreciar que, a excepción del sistema 3, en los Es conveniente, además, atender la seguridad usando una combinación
demás casos una parte de las tácticas fueron implementadas mediante de software y hardware como, por ejemplo, cortafuegos.
programación ad-hoc, y no usando frameworks u otros mecanismos ex-
ternos. Podemos observar una relación entre el esfuerzo que estimaron Una recomendación adicional es que al diseñar la arquitectura de un sis-
los arquitectos para satisfacer aspectos de seguridad y el número de tác- tema, conviene tomar el catálogo de tácticas mostrado en la figura 1 a
ticas implementadas de manera ad-hoc. manera de checklist para asegurarnos que estamos cubriendo las distin-
tas tácticas de seguridad.
Como era de esperarse, el enfoque de adopción completa resultó ser el
mejor ya que el sistema en que se usó, es decir el sistema 3, no tuvo vulne- Conclusión
rabilidades de severidad alta, y el esfuerzo que el arquitecto estimó haber La seguridad es un aspecto de gran importancia en la mayoría de las
dedicado a atender aspectos de seguridad fue bajo en comparación con aplicaciones y es por ello que se le debe dar una consideración primor-
los demás sistemas, además de que este fue el sistema en el cual se im- dial como parte del diseño de la arquitectura. El considerar la seguri-
plementó la mayor cantidad de tácticas. dad desde el principio y usar frameworks para soportarla puede dar
excelentes resultados.
Consideraciones
La muestra de sistemas que se usó para este estudio es muy pequeña y Aprovecho este espacio para comentarles que estamos buscando más
esto impide llegar a conclusiones definitivas. Sin embargo, y a pesar del casos de estudio por lo cual si están interesados en que alguna de sus
tamaño de la muestra, los resultados obtenidos permiten emitir la reco- aplicaciones empresariales forme parte de este estudio no duden en con-
mendación siguiente: la seguridad es un atributo de calidad que no se tactarme en hcm@xanum.uam.mx. Los resultados del análisis y los datos
debe dejar “para después” y es conveniente elegir frameworks como parte de su organización serán confidenciales.
de las decisiones de diseño de la arquitectura.
En http://goo.gl/cZUIi5 pueden encontrar un video de la presentación de
El uso de frameworks tiene sentido pues quien desarrolla una aplicación este trabajo realizada en SATURN 2014.
para un dominio particular generalmente no es un especialista en temas
de seguridad. Por otro lado, intentar desarrollar código ad-hoc para satis- En http://goo.gl/plbwrJ pueden encontrar una lista de frameworks de segu-
facer aspectos de seguridad consume recursos valiosos del proyecto que ridad (en constante evolución).
podrían más bien estar enfocados en resolver la problemática de negocio.

Las únicas dificultades asociadas con el uso de frameworks para manejar —


la seguridad son las posibles curvas de aprendizaje asociada con los fra- Referencias
meworks, y la necesidad de mantener actualizados los frameworks para [1] Bass, Clements y Kazman, “Software Architecture in Practice”, 3a Edición, Addison-
estar al día respecto a las nuevas amenazas que aparecen con el tiempo. Wesley Professional, 2012.

El Dr. Humberto Cervantes es profesor-investigador en la UAM-Iztapalapa y consultor independiente especializado en arquitectura de software. Está certificado como ATAM Evaluator y
Software Architecture Professional por parte del Software Engineering Institute.

SG.COM.MX 037
P UX

A La Defensa
De Los Usuarios
SIETE TÉCNICAS UX PARA CAMBIAR EL MUNDO

Por Misael León

Algo nos sucedió en el camino. Siempre vamos de prisa buscando métodos de diseño es muy flexible, haciendo la adopción de UX Research
resultados rápidos. La cultura moderna es aquella de la gratificación in- en un ambiente Agile bastante factible.
mediata. Dedicamos poco tiempo a entender lo que necesitamos para
lograr nuestros objetivos. La lógica nos dice que si actuamos rápido ob- Incorporar prácticas de UX no es solamente responsabilidad del UX de-
tendremos resultados rápidos. Este apresurado tren de pensamiento se signer, sino de todos los involucrados en el ciclo de desarrollo del produc-
ha generalizado a tal grado que incluso ha contagiado hasta el proceso to. Todos los involucrados deben reconocer que el usuario es el centro
de desarrollar y crear productos de software. ¡Genial! Pero, los resultados de nuestro trabajo, es la única manera de asegurar que nuestro producto
casi nunca son óptimos porque son… pues, apresurados. se incorporará fácilmente a la vida de las personas. No olvidemos que
diseñamos para humanos, y vaya que los humanos somos seres inmensa-
Diseñadores y desarrolladores por igual hemos vivido las consecuencias de mente complejos. Suena como chiste, pero lo olvidamos muy a menudo.
un proyecto no planeado adecuadamente, o aún peor, un proyecto basado Suponer comportamientos es cómodo, pero es altamente riesgoso desde
en meras intuiciones sobre los que usuarios desean y necesitan. Todos los una perspectiva de negocios.
involucrados opinan sobre lo que el producto debe hacer y qué caracterís-
ticas debe contener. Nos enamoramos de la idea y comenzamos a trabajar. Comienza hoy: siete metodologías UX
No tenemos tiempo de investigar. Rápido, rápido, rápido. Una verdadera El objetivo del UX Design es producir una experiencia memorable y positiva
receta para el desastre. en los usuarios. UX Design no es una ciencia exacta, es resultado de una
serie de técnicas que ayudan a identificar e influir en la percepción que las
Sin embargo nosotros no somos los usuarios y nuestras suposiciones personas tienen sobre un producto o servicio. A continuación presento sie-
como expertos son solamente eso, suposiciones educadas. Es una con- te técnicas populares de UX que permiten explorar los modelos mentales
tradicción tan obvia que a menudo la pasamos por alto, queremos ser de tu audiencia, descubrir oportunidades, y generar ideas efectivas:
proveedor y cliente al mismo tiempo. Es casi como trabajar con los ojos
cerrados. Factores como la falta de retención de usuarios nos abren los Evaluación Heurística. Esta es una manera poco costosa de evaluar la
ojos y nos obligan a corregir, deshacer y rehacer. ¡Y vaya que el re-trabajo usabilidad de una interfaz. Es realizada por un grupo de expertos en User
es costoso en nuestra industria! Experience, quienes analizan la interfaz de acuerdo a una serie de princi-
pios de usabilidad, como prevención de errores, uso de lenguaje común,
Suponer vs entender retroalimentación usuario-sistema, minimizar la carga de memoria, etcé-
Afortunadamente no todo es caos y desesperación, este tipo de re-traba- tera. El objetivo es limpiar la interfaz de errores obvios de usabilidad y
jo se puede evitar si entendemos lo que los usuarios realmente necesitan, realizar las correcciones pertinentes.
si apreciamos cómo piensan y viven. Actuando de esta manera podre-
mos sentir verdadera empatía por ellos, y como consecuencia resolver de Rapid Contextual Design. Con este método puedes observar usuarios
manera efectiva los problemas que enfrentan diariamente a través de la en su propio ambiente. El objetivo es entender cómo las personas inte-
tecnología que desarrollemos. ractúan con tu producto en un contexto real. Haciendo las anotaciones
necesarias puedes tener una idea más clara del problema a resolver. Para
Destinar tiempo para realizar investigación de usuario utilizando un mar- generar ideas de diseño las observaciones se interpretan mediante el uso
co metodológico, nos provee un punto de referencia más realista. Nos de herramientas de análisis tales como diagramas de afinidad. De esta
permite ejecutar de una manera más certera esa idea genial que tenemos, manera compruebas si tu producto está acorde al comportamiento de tus
pero esta vez, acorde al modelo mental y estilo de vida de nuestros usua- usuarios [2].
rios. La investigación de usuarios es el fundamento principal del diseño de
experiencia del usuario (UX Design). Rapid Paper Prototyping + Usability Testing. Existen requisitos mínimos
que un producto de software debe contemplar para que los usuarios pue-
Como bien dice Hoa Loranger: “UX sin User Research no es UX” [1]. Sin dan completar la tarea que tienen en mente. Si deseas aprender sobre el
conocer para quiénes estamos diseñando, y sus particularidades de com- desempeño real de tu producto necesitas realizar pruebas de usabilidad
portamiento, no podremos llegar a una solución efectiva. La investigación regularmente. Puedes probar tus ideas tan pronto como tengas el primer
disuelve la contradicción. boceto en papel. Esta es una manera eficaz para:
1. Descubrir qué tan difícil es para tus usuarios aprender a usar tu producto.
La investigación de usuario se puede incluir en el desarrollo de productos 2. Conocer qué obstáculos enfrentan al momento de completar tareas.
de software en cualquier ambiente, incluyendo Agile. UX Research no es 3. Identificar problemas de usabilidad a un bajo costo y a tiempo.
enemigo de Agile. Incluso son compatibles ya que ambos enfoques bus- 4. Evitar desperdiciar recursos de desarrollo o diseño en features que
can prototipar, descartar y/o validar ideas. La variedad y formato de los no funcionarán.

038 SG.47
UX P

Kano Analysis. Es una metodología cuantitativa que permite descubrir


cuáles características tienen el mayor grado de satisfacción entre tus
usuarios. Es un tipo especial de encuesta que te ayuda a determinar dón-
de invertir tus recursos. Kano también permite determinar cuáles son
esas features claves que lograrán diferenciar tu producto de la compe-
tencia. Al ser un método cuantitativo, brinda un sustento estadístico para
apoyar la toma de decisiones.

Business Origami. Si tu producto es parte de un sistema complicado, deja


que los usuarios lo simplifiquen para ti. Business Origami es una herra-
mienta de investigación muy poderosa para sintetizar y modelar comple-
jos sistemas de interacción entre usuario-producto-ambiente. Se trata de
un taller donde los usuarios hablan de su experiencia con un producto o Figura 1. Taller de generative research.
servicio desde su perspectiva única. Si a las personas les brindas la opor-
tunidad de contar su propia historia, ¡lo harán sin duda! Sobre todo si les
provees de objetos tangibles (tokens) con los cuales puedan narrar sus
experiencias. De esta manera podrás visualizar todo el viaje que realizan UX Research: entender para impactar
para lograr un objetivo y cómo tu producto entra en esa historia. Es una Aun cuando el campo de UX Design ha ganado popularidad, las malas
manera efectiva de identificar problemas y convertirlos en oportunidades. prácticas siguen plagando nuestros proyectos. Alguien debe romper el
ciclo y tú puedes ser el inicio de este cambio de mentalidad. La investiga-
Scenario Swimlanes. Para que una experiencia resulte positiva para tus ción de usuarios te ayudará durante el confuso proceso de descubrir qué
usuarios se requiere la interacción de muchas piezas. Esta técnica ilustra es lo que las personas quieren y necesitan. Escucha y observa a tus usua-
precisamente cómo todas las piezas de un sistema interactúan entre sí. rios con verdadera empatía. Ellos tienen las respuestas que buscas. Nunca
Los diferentes roles involucrados en cada parte del flujo de la experiencia olvides que la gente utilizará el producto de software en el cual trabajas.
(touch points) son mostrados por niveles. Desde la reacción subjetiva del Tu idea, tu diseño y tu código resolverán problemas de personas reales, en
usuario, los procesos de negocio, los protocolos de atención, las herra- el mundo real. Comienza a sentir curiosidad por saber quiénes son, cómo
mientas, la tecnología de información, hasta los atributos del sistema. viven y cómo tu trabajo impactará sus vidas. Te aseguro que sentirás una
gratificación duradera al ver que tu esfuerzo tiene un impacto positivo en
Generative Research. Bajo este enfoque “generativo” invitas a usuarios este mundo que va de prisa.
(ya sea reales o potenciales) a participar en una serie de actividades co-
laborativas. Este enfoque considera que las personas son los verdaderos En la sección de referencias he dejado enlaces a videos donde se habla
expertos ya que poseen un conocimiento más amplio de sus propios esti- con mayor detalle de cada una de las técnicas mencionadas. Estos videos
los de vida. Los participantes crean algo, ya sea un collage, un prototipo o forman parte de los contenidos de una iniciativa en la cual colaboro: The
un artefacto. Al proporcionarles objetos tangibles para jugar e interactuar UX Clinic, ahí mostramos los resultados de casos de estudio sobre UX
es más probable que expresen sus sentimientos y puntos de vista par- Design. Te invito a que nos visites en http://theuxclinic.com
ticulares. El objetivo es generar un entendimiento más amplio sobre el
problema a resolver. Este tipo de talleres son una manera efectiva para
entender y sentir empatía por tus usuarios. La figura 1 muestra un ejemplo —
de un taller de generative research. Referencias
[1] H. Loranger. “UX Without Research Is Not UX”. Nielsen Norman Group.
Cambiando el mundo desde el escritorio http://www.nngroup.com/articles/ux-without-user-research
Los UX Designers y la industria de desarrollo de software en general tie- [2] Heuristic Evaluation.
nen la oportunidad de crear productos que impacten de manera positiva http://theuxclinic.com/casestudies/13-heuristic-evaluation-salescaddy
la vida de las personas. En nuestras manos está la posibilidad de mejorar [3] Rapid Contextual Design
la condición humana a través de la empatía y la creación de herramientas http://theuxclinic.com/casestudies/2-contextual-design-daisy-wheel
para resolver problemas. [4] Rapid Paper Prototyping.
http://theuxclinic.com/casestudies/3-rapid-paper-prototyping-spork
Si aceptas esta misión recuerda nunca estancarte en una suposición. [5] Kano Analysis. http://theuxclinic.com/casestudies/4-kano-analysis-bidaway
Mejor sal del edificio y ponla a prueba. Al tiempo, sal y ponla a prueba [6] Business Origami. http://theuxclinic.com/casestudies/5-business-origami-crowdswell
de nuevo. Si no lo haces las reglas del juego pueden cambiar sin que [7] Scenario Swimlanes.
te des cuenta. El diseño y el desarrollo de software son procesos diná- http://theuxclinic.com/casestudies/6-scenario-swimlanes-olset
micos, no son entregables que se realizan una vez para luego quedar [8] Generative Research.
olvidados y estáticos. http://theuxclinic.com/casestudies/7-generative-research-sureify

Misael León (@misaello) es UX Design Researcher en Nearsoft, Inc. una empresa de cultura democrática que desarrolla software y produce clientes felices. Es colaborador del UX Clinic,
una iniciativa dedicada a difundir las mejores prácticas de UX. Es fanático de los libros, el cine, los chocolates. Promotor de la filosofía del asombro.

SG.COM.MX 039
P TESTING

Sobre
Nuestra Misión
como Testers —
Por Pilar Barrio

Seguramente lo primero que nos han transmitido o se nos ocurre es El “no pensé que iban a probar a este nivel de detalle” o “no pensé que
que nuestra misión es encontrar defectos y/o lograr entregar aplicaciones iban a probar esto” o frases similares, son objeciones que típicamente
libres de defectos. aparecen cuando algunos miembros del equipo de proyecto no entienden
por qué estamos ahí, pero también reflejan que los primeros que tene-
Pero esto es sólo una pequeña parte y es una visión muy acotada del apor- mos que tener clara nuestra misión somos nosotros, para aplicar nuestras
te de valor que nuestro trabajo puede brindar a una organización si es bien mejores técnicas, prácticas, herramientas, imaginación, conocimientos,
entendido y encarado (y recordemos que no existen aplicaciones libres de ética, para lograr cumplir esa misión.
defectos, a lo sumo, si hacemos bien nuestro trabajo, estarán libres de los
defectos importantes y relevantes para los interesados). El testing es un servicio. Dada esa definición, para poder brindarlo “con
calidad” (o sea cumpliendo las expectativas del cliente) necesitamos:
Por otra parte, fuera de considerar únicamente lo que nosotros pensamos • Entender expectativas y objetivos del cliente y otros interesados (pue-
que es testear, debemos tener en cuenta qué esperan de nuestro servicio o den ser diferentes).
actividad quienes nos contratan o convocan, qué expectativas tienen: • Cuestionar y evaluar el producto.
• ¿Por qué una organización cree que es valioso tener un área de testing o • Focalizar los riesgos, entender y gestionar los cambios que afecten al
contratar ese servicio en un proyecto? servicio (en el proyecto, el producto, el contexto).
• ¿Qué espera obtener como retorno de su inversión en el área o el servicio? • Investigar, explorar, brindar y facilitar la retroalimentación.
- Mejor calidad en sus productos, • Confirmar, comunicar.
- Clientes o usuarios satisfechos, • Proveer información relevante para la toma de decisiones, a distintos
- Software “cero defectos”, niveles de interesados.
-… • Aprender, seguir capacitándonos.
- Todas las respuestas anteriores…
• ¿Qué espera que hagamos? Así ayudaremos a completar el proyecto entregando un producto útil y
- Prueba durante el ciclo de vida de desarrollo de un producto, exitoso para todas las partes. Para lograrlo es fundamental una buena co-
- Prueba de homologación de un producto adquirido, municación y relación con todos los interesados por parte del equipo de
- Pruebas de atributos de calidad específicos, seguridad, perfor- proyecto, así como lo es entender el beneficio que brindará al negocio.
mance, otros,
-… La buena comunicación ayudará a lograr que los interesados transmitan
- Todas o algunas de las respuestas anteriores… mejor sus expectativas y necesidades, se involucren más en el día a día
del servicio y reciban finalmente un producto que perciban como de cali-
Difícilmente podemos cumplir los objetivos de quienes nos convocan o dad, sin tantos tropiezos.
contratan, sean clientes internos o externos a nuestra organización, si no
identificamos claramente nuestra misión: En relación a estos puntos, habría seguramente mucho más que decir y
cada uno puede tener su propia visión.
Qué tipo de testing tenemos que ejecutar, en qué contexto, en qué mo-
mento del proyecto / ciclo de vida del producto, con qué restricciones y A quienes les interese reflexionar más sobre este tema, les recomiendo la
recursos, con qué objetivos. discusión “Question: Tester’s Freedom of Thought” [1] en el blog de James
Bach, que aunque es de 2006, sigue siendo muy valiosa.
En otras palabras, si no entendemos para qué nos llaman, no podremos
cumplir las expectativas. Las expectativas y las percepciones del cliente
y otros interesados podrían entonces diferir mucho, con lo que podrían
concluir que hacer testing no aporta valor, o que nuestros servicios no
aportan valor.

Y esto es a mi criterio uno de los orígenes de la “resistencia” que encon- Referencias
tramos en algunos proyectos y una posible fuente de malentendidos o [1] J. Bach. “Question: Tester’s Freedom of Thought”.
conflictos entre los integrantes de un equipo de proyecto. http://www.satisfice.com/blog/archives/61

Pilar Barrio la Iglesia es socia fundadora de RMyA S.R.L., especializada en consultoría sobre aseguramiento de calidad y testing.
pbarrio@rmya.com.ar

040 SG.47
VOCES V

Los Bugs del Testing en México


MADUREZ EN TIEMPOS DE PRUEBAS

Por Carlos González

En números anteriores de SG, Sandra Berenice Ruíz com- técnicas rudimentarias que están poco dispuestos a dejar, Carlos González cuen-
partió un interesante artículo sobre las retrospectivas y ten- mientras que los integrantes jóvenes tienen una forma- ta con experiencia en la
dencias sobre testing y nos hacía la invitación a dar pasos ción poco robusta (consecuencia de lo que comento en implementación de pro-
firmes hacia los nuevos retos que ya se están presentando el punto anterior). Básicamente, el grueso de nuestros cesos y metodologías de
en la industria. Sin embargo, nuestro día a día nos hace for- testers aprendió a trabajar en base a sentido común y sus prueba, certificado por el
mularnos la pregunta: ¿realmente estamos impulsando un necesidades específicas, es decir que solamente cuentan ISTQB y conferencista en
testing de calidad? con una formación empírica. Entre otras cosas, esto pro- SGCE 2014. Creador de la
voca discrepancia en la forma de trabajar entre distintos iniciativa Latin American
No se trata solamente de hacer presencia, certificar gente testers. Un ejemplo de ello es la gran diferencia que suele Software Testing (http://
o abrirnos camino. Se trata, incluso, de ser ejemplo a otras existir al diseñar casos de prueba, lo que provoca proble- testingla.com) la cual
áreas en la empresa de que nuestro trabajo es de calidad, y mas de entendimiento; genera retrabajo, falsas estimacio- busca establecer crite-
que genera un verdadero valor. nes, y retrasos en la ejecución. rios sólidos para el de-
sarrollo y madurez del
México ha hecho un muy buen esfuerzo al ser el segundo Matando a la hormiga, no al hormiguero testing en Latinoamérica.
país en Latinoamérica con mayor número de certificados por Los perfiles formados en testing “a prueba y error”, la rea- Actualmente se desem-
el ISTQB en el nivel de fundamentos, lo que nos deja ver el lización de tareas rutinarias y una cultura de corregir en peña como Tester en
crecimiento y especialización de nuestra área. En este creci- lugar de prevenir repercuten en nuestros procesos actuales MTP México.
miento se vuelve fundamental que los que estamos involu- de calidad. Seguimos con la idea de que el testing consiste
crados seamos evangelistas y no sólo creyentes. El reto ya no principalmente en detectar defectos de software, creando
es poder aterrizar al testing, es ser autocríticos y perfeccio- así una mentalidad de que la detección de defectos es el fin,
nar lo que ahora realizamos para lograr mejores resultados. cuando en realidad sólo es el medio para llegar a la preven-
Sobre todo, sabiendo que nuestro país ha dado pasos impor- ción de defectos.
tantes en materia de competitividad TI en el mundo.
Organizaciones y procesos no diseñados
Es con este afán que expongo a continuación cuatro rasgos para testing
negativos que en general he detectado en organizaciones de En organizaciones poco maduras, los procesos y estructura
software en nuestro país y que considero que debemos co- no tienen considerados a los equipos y actividades de tes-
rregir para poder mejorar el nivel e impacto del testing. ting, por lo que se terminan incorporando “con calzador” y
con resultados de poco impacto. Toda organización debe
No se reconoce la especialización preguntarse qué es lo que se pretende al incorporar a un in-
del perfil de tester geniero de pruebas o a todo un equipo, y cómo van a sopor-
Desafortunadamente, en México todavía predomina la per- tar los esfuerzos de dicho equipo.
cepción de que para dedicarse al testing no se requieren co-
nocimientos y aptitudes específicas y por lo tanto cualquie- Algunas de las preguntas que pueden surgir como resultado
ra puede dedicarse a el testing. Muestra de ello es que se de este ejercicio son:
siguen solicitando testers sin conocimientos en estándares, • ¿Mi proceso de desarrollo tiene la flexibilidad para integrar
mejores prácticas, aptitudes específicas, e incluso sin tener un equipo de pruebas?
una formación en TI. Esto es señal de una baja madurez de • ¿Cuánto presupuesto vamos a disponer para herramientas
esta práctica en nuestra región. de testing?
• ¿Qué actividades harán los testers? ¿Aporta calidad que
Formación empírica los testers también modifiquen código, realicen análisis, de-
Al trabajar con distintos equipos de testing a través de finan requerimientos, etc.?
los años, con frecuencia me he encontrado con que los • ¿Qué aspectos probaremos y qué prioridad daremos a cada
profesionistas con mayor experiencia siguen procesos y uno? ¿funcionalidad?, ¿desempeño?, ¿seguridad?

SG.COM.MX 041
P MAKER ZONE

Generación de
Mapas de Alta Resolución
con Drones —
Por Quauhtli Martínez

El campo de los vehículos aéreos no tripulados, conocidos como dro-


nes, ha cobrado gran interés en los últimos años. Una aplicación común
de los drones es la Ortofotografía, es decir la generación de mapas digita-
les. Tradicionalmente, estos mapas se han generado utilizando avionetas,
globos aeroestáticos, y satélites. Sin embargo, hoy en día es perfectamen-
te factible hacer esto con drones, con un costo mucho menor que las op-
ciones anteriores.

Componentes de un dron
Antes de entrar en detalle, es importante dar a conocer cómo está cons-
truido un dron comercial. A grandes rasgos, consta de los siguientes
componentes:
• Motores. Figura 1. Dron con montaje de cámara.
• Carcaza (frame).
• Hélices (propellers).
• Distribuidores de corriente eléctrica (Power Board).
• Controladores de velocidad (Electronic Speed Controls). 3. Ejecución del vuelo y captura de imágenes aérea.
• Radio transmisores/receptores por radiofrecuencia. 4. Procesamiento de imágenes y validación de la calidad.
• Controlador de vuelo (Flight Controller) con puertos de entrada y salida 5. Generación del modelo tridimensional y análisis.
para conectar los diferentes dispositivos.
• Baterías y sus respectivos cargadores. Inspección física del espacio a volar
En la primera etapa se realizó la inspección física del espacio a volar con
Adicionalmente, existe una gran cantidad de componentes y opciones el objetivo de identificar elementos físicos que pudieran causar una in-
para tareas específicas, tales como sensores de diversos tipos (posicio- terrupción no deseada al vuelo del dron, por ejemplo, árboles muy altos,
namiento, temperatura, presión, etcétera), cámaras, pinzas electromecá- antenas, fuentes de electromagnetismo, edificios, etcétera.
nicas, sistemas de telemetría, por mencionar algunos.
Con esta inspección fue posible detectar una antena cuya altura llegaba
Caso de estudio hasta los 30 metros de altura, parámetro que se utilizó como base para
En el presente caso de estudio se utilizó un dron tipo “cuadricóptero”, con programar posteriormente el vuelo del dron a una altura de 40 metros
un controlador de vuelo (“Pixhawk”) con capacidad de ejecutar vuelos au- para estar siempre por encima de la antena.
tónomos a través de coordenadas geo-referenciadas vía GPS. Las imáge-
nes se capturaron con una cámara Canon S100 modificada (vía software) Planeación y diseño de vuelo
que guarda la latitud, longitud y altura del punto geográfico donde fue Una vez realizada la inspección física, se llevó a cabo la planeación y el di-
tomada cada fotografía. La cámara se instaló en el cuadricóptero utili- seño del vuelo, así como la configuración de los parámetros de fotografía,
zando un soporte especial diseñado e impreso a la medida mediante una los cuales son adaptados a las distintas condiciones del plan de vuelo, por
impresora 3D. La figura 1 muestra el dron utilizado, el objeto azul en la ejemplo: la superficie a cubrir (que afecta a la rapidez con la que se deben
parte inferior del dron es el montaje con la cámara, cuyo detalle se mues- tomar las fotografías), la velocidad de vuelo, la luz del día del vuelo (que
tra en el recuadro. afecta a los parámetros del obturador de la cámara), entre otros.

El área de vuelo corresponde a un parque público en construcción en la Para esta fase, se utilizó una aplicación compatible con el controlador de
ciudad de Navojoa, Sonora. vuelo del dron, esta aplicación se conoce como “Mission Planner”, es de
código abierto y está disponible para la comunidad interesada. Dadas las
El procedimiento utilizado para la obtención de la ortoimagen y del mo- restricciones del tiempo de vuelo por batería del dron (10-15 a quince mi-
delo tridimensional del parque en construcción contó con cinco etapas: nutos por cada carga), la zona de vuelo que consta de un perímetro aproxi-
1. Inspección física del espacio a volar. mado de 313 metros x 190 metros se dividió en dos partes para poder hacer
2. Planeación y diseño de vuelo y parámetros de fotografía. un intercambio de baterías una vez terminada la primera parte del vuelo.

042 SG.47
MAKER ZONE P

Para ambas secciones, se programó un vuelo autónomo a 40 metros


de altura. La velocidad se ajustó a 5 metros por segundo y se utilizó un
intervalómetro en la cámara (vía un script enviado a la cámara a través
del Canon Hack Development Kit) para que las imágenes se capturaran
cada 3 segundos. En otros casos, es posible capturar las imágenes cada
determinada distancia, en vez de un intervalómetro, para ello se utilizan
cables especiales “disparadores” conectados al controlador de vuelo y a
la cámara. Con estos parámetros, se buscaba obtener, en un vuelo por
sección de no más de 10 minutos con un 80% de traslape en las imágenes
capturadas, lo cual es un parámetro de suma importancia para producir
una imagen final de calidad. Figura 3. Monitoreo de captura de datos en vivo.

Los recuadros morados de la figura 2 muestran el nivel de traslape espera-


do en las imágenes capturadas. La intensidad del color morado refleja qué
tanto traslape se espera en cada cuadro. Los cuadros con mayor traslape Procesamiento de imágenes
generan una imagen de mayor calidad, aunque necesitan mayor procesa- Una vez capturadas las imágenes, se utilizó la aplicación Agisoft
miento para ser generados. En estas aplicaciones, 80% se considera un PhotoScan Pro para realizar el procesamiento, verificar la calidad de las
buen porcentaje de traslape en las imágenes. imágenes adquiridas (a través de un reporte de traslape), generar el or-
tomapa final, así como el modelo tridimensional y la exportación de un
archivo KML para alimentar a Google Earth.

Las imágenes individuales contaban con una resolución de 1200 x 1600


pixeles. La herramienta utilizada para el procesamiento de las imágenes
reportó una resolución de 2.5 cm por pixel. Para el cálculo exacto de la re-
lación de centímetros por pixel, existen técnicas formales más avanzadas,
sin embargo, quedaron fuera del alcance de este caso de estudio.

El primer paso para la generación de la ortoimagen y del modelo tridimen-


sional es la importación de las imágenes al software de procesamiento.
Una vez hecho, se puede observar sobre el mapa los puntos geográficos
donde fueron tomadas cada una de las fotografías tal y como se muestra
en la figura 4.

Figura 2. Nivel de traslape esperado.

Ejecución del vuelo


Una vez construidos los planes de vuelo, estos fueron enviados al UAV
a través del Mission Planner que comunicamos con el dron mediante un
módulo de telemetría via USB que utiliza el protocolo MavLink. En estos
planes de vuelo, entre otras cosas, se encontraba la trayectoria geo-refe-
renciada de cada punto por el cual el dron debía volar.

Una vez que el plan se envió al dron, se ejecutó el vuelo de manera autó- Figura 4. Puntos donde se tomaron las fotografías.
noma, con el intervalómetro de la cámara accionado para tomar las imá-
genes cada 3 segundos. Esto significaba que, una vez despegado, el dron
alcanzó cada punto geo-posicionado sin necesidad de ser controlado por
el piloto a través de un control remoto con radio-frecuencia, A partir de estas fotografías, la aplicación realizó un intenso procesa-
miento en el que analizó cada pixel de cada una de las imágenes captu-
Se utilizó el Mission Planner para supervisar en tiempo real las condicio- radas en el cual encuentra similitudes y continuidades; con ello, la apli-
nes del UAV durante el vuelo, así como para validar la trayectoria que cación, crea un mosaico en el que queden unidas todas las fotografías
seguía, entre otros datos. En la figura 3 se muestra un ejemplo de cómo se en una única imagen, manteniendo la coherencia y la resolución en la
obtiene la información en vivo del dron en un vuelo autónomo. imagen final (ortoimagen).

SG.COM.MX 043
P MAKER ZONE

Figura 5. Nivel de traslape de imágenes. Figura 6. Ortoimagen final.

Para verificar la calidad de la imagen final, además de revisar ocularmente conservación de sitios arqueológicos, de hecho, ya hay empresas que se
la ortoimagen generada, es posible verificar vía la herramienta el traslape dedican exclusivamente a ofrecer servicios para la arqueología utilizando
de imágenes (el cual se buscó que fuera de un 80%). En la figura 5 se drones y fotografía aérea geo-referenciada [3].
puede observar el nivel de traslape obtenido con las imágenes captura-
das. Las áreas rojas muestran los puntos donde sólo se utilizó una imagen; Por otro lado, para tener una mayor precisión en la generación de un mo-
y las áreas azules oscuro, más de 9 imágenes. Al tomar una muestra de delo tridimensional y en una ortoimagen, es importante recalcar la im-
cada una de las zonas se pude observar el porqué de las variaciones en el portancia de la fase de captura de imágenes. En el caso estudiado en este
traslape: en la parte coloreada con verde intenso, se observa que el dron artículo, el modelo tridimensional generado no fue lo suficientemente
capturó más imágenes que en la parte de color amarillo. rico como para ser utilizado en una aplicación profesional, debido a que
no hubo suficientes imágenes para generar los volúmenes de los objetos
De manera general, el porcentaje de traslape obtenido fue lo suficientemen- contenidos en la imagen con una mayor precisión, para ello es necesario
te bueno para generar una ortoimagen coherente y con calidad suficiente fotografiar el sitio a diferentes alturas y perspectivas.
para realizar este estudio. Para trabajos que requieren una mayor calidad,
este porcentaje de traslape probablemente no hubiese sido suficiente. Finalmente, el uso de drones para la construcción de ortoimágenes y mo-
delos tridimensionales a escala, ya es algo al alcance de cualquier usuario
Generación de modelo tridimensional y análisis que pueda adquirir equipo como los que se utilizaron en este estudio (2
Una vez construida la ortoimagen, se generó a través de la misma he- mil dólares aproximadamente, incluyendo la cámara), siendo esto algo muy
rramienta el modelo tridimensional, el cual, añade volumen a los obje- novedoso, con múltiples aplicaciones y con el potencial para generar nue-
tos de la ortoimagen. Este modelo puede ser exportado y utilizado en vos negocios en estos momentos.
cualquier otra herramienta para manipulación de imágenes tridimen-
sionales. En este caso, se utilizó el servicio en la nube Sketchfab para —
que el modelo pudiera ser consultado vía web a través del siguiente Referencias
sitio web http://goo.gl/3oCgta. [1] Orto-imagen del parque.
https://mangomap.com/maps/34662/Mapa-Parque-Navojoa
Conclusiones [2] Modelo tridimensional del parque. http://goo.gl/3oCgta
Al tener una imagen geo-referenciada y un modelo tridimensional a esca- [3] Aerial Digital Archeology & Preservation. http://dronearchaeology.com
la, es posible utilizar estos modelos para diferentes propósitos. Por ejem- [4] Mission Planner. http://planner.ardupilot.com
plo, en la construcción y arquitectura, estas imágenes pueden ser impor- [5] Agisoft PhotoScan. http://www.agisoft.com
tadas en aplicaciones tipo CAD o GIS para realizar diferentes mediciones [6] Protocolo MavLink. http://qgroundcontrol.org/mavlink/start
como superficies, distancias y volúmenes, además de la posibilidad de [7] Controlador de vuelo PixHawk. https://pixhawk.org/
inspeccionar visualmente el avance de la obra y detectar anomalías que, a [8] Canon Hack Development Kit. http://chdk.wikia.com/wiki/CHDK
simple vista, no podrían ser detectadas debido a la perspectiva a nivel de [9] KAP UAV Exposure Control Script.
suelo que comúnmente se tiene. Otro ejemplo de caso de uso, sería en la http://chdk.wikia.com/wiki/KAP_UAV_Exposure_Control_Script

Quauhtli Martínez (@quauhtlimtzz) es director en SOA Software Factory y cofundador de Droneware, empresa especializada en la creación de soluciones usando drones.
http://droneware.mx

044 SG.47
ALGORITMIA P

Cinco
Problemas
para Menos de 1 Hora —
Por Pedro Galván

Como parte de la revisión editorial que estamos haciendo en Software 5. Usando los números del 1 al 9 en orden consecutivo, podemos realizar
Guru, hemos decidido abrir una nueva sección dedicada a algoritmia y 3 operaciones entre cada dígito: suma, resta o concatenación, para que el
programación. Conforme buscaba contenido para esta sección, me reco- resultado de las operaciones conjuntas de como resultado 100. Por ejem-
mendaron un artículo del blog de Santiago L. Valderrama [1] donde co- plo: 1+2+34-5+67-8+9=100. Entonces, escribe un programa que encuen-
menta que le sorprende que una gran cantidad de personas que hoy en tre todas las posibilidades de realizar esto.
día aplican para posiciones de ingeniero de software, en realidad no saben
programar. En sus palabras: Los primeros 3 problemas son muy sencillos, el cuarto tiene un poco de
jiribilla y el quinto sí es más complicado. Personalmente, creo que quien
“Imagino que es aceptable aplicar para una posición de desarrollador web pueda resolver el quinto problema en menos de 1 hora, merece “puntos
si sólo sabes JQuery, pero ¿desde cuándo “ingeniero de software” significa extra”, pero no descartaría a quienes no puedan hacerlo.
que basta con saber HTML, Javascript y CSS?
En las referencias de este artículo encontrarás enlaces a ejemplos de solu-
Espero que quienes aplican a mi vacante de ingeniero de software, puedan ción que Santiago sugiere para los problema 4 y 5. Antes de consultarlas,
realmente programar. Es decir, que reciban un problema y programen una te invito a que intentes resolver los problemas por tí mismo y solo consul-
solución utilizando cualquier lenguaje de programación que quieran”. tes la solución hasta que hayas terminado o te hayas rendido.

Concuerdo con Santiago, y justamente es el espíritu de esta nueva sec- En futuras entregas de esta sección encontrarás artículos donde revisare-
ción en SG. mos problemas de programación y estrategias para resolverlos.

Para poder evaluar si alguien sabe programar o no, Santiago plantea un Te invito a que compartas tus soluciones como comentarios en la versión
reto con 5 problemas, indicando que un verdadero “ingeniero de soft- online de este artículo, publicada en http://sg.com.mx/revista/47/
ware” debería ser capaz de resolverlos en 1 hora. cinco-problemas-para-menos-1-hora

Comparto a continuación los problemas que plantea Santiago, y los Spoiler alert: En el caso del problema 4 verifica que tu solución sea capaz
invito a que los resuelvan utilizando el lenguaje de programación de de soportar el escenario en el que recibe una lista como [5, 50, 56]. El
su preferencia. resultado correcto en este caso no es 56505 sino 56550. Así que vas a
tener que hacer algo más que una simple comparación de strings.
1. Escribe 3 funciones que calculen la suma de los números en una lista.
En la primer función utiliza un ciclo for, en la segunda un while, y en la
tercera recursividad.

2. Escribe una función que combine dos listas alternando los elementos
de cada una. Por ejemplo, si tenemos las listas [a, b, c] y [1, 2, 3] la función
debería regresar [a, 1, b, 2, c, 3].

3. Escribe una función que calcule la lista de los primeros 100 números
Fibonacci. Por definición, los primeros números de la secuencia son 0 y 1, y —
cada número subsecuente es la suma de los dos anteriores. Referencias
[1] S. Valderrama. “Five Programming problems every Software Engineer should be able
4. Escribe una función, que dada una lista de enteros no negativos, los or- to solve in less than 1 hour”. http://swgu.ru/pu
ganice de manera que forman el número más grande posible. Por ejemplo, [2] S. Valderrama. “Solution to problem 4”. http://swgu.ru/pv
dada la lista [ 50, 2, 1, 9] el resultado sería 95021. [3] S. Valderrama. “Solution to problem 5”. http://swgu.ru/pw

SG.COM.MX 045
V VOCES

Más Allá del Software


PARTE 2. FINANCIAMIENTO Y MODELO DE NEGOCIO

Por Víctor Hernández

Victor Jesús Hernández En el artículo anterior “Cuestionamientos y servicios”, opción que deberá desecharse y pasar a la siguiente. Puede
Salinas es Coordinador tratamos las consideraciones para lanzarse a la aventura de sonar complicado de lograr considerando que las condiciones
de Servicios de desarrollar un producto (desarrollo software más los servi- de mercado, tecnológicas, legales, entre otras; no son cons-
Productos en INFOTEC. cios que lo respaldan), y ahora continuaremos con algunos tantes y cambian frecuentemente. Lo que hoy funciona, puede
Desde 2003 colabo- otros puntos que se deben considerar para el financiamiento no hacerlo mañana. Pero lo importante es asegurar que todas
ra en INFOTEC en el y el desarrollo del modelo de negocio. las acciones a realizar antes, durante y después del desarrollo,
equipo de Desarrollo contribuyan a lograr las condiciones mencionadas.
de Nuevos Productos y Comencemos con la parte del financiamiento, pues es aquí
Servicios. Fue creador y donde la mayoría de las grandes ideas terminan. Por supuesto, Algunas sugerencias de condiciones del modelo de negocio
Coordinador del área de conoces los métodos de financiamiento tradicionales con pla- que propongo deben incluir:
servicios a producto y su zos y tasas de interés considerables, por lo que muchas per- • Desarrollar poniéndose en los zapatos del cliente (cómo
normatividad. Es además sonas y empresas optan por no entrar en ellos y si lo hacen es nos gustaría que nos sirviera el producto si nosotros lo tuvié-
coordinador del progra- con mucha cautela. Sin embargo, en México existen distintos ramos que comprar).
ma de certificaciones programas federales o estatales (Según INADEM más de 100) • Planear la trayectoria completa de satisfacción del cliente
para SWB. destinados al apoyo de la innovación y desarrollo tecnológico (expectativas vs experiencias). Desde el “coqueteo” con el
por medio de subsidios, créditos, asesorías, capacitaciones o cliente, hasta que nos compra y cómo nos recomendará con
becas, los cuales (lamentablemente) no reciben la difusión sus amigos.
adecuada. Estos programas, podrían ser un buen mecanismo • Al pensar en el precio, debemos recordar que valor y costo no
de financiar tu proyecto, pues aunque deben cumplir diversos son lo mismo, y que el mismo producto tendrá percepciones de
requisitos y en algunos casos contar con la colaboración de valor distintas para cada cliente, por lo que diferenciar y segmen-
instituciones educativas o de investigación, el concursar por tar mercados puede ser una buena opción.
dichos recursos puede ser una excelente opción para buscar • Disponer canales de comunicación directa y bidireccio-
fuentes, no sólo de financiamiento, sino de recursos técnicos nal con los clientes, permite crear comunidades, mejora la
que quizás no podrías disponer de manera regular. atención y el servicio al cliente y principalmente, fomenta la
creación de “fans” de la marca, que al final se convertirán
Tan solo algunas de las dependencias que ofrecen este tipo en evangelistas, que son aún más valiosos que los clientes,
de programas son: INADEM, CONACYT (en colaboración con pues ayudarán a vender el producto por convicción y gusto
distintas entidades), PROSOFT, MexicoFIRST, o dependencias (y gratis).
estatales equivalentes. Sugiero entonces, acercarse a la cabe-
za del sector del área de aplicación de tu producto e investigar Otro aspecto a considerar al planear el modelo de negocio para el
sobre dichos programas, así como las fechas de publicación producto implica el tipo de servicios que se ofrecerán para respal-
y registro a los mismos (pero no te quedes en recepción, ve dar al mismo, y es importante considerar que aunque no se libe-
directo a las áreas de comunicación o de programas sociales). ren todos al mismo tiempo o en la magnitud deseada al momen-
to del lanzamiento, sí deben incluirse los más representativos y
Ahora bien, supongamos que ya se resolvió el financiamien- en consecuencia, se deberá contar con el suficiente personal ca-
to y estás listo para arremangarte la camisa y comenzar a pacitado y recursos técnicos y financieros necesarios para poder
trabajar. Uno de los primeros requisitos a resolver tanto para otorgarlos debidamente. Debe haber también, una proyección de
la parte financiera, como para la sustentabilidad del proyec- tiempo de cuándo y cómo se lanzarán los servicios adicionales
to, es el modelo de negocio que decidas adoptar. En lo per- que apoyen al posicionamiento del producto.
sonal me gusta pensar que un modelo válido y funcional es
el propuesto por la “Teoría de Restricciones” donde sostiene Conclusión
que deben cumplirse tres condiciones básicas: Recuerda que las marcas no son razón suficiente de compra
1. Asegurar la satisfacción presente y futura de los clientes. mientras no estén respaldadas por un valor real para el clien-
2. Asegurar la satisfacción y estabilidad presente y futura de te y que por tanto, el entender debidamente las actividades
los trabajadores y colaboradores. que éste realiza, así como su experiencia con nuestro pro-
3. Asegurar la satisfacción presente y futura de ducto (software y servicios) debe ser la guía para determinar
los inversionistas. muchas de las características básicas a incluir en el modelo
de negocio. Sin olvidar, que el producto debe enfocarse en
El postulado es, que si tu modelo de negocio no cumple con resolver las necesidades no sólo del cliente directo, sino del
alguna de estas condiciones en cualquier momento, es una cliente del cliente.

046 SG.47
C PROGRAMAR ES UN MODO DE VIDA

Los Detalles de Implementación


en la Era de las Abstracciones
UNA CHARLA ENTRE YO JEKYLL Y YO HIDE

Por Gunnar Wolf

– Me llamo Gunnar, y soy programador.


– ¡Hola, Gunnar!
– Tengo que contarles hoy respecto a mi abuso de las abstracciones y de la automatización. Por aprovechar las facilidades de un
framework completo y poderoso, me he ido olvidando de las interacciones reales. Me engolosiné con un ORM que me presenta los
datos como objetos, y me olvido de la realidad de su representación entidad-referencial. Mis métodos son todos cortitos y asumo
que el ciclo de atención a solicitudes es corto, olvidando que dejo referencias en memoria. Hago llamadas a procedimientos remotos
en proveedores SaaS y no considero que pueden fallar.
– Pero ahora estás consciente de ello. ¡Has dado el Primer Paso! ¡Ese es el camino para ser un programador!
– Sí, pero… ¿Por dónde comienzo? Hay tantas abstracciones, tanto por reaprender. A todos lados a donde volteo a buscar, me en-
cuentro con más abstracciones. ¡Me siento perdido! ¿Dónde quedó la simple realidad del cómputo que teníamos antes?

Sí, no hay ni cómo esconderlo. Tiene ya varias décadas Pero bueno, acortando la historia … de desarrollar mis apli-
que me apasionó comprender lo que pasa dentro de una caciones completas con el lenguaje Perl, cabalgando a pelo
computadora, cómo opera su aparente magia. Y cuando sobre el API de Apache, me subí al tren de Ruby on Rails. Y
aprendí, cuando muchos de nosotros aprendimos, incluso un disfruté muchísimo de las posibilidades que me brindó esta
niño de diez años podía comprender cómo operaban ciertos experiencia: una programación más limpia, orientada a ob-
procesos, si bien tal vez no a nivel electrónico, sí a partir de jetos. Configuración por convención. Muchas muy buenas
una visión muy cercana. Piensen, por ejemplo, en qué tan prácticas de desarrollo, y un marco de desarrollo con opinio-
Gunnar Wolf es a profundidad podía un niño de los ochenta conocer a una nes propias que me marcó cómo estructurar mi desarrollo. Y
administrador de sis- magnífica Commodore 64, e incluso cuánto puede haber sí, las aplicaciones resultantes eran comprensiblemente más
temas para el Instituto aprendido con una PC. Recuerdo largas horas de leer docu- rápidas de desarrollar, y al tener el comportamiento base
de Investigaciones mentación, modificar binarios a mano con un editor hexade- resuelto, me topé con muchos menos errores lógicos en las
Económicas de la cimal para cambiar las cadenas que presentaban al usuario, capas más bajas.
UNAM y desarrollador buscando comprender todo lo que veía —simplemente, por-
en el proyecto Debian que era posible hacerlo. Pero la vida sobre un framework también trae sus desen-
GNU/Linux. cantos. En mi caso, me topé con los primeros al encontrar
http://gwolf.org Con el tiempo, el mundo ha ido cambiando. Y yo también. la cantidad de código que había que reescribir cuando Rails
Al volverme un miembro útil a la sociedad, como les ha- pasó de su versión 1 a 2, de 2 a 3. Como es de esperarse, los
brá pasado a ustedes también, fui eligiendo mi nicho eco- cambios que introducen las versiones mayores no son com-
lógico: desarrollo de aplicaciones web y administración patibles hacia atrás, y buena parte de mi código histórico iba
de sistemas. Primero, exprimiendo los detallitos que me emitiendo advertencias por usos desaconsejados — O rom-
ofrecía cada pedacito del protocolo… Aunque recuerdo piéndose por completo. Y entre más sistemas desarrollaba,
muy bien una discusión con un colega: yo era bastante menos tiempo tenía para mantenerlos a todos al día.
reacio a emplear frameworks de desarrollo precisamen-
te porque, al automatizar las tareas repetitivas, esconden La respuesta de la comunidad Rails a mis cuitas es relativa-
del programador su funcionamiento real, y dificultan tener mente simple. Un sistema que ya está en producción no re-
verdadero control de lo que hacen, pero él me mostró las quiere ser actualizado. El programador puede congelar el sis-
ventajas que conllevan. tema base y las gemas (bibliotecas) que emplea, y convivir

048 SG.47
PROGRAMAR ES UN MODO DE VIDA C

“Los frameworks no únicamente son cómodos,


sino que son necesarios para la realidad del desarrollo
de software hoy en día”.

fácilmente en el mismo sistema con otras aplicaciones Rails de lo que estamos haciendo, nuestros programas van a re-
— Incluso si estas usan otras versiones de prácticamente sultar de muy baja calidad.
todo en el sistema.
Si nos olvidamos que a fin de cuentas todo nuestro código se
En ese momento, comenzó una lucha interior, entre mi Dr. traduce a instrucciones de muy bajo nivel, si nos olvidamos de
Jekyll, un administrador de sistemas que prepara las cosas y, cuidar la eficiencia de los cachés y de reducir accesos a disco,
con la cabeza fría, mantiene una visión consistente y coheren- si no tenemos en cuenta el costo de cada llamada al sistema,
te del conjunto, y mi Mr. Hyde, un programador que quiere vivir si no consideramos la necesaria sincronización en problemas
al límite probando las últimas versiones del último grito de la que enfrentan concurrencia… Vamos a terminar creando código
moda, cambiando de arquitectura subyacente, abandonando lento y frágil. Vamos a terminar siendo malos desarrolladores.
a FCGI por Mongrel, a Mongrel por Thin, a Thin por Passenger,
incorporando a Rack… Y claro, encarnando a esa aberración Entonces bien, el motivo de esta columna no es llamar a que
de la que hablaremos en otra ocasión que hoy deambula libre- abandonemos las herramientas que facilitan nuestra tarea.
mente: el temido DevOps, criatura que encarna lo más obscu- Los frameworks no únicamente son cómodos, sino que son
ro tanto de desarrolladores como de administradores. necesarios para la realidad del desarrollo de software hoy en
día. Pero debemos mantener en mente, siempre, la impor-
Y ojo, me centro en este aspecto porque mi Dr. Jekyll es ad- tancia de comprender qué pasa. Si hay un comportamiento
ministrador de sistemas. Pueden imaginar lo que diría uno con dado que parece mágico, ese es el punto donde debemos
formación de DBA al ver el caos resultante del ORM: ¿Cómo revisar el código fuente del framework y averiguar cómo está
se crea mi esquema de datos? ¿Dónde están las verificaciones haciéndolo. Porque sólo de esa forma podremos sacar el pro-
de integridad? ¿Cómo se generan las consultas para cada una vecho correcto del sistema — y escribir mejor código, que a
de las operaciones que el buen ActiveRecord realiza? fin de cuentas, por eso nos hacemos llamar profesionales.

En fin, podemos recordar esa máxima de la ciencia de la Entonces, vestidos de investigadores privados y lupa en mano,
computación, que he visto atribuída tanto a David Wheeler ¡vamos a investigar implementaciones! ¡Disfruten el viaje!
como a Butler Lampson: Todos los problemas en la ciencia
de la computación pueden resolverse con un nivel adicional
de indirección — a excepción del de tener demasiados nive-
les de indirección. Si alguno de ustedes se siente identificado con este disfrute
histórico, no puedo dejar de invitarlos a una de las lecturas
Mientras esa pelea ocurría en mi yo desarrollador, muchos que más he disfrutado en los últimos meses. Un libro titula-
otros importantes cambios se presentaron en mi vida. Uno do sencillamente «10 PRINT CHR$(205.5+RND(1)); : GOTO
de ellos, me convertí en profesor en la Facultad de Ingeniería 10», y que pueden descargar gratuitamente de http://10print.
de la UNAM. Imparto una materia que siempre me emocio- org. Este libro aborda muy distintos aspectos que se des-
nó: Sistemas Operativos. He disfrutado muchísimo con la prenden de la línea de BASIC que lleva por título; un análisis
preparación del material y con el dictado de las clases. En técnico, social, cultural, incluso artístico de esa era que a tan-
esta materia estudiamos las funciones básicas de todo siste- tos nos atrapó convirtió en lo que hoy somos.
ma operativo — Comunicación entre procesos, multiplexión
de recursos, organización de sistemas de archivos, gestión Como segunda nota recomendación literaria, el libro «Lauren
de memoria, etc. Ipsum: A story about computer science and other impro-
bable things» de Carlos Bueno (http://laurenipsum.org).
Conforme estudio y repito mi material, y conforme comento Aprender los fundamentos del cómputo siendo aún niño
al respecto con mis colegas, vuelvo a uno de los plantea- definió mi vida. Este libro presenta, a través de un cuento
mientos de origen que siempre hago a mis alumnos: no es- inspirado en Alicia en el país de las maravillas, conceptos
pero que de mi clase salgan autores de sistemas operativos; fundamentales de la ciencia de la computación: Problemas
sería un gran orgullo que así fuera, pero no es lo que la ma- clásicos, estructuras de datos, conceptos fundamentales,
teria persigue. Una de las principales razones para estudiar presentados con el cuento de una niña perdida en el bosque
esta materia es que, si no se comprenden los fundamentos de los árboles rojo-negros, buscando volver a casa.

SG.COM.MX 049
V VOCES

Software Defined Networking



Por Carlos Perea

Carlos Perea es ¿Cuál es el resultado de que el hardware ceda el control la multiplicidad de funciones que exigen las nuevas redes, au-
Vicepresidente de los procesos a los componentes que se encuentran en ni- tomatizándolas tanto como sea posible.
de Ventas para veles superiores de sofisticación?, ¿cómo puede el software
Latinoamérica de tomar un papel más estratégico en la redes sin comprometer ¿Por qué los CIOs se sienten tan atraídos por el SDN?, se debe
Extreme Networks la seguridad e integridad de la misma? a que esta arquitectura ofrece tres aspectos fundamentales
que agregan valor a la red y la convierte en un activo estraté-
El Software Defined everything (SDx) se divide en varias ramas gico para la red:
clave para entender a dónde va este concepto: Software Defined
Storage, Software Defined Infrastrucure hasta el Software 1. Una administración mejorada que permita que las redes de
Defined Security y por supuesto, Software Defined Networks. las organizaciones evolucionen a la par de los nuevos modelos
Hablamos de una evolución tecnológica natural frente a un nue- intensivos de cómputo, tráfico y densidad; en adición a están-
vo paradigma en la industria: capacidad de adaptabilidad de la dares abiertos que no atan a los clientes a un solo fabricante.
infraestructura de red que genere valor al negocio, democratice el
uso de la red y se tenga una administración descentralizada pero 2. Un esquema ágil en el cual es posible que la red se modifi-
con una gran seguridad y estándares abiertos que no aten a los que de manera automática para cumplir con las exigencias de
CIOs a un fabricante, tal y como había venido dándose. Debemos los cambios, ya que las redes basadas en SDN son por mucho,
ser capaces de resolver los complejos retos a los que las empre- más flexibles que las administradas de forma tradicional.
sas y organizaciones se están enfrentando y hacer de sus redes
un activo estratégico de su negocio, no un gasto. 3. Una disminución sustancial en los costos operativos.
Automatizar funciones de la red permite esta disminución al mis-
Desde la concepción y nacimiento de las redes informáticas, su mo tiempo que mejora y aumenta la productividad del área de TI.
evolución ha estado marcada tanto por la respuesta a una de-
manda en innovación y síntesis en los procesos, como a la de pro- SDN con estándares abiertos
veer una multiplicidad de prestaciones y valores a los procesos de Desplegar una nueva aplicación SDN en una red existente,
negocio. Dada la complejidad pero alcance que han ido sumando regularmente es una tarea algo compleja. Las soluciones de
generación tras generación, las redes informáticas forman parte SDN con estándares abiertos permiten a los clientes contar
de la funcionalidad crítica de casi cualquier industria de todos los con estos servicios sin importar quien los provea. Un ejemplo
sectores productivos existentes. El surgimiento de tendencias es el ecosistema abierto que Extreme Networks propone, al no
tecnológicas como la virtualización y la migración a ambientes sólo estar probado en diferentes condiciones, sino que abre la
virtuales, Cloud Computing, patrones de tráfico en la red, BYOD puerta a nuevas aplicaciones que estén siendo desarrolladas
y Wi-Fi de alta densidad para un número cada vez más sólo de con estándares OpenDaylight.
dispositivos dentro y fuera de las organizaciones, son solo algu-
nos indicadores de que el paradigma de las redes informáticas tal Una plataforma de SDN debe ser simple, rápida e inteligente; que
cual lo conocemos hoy, necesita un cambio. pueda integrarse fácilmente a diferentes equipos y software de
otros fabricantes y no debe intentar amarrar al cliente con están-
Para satisfacer este cambio de paradigma en las redes in- dares cerrados que con el tiempo, serán caros y poco escalables.
formáticas, han surgido diferentes propuestas, entre las que
destacan las Redes Definidas por Software, o SDN. SDN es Plataformas basadas en estos conceptos, buscan hacer más
el resultado de más de seis años de trabajo de investigación, ágil la compatibilidad en infraestructuras multi-fabricante con
y en este tiempo se ha consolidado como una arquitectura lo estándares OpenFlow standard y otras API abiertas. El resulta-
suficientemente flexible y funcional como para permitir a los do es simple: una plataforma sin las limitaciones que común-
administradores de red gestionar y monitorear la infraestruc- mente se encuentran en otros modelos SDN en el mercado,
tura con una inversión de tiempo y recursos mínimos. muchos de ellos, no son aplicables y obligan a las organizacio-
nes a atarse a un mismo fabricante.
Sin embargo, a pesar de que SDN es capaz de resolver la ma-
yoría de los problemas que plantean las redes actuales en su Implementar una arquitectura de SDN de código abierto, per-
complejidad, el reto más grande que encaran hoy las empre- mite a cada cliente evolucionar su red conforme a sus propias
sas consiste en tener un acercamiento realista a esta arquitec- necesidades de seguridad, al ritmo que la complejidad y el
tura de forma rentable, sin tener que renovar totalmente su tamaño de la organización lo permitan y desde luego, siendo
infraestructura y obteniendo un mayor control posible sobre congruentes y realistas con los presupuestos asignados.

050 SG.47
F FUNDAMENTOS

Fig. 1. Funcionamiento
de PKI.

Certificados Digitales

Por Héctor Uriel Pérez Rojas

Seguramente en alguna ocasión has escu- mensaje enviado. Este es el principio en el cual framework, consiste en un conjunto de hardware,
chado acerca de los certificados digitales, por se basa la firma electrónica. software, gente, procesos y políticas que juntos,
ejemplo al navegar en internet, o al autentificar- permiten crear, administrar, distribuir, usar, alma-
te dentro del portal del SAT para realizar dife- Certificados digitales cenar y revocar certificados digitales.
rentes movimientos. En este artículo veremos Para entender de una forma práctica los certi-
qué son y cómo funcionan a grandes rasgos. ficados digitales, comparémoslos con los certi- La figura 1 ilustra el funcionamiento de dicha
ficados que se obtienen al concluir algún curso infraestructura. El proceso para obtener un cer-
Antecedentes o entrenamiento. Dichos certificados, gene- tificado digital, inicia con una petición hacia la
Hoy en día, como parte de la rama de la cripto- ralmente constan de un emisor (la institución Autoridad Registradora (RA), que es la encargada
grafía, existen dos tipos de algoritmos populares que emite el certificado), la persona a quien se de recibir todas las solicitudes. De igual forma, se
para cifrar información: simétricos y asimétricos. le reconoce, un sello, y en ocasiones, una fecha ocupa de validar la información real de la entidad.
de expiración. Lo mismo ocurre con los certifi- Si se tomara como ejemplo el caso del SAT, se va-
En los algoritmos simétricos se utiliza una mis- cados digitales, los cuales contienen los datos lidaría que la persona física o moral sea realmente
ma llave para cifrar y descifrar mensajes (por de quién ha emitido el certificado, los datos de quien acude a solicitar su par de llaves.
ejemplo cuando se comprime un fichero con la persona a quien validan para hacer uso del
una contraseña en WinRAR). Esto quiere decir certificado, una fecha de expiración, la llave pú- Una vez que se ha validado que el solicitante es
que tanto emisor como receptor, deben tener blica del propietario del certificado, una huella confiable, se procede a enviar la información de
la misma llave (contraseña) para cifrar/des- digital equivalente al sello oficial de la institu- éste a la Autoridad Certificadora (CA), la cual
cifrar los mensajes. El riesgo en este tipo de ción, entre otros datos opcionales. generará un nuevo certificado digital con la in-
cifrado reside en el hecho de que ambas partes formación del solicitante, así como información
deben compartirse la clave a través de algún Validación de un certificado digital sobre el uso del certificado, periodo de validez,
canal de comunicación, siendo éste la mayoría Se puede tener la certeza de que un certificado la huella digital, entre otros. Otro componente
de las veces inseguro. digital permanece íntegro, a través de la hue- clave es la Autoridad Validadora (VA), también
lla digital. Esta se obtiene generando un valor conocida como OSCP (Online Certificate Status
En cambio, en los algoritmos asimétricos cada hash tomando como base el propio certificado Protocol), un servidor cuyo principal objetivo es
uno de los participantes cuenta con una llave digital. Posteriormente, se aplica otra función mantener una base de datos con todos los cer-
pública y una llave privada. La llave pública matemática que usa la llave privada del emisor tificados emitidos por la CA, con su respectivo
puede ser compartida con aquellos remiten- para generar la huella digital. Esto ayudará a estatus (válido, revocado o desconocido). Esto
tes que requieran enviar un mensaje cifrado al que se pueda comprobar que el certificado digi- le permitirá a un tercero validar el estatus de
destinatario, mismo que sólo podrá ser desci- tal no haya sido alterado o dañado, dando como un certificado digital, y con esto determinar si
frado a través de la llave privada del destinata- resultado una comprobación de identidad. debe aceptarlo o no.
rio. Dicha clave, debe ser únicamente conoci-
da por el propietario. Infraestructura de Llave Pública (PKI) Conclusión
Los certificados digitales más conocidos, se basan Continuamente compartimos información sen-
Si por otra parte, el propietario de las llaves en el estándar denominado X.509, y que se en- sible a través de internet apoyándonos en cer-
desea publicar un mensaje, deberá cifrarlo con cuentra en la versión 3. El estándar X.509, es parte tificados digitales. Es importante que entenda-
su clave privada, para que aquellos que cuen- de un framework denominado Infraestructura de mos cómo funcionan y el papel que juegan en
ten con su llave pública, puedan descifrar el Llave Pública (PKI por sus siglas en inglés). Dicho los esquemas de seguridad.

Héctor Uriel Pérez Rojas es maestro en Ciencias de la Computación con especialidad en Ingeniería de Software por parte del CENIDET. Es socio fundador de Grupo Empresarial
Multidisciplinario IASEC. www.iasec.com.mx

052 SG.47
CARRERA H

Guía para Certificarte como Tester por el ISTQB



Por Ismael Villegas y Armando Márquez Espinoza

Dentro de las certificaciones que se manejan condiciones para dar por buenas cada una de Para apoyar a la organización a formar un
en el mercado para desarrollo de software, ellas. Adicionalmente se revisan las responsa- equipo de pruebas con parámetros de conoci-
se encuentra la del área de pruebas o testing bilidades de todo aquel involucrado en el pro- miento homogéneo es recomendable que sus
con el ISTQB (International Software Testing ceso de pruebas. equipos lo formalicen a través de la certifica-
Qualifications Board). ción. El equipo de pruebas crecerá y generará
Técnicas de diseño de pruebas. Se revisa el más valor para el área de tecnología, lo cual
Esta certificación permite validar que el susten- proceso de pruebas y se delimita el alcance de será importante para mostrar a la comunidad
tante tiene los conocimientos necesarios para las pruebas que se van a realizar. Éstas inclu- que la profesión de tester es clave para la ob-
calificar como Tester de Software y cubrir todos yen tanto pruebas basadas en especificación tención de productos de software con calidad
los posibles ángulos sobre los escenarios que (caja negra) como basadas en estructura (caja y con menos fallas, porque así como es impor-
el software debe considerar para darlo como blanca). Dependiendo el escenario se aprende tante generar el código para una aplicación, es
completo y con la funcionalidad correcta. La in- a seleccionar el tipo de prueba a utilizar. más importante revisar que ésta haga lo que
tención de este artículo es desglosar los diver- se supone.
sos temas que se requieren para poder presen- Administración de pruebas. En esta sección se
tar el examen de certificación para ser tester. revisan temas con respecto a la organización de Se recomienda la revisión del ISTQB Syllabus y
pruebas, desde las estrategias a utilizar, pasando el Glosario como parte de un autoestudio para
Fundamentos de pruebas. En esta sección se por la planeación y estimación de las pruebas a homologar términos.
introduce a la persona a los conceptos básicos aplicar. La administración básica con un control y
de pruebas de software, los cuales consideran monitoreo de incidentes se cubre también en este El nivel Foundation que es el básico de los tres
la importancia de las pruebas y el cómo éstas apartado. La administración de la configuración es que se ofrecen, no mide la habilidad sino el co-
permiten generar software con calidad. Se plan- un tema recurrente para controlar las pruebas y nocimiento de los conceptos de las pruebas de
tean reglas y un proceso general para la aplica- todos los artefactos generados en ellas. software; y es necesario para poder presentar
ción de las pruebas. Se hace hincapié en el có- los siguientes. El nivel avanzado maneja el co-
digo de ética que el tester debe de cubrir tanto Herramientas de soporte para pruebas. Se des- nocimiento necesario para la administración
con sus clientes como en su equipo de trabajo, criben las herramientas de pruebas automáticas de equipos de pruebas y de pruebas técnicas
para el buen desempeño de sus funciones. y el uso que se les da a éstas. La automatización y avanzadas; el nivel experto provee el conoci-
seguimiento de los resultados para pruebas com- miento para la mejora de pruebas, automati-
Ciclos de vida. Como tester es importante co- plejas o de volumen son algunos de los ejemplos zación y seguridad.
nocer los ciclos de vida de desarrollo del soft- que se realizan en este apartado.
ware, ya que son una parte importante de la El examen es electrónico y se realiza en un
certificación. Una vez que se comprenden los Conclusión centro autorizado para su aplicación. No se
ciclos de vida, se estudian los niveles de prue- El área de pruebas durante los últimos años ha permite el acceso con materiales al examen y
bas dentro del ciclo de vida y que incluyen las cobrado interés e importancia dentro de las or- el desarrollo del examen es monitoreado para
etapas de pruebas. Se revisan los diferentes ti- ganizaciones de tecnología, por ello es vital que garantizar la correcta aplicación del mismo.
pos de prueba que existen y se entiende cómo el Tester busque la formalización de su labor Consta de 40 preguntas de opción múltiple
aplicarlos dentro del software. con una certificación que avale su capacidad y con un requerido de 70 por ciento de aproba-
conocimiento. Esta certificación es vigente en ción. Si todo es exitoso, el certificado llega por
Pruebas estáticas. Se revisan los pasos reque- cualquier parte del mundo y permite crear un correo al domicilio.
ridos para realizar un conjunto de pruebas. Lo plan de carrera con la profesionalización y es-
que significa que se definen las etapas y las pecialización de las pruebas de software. http://www.istqb.org

Ismael Villegas Ochoa PMP, CSM, CTFL; y Armando Márquez Espinoza, ambos son Maestros en Tecnologías de la Información con más de 20 años de experiencia en el área de Desarrollo
de Sistemas en el sector financiero. Cuentan con amplia experiencia en la administración y desarrollo de proyectos de software. Actualmente desempeñan roles de arquitectos empresa-
riales y administradores de proyectos tecnológicos.

SG.COM.MX 053
O HARDWARE

2
1

AUDÍFONOS HYPERX CLOUD II


MOCHILAS SOLARES LUMOS http://kingston.com/latam/hyperx
http://iwearlumos.com

Visto en @geek_mx
Lumos es una empresa con raíces mexicanas que diseña y produce wearables enfocados La nueva generación de los audífonos Cloud de
a la conservación de la energía. Entre sus productos están las mochilas Thrillseeker y HyperX viene acompañada de control de audio con
Unplug, que cuentan con páneles solares. Cuando la mochila está expuesta al sol, los retro-iluminación LED y surround sound virtual 7.1
paneles con capacidad de 3W generan electricidad que se almacena en una batería den- basado en hardware (no necesita controladores)
tro de la mochila con capacidad de 4,000 mAh. Con esto puedes cargar o dar energía a con audio independiente y control de volumen del
tus electrónicos. Las mochilas están diseñadas principalmente para las necesidades de micrófono. Diseñados específicamente para gaming,
personas que se transportan en bicicleta, por lo que cuentan con reflectores y son im- los jugadores pueden cambiar fácilmente el surround
permeables. Pero aunque la bicicleta no sea lo tuyo, bien puedes aprovechar tu mochila sound virtual 7.1 con solo pulsar un botón para emular
Lumos para cargar tus gadgets mientras caminas y cuidas el planeta. La Unplug tiene siete altavoces posicionales y mejorar la experiencia
un compartimento para laptops de hasta 15 pulgadas. La Thrillseeker es más pequeña y de juego. Están disponibles en colores rojo, metálico
diseñada para quienes andan más ligeros. y la limitada edición color rosa (próximamente).

LENOVO THINKPAD X1 CARBON (2015) 4


3 http://lenovo.com/mx

STAR WARS MIMOPOWERTUBE


http://mimoco.com
Desde su primer generación lanzada hace poco más de 2 años, la Thinkpad X1 Carbon se
ha ganado un lugar especial entre los usuarios que buscan una laptop con un alto nivel de
portabilidad, poder y resistencia. Lenovo recientemente dio a conocer la tercera generación
Visto en @geek_mx de la X1 Carbon, y definitivamente podemos decir que mantiene el estándar al que nos tie-
Manteniéndonos en la línea de baterías recargables, nen acostumbrados con este modelo. Pesa 1.3 kg y tiene un grosor de menos de 18 mm. La
te presentamos los MimoPowerTube de Mimoco, configuración más económica viene con pantalla Full HD (no táctil), procesador Intel Core
basados en los personajes –y armas– del universo i5-5200U y disco duro de estado sólido de 128 GB, mientras que la configuración más com-
Star Wars. Los MimoPowerTube integran una bate- pleta tiene pantalla táctil WQHD+ (2,560 x 1,440), procesador i7-5600U y disco de estado
ría recargable de 2600mAh que se puede cargar en sólido de 512 GB con tecnología PCIe que es hasta 80% más rápido que los discos SATA.
tan solo unas 4 horas. Además de la batería, cada El cuerpo de la X1 es de fibra de carbono de grado satelital (más fuerte que el utilizado en
MimoPowerTube incluye una funda para guardar y aviones) y está diseñada para soportar condiciones extremas de temperatura, humedad,
cables para conexión USB, Apple Lightning y de 30 pin. polvo y golpes, así como el ocasional “se me cayó el café sobre el teclado”.

054 SG.47
5

RELOJ FIBONACCI
http://swgu.ru/px

Como buen lector de SG, seguramente te gus-


tan las cosas que tengan estilo, requieran usar
el cerebro y sean “hackeables”. Es por ello que
te presentamos el reloj Fibonacci. Es un re-
loj de mesa que representa la hora por medio
de cuadros organizados de acuerdo a la serie
Fibonacci que se prenden de distintos colores
para indicar horas y minutos. Recordaremos
que los primeros números de la serie son 0, 1, 1,
2, 3, 5. Mapeando esto al diseño del reloj, tene-
mos dos cuadros pequeños, cada uno represen-
tando el valor 1, un siguiente cuadro cuyo lado
mide el doble de los pequeños y por lo tanto
representa el valor de 2, otro cuadro con valor
de 3, y un último cuadro que vale 5. Para calcu-
lar la hora, sumas los cuadros rojos y azules, y
para determinar los minutos sumas los cuadros
verdes y azules y multiplicas por 5 (sí, este dise-
ño sólo permite representar una fidelidad de 5
minutos). El reloj Fibonacci actualmente se en-
cuentra como proyecto en Kickstarter y ha sido
todo un éxito, rebasando por mucho su meta
original. Se puede pedir en distintas ediciones:
desde la DIY donde recibes el puro circuito y lis-
ta de partes para tú ensamblarlo, hasta la ver-
sión lista para usarse. El reloj utiliza un micro-
controlador Atmega328 con Arduino y tiene un
conector FTDI que permite reprogramarlo sin
necesidad de quitarlo. El autor publicará como
GPL los esquemas del circuito así como código
fuente una vez que haya terminado los envíos.

Este comic fue originalmente publicado en


http://www.commitstrip.com/en/2015/04/29/what-is-not-said-in-coder-job-descriptions-you-still-need-to-master
Fue traducido al español y compartido por Software Guru con el permiso del autor.
O BIBLIOTECA

TEACH YOUR KIDS TO CODE: A PARENT 1


FRIENDLY GUIDE TO PYTHON PROGRAMMING
Bryson Payne. No Starch Press, 2015.

Teach Your Kids to Code es el libro más reciente de No Starch Press, la editorial enfo-
cada en libros técnicos para niños (y niñas, por supuesto).

A diferencia de otros libros diseñados para autoestudio, Teach Your Kids to Code está
pensado para leerse y usarse en colaboración entre un adulto y uno o más niños. El
libro está lleno de ejemplos visuales y coloridos que ayudan a mantener la atención
de los jóvenes programadores. Utiliza como referencia el lenguaje de programación
Python, que es una buena elección como primer lenguaje.

El espectro de temas abordados va desde la instalación del ambiente de programa-


ción hasta cómo crear un juego con gráficas animadas. Obviamente, en el inter se
cubren temas como variables, funciones, ciclos, condiciones, operaciones matemáti-
cas e interacción con el usuario.

Teach Your Kids to Code parece ser el libro perfecto para sentarte este verano con tu
hijo(a) y convivir un rato mientras aprende a programar.

Consúltalo en http://swgu.ru/q1

LEAN ENTERPRISE: HOW HIGH PERFORMANCE 2


ORGANIZATIONS INNOVATE AT SCALE
Por Jezz Humble, Joanne Molesky, y Barry O’Reilly. O’Reilly Media, 2014.

¿Qué tan bien responde tu organización a los cambios en las condiciones del mercado,
las necesidades de tus clientes o tecnologías emergentes conforme desarrolla soluciones
de software? Esta guía práctica presenta principios y patrones orientados a llevar a una
organización entera a ser ágil. A través de casos de estudio se muestra cómo es que organi-
zaciones exitosas han rediseñado todas sus áreas y procesos, desde finanzas hasta cultura
organizacional y arquitectura de sistemas para poder mejorar su agilidad y desempeño.

Lean Enterprise es el libro más reciente de la “Lean Series” curada por Eric Ries y que
incluye obras como “Running Lean” de Ash Maurya y “Lean UX” de Jeff Gothelf.

Expertos en la materia tienen muy buenos comentarios sobre esta obra. Por ejemplo,
Mary Poppendieck comenta que “es un compendio de el mejor pensamiento moder-
no sobre cómo construir productos y servicios intensivos en software” y Gene Kim
agrega que es “la versión moderna de ‘Rengineering The Corporation’ ... está desti-
nado a ser la obra de autoridad sobre cómo las organizaciones planean, organizan e
implementan su trabajo en la era digital.” Con ese tipo de porras, vale la pena agregar
a Lean Enterprise a la lista de libros para leer próximamente.

Consúltalo en http://swgu.ru/q2

056 SG.47

También podría gustarte