Issuu on Google+

ESPECIAL

Encuesta de salarios SG 2013

RESEÑA

www.sg.com.mx |

Software Guru

SG Virtual 2013

México, $65.00


www.sg.com.mx |

Software Guru


42

CONOCIMIENTO EN PRÁCTICA

.CONTENIDO

NOVIEMBRE 2013-ENERO 2014 | www.sg.com.mx

Columnas Tejiendo nuestra red Pág.

24

08

10

12

Por Hanna Oktaba

Tendencias en Software Por Luis Daniel Soto

En Portada

Mejora continua Por Luis Cuellar

Tecnología Móvil 24 El mundo se está transformando a un mundo móvil. En esta sección co-

Código Innovare

nocerás los retos culturales y tecnológicos para lograr una adaptación

Por José Alberto Reyes Ramírez

44

exitosa, así como también los impactos en prácticas y arquitectura que

Programar es un modo de vida

deben ser tomados en cuenta dentro de las estrategias móviles.

46

Por Gunnar Wolf

Especial

Tecno-lógico

48

Por Mauricio Angulo

Encuesta de Salarios 18 larios y compensaciones que reciben los profesionales de software en

Columnas invitadas: Big Data azul vs Big Data rojo

nuestra región, así como cuáles son los factores que mayormente influ-

Por Daniel Cohen

Conoce el estudio que hacemos cada año para conocer el nivel de sa-

50

yen en esto.

Equipos auto-organizados 51

Reseña SGVirtual 2013

02

Por Jorge Heras

06


.CONTENIDO

Pág.

Emprendiendo El fracaso como proceso de aprendizaje

14

Lo que viene 17

Por Celeste North

Tecnología

Prácticas Pruebas

Seguridad

32

34

Por Carlos Brito

Ágil Por Pablo Cáceres

Calidad

52

Editorial

04

Noticias

05

Tutorial

16

Biblioteca

54

Por Andrés Valentín López

36

En Cada Número

Por José Sánchez Vázquez

Programación

38

Por Gustavo Laotshi Sánchez

Project Management

40

Talento

42

Perfiles destacados 56

Por Leonardo G. Mrak

Project Management Por Adalberto González Ayala

03

www.sg.com.mx |

Herramientas y Novedades

Software Guru

14


.EDITORIAL Bienvenida

. La respuesta es cuarenta y dos… “El sentido de la vida, el universo y todo lo demás”

E

l sentido de la vida, el universo y todo lo demás es un concepto de la saga de ciencia-ficción The Hitchhiker’s Guide to the Galaxy de Douglas Adams donde este concepto es buscado por un superordenador llamado Deep Thought, el cual después de siete millones y medio de años meditando la pregunta dice que la respuesta es cuarenta y dos. Tal vez si le preguntáramos de nuevo a ese superordenador diría: El sentido de la vida es el movimiento. Nuestra industria se mueve y gana fuerza mientras lo hace, muchas tendencias ahora son realidades y durante este año hemos sido testigos de este movimiento a través de las huellas que ya está dejando la Tecnología Móvil junto con los cambios y mejoras en las filosofías y estrategias de las áreas de TI quienes ya se preparan para todos los retos que traiga el 2014. SG está haciendo lo propio y ya estamos renovando nuestras iniciativas y creando nuevos proyectos donde puedas sumarte de acuerdo a tu interés y podamos seguir siendo para ti un aliado en conocimiento para desarrollar software grandioso. Deseamos que el 2014 traiga para ti muchos éxitos personales y profesionales, que todos los cambios y tendencias que hay en nuestra industria sean un motivador y un apoyo para alcanzar las metas que te propongas.

››Equipo Editorial SOFTWARE GURU

DIRECTORIO SG Dirección Editorial Pedro Galván / Dirección de Operaciones Mara Ruvalcaba Coordinación Editorial Vanessa Amaya / Arte y Diseño Oscar Sámano / Suscripciones Alexandra Ospina Consejo Editorial Jorge Valdés - PMI / Luis Cuéllar - Softtek / Luis D. Soto - Microsoft / Hanna Oktaba - UNAM / Emilio Osorio - Sistemas Humanos / Luis Vinicio León - e-Quallity / Gloria Quintanilla

Colaboradores

Adalberto Gonzalez Ayala, Andrés Valentín López, Berenice Ruiz Eguino, Carlos Joaquín Brito Abundis, Celeste North, Daniel Cohen, Gunnar Wolf, Gustavo Laotshi Sánchez, Humberto Cervantes, Iván Felipe Álvarez, Jorge Heras, José Alberto Reyes Ramírez, José Sánchez Vázquez, Karen Ivette Audiffred Fernández, Leonardo G. Mrak, Masa K Maeda, Mauricio Angulo y Pablo Cáceres.

Ventas Claudia Perea / Ventas y Delivery Yoloxochitl Juárez / Alianzas Alexandra Ospina / Webmaster Luis Sánchez / SGCampus Vanessa Amaya Contacto info@sg.com.mx SG Software Guru es una publicación trimestral editada por Brainworx, S.A. de C.V., San Francisco 238 Altos. Col. Del Valle. Los contenidos de esta publicación son propiedad intelectual de los autores y están licenciados bajo Creative Commons Atribución-No comercial 2.5 México. Todos los artículos son responsabilidad de sus propios autores y no necesariamente reflejan el punto de vista de la editorial. Reserva de Derechos al Uso Exclusivo: En trámite. ISSN: 1870-0888. Registro Postal: PP15-5106. Distribuido por Sepomex. Se imprimió en diciembre de 2013 en EDAMSA.

04


.NOTICIAS

.CIO & IT Executive Summit 2013

.Cumbre de Innovación Gubernamental

.VMware Forum México En las estrategias de los CIOs siempre están presentes temas como productividad, ahorro en costos operativos, continuidad del negocio, virtualización, movilidad y seguridad en la nube ya que, la ineficiencia y el downtime son los dos motivos por los que los CIO’s suelen ser despedidos. Todos estos temas fueron la esencia del evento VMware Forum México 2013 realizado el 3 de octubre. Durante el evento se habló sobre cómo las aplicaciones críticas son la prioridad de cualquier área operativa y es por ello que virtualizarlas requiere un blindaje especial para que estas no sean vulnerables.

.Conferencia IT Service Management

CIO’s y Gerentes de área se reunieron el 13 de nombre en el Hotel Hyatt Regency en la Ciudad de México en la novena edición de la Conferencia de IT Service Management organizada por Pink Elephant. Entre los temas tratados en el evento se habló sobre las fuerzas de la TI que han cambiado el mundo de los negocios, así como también se habló de los beneficios de automatizar procesos y planes de contingencias a través de las TI.

.Rasmus Ledorf, creador de PHP estuvo en México

El 16 de noviembre Rasmus Lerdorf visitó la ciudad de México para dar una conferencia a los Integrantes de la comunidad de PHP en la Universidad de Londres, más de 250 asistentes al evento disfrutaron de la conferencia donde se habló de los primeros ejercicios de PHP en el año 1994 para poder compararlo con los grandes avances de PHP en el año 2013 con la versión de 5.4, la cual tiene muchas mejoras de rendimiento, explicó también las mejoras que tiene la versión 5.5 de php enfocadas en temas de Programación Orientada a objetos e incluso nos adelantó los que nos espera en la versión 5.6. Su conferencia motivó a encontrar la pasión por la programación y así generar innovadores proyectos.

Para mayor información, noticias al día y actualizaciones de la industria visita: www.sg.com.mx

05

www.sg.com.mx |

Software Guru

Es indudable que la mayoría de los ciudadanos consideramos que los trámites y servicios electrónicos del sector público no son rápidos y muy confiables y debido al alto deseo expresado por los ciudadanos para participar en las tareas de gobierno y a las necesidades actuales, el pasado 1 de Octubre se llevó a cabo La Cumbre de Innovación Gubernamental organizada por Oracle en la cual estuvieron presentes Líderes de Opinión de Gobierno y Líderes de Opinión de Tecnología para hablar sobre soluciones de hardware y software para trabajar conjuntamente en la nube.

En boca de todos están los temas sobre Big Data, Sistemas en la Nube o Aplicaciones sin embargo muchas empresas evitan utilizar estas para tareas clave, debido al miedo que les produce pensar en la seguridad de su información, es por ello que el 10 de septiembre Gartner llevó a cabo el CIO & IT Executive Summit 2013 durante el cual se realizó un análisis y acercamiento a la toma de decisiones inteligentes basadas en el uso de TI dentro de las empresas.


.RESEÑA

SG VIRTUAL 2013 UNA EDICIÓN MÁS GRACIAS A TI

E

l 23 y 24 de octubre, SG llevó a cabo la 5ta edición del congreso SG Virtual, en el cual se impartieron 27 conferencias web que abarcaron disintos aspectos del desarrollo de software tales como herramientas, prácticas, procesos, equipos de trabajo y emprendimiento. Todo congreso es una excelente oportunidad de formación y actualización, es una excelente forma de crear conciencia sobre las oportunidades que tiene nuestra industria. Para SG, el llevar este evento a tantas personas y lugares representa el cumplimiento de nuestra misión como empresa: ser una empresa líder e innovadora en generación y difusión de conocimiento sobre Tecnologías de Información. Para el equipo SG, lo cansado de la jornada virtual se compensaba cuando recibíamos mensajes de felicitación por el contenido y la logística del evento, es para nosotros un orgullo el poder hacer de este evento uno de los más importantes congresos virtuales de software a nivel Latinoamérica y que tanto ponentes como participantes hayan quedado satisfechos esperando ansiosos el próximo evento. Agradecemos a los patrocinadores de este evento, ya que es gracias a ellos que este congreso pudo ofrecer conferencias web gratuitas durante día y medio: Accenture, Borland, HP, IBM, McAfee, Microfocus, Microsoft-Visual Studio y SAP. Gracias también para las asociaciones y organismos que nos apoyaron con la difusión de este evento así como a las sedes virtuales que apoyaron para que este evento llegara a más gente. 06

La próxima cita es el 9 de abril 2014 para la siguiente edición de SG Virtual Conference.


www.sg.com.mx |

Software Guru


.COLUMNA Tejiendo Nuestra Red

Los Modelos No Tienen la Culpa

Y LOS LENGUAJES DE PROGRAMACIÓN TAMPOCO

E

stamos invadidos por una ola de modelos, estándares y certificaciones. Las siglas marean a cualquiera: CMMI, TSP, PSP, COBIT, ITIL, TOGAF, MAAGTIC, PMBOK, SWEBOK, BABOK, ISO/IEC 12207, 15504, SCRUM, XP, Kanban, Lean, UML, BPMN, por mencionar solo algunos. Yo misma me declaro culpable de agregar a MoProSoft, ISO/IEC 29110 y KUALI-BEH. Crear, a los que voy a llamar modelos para simplificar, es un trabajo de comunidades de interés que tienen el objetivo de rescatar y compartir las mejores experiencias de las prácticas del cada vez más amplio espectro de la influencia de TI. Para los que no fueron involucrados en su elaboración saber escoger el que le convenga es un reto mayor.

›› “Los culpables son quienes los eligen sin saber para qué ... pensando en cumplir la certificación”.

La Dra. Hanna Oktaba es profesora de la UNAM y su objetivo principal es generar conocimiento a través de la creación y promoción de estándares. hanna.oktaba@ ciencias.unam.mx

08

Parecida exuberancia se observaba con los lenguajes de programación en los años 70’s y 80’s. La torre de Babel fue tapizada con nombres de lenguajes de programación de los cuales hoy en día nadie se acuerda, salvo abuelitas como yo. Ver Figura 1. La búsqueda de la forma más fácil de expresar las soluciones de diversos problemas computacionales fue la causa de esta exploración. Cuando llegué a México hace treinta años, ofrecí mi primer curso en la Maestría en Ciencias de la Computación en el IIMAS-UNAM titulado “Programación estructurada en Simula-67”. Todavía conservo mis apuntes de este curso y la lista de asistentes. Simula introdujo por primera vez el concepto de clase, objeto y herencia pero como el concepto de programación orientada a objetos todavía no se acuñaba usé el de “estructurada” por estar a la moda de entonces. Una de las tareas de mis alumnos fue estudiar y exponer los siguientes lenguajes de programación: MODULA, PLITS, PASCAL, ADA, ALGOL, EUCLIDES y EDISON. Hoy nadie programa en ellos, sin embargo en su tiempo fueron los eslabones que ayudaron a llegar a Java, C#, PHP, Ruby o Phyton, aunque usted no lo crea.

El estudio de Simula-67 y los demás lenguajes ayudó tanto a los alumnos como a mí, a formar criterios para seleccionar al más adecuado al contexto que uno enfrenta y aprender más rápido nuevos lenguajes. Quiero aprovechar la lección aprendida sobre la abundancia de los lenguajes de programación para sugerir la “receta” de lidiar con la abundancia de los modelos. Las preguntas más importantes que se necesitan responder son: 1. ¿Cómo comprender a los modelos con menos esfuerzo? 2. ¿Qué criterios ayudarán a seleccionar el modelo que me convenga? 3. ¿Cómo adoptarlo con el provecho real? A continuación van mis sugerencias de respuestas a estas preguntas: Comprender a fondo tantos modelos y estándares es una locura. Requiere de mucho esfuerzo y tiempo y los que están en la pelea diaria no lo tienen. Por lo tanto, mi primera sugerencia es que si te llamó la atención alguna de las abreviaciones, que mencioné al inicio, o alguna otra que te quieren vender como el remedio para tus dolencias, primero acude a Internet (buscando fuentes independientes como, por ejemplo Wikipedia) para conocer lo que significa la abreviación de cada uno, su propósito, alcance y a quien está dirigido. Comprendidos estos elementos, analiza el contexto de tu organización o el personal y selecciona los candidatos que te suenen ser prometedores. Por favor no te guíes solamente por las convocatorias de financiamiento. Tener financiamiento es maravilloso, pero lo más importante es elegir lo que realmente apoye tu crecimiento como organización o personal. Una vez seleccionado el o los modelos, trata de conseguir la documentación completa y original que lo describa. Estos documentos suelen ser gorditos y aburridos, por eso te doy unas pistas para que eficientes su lectura: primero, lee la descripción de la estructura general de los elementos que componen el modelo para confirmar que efectivamente se adecuan a tu contexto.


BABEL -3 A-2 & A AED

ADAM

AIMACO

AESOP

ALGY

ALGOL

AMBIT

ALTRAN AMTRAN Animated

apl

movie

apt

aplago

baseball

bacaic

colasl

cogo

cogent

comit

or

l translat

computer

corc

coral

design

das

ied

Cuter-fr

cps

english

dysac

dynamo

algol extended

flap

fact

dyana

dsl/90

docus

dimate

diamac

dialog

deacon

t data-tex

compiler

ran

fort

tic

-ma

flow

gpl

m geoo y r-ma gat formac klere it fsl l•v ip it s ns hi ra ap gr fort ra graf algeb r ation erle gpss inform d zl lisp 2 g an in ids n la 6 ices l 5 1. jovial lisp cap joss mad r e matic n o eck athr m ln c mad linco mirfa ldt lotis lab n a r math milit pat lolita ex map nth ops tosy ta 5 per pa me pro gic ma b a omnit er iting compil sal wr matrix propo ocal short code print neliac l pl/1 o simscript sfo-alg pencil

an

quiktr

algol formula

simul. dig. syst. sprint

tmg

trac

stress

trandir

snobol strobes treet

speedcoding

sol

symbolic math. lab. uncol

unicode

Figura 1. Programming Languages: History and Fundamentals, de J. E. Sauel, 1969, Prentice Hall.

Luego revisa los propósitos y/o objetivos de estos elementos. Por ejemplo, en las área de procesos de CMMI revisa “specific and generic goals” y en MoProSoft los propósitos y objetivos de los procesos. Si no los comprendes por completo busca las definiciones de los conceptos en los documentos, en el Internet o usa la intuición femenino-masculina. Te sugiero que esta revisión se haga en equipo (en caso de organizaciones) o individualmente para analizar honestamente cuales de los objetivos actualmente se cumplen y cuales consideran de que deberían de cumplirse para que la organización (o la persona) progrese. Esta auto-evaluación aportará criterios para decidir si la adopción del modelo revisado puede aportar valor real o no. Hacerlo con la(s) cabeza(s) propia(s) es muy importante, nadie sabe mejor que tú lo que necesites para perfeccionar tu profesionalismo o beneficiar a tu organización. La selección de un modelo es apenas una parte, lo mas importante es su adopción. Sobre este tema podría escribir una telenovela. 09

Me han contado pocas historias de “amor” y muchas de “villanos”. Los modelos ágiles no se libran de eso, es suficiente con revisar los comentarios sobre sus mitos en Internet. Por falta de espacio, me restrinjo de darles un consejo más. No hay que perder de vista que la adopción de un modelo significa el cambio de “usos y costumbres” para lograr el beneficio de la organización o persona. Esto, en los términos de moda de hoy, se llama buscar le competitividad. El chiste está en lograr el cambio verdadero y no una “estrellita” fugaz. Los modelos no tienen la culpa. Los culpables de sus fracasos son los que los eligen sin saber para qué, los que los implementan pensado en cumplir con el “examen” de la certificación más que en el beneficio de ellos mismos. También hay culpa de los que aplican el “examen” tomando los modelos como “chalecos” a poner a todos por igual.

>> Por Hanna Oktaba

Software Guru

commercia

www.sg.com.mx |

colingo

y 473l quer

cobol

clp

clip

computer

c-10

bugsys

basic


.COLUMNA Tendencias en Software

Tecnología y Privacidad U

n “jugador preferido” se encuentra en el casino en Las Vegas. La racha es mala, con pérdidas en las últimas partidas. El jugador casualmente se encuentra cerca de una puerta de salida y cruza por su pensamiento la idea de “buscar mejor suerte en otro casino”. En ese preciso momento se acerca una camarera que le ofrece su bebida favorita y una copa de champagne complementaria durante la cena. El jugador decide que su suerte ha cambiado y permanece en el recinto.

›› “el futuro de la tecnología es responder instantáneamente y de forma personalizada”

Luis Daniel Soto Maldonado (@luisdans) labora en la división de negocio de servidores y herramientas de Microsoft Corp.

10

El anterior pasaje no es ficción, sino un caso de éxito. Es la realidad actual en tecnología informática en los casinos modernos; en el último año se ha reducido en 30% el abandono para audiencias VIP logrando incrementar sus ganancias aproximadamente 13%. Para hacer esto, se requiere tecnología y la capacidad de actuar en tiempo real. De nada serviría descubrir este comportamiento en el reporte semanal o mensual. El futuro de la tecnología es responder instantáneamente y de forma personalizada. La capacidad de medir todo en un mundo aumentado transparentemente con tecnología, cambia todos los modelos de negocio, es la verdadera era post-nube y post-móvil porque, en mi opinión, es más importante que el Internet mismo. Antes de profundizar en el tema privacidad exploremos otros posibles escenarios: •La empresa aseguradora no tiene que basarse en una “estimación” de distancias conducidas y riesgos del conductor. El costo del seguro puede ser personalizado en base a datos de telemetría que el vehículo transmita.

• En una franquicia de venta de hamburguesas, será posible medir cada detalle de cada evento, permitiendo comparar la eficiencia por empleado sirviendo un café. Podríamos decir cuando un proceso no se realiza de la forma planeada o identificar el micro-robo de bolsitas de salsa cátsup. Un “sistema de observación” podrá identificar problemas. • En un futuro donde todos los componentes sean electrónicamente etiquetados, será posible rastrear cada pieza desde su creación hasta la actualidad. En la industria automotriz existirá la capacidad de “interrogar” a un auto para obtener el detalle de cada una de sus partes y atributos asociados, tales como CO2 emitido por el transporte individual de cada pieza, o saber si fue creada en una planta que ha sido acusada de emplear a menores. Se podrá predecir la duración basándose en información de conductores con hábitos similares. ¿En que momento la tecnología que pretende facilitar el esfuerzo humano cruza una delgada línea de invasión a la privacidad? No aspiro a contestar esta pregunta, pero comparto algunas observaciones.

Violación de la privacidad

La mayoría de los servicios web establecen el uso de la información para un propósito específico por lo que no se utilizará para otras causas, no será compartida con terceros e idealmente no se otorgará a los mismos la capacidad de identificar a un usuario en particular. Desde la perspectiva del desarrollador de software parece no muy complejo. La capacidad de dar una garantía matemáticamente se denomina seguridad diferencial, y esta se encuentra en la primer etapa de desarrollo. Hoy la mayor parte de las empresas carecen de las prácticas apropiadas de manejo de información, se encuentran registrando elementos que permiten identificar al individuo. Algunas empresas altamente responsables han creado


>> Por Luis Daniel Soto Maldonado

Software Guru

www.sg.com.mx |

iniciativas de privacidad de largo alcance. Voy a tomar el caso de Microsoft y en particular de Skype por mi cercanía con la solución de analíticas de negocio. La premisa es: Antes de que cualquier información sea resguardada en una bodega de datos, se eliminará toda la información IP del dispositivo que lo generó, y se eliminará cualquier otro metadato que permita la identificación a un nivel más allá de la ciudad. Para ciudades pequeñas, se eliminará la información que permita la identificación a nivel estado. De esta forma será posible hacer un análisis de tendencias, no de personas en particular. Por supuesto que es de interés el tráfico doméstico e internacional y volumen entre países, la duración de la llamada promedio, mayor y menor, pero no se requieren datos de una llamada o usuario específico. Será posible seleccionar parámetros para medir la adopción de diversas plataformas, por ejemplo si la llamada se genera de una PC, XBOX, tableta o celular, y en caso del último desde qué sistema operativo y versión. Será deseable efectuar comparativas entre países. Sin embargo, la información se utilizará únicamente con el espíritu de mejorar el servicio. Es fundamental pensar profundamente los metadatos que se deben conservar y aquellos que deben destruirse. En el caso de atención a clientes, el correo electrónico originado de la empresa debe ser inspeccionado “por máquinas digitales” para asegurar que no se transmiten números de tarjetas de crédito, seguro social o el equivalente a la información que permite la identificación individual. Definitivamente habrá problemas que se extenderán a otros procesos de negocio. El diseño de la tecnología lentamente evoluciona del que fue para computadoras aisladas. Y por supuesto los procesos de seguridad y educación del consumidor y la empresa son aún muy limitados. Seguramente nos llevará más de una década eliminar las “contraseñas” y definir con claridad el derecho a dejar de registrar ciertos eventos para desaparecer del enrejado digital.


.COLUMNA Mejora Continua

Los Procesos de

Innovación

H

ace unos días, durante la planeación anual de la compañía, tuvimos una presentación sobre el modelo de innovación llamado “Design Thinking”. El modelo es interesante y dentro de la presentación nos mencionaron el proceso de innovación que siguen como parte del modelo completo. Dentro de la audiencia escuché algunos susurros, ¿procesos de innovación?, ¿qué no se supone que los procesos y la innovación están peleados? La percepción general es que la innovación es parte del dominio del artista, el libre pensador (free thinker), sin limitaciones, el hombre libre que sólo se deja guiar por su creatividad mágica que únicamente el posee. Los procesos son parte de las viejas generaciones, de los estructurados, que no pueden pensar fuera de la caja, de los que tiene que planear su vida y no ven más allá de sus planes. Quienes han leído mis artículos anteriormente se pueden imaginar mi reacción: yo creo fervientemente que los procesos y la innovación, no están peleados. Déjenme repetir: “Los Procesos NO están peleados con la innovación”, los procesos son una parte indispensable del medio ambiente que se requiere para realmente innovar, ¿Por qué digo esto? Porque el proceso es un acuerdo preestablecido entre un grupo de personas, estos acuerdos reflejan lo que hemos aprendido hasta este momento y nos ha funcionado, lo que sabemos hacer y cómo lo sabemos hacer. Y aunque estoy seguro que varios de ustedes están pensando: “lo que ha funcionado en el pasado no necesariamente funcionará para el futuro”, lo que acordamos hacer hoy nos libera de discutir el presente y por ende nos libera para pensar en el mañana, en otras palabras los procesos de hoy nos ayudan a liberarnos de los problemas del día con día, para aprender nuevas formas de resolver los problemas que mañana nacerán.

Hallazgos

Al revisar algunos procesos de innovación obtuve algunos aprendizajes nuevos y otros que ya sabía pero me quedaron más claros, déjenme compartirles estos hallazgos: Los procesos deben de estar enfocados en las similitudes y no en las diferencias. Es cierto que el proceso de innovación es bastante artístico y existen miles de formas de llevar a cabo un objetivo, solo tienes que buscar en Amazon cuántos libros aparecen con la palabra innovación (ya lo hice son 276,561, no te distraigas) para darte cuenta de las mil ideas y formas de atacar el problema, pero en todos los casos al definir un proceso a implementar lo que se busca es resolver la mayoría de los casos a los que nos vamos a enfrentar.

Luis R. Cuellar es director de calidad a nivel mundial de Softtek. Es reconocido por la ASQ como Certified Quality Manager, Certified Software Engineer y Six Sigma Black Belt. @lcuellar

12

¿Cuántas veces nos ha pasado que al tratar de definir un proceso empiezan a salir todos las diferentes posibilidades y no tomamos en cuenta qué tanto esos escenarios suceden en realidad? La consecuencia es que complicamos exageradamente el proceso a través de casos que solo sucederán de vez en cuando. Un proceso implementable debe ser sencillo y sólo abarcar los casos más frecuentes. Alguien me dijo alguna vez: diseña procesos para gente pensante y lograrás soluciones sencillas que resuelvan el problema. Los procesos deben de generar retroalimentación continua. Algo que creo que no se enfatiza suficiente al crear o definir procesos nuevos es que la idea de hacer repetible una acción nos permite aprender de la misma, cualquier tipo de aprendizaje se basa en lograr repetir continuamente algo y entender cómo eso afecta y se ve afectado por mi medio ambiente hasta lograr dominar lo que estoy haciendo. Al definir un proceso estamos expresando mucho de nuestros supuestos de cómo se han comportado las cosas con anterioridad. Debemos de escucharlo continuamente para aprender y ajustarlo a nuestro nuevo conocimiento. El proceso no es un acuerdo estático, debe de contener algún tipo de métrica o retroalimentación que nos ayude a evaluar si nuestros supuestos son correctos y a mejorar continuamente lo que estamos haciendo. Por eso existen procesos individuales como el PSP (Personal Software Process), lo que buscamos con ellos no necesariamente es coordinarnos con otros, sino aprender de cómo estamos haciendo las cosas en forma objetiva y modificar así mis supuestos para crecer. Otro punto que me llamó la atención en el proceso de innovación que nos mostraron es que las herramientas específicas se deben de estudiar en forma separada. El proceso es una cosa y las herramientas que definen como ejecutar el procesos son otra. Muchas veces escucho la objeción de que el proceso no dice cómo hacer las cosas en particular; te dice que hagas, por ejemplo, un plan de trabajo pero no como hacer un plan de trabajo. Esto es correcto, lo que buscas con el proceso es asentar las bases, el detalle puede establecerse


›› “Lo que acordamos hacer para hoy, nos libera para pensar en

>> Por Luis Cuellar

www.sg.com.mx |

en procedimientos específicos, en cursos sobre herramientas, en manuales detallados. Pero si queremos que el proceso supla la capacitación, tendremos que definir procesos interminables que nadie estará dispuesto a leer y que solo servirán para llenar repisas. Finalmente, los procesos no requieren ser secuenciales. Creo que la definición de proceso que dice “Un proceso es una secuencia de actividades acordadas con anterioridad…” nos sesga a entender a un proceso como una actividad secuencial, secuencia sólo indica que hay cosas que se hacen primero y otras después, pero eso no quiere decir que no se puedan hacer cosas en paralelo, recursivas, incrementales o cualquier combinación de las anteriores, existen procesos en donde cada paso da información para decidir si seguir o volver al principio, y también existen procesos en los que de un punto en particular se disparan varias cosas a la vez y finalmente se reúnen nuevamente en un punto más adelante. Lo importante es que el proceso indique quién tiene que hacer qué y cuándo para poder llevar a cabo eficientemente un objetivo; nadie dijo que tendría que ser de manera lineal. Por eso reitero, si escuchan que los procesos van en contra de la innovación, tengan cuidado. Para poder sentarnos a cambiar el futuro tenemos que dominar el presente, y si no podemos generar actividades repetibles lo mejor que podemos hacer en cuanto a innovación, es repetir las decisiones que ya habíamos tomado en el pasado para ver si ahora si las vamos a llevar a cabo.

Software Guru

el mañana”


.EMPRESAS Emprendiendo

El fracaso como proceso de aprendizaje ›› Por Celeste North

E

n el ambiente del emprendimiento tecnológico, algunas cifras resultan sorprendentes. Como el hecho de que 3 de cada 4 startups terminarán fracasando[1]. Sin embargo, aún es grande el temor a hablar del tema, en particular en Latinoamérica, donde tenemos una gran aversión al fracaso de manera pública. Hace un par de meses, tomé junto con mis socios, la difícil decisión de cerrar NuFlick, startup que desarrollé por dos años y que contó con inversión de MexicanVC (ahora 500 Mexico City) y Startup Chile. Las razones fueron varias: lenta penetración del e-commerce en México, falta de cultura digital en la distribución del cine mexicano y altos costos en el procesamiento y almacenaje de materiales, entre otros. Independientemente del proceso que como equipo atravesamos al momento de tomar la decisión de cierre, al iniciar este proceso nos enfrentamos a total incertidumbre. No sabíamos si existían procesos establecidos o prácticas estándares para empresas de tecnología que debíamos seguir, para este paso en nuestra startup. Es increíble que habiendo un índice de fracaso tan alto, existan tan escasos recursos de conocimiento para acompañar al emprendedor en esta etapa. Así pues, me di a la tarea de reunir algunas de las reflexiones y aprendizajes logrados en este proceso que aún continúa, esperando que puedan dar un poco de claridad a otros emprendedores que estén pasando por momentos similares. • La decisión. Uno de los temas más complicados en un startup es saber determinar si, en un momento dado, lo mejor es detenerse o perseverar. Desafortunadamente no existe una fórmula para saber con certeza cuándo es momento de dar por concluido nuestro proyecto y cuando lo que se requiere es continuar empujando. Si la hubiera, qui14

zá todos nos detendríamos más rápido. Al final, gran parte del objetivo de un startup, antes de convertirse en una empresa, es agilizar sus ciclos de prueba/error para entender más rápido cuál es el modelo de negocio, mercado, estrategia de marketing, etc. que le llevará al éxito. Si empiezas a generar la incertidumbre, una estrategia que puede ayudarte a tener claridad, es establecer, junto a tu equipo, metas claras en fechas específicas. Esto además de dar visibilidad al crecimiento de la empresa, puede ayudarte a entender mejor qué parte del proceso, no está funcionando (el equipo de fundadores, las estrategias de marketing, el modelo de negocio, el tamaño del mercado, etc.), y de ser posible, modificarlo para incrementar las probabilidades de éxito. • Plan de cierre. Si has tomado la decisión de detenerte, determina un plan de acción para el cierre. Cerrar una empresa no es un proceso que se ejecuta de la noche a la mañana, por el contrario, pueden pasar meses hasta que la empresa esté completamente cerrada y seas completamente libre para iniciar un nuevo proyecto. Toma en cuenta que además de las implicaciones fiscales y legales, que de por sí consumen muchos recurso de tiempo y dinero, hacer un comunicado oficial, notificar con antelación a tus proveedores y buscar la manera de capitalizar lo logrado, es de mucho valor. Emprender es una carrera de largo aliento y muchos de los contactos creados en esta empresa, seguramente serán estratégicos para tu siguiente empresa. • No olvides a tus proveedores y clientes. Sé empático con tus proveedores y clientes, una comunicación honesta puede crear lazos que perduren después de tu startup. Cuando un cliente deposita su confianza en tu producto o servicio, se genera un lazo de confianza que puede


“Cerrar

Referencias [1] Wall Street Journal - http://bit.ly/sg_3of4 [2] http://bit.ly/sg_fracaso

www.sg.com.mx |

perdurar después del cierre de tu empresa. Si bien, no continuarás ofreciendo el servicio o producto por el que están pagando, debes ser capaz de entender su frustración al recibir el anuncio y poder ofrecerles algo a cambio que alivie el malestar. Desde hacerles una oferta durante el tiempo previo al cierre, notificarles con antelación, ser transparente con ellos u ofrecerles algún beneficio independiente con algún aliado estratégico. Piensa en cómo te sentirías en su lugar y qué te gustaría que hicieran por tí para disminuir esa fricción. De igual manera, si tienes proveedores, es importante ser honesto con ellos, ya que en su momento depositaron confianza en tu recién desarrollado proyecto de emprendimiento. Para ellos también habrá un malestar que puede ser aliviado y capitalizado para convertirlos en contactos invaluables para futuros emprendimientos. Lo valioso de fracasar reside en convertir la experiencia en un aprendizaje que nos acerque a un eminente éxito futuro. Aunque fracasar no debe ser estigmatizado, tampoco debería ser siempre aplaudido. Lo interesante de la cultura de Silicon Valley es que abraza el fracaso porque lo entiende como parte de un proceso de maduración para los fundadores, preparándolos para tomar mejores decisiones en sus siguientes emprendimientos. Si en tu siguiente proyecto de emprendimiento, cometes los mismos errores, de nada habrá servido la inversión de energía y recursos depositados previamente. Es sólo cuando transformamos esos fracasos en futuros logros, que la experiencia en sí misma, tendrá valor. “Que no quede ninguna duda: lo que buscamos es crear una cultura donde el fracaso no es un objetivo sino una oportunidad de aprendizaje. El error más grande que cometemos es el de creer que no tenemos que equivocarnos; claro está que no tenemos que generar una cultura del error, pero sí una cultura del aprendizaje.” Juan Lopez Salaberry ~ 500 Mexico City [2].

Software Guru

una empresa no es un proceso que se ejecuta de la noche a la mañana”


.TUTORIAL

Cómo Hacer un ¡Hola Mundo! con el Framework para aplicaciones móviles ROMOB 1.0

›› Por Karen Ivette Audiffred Fernández

R

omob es una plataforma creada por la empresa mexicana Sisoft, para el desarrollo acelerado de aplicaciones móviles. En este tutorial mostraremos como hacer un “Hola Mundo” con Romob. Descarga la versión trial de Romob 1.0 en http://www.romob.net y podrás realizar una aplicación como la que se mencionara a continuación: El desarrollo en Romob se realiza definiendo elementos por medio de archivos XML. Lo primero que haremos será crear un archivo app.xml con la configuración base de nuestra app. El listado 1 muestra el código de app.xml. Como puedes ver, básicamente estamos definiendo el título de nuestra app (<title>), el archivo con la portada o pantalla de bienvenida (<coverFileName>), el archivo de estilos (<stylesFileName>) y el archivo de formatos (<formatsFileName>).

</buttons> </level> Código 2. Ejemplo del código del Cover.

Una vez que tenemos los archivos, arrancamos el simulador. El resultado después de hacer la compilación y haber generado el .apk, se verá como la Figura 1.

<?xml version=”1.0” encoding=”UTF-8”?> <application> <title>Romob</title> <coverFileName>cover.xml</coverFileName> <stylesFileName>style.xml</stylesFileName>

Figura 1. Ejemplo de app

<formatsFileName>format.xml</formatsFileName>

en ejecución.

</application> Listado 1. Ejemplo de código de app.xml.

A continuación creamos el archivo cover.xml, en el cual definiremos la pantalla de bienvenida de nuestra app. Como podrán apreciar en el listado 2, con la etiqueta <backgroundFileName> definimos nuestra imagen de background (la cual debe ser un png o jpg). Posteriormente, usamos la etiqueta <buttonTitle> para definir un botón de texto que contendrá nuestro mensaje “Hola Mundo”. También pudimos haber usado la etiqueta <buttonImage> para usar una imagen de boton y la etiqueta <dataId> para definir la siguiente actividad o pantalla al dar click en el botón.

A continuación se muestra un diagrama de caso de uso, representado por un dibujo y especificación, en la cual se verá la interacción entre el Framework y el usuario. Ver Figura 2.

<?xml version=”1.0” encoding=”UTF-8”?> Figura 2. DCU Básica.

<level> <title/> <backgroundFileName>images/cover/background.png</backgroundFileName> <titleFileName></titleFileName> <buttons> <button> <buttonTitle>Hola Mundo</buttonTitle> </button>

Versión: Romob 1.0 Objetivo: Iniciar la aplicación ¡Hola Mundo! Descripción: Al ejecutarse en la aplicación muestra la pantalla. Secuencia Normal: El usuario debe iniciar el Framework; primero de debe crear el proyecto y la clase App y Cover, el App manda a llamar el Cover, muestra las pantallas. .BIO

Karen Ivette Audiffred Fernández es estudiante del Instituto Tecnológico de la carrera de Ingeniería en Sistemas Computacionales. Participó en el curso de verano “Con nuestras Manos” impartiendo clases de computación básica y media a niños de primaria, secundaria. Actualmente labora como Analista Jr. en la empresa Sisoft de México S.A de C.V. kiaf22@hotmail.com

16


.HERRAMIENTAS Y TECNOLOGÍAS Lo Que Viene

2

Durante su conferencia para desarrolladores re:Invent 2013, Amazon Web Services lanzó un nuevo servicio llamado Amazon Kinesis. Kinesis es un servicio para el procesamiento en tiempo real de corrientes de datos (streaming data). Kinesis facilita la recolección y procesamiento de cientos de terabytes de datos por hora utilizando fuentes de datos diversas tales como click-streams de sitios web, feeds de redes sociales, información financiera, así como datos generados continuamente por sensores o maquinaria. Con Kinesis puedes fácilmente crear dashboards de tiempo real, capturar excepciones, generar alertas, tomar decisiones automatizadas y disparar eventos de negocio. http://aws.amazon.com/kinesis

3

Con el reciente lanzamiento de Visual Studio 2013, Microsoft dio a conocer una nueva oferta, Visual Studio Online, que provee una gran colección de servicios desde la nube para desarrolladores. Entre las capacidades que incorpora Visual Studio online destacan: • Monaco, un editor de código en el browser • Control de versiones y gestión de proyectos hospedado en la nube • Servicios para construcción (build) y pruebas de carga (load testing) desde la nube.

Visual Studio Online

http://www.visualstudio.com

Volos

4

Los lectores de SG seguramente estarán de acuerdo en los beneficios que puede traer el que las empresas expongan APIs para poder interactuar con sus datos y servicios. El problema es que crear APIs de buena calidad no es trivial. Es por ello que Apigee ha creado Volos, un proyecto open source que provee un conjunto de módulos que permiten a los desarrolladores fácilmente incorporar mejores prácticas del diseño y construcción de APIs.Por el momento, Volos consiste de módulos en Node.js que resuelven problemas muy comunes en la creación de APIs tales como: autorización vía OAuth 2.0, validación de API keys, gestión de cuotas de uso, y caching. https://github.com/apigee/volos 17

Software Guru

Amazon Kinesis

Meteor JS

www.sg.com.mx |

1

Una tendencia que está tomando fuerza en el ámbito de las aplicaciones web altamente interactivas es basarse en una arquitectura denominada “javascript isomórfico”. A grandes rasgos, esto consiste en implementar tanto el front-end (corriendo en un motor de browser) como el back-end (corriendo server-side) en javascript, con ambas partes accediendo los datos y funcionalidad directamente por medio del mismo API. Meteor es un framework que soporta y promueve este modelo arquitectónico, fue dado a conocer a principios de 2012 y ha estado madurado desde entonces. Todo parece indicar que la versión 1.0 de Meteor se lanzará a principios de 2014 así que pregonamos que cobrará bastante atención durante el próximo año. http://www.meteor.com


ESTUDIO DE SALARIOS SG 2013 COMO YA ES COSTUMBRE A FIN DE AÑO, PRESENTAMOS LOS RESULTADOS Y ANÁLISIS OBTENIDOS A PARTIR DE NUESTRA ENCUESTA DE SALARIOS ANUAL. CONSIDERACIONES PARA INTERPRETAR LAS CIFRAS Las cifras y estadísticas que mostraremos en este artículo se generaron en base a una muestra de 2,329 respuestas obtenidas durante noviembre del 2013 en una encuesta realizada vía Internet. Dado que fue una encuesta abierta en la que cualquiera podía participar, no podemos garantizar que la muestra sea representativa. Ante esto, los datos presentados deben utilizarse más que nada como una guía para encontrar tendencias, y no como un determinador absoluto. Dado que el 87% de los participantes en la encuesta indicaron radicar en México, los datos mostrados reflejan principalmente la situación en este país. En los casos donde lo consideramos pertinente, hemos mostrado datos separados por país. Todos las cifras de salarios mostradas en este artículo se refieren a salario mensual bruto (antes de impuestos), y están presentadas en pesos mexicanos. El tipo de cambio que hemos tomado en cuenta para las conversiones es de 13 pesos mexicanos por cada dólar americano. En las tablas donde se indique una columna con la etiqueta “Pct”, este valor se refiere al porcentaje de la muestra que indicó cumplir con el factor correspondiente. Por ejemplo, el 3.4% de la muestra indicó que actualmente trabaja bajo esquema de freelancer.

SALARIO POR GEOGRAFÍA La tabla 1 muestra estadísticas de salario para distintos países de nuestra región. Solamente se muestran los países de donde se obtuvo una muestra mínima de 15 respuestas. Como era de esperarse, el salario en Estados Unidos supera por mucho el de los países del resto de nuestra región. Nos llama la atención el caso de Chile; parece ser que los esfuerzos del programa Startup Chile están impactando significativamente los salarios de TI en este país. En el caso de México, la cifra de $26,310 representa un crecimiento de tan solo 5% respecto al dato que obtuvimos en 2012 ($25,049),

18

Tabla 1. Salario bruto mensual por país.

lo cual es casi equivalente a la inflación anual en este país así que realmente no podemos hablar de que hayan mejorado los sueldos en esta industria durante 2013. Otro dato que llama la atención en el caso de México es que la mediana (22,000) es significativamente menor a la media (26,310). Esto nos dice que la distribución tiene un fuerte sesgo, es decir que aunque el 50% de los participantes tiene un salario de 22 mil pesos o menos, el otro 50% percibe salarios mucho mayores, que terminan elevando significativamente el salario promedio. Para ilustrar esto mejor, echemos un vistazo a la figura 1 que muestra un histograma de frecuencias de salarios para México. Las columnas se refieren al porcentaje de personas de la muestra, que caen en cierto rango de salarios, entonces la primer columna se refiere a la cantidad de personas con un salario menor a 5 mil pesos, la segunda se refiera a las que perciben entre 5 y 10 mil pesos, y así sucesivamente. Otro aspecto importante a considerar en el caso de México es la gran variación que puede haber entre los salarios en distintas regiones del país. La tabla 2 muestra el salario promedio por estado de la República Mexicana.


Software Guru

www.sg.com.mx | Figura 1. Histograma de frecuencias relativas para rangos de salario en MĂŠxico.

19

Tabla 2. Salarios por entidad federativa en MĂŠxico.


Esta lista no contiene a todos los estados del país porque solo incluye aquellos de donde se obtuvieron un mínimo de 20 respuestas. El comportamiento es muy similar al que hemos visto en años anteriores, con Nuevo León, Querétaro y Distrito Federal a la cabeza. Llama la atención el caso de Jalisco, ya que es el estado con menor desviación estándar respecto a su media, es decir que es donde hay menos variabilidad; este dato podría ser consecuencia de la naturaleza de la industria de TI en Jalisco, donde la gran mayoría son desarrolladores o profesionistas técnicos y el porcentaje de gerentes o directivos con altos salarios es menor respecto a otros estados.

Tabla 4. Salarios de acuerdo al tipo de organización.

REMUNERACIÓN ADICIONAL El 79% de los participantes reportaron recibir una compensación adicional económica en forma de bonos, aguinaldo, reparto de utilidades y otros. En promedio, la compensación extra recibida anualmente fue de $39,825 pesos con una mediana de $17,000 pesos.

ESQUEMA La tabla 3 muestra los esquemas de compensación más populares entre los participantes, indicando el salario promedio así como el porcentaje de la población que representa cada grupo. Podemos ver que el esquema más común sigue siendo el de nómina con un 68%, aunque los esquemas híbridos (donde se paga una parte en nómina y la otra en un esquema distinto), cada vez se utilizan más. Otro dato interesante es que los freelancers perciben una compensación mensual mayor que la de quienes están por nómina. Como hemos comentado anteriormente en SG, antes ser freelancer era sinónimo de que no encontrabas trabajo de planta y no te quedaba otra, pero cada vez nos encontramos con más freelancers por elección, que además cobran bien.

Tabla 3. Compensación mensual por esquema.

VARIACIÓN En términos de la variación que ha tenido el salario de cada profesionista de software durante los últimos 12 meses, el promedio calculado es de 13.2% con una mediana de 5%.

TIPO DE ORGANIZACIÓN La tabla 4 muestra la descomposición de los participantes de acuerdo al tipo de organización en la que laboran. La revelación este año es que tenemos un nuevo tipo de organización: los startups, y son los que indicaron estar pagando los mejores salarios. Fuera de eso, el panorama sigue similar al de años anteriores: en la industria de outsourcing se obtienen mayores salarios brutos que en las empresas de otros sectores, pero con el inconveniente de que típicamente tienen menores prestaciones y menor estabilidad laboral.

20

Tabla 5. Salario por tipo de actividad.

ROLES Y ACTIVIDADES La tabla 5 muestra el salario promedio dependiendo del tipo de actividades realizadas, así como el porcentaje de personas que indicaron realizar cada actividad. Cada persona podía escoger un máximo de 3 actividades, así que los porcentajes suman más de 100%. En general, la tendencia es muy similar a la de años anteriores, con la novedad de que el salario de los diseñadores de interfaces de usuario aumentó significativamente. Hasta hace poco, el diseño visual era una actividad a la que se le daba poca importancia en el desarrollo de software, pero conforme la experiencia de usuario se ha hecho un elemento fundamental en las aplicaciones (especialmente en dispositivos móviles), podemos ver que la importancia (y por lo tanto salarios) de personas con esta capacidad también ha aumentado.

GÉNERO La tabla 6 muestra un desglose de salario con base en género. La composición de cerca de 84% de hombres y 13% de mujeres es muy similar a lo que hemos visto en años anteriores. Así que desgraciadamente no hemos sido capaces de incorporar más mujeres en nuestra profesión. Más preocupante aún es que en el caso de las mujeres el salario promedio disminuyó respecto al dato que obtuvimos en 2012 ($20,350), por lo que la brecha de salario entre hombres y mujeres en nuestra industria se incrementó aún más.

Tabla 6. Salario por género.


ESTUDIO DE SALARIOS SG 2013

A diferencia de 2012, cuando encontramos que los hombres y mujeres que ejecutan el mismo rol tenían salarios comparables, las cifras arrojadas en esta ocasión no nos dan ese confort. Por ejemplo, los datos de este año nos indican que el salario promedio de un project manager hombre es de $37,896 mientras que el de una mujer con el mismo rol es de $26,138.

HABILIDADES Y CONOCIMIENTOS Las tablas 7 y 8 muestran salarios promedio dependiendo de los lenguajes y plataformas más usadas. En el caso de los lenguajes, solamente incluimos aquellos donde obtuvimos un mínimo de 15 respuestas. Adicionalmente, este año hicimos un ajuste en la encuesta, ya que solo permitimos seleccionar lenguajes a las personas que indicaron que su rol actual era como programador. Creemos que esto contribuyó a mejorar significativamente la fidelidad de los resultados, ya que evitamos que personas que ya solo hacen labor de gerencia o dirección, contesten como si siguieran programando.

Tabla 8. Salario por plataforma de especialización.

Esperamos que esta información te sea de ayuda para evaluar mejor tu situación actual y tomar mejores decisiones en cuanto a tu carrera profesional. También esperamos que esta información sea de ayuda a las empresas para entender mejor el mercado laboral y niveles de salario en la industria.

Software Guru

de programación.

Tabla 9. Salario por certificación obtenida.

www.sg.com.mx |

Tabla 7. Salario por lenguaje

La tabla 9 muestra salarios promedio dependiendo de certificaciones con las que cuenta la persona. Sin duda, sorprende el salario promedio de los arquitectos empresariales certificados, aunque consideramos que no está alejado de la realidad, ya que este tipo de certificaciones normalmente las tienen personas con posiciones de liderazgo tecnológico en empresas del sector financiero. Por otro lado, también nos sorprende que los certificados de Cisco hayan quedado con salarios relativamente bajos. Sin duda tiene que ver con que Cisco cuenta con distintos niveles de certificación (Entry, Associate, Professional, Expert, Architect) y es muy probable que la gran mayoría de los que indicaron contar con esta certificación tengan niveles Entry o Associate, que en muchos casos se obtienen incluso cuando todavía están en la escuela. Lección aprendida, para la próxima ocasión separaremos las certificaciones de Cisco por nivel. La tabla 10 muestra el salario promedio dependiendo del nivel de inglés. Como ya hemos visto anteriormente, el dominio del inglés es uno de los factores con mayor influencia en el desarrollo profesional en nuestra profesión.

CONCLUSIÓN A través de estas páginas hemos conocido cuál es la compensación que puede esperar un profesionista de software en nuestra región, y cuales son los principales factores que la impactan.

21

Tabla 10. Salario por nivel de inglés.


ESTUDIO DE SALARIOS SG 2013

MEJORES EMPRESAS PARA TRABAJAR

EN LA ENCUESTA DE SALARIOS DE 2013 TAMBIÉN OBTUVIMOS INFORMACIÓN SOBRE EL NIVEL DE SATISFACCIÓN DE LOS PROFESIONISTAS DE SOFTWARE CON SU CARRERA, Y CON LA EMPRESA DONDE ACTUALMENTE LABORAN. El objetivo fue conocer, de voz de nuestros lectores, cuáles son las mejores empresas para trabajar.

METODOLOGÍA La dinámica fue relativamente sencilla: los participantes en la encuesta, tuvieron la opción de indicar el nombre y url (para identificarla más fácilmente) de la empresa donde laboran, y llenaron una matriz donde indicaron su nivel de satisfacción con su empresa actual en distintos rubros. Los rubros considerados fueron: • El trabajo que realizo provee un reto intelectual que me ayuda a crecer profesionalmente. • Trabajo con gente muy capaz y eso contribuye a mi aprendizaje. • La empresa ofrece facilidades para tomar capacitación/entrenamiento. • La empresa ofrece facilidades para participar en eventos de la industria. • Sé hacia donde voy con esta empresa, confío en que puedo crecer mucho en ella. • Mi trabajo me ayuda a vincularme con personas fuera de mi empresa. • Cuento con el equipo y herramientas (hardware y software) adecuado para realizar mi trabajo. • La empresa tiene finanzas estables y paga puntualmente. • Me agrada mi estación e inmobiliario de trabajo (oficina, escritorio, silla, etcétera). • Estoy satisfecho(a) con la ubicación donde se encuentra la empresa/oficina. • Me gustan las opciones que tengo para comer. • Estoy satisfecho(a) con el horario de trabajo (o flexibilidad de horario) • Me siento valorado(a) por mis superiores. • Laborar en esta empresa me facilita estar saludable. La calificación en cada uno de estos factores se promedió para generar una calificación global por cada participante. A su vez, las calificaciones globales de los distintos participantes de una empresa se promediaron para obtener el puntaje de la empresa. Solamente tomamos en cuenta a empresas de donde obtuvimos un mínimo de 4 participantes distintos.

LAS EMPRESAS Así que sin más, les presentamos la lista de las 20 mejores empresas para trabajar de acuerdo a los participantes en la encuesta de salarios

22

SG 2013. Están en orden de ranking, y el valor en paréntesis indica el puntaje obtenido (de un máximo de 28 puntos posibles). 1. Microsoft (26.00) 2. Intel (22.17) 3. Universidad Autónoma del Estado de Hidalgo (19.80) 4. Globant (19.63) 5. Scio Consulting (19.00) 6. InnovaWeb (18.58) 7. Crowd Interactive (18.25) 8. INEGI (17.71) 9. Tiempo Development (17.50) 10. ITESM (16.75) 11. Oracle (15.94) 12. Linko (14.40) 13. Softtek (14.00) 14. Grupo Expansión (14.00) 15. Coppel (13.64) 16. Indigo Smart Software Development (13.50) 17. IDS Comercial (12.65) 18. BBVA Bancomer (12.50) 19. HP (11.89) 20. BlueMessaging (11.50) Dado que la gran mayoría de los participantes en la encuesta radican en México, casi todas las empresas listadas son de México o se refieren a su subsidiaria en México. Una excepción es Globant, donde los participantes que la evaluaron indicaron radicar en principalmente en Argentina y Colombia. Vale la pena aclarar que dada la metodología utilizada, esta no es una lista exhaustiva de empresas de la industria. Es decir, el hecho de que una empresa no aparezca en la lista no necesariamente es porque no haya sido bien calificada, sino que también puede ser porque no hubo suficientes respuestas de parte de empleados de esta empresa, como para ser considerada. Nos da gusto que la lista incluya tanto empresas chicas como grandes, nacionales y multinacionales, instituciones educativas e incluso organismos como el INEGI. Felicitamos a cada una de estas empresas.


ESTUDIO DE SALARIOS SG 2013

AGRADECEMOS EL PATROCINIO DE LAS SIGUIENTES EMPRESAS QUE CONTRIBUYERON A HACER POSIBLE EL ESTUDIO DE SALARIOS SG 2013.

Raúl González Reyna Director Nacional de MexicoFIRST

En los últimos años México ha capitalizado los esfuerzos conjuntos de la industria, del sector académico y los gobiernos estatales y federal para detonar el crecimiento de la industria de tecnologías de información al punto que el país se encuentra entre los principales exportadores mundiales de este tipo de servicios. Este crecimiento acelerado ha creado una dinámica muy competitiva por el talento de los profesionistas de TI. Actualmente las estrategias de las empresas para adquirir talento deben incluir diferentes canales como el desarrollo de profesionistas recién egresados, así como atraer y retener desarrolladores con experiencia. En este contexto, el estudio de salarios presentado aquí arroja información muy valiosa que refleja el dinamismo de esta industria tan importante para el desarrollo del país. Alejandro Ordoñez Director de Operaciones, DataZone

Hoy en día el rol de las tecnologías de información es más importante que nunca, prácticamente todos los negocios son o están en vías de ser negocios digitales, su impacto cada vez abarca más áreas de las organizaciones y de la vida de las personas; los profesionales de este sector hoy deben ser capaces de demostrar que su trabajo genera resultados de negocio, más allá de solo soportar la operación del mismo. Todo esto provoca que el valor de la gente que cuenta con el conocimiento para desarrollar, gestionar e innovar las TICs sea cada vez más importante, lo que se ve reflejado en los salarios que el mercado está

23

Gilberto Romero Director de Marketing México, Softtek

Software Guru

Ingrid Pérez Gerente de Reclutamiento . Accenture México

Los estudios realizados para MexicoFIRST indican que hay una variación del promedio aritmético de los salarios de un 36% después de un año de haber obtenido la certificación, con una probabilidad mayor al 77% de obtener por lo menos un ascenso en el mismo periodo de tiempo. El porcentaje de profesionales certificadas con nivel ejecutivo creció del 25.5% al 33.2% en el mismo periodo, lo que indica que una buena parte del grupo de personas que ostentan una certificación ha crecido hasta obtener responsabilidades de alto nivel, por lo que concluimos que en algunos casos los sueldos de los profesionales certificados mostrados en este estudio emprendido por SG tiene un componente de habilidad técnica y en algunos casos un componente de responsabilidad corporativa.

www.sg.com.mx |

Desde Accenture creemos que existe un panorama alentador en relación al talento del país. México es uno de los grandes exportadores de Servicios de TI en el mundo y eso se debe a las grandes capacidades de su gente. En Accenture nos comprometemos con nuestros profesionales desde su incorporación a la empresa al ofrecerles una oportunidad laboral única. Herramientas como esta encuesta de salarios nos ayudan a conocer y entender el mercado, y de esta manera poder generar una plataforma sólida para que el talento mexicano pueda desarrollar su carrera con éxito. Creemos en el talento de México y en su asombrosa destreza. Pensar en futuro profesional es pensar en Accenture.

dispuesto a pagar. La encuesta también confirma el hecho de que estamos viviendo en una economía del conocimiento, donde el valor del trabajo intelectual se reconoce sobre el trabajo físico y en donde los profesionales de hoy en día necesitan mantenerse constantemente actualizados, certificar altos niveles de especialización y dominar idiomas como el inglés para poder seguir siendo competitivos en el mercado laboral nacional e internacional.


TECNOLOGIA MOVIL | 024

EL MUNDO JAMÁS SE QUEDARÁ QUIETO


TECNOLOGIA MOVIL | 025

LA TECNOLOGÍA MÓVIL ES UNA REALIDAD QUE ESTÁ TRANSFORMANDO AL MUNDO EN CUANTO A FILOSOFÍAS DE VIDA Y COSTUMBRES, TANTO PERSONALES COMO LABORALES. MÁS QUE SER ARTÍCULOS DE MODA O LUJO, LOS DISPOSITIVOS MÓVILES YA SON CONSIDERADOS COMO BIENES NECESARIOS PARA ALCANZAR LA COMPETITIVIDAD.

Dentro del conjunto de transformaciones que ya estamos percibiendo se encuentran: Oficinas virtuales y colaborativas – En la búsqueda de depender lo menos posible de un lugar físico para trabajar, para aprovechar los tiempos entre traslados, para reducción de costos y para brindar flexibilidad a las fuerzas de trabajo, cada vez es más común encontrar esquemas de trabajo remoto. Este esquema ha beneficiado a los roles que son más valiosos cuando no están en la oficina. Lo anterior aunado a la tendencia de trabajar con equipos multiculturales a larga distancia ha abierto oportunidades para los creadores de tecnología móvil para el desarrollo de herramientas que ayuden a cubrir los objetivos organizacionales sin sacrificar la efectividad de la comunicación, los tiempos de respuesta y la calidad de productos y servicios.

“La transición del software a este modelo no es fácil…” Vitrinas en todo momento – Además del acceso al conocimiento, el poder del Internet y la movilidad permite que los negocios puedan ser vistos y consultados en cualquier momento por los consumidores potenciales lo que hace de cada página web y cada red social una vitrina que puede ser vista en cualquier lugar y momento. La mentalidad con respecto a las transacciones en línea ya está más abierta por lo que son cada vez más frecuentes las compras en línea, entonces estas vitrinas se pueden convertir en vendedores ambulantes y estaciones de cobro. Según comScore, en el 2012 el 8% del e-commerce ya se efectuaba desde un dispositivo móvil, los proveedores cuentan con que esta cifra seguirá creciendo y es por ello que ya están preparados para dar a sus usuarios todas las facilidades para poder sumarse. Redes sociales – Esta también ha sido una tendencia disruptiva que está transforman-

do a la sociedad por lo que a toda estrategia de movilidad ya la vemos acompañada de una estrategia de redes sociales que fomente la comunicación, colaboración y sinergia. La combinación de la movilidad con las redes sociales es una fuerza que está transformando a los consumidores y por ende a las empresas. Es oro molido el poder contar con información sobre la relación directa entre usuarios y una marca, ya que permite un análisis de conductas muy preciso sobre el cual se puede reaccionar de manera inmediata para cuidar la imagen de la marca y la satisfacción del usuario.

RETOS El balance. Consumir las fortalezas de la tecnología móvil sin debilitar otras prácticas y otros procesos. El futuro. Para los niños de hoy, el mundo ya es móvil y ya es “touch”, ellos serán los usuarios del mañana por lo que tanto empresas como gobierno deben prepararse para actuar con visión para brindar a sus futuros usuarios interfaces conforme a sus exigencias. El cambio. A partir de todo lo que hemos visto durante este año sobre tecnología móviles, estamos seguros que vendrán más cambios y de manera más rápida en los que continuaremos conociendo y aceptando las reglas de este nuevo mundo móvil. La paciencia. En algunos sectores como la educación y la salud, la adopción de este tipo de tecnologías es más gradual, lo que no impedirá que se propaguen cada vez más pero definitivamente será de manera más lenta que en otras industrias. La tecnología móvil ya es un hito en la historia, no solo tenemos que darle importancia sino analizar nuestras capacidades como empresas y profesionistas para identificar ¿qué estamos haciendo al respecto? La era móvil ya está aquí y para los usuarios es una necesidad.

Software Guru

Acceso al conocimiento – El conocimiento ya no es exclusivo de un momento o un lugar, la movilidad permite tener acceso al conocimiento que necesitamos al instante y este conocimiento no tiene restricción de tamaño: desde un párrafo, un dato, una cápsula, un video hasta un libro digital o un curso en línea. Sobre el último punto mencionado, tenemos las iniciativas denominadas M-learning o aprendizaje móvil, las cuales se están diseñando para aprovechar al máximo las tecnologías móviles en procesos de enseñanza. El poder analizar datos en línea desde cualquier lugar y en cualquier momento para monitorear procesos y resultados de las organizaciones para que se puedan tomar decisiones en tiempo real efectivas es un factor que muchos están aprovechando para mejorar su competitividad.

www.sg.com.mx |

L

os que tuvieron la visión de este nuevo mundo móvil, tienen más de una década trabajando en él, desarrollando estrategias que dan solución a necesidades de comunicación de los usuarios que obligan a cambiar al software por dentro y por fuera. Por dentro, el software se robustece respecto a sus esquemas de seguridad, cambia su arquitectura, se habilita para la disponibilidad en la nube y en muchos casos se aligera el código. Y por fuera, se diseña con base a las posibilidades visuales de la gran gama de dispositivos móviles que al día de hoy existen. La transición del software a este modelo no es fácil, puesto que las organizaciones dedicadas al desarrollo que eligieron subirse a esta gran tendencia tuvieron que realizar cambios profundos en sus esquemas de arquitectura, diseño y venta, estos tres puntos traen consigo un reto muy importante: tener la visión estratégica y la capacidad para continuar operando bajo su esquema tradicional mientras se preparaban para salir a flote con soluciones móviles. Es por ello que muchas soluciones aún no emergen pero estamos seguros que durante el próximo año, veremos más estrategias hechas realidad y con mucha mayor frecuencia.


ARQUITECTURA | 026

TECNOLOGÍA MÓVIL Y ARQUITECTURA ›› Por Humberto Cervantes y Grace Lewis

PARA ESTE ARTÍCULO TUVE EL GUSTO DE PODER COLABORAR CON GRACE LEWIS QUIEN ES INVESTIGADORA EN EL CARNEGIE MELLON SOFTWARE ENGINEERING INSTITUTE (SEI) EN PITTSBURGH, PA. HABLAREMOS DE TECNOLOGÍA MÓVIL, LOS TIPOS DE APLICACIONES, SU RELACIÓN CON LA ARQUITECTURA DE SOFTWARE Y SU RELACIÓN CON OTROS TEMAS COMO SON EL CÓMPUTO EN LA NUBE Y LAS ARQUITECTURAS ORIENTADAS A SERVICIOS (SOA).

A

diferencia de las computadoras “tradicionales”, los dispositivos móviles tienen características particulares que incluyen: • Duración limitada de la batería. • Posible tamaño pequeño de la pantalla. • Conectividad intermitente. • Posibilidad de que el dispositivo se pierda fácilmente. • Posibilidad de realizar cálculos demandantes. • Variedad de sensores que permiten recolectar información. • Acceso a infraestructura que facilita la instalación y actualización de aplicaciones (mercados de apps).

Los puntos descritos previamente aunados al hecho de que los dispositivos móviles están siempre a la mano, ha dado lugar a distintos tipos de aplicaciones con drivers particulares. Recordemos que en el contexto de arquitectura de software, los drivers, se refieren a los requerimientos que influyen en el diseño de la arquitectura. Estos drivers generalmente incluyen requerimientos funcionales primarios, atributos de calidad y restricciones.

TIPOS DE APLICACIONES Hoy en día podemos considerar tres categorías de aplicaciones móviles: • La primer categoría son las típicas aplicaciones (apps) que instalamos en dispositivos móviles tales como los teléfonos inteligentes y tabletas a través de un mercado de apps. Esta categoría de

aplicación tiene la particularidad de que generalmente se ejecuta de forma aislada en el dispositivo y, si se comunica con recursos externos, simplemente lo hace para acceder a información que no se tiene en el dispositivo. • La segunda categoría se refiere a las aplicaciones donde el dispositivo móvil se vuelve una extensión a los sistemas empresariales. En esta categoría, el dispositivo es parte del sistema y, en cierta forma, podríamos pensarlo como la interfaz de usuario con el mismo. Por las características descritas previamente de los dispositivos móviles, esta interfaz de usuario es distinta al enfoque tradicional con el que se interactúa con los sistemas empresariales que es generalmente a través de un navegador. • La tercera categoría es cuando se utilizan los dispositivos móviles como colectores de información aprovechando todos los sensores que tienen, tales como GPS, acelerómetro, etc. Esta categoría se podría considerar como una extensión de los sistemas empresariales pero con una función muy específica enfocada a la colecta de información.

DRIVERS ARQUITECTÓNICOS Existen drivers específicos dependiendo del tipo de aplicación móvil. En el primer tipo de aplicaciones (las apps), el driver principal es una restricción de tiempo de entrega. Estas son aplicaciones de muy corta vida que duran unos pocos días en el “top 10” de los mercados de apps y después desaparecen. En el segundo tipo de aplicaciones, es decir la extensión de los sistemas empresariales, a nivel funcional generalmente es necesario considerar que los casos de uso del sistema deben poder ser realizados tanto a través de un cliente tradicional (navegador) como de la aplicación móvil. En este tipo de aplicaciones, la conectividad variable es algo que debe tomarse en cuenta y esto puede requerir que se almacenen datos de forma local y que se tenga que lidiar con cuestiones de sincronización de datos. El almacenar datos de forma local requiere, sin embargo, considerar además aspectos relacionados con la seguridad por la información, posiblemente confidencial, que se maneja. En el tercer tipo de aplicaciones, es decir cuando se usan los dispositivos móviles como sensores que colectan datos, puede haber atributos de calidad relacionados con aspectos tales como la privacidad. De forma general, todos los tipos de aplicaciones se benefician de la infraestructura de mercados de apps que facilita la instalación y actualización de las mismas.


ARQUITECTURA | 027

ARQUITECTURA Y APLICACIONES MÓVILES

INVESTIGACIÓN

Actualmente el mercado móvil todavía depende mucho de la restricción de tiempos de entrega rápidos y generalmente el desarrollo del primer tipo de aplicaciones descrito previamente no se preocupa tanto por la arquitectura. El considerar realizar diseño de arquitectura podría aportar muchos beneficios al desarrollo de aplicaciones móviles. Se puede pensar por ejemplo en generar líneas de productos y establecer frameworks robustos para el desarrollo, lo cual permitiría generar aplicaciones más rápido y además de mejor calidad. Por otro lado, en las aplicaciones que son extensiones de los sistemas empresariales, la arquitectura juega un papel fundamental para poder cubrir con los drivers que se mencionaron previamente. Los métodos de desarrollo de arquitectura, tales como QAW, ADD o ATAM, se pueden aplicar sin necesidad de ajustes en el desarrollo de aplicaciones móviles. Lo que posiblemente diferirá al utilizarlos son aspectos tales como los drivers, pues los escenarios que se identifican difieren de los que ocurren en aplicaciones más tradicionales. Un ejemplo de ello podría ser un escenario de seguridad: “Se extravía un dispositivo móvil en el cual se descargó información confidencial y un usuario malintencionado intenta extraerla”. En el contexto de las aplicaciones móviles, se debe pensar en los mismos atributos de calidad que los de las aplicaciones tradicionales pero considerando los aspectos propios de los dispositivos móviles. Un ejemplo de ello es la usabilidad, que en el contexto de las aplicaciones para dispositivos móviles debe considerar, por ejemplo, el tamaño reducido de las pantallas.

Uno de los problemas en los que se trabaja actualmente en investigación (particularmente en el SEI) es el desarrollo de sistemas que apoyan a personas que están en “el borde” (the edge). El borde es un término que se utiliza para referirse a esa parte de la infraestructura hasta donde llegan las conexiones de red. El proyecto que dirige Grace se llama “Edge-enabled tactical systems” y se enfoca en establecer mecanismos para ayudar a la gente que trabaja con dispositivos móviles más allá del borde. Los usuarios principales en este proyecto de investigación son soldados y personas que son llamadas a ayudar en casos de emergencia (Cruz Roja, organizaciones de ayuda, etc.) o médicos rurales. De forma general, en la investigación se ha hecho mucho énfasis en aspectos algorítmicos. Un caso es el poder determinar en tiempo de ejecución si cierto cálculo se puede ejecutar en otros recursos distintos al dispositivo mismo. Se observa, sin embargo, que actualmente no se hace mucho énfasis en arquitectura.

.BIO El Dr. Humberto Cervantes es profesor-investigador en la UAM-Iztapalapa. Además de realizar docencia e investigación dentro de la academia en temas relacionados con arquitectura de software, realiza consultoría y tiene experiencia en la implantación de métodos de arquitectura dentro de la industria. Ha recibido diversos cursos de especialización en el tema de arquitectura de software en el SEI, y está certificado como ATAM Evaluator y Software Architecture Professional por parte del mismo. www.humbertocervantes.net

Grace Lewis es Investigadora Principal en el grupo de Sistemas Móviles Avanzados en el Software Engineering Institute (SEI). Sus intereses y proyectos actuales son en el área de computación móvil, cloud computing, y arquitecturas

Respecto a SOA, esta tecnología y el cómputo en la nube tienen mucho en común: el cómputo en la nube puede ser visto como una plataforma de implantación para aplicaciones que se desarrollan bajo el paradigma SOA. Por otro lado, el utilizar servicios es un mecanismo para facilitar la conexión entre los dispositivos móviles y las aplicaciones empresariales.

orientadas a servicios; y en particular la intersección de estos tres campos. Grace es miembro de la facultad técnica de la Maestría en Ingeniería de Software en Carnegie Mellon University, miembro del Comité Ejecutivo del Technical Council on Software Engineering de la IEEE y co-organizadora de múltiples conferencias y talleres en al área de computación móvil www.sei.cmu.edu/staff/glewis.

Software Guru

Cuando hablamos de tecnologías móviles, difícilmente las podemos disociar del cómputo en la nube y la Arquitectura Orientada a Servicios (SOA). La combinación de tecnología móvil y cómputo en la nube resulta en algo que hoy en día se conoce en inglés como “Mobile Cloud Computing”. Al igual que con los tipos de aplicaciones, dentro de esta intersección de las tecnologías, podemos considerar tres variantes: • Cuando se utiliza el dispositivo móvil como un mecanismo para acceder a los recursos de la nube. Por ejemplo cuando se utiliza el teléfono para acceder a una aplicación tal como Google maps. Esto usualmente corresponde al primer tipo de aplicación del que se habló previamente. • Lograr que un dispositivo móvil pueda asignar tareas a otros dispositivos móviles cercanos como si fueran recursos de la nube. Por ejemplo, si se tiene una tarea muy complicada entonces se puede repartir cálculos a varios dispositivos cercanos. • El “cyber-foraging” y se refiere a descargar parte del trabajo de cálculo del dispositivo móvil a máquinas más poderosas para evitar, por ejemplo, un consumo excesivo de batería. En este enfoque, la nube se ve como una extensión del dispositivo móvil, independientemente de si los cálculos se realizan en la nube en sí o bien en servidores más cercanos.

Hoy en día el acceso móvil a los sistemas ya no es algo opcional, sino que es algo ubicuo y es necesario pensar en clientes móviles desde que se comienza a diseñar la aplicación. El acceso móvil es la forma como la gente interactúa hoy en día con computación y, por ello, los usuarios tienen expectativas al respecto, como por ejemplo poder realizar las mismas actividades que se hacen en la máquina de la oficina a través de un teléfono inteligente. Por otro lado, y para recalcar la importancia que está cobrando el desarrollo de aplicaciones para dispositivos móviles, es interesante observar que a nivel de la oferta laboral (en Estados Unidos) cerca de un 70% de las ofertas de trabajo para los egresados de la universidad está exigiendo algún conocimiento de desarrollo en iOS o Android. La arquitectura de software juega un papel fundamental en el desarrollo de aplicaciones móviles y creemos que el darle un énfasis mayor al que se está dando actualmente podría aportar grandes beneficios.

www.sg.com.mx |

RELACIÓN CON EL CÓMPUTO EN LA NUBE Y SOA

CONCLUSIÓN


TENDENCIA | 028

CONSEJOS PARA QUE LOS GERENTES DE SISTEMAS MEJOREN SU ESTRATEGIA DE “BYOD” ›› Por Iván Felipe Álvarez

U

na de las tendencias más importantes y de mayor crecimiento dentro del sector empresarial es la llamada “Trae tu propio dispositivo” o BYOD (Bring Your Own Device). A pesar de que no es una práctica reciente, se ha incrementado de forma exponencial debido a la evolución de la tecnología y al crecimiento del mercado de los teléfonos inteligentes y tabletas así como también por la influencia de la movilidad. Pero con esta tendencia ha llegado una serie de problemas que los gerentes de sistemas de las compañías no tenían antes: el principal es tener la capacidad de administrar un grupo de dispositivos con diferentes versiones de sistemas operativos, con niveles diferentes de seguridad, con múltiples tipos de aplicaciones y programas y que además pudieran funcionar para tener acceso a todos los recursos empresariales de forma móvil. Para los gerentes de sistemas existen tres opciones: 1) No permitir el BYOD en la empresa 2) Establecer estrictas políticas empresariales para el acceso de los equipos a la red corporativa, en las cuales las restricciones limiten casi la funcionalidad total del dispositivo. 3) Adquirir una solución de una compañía de confianza que ofrezca soluciones de administración que además brinde seguridad y soporte. Por lo anterior, compartimos los siguientes consejos para que los gerentes de sistemas mejoren su estrategia BYOD: 1.- Contar una clara política de seguridad para los dispositivos de los empleados. Las políticas de seguridad y de acceso a la red corporativa deben estar redactadas en un documento que se pueda compartir con todos los empleados. Así, el personal conocerá a detalle lo que se puede o no hacer en caso de querer usar su dispositivo para conectarse a la red empresarial y tener acceso a sus recursos.

2.- Tener de antemano un proceso de control de accesos a los sistemas críticos del negocio. La empresa debe establecer diferentes niveles y perfiles de acceso para los empleados. Como el dispositivo se transforma en un visor de lo que hay dentro de la empresa, es importante conocer el perfil del empleado que está solicitando el acceso. 3.- Tener claramente un proceso de perfiles de usuarios con la opción de conexión de dispositivo del empleado. La empresa debe conocer la información que es crítica, estratégica o confidencial y permitir el acceso a ésta solo a los empleados que la compañía defina. 4.- Tener un proceso y conciencia de clasificar la información. La empresa debe organizar su información por niveles para que pueda estar disponible y actualizada para los empleados que la requieran y, al mismo tiempo, restringir o limitar el acceso a los datos confidenciales. 5.- Contar con una herramienta de BYOD que se adapte a la necesidad y diversidad de dispositivos de su negocio. Es importante que la solución que elija la empresa pueda dar servicio a los diferentes dispositivos, a las múltiples versiones de sistemas operativos y que todos los usuarios puedan ver en sus equipos exactamente la misma información. 6.- El brindar la opción a los empleados de conectividad por medio de sus propios dispositivos no deberá ser para cualquier tipo de empleado y dependerá de la necesidad del negocio. Es muy importante que la empresa defina en sus políticas los niveles de acceso que ofrece a sus empleados. Como se ha mencionado, no toda la información de la empresa debe estar disponible para todos los usuarios. Además en la estrategia de la empresa

debe estar perfectamente definido el beneficio de negocios al ofrecer el acceso de los datos corporativos a los empleados. 7.- Adquirir un MDM (Mobile Device Management) de una compañía de servicios de confianza. Esta tendencia de BYOD no debe ser un dolor de cabeza para los gerentes de sistemas, pues ya pueden encontrar soluciones efectivas disponibles en el mercado. La recomendación es acercarse a un proveedor de confianza que ofrezca una solución integral de Administración de Dispositivos Móviles que brinde seguridad y soporte. 8.- Adquirir MAM (Mobile Application Management) bajo servicios administrados para atender y mantener la seguridad. Otra solución que ya está disponible en el mercado es la de Administración de Aplicaciones Móviles (MAM) para el filtrado y control de aplicaciones de dispositivos a través de la cual la empresa pueda controlar la navegación web y aplicaciones de los dispositivos de los empleados de forma segura. 9.- Tener un brazo consultivo que le apoye definir, implantar y mejorar sus procesos de seguridad. Es muy importante que al elegir un proveedor de MDM o MAM, éste también pueda proporcionar la asesoría personalizada necesaria para que la estrategia de BYOD sea exitosa, segura y aporte un importante retorno de la inversión. 10.- BYOD no debe ser una moda, sino una ventaja competitiva. Si la empresa amerita movilidad, exponer sus aplicaciones y requiere de un control adecuado, implantar MDM o MAM no es más un “algo interesante que podríamos tener”, sino que puede representar una verdadera estrategia competitiva para estar adelante de la competencia.

.BIO Iván Felipe Álvarez. Experto en movilidad, pertenece al área de Estrategia y Desarrollo de Producto de Alestra @Alestra_MX www.alestra.com.mx


CONTENIDO PATROCINADO | 029

TECNOLOGÍAS MÓVILES EN LAS EMPRESAS

char la infraestructura conectada de una empresa y la capacidad de una terminal móvil son las aplicaciones desarrolladas o adaptadas en función de las necesidades de su operación. De manera general, podemos afirmar que las aplicaciones orientadas al rubro empresarial buscan que al estar conectado al entorno de su organización, el empleado: • Cuente con la información que requiere para su accionar diario (contenidos que en muchas ocasiones son dinámicos y requieren actualización constante). • Participe en un entorno de colaboración y resolución de problemas inherentes a la operación entre los integrantes de la organización. • Alcance logros concretos o contribuya a mover favorablemente indicadores de éxito en las grandes metas que persigue una compañía (que van desde la automatización de procesos simples que incrementen la productividad, hasta el cierre de ventas o el manejo correcto de recursos humanos o materiales, entre otros muchos ejemplos en los que el almacenamiento, manejo y depuración de datos generan inteligencia de negocio). Si consideramos la evolución natural que representa pasar de ser un usuario móvil a un consumidor móvil y analizamos las atractivas características de este segmento (conectados, en

esencia siempre accesibles, cada vez más familiarizados con el consumo en línea), es cada vez mayor la importancia y el impacto que tienen el desarrollo y la gestión de hardware y software ideado para proveer esta experiencia. Al día de hoy se estima que 87% de la población mundial cuenta con un teléfono móvil. 1.2 billones de personas utilizan actualmente su teléfono para acceder a Internet y se espera que en 2015 el uso de dispositivos móviles en línea sobrepase al de computadoras de escritorio. Podemos afirmar que el futuro del consumo está en mobile. Ese es el trabajo que buscamos guiar e incentivar en lo referente a desarrollo de aplicaciones (mismo que exponemos a detalle en nuestro blog y que te invitamos a visitar en http:// devblog.blackberry.com/ ) y esa es nuestra visión como compañía que persigue la excelencia en el servicio al sector empresarial (la cuál ilustramos en espacios como nuestro blog para el desarrollo orientado a negocios, que puedes consultar en http://bizblog.blackberry.com/). Un último dato: en América Latina -específicamente en Brasil, México y Argentinaya hay más de 300 grandes corporativos que están evaluando el uso de BlackBerry Enterprise Service 10. Esto nos habla de que la región se está integrando a la era de la movilidad en el plano empresarial. El reto es para todos: este entorno representa una oportunidad para aquellos que sepan traducir esta necesidad en desarrollos que entreguen experiencias móviles funcionales, sin fallas y con un propósito claro en beneficio de una idea de negocio.

www.sg.com.mx |

esde su concepción y hasta nuestros días, BlackBerry es una compañía reconocida por su sólida presencia en el sector empresarial. A través del tiempo, ha desarrollado las soluciones y acumulado la experiencia para ofrecer, administrar, proteger y expandir el futuro del cómputo móvil. Prueba de ello es que en la actualidad, el 90% de las empresas de Fortune 500 y una gran cantidad de organizaciones gubernamentales de primera línea confían en BlackBerry en materia de movilidad. La movilidad ha cobrado cada vez importancia en múltiples tareas dentro del entorno empresarial. Los recursos tecnológicos a disposición de los empleados de una compañía son cada vez mayores y con ello crece también la expectativa de emplear eficientemente estos apoyos, orientándolos a incrementar la productividad y optimizar los procesos dentro de una organización. Como una referencia desde la perspectiva de BlackBerry, actualmente hay más de 25,000 servidores de BlackBerry Enterprise Service 10 instalados en todo el mundo, con la capacidad de administrar indistintamente dispositivos BlackBerry, Android y iOS. De igual forma, las agencias gubernamentales y otras empresas están adoptando el uso de dispositivos personales en el sistema corporativo (la multicitada tendencia BYOD) y BlackBerry ha sabido evolucionar para adaptarse a los entornos multiplataforma. En el Gartner Symposium/ITxpo 2013, BlackBerry presentó un adelanto de su nueva solución de administración de movilidad empresarial (EMM) multiplataforma para la nube, que permite que las empresas protejan y administren fácilmente dispositivos corporativos y personales, con facilidad, flexibilidad y control de costos. Así, los empleados pueden disfrutar del contenido y de las aplicaciones que les interesan, a la vez que cumplen con los requisitos de seguridad de la empresa y aprovechan la movilidad para ser más productivos –y en muchos casos más rentables–. La plataforma BlackBerry 10 perfilada al sector empresarial ofrece productos y servicios reconocidos por ser los mejores en su clase. Sin embargo, estas son sólo dos de las partes de la ecuación. Un elemento esencial para aprove-

Software Guru

D


CONTENIDO PATROCINADO | 030

ENTENDIENDO EL MUNDO MÓVIL LO QUE SE NECESITA SABER PARA ADAPTARSE AL CAMBIO

L

a industria móvil no es una tecnología pasajera, los que han podido entenderla y usarla a su favor se encuentran disfrutando de sus beneficios por ser herramientas portables que se encuentra en los bolsillos de las personas. El tema no es nuevo, desde hace mucho tiempo existe, la única diferencia es el concepto “mágico” que se impuso implícitamente en la nueva palabra de moda “App”. Hay que entender lo que implica ésta palabra, la mayoría de las compañías tradicionales lo entienden como otro “sistema” o una “página Web”. Pero la realidad es otra, el desarrollo de estas “Apps” es diferente a lo que estábamos acostumbrados, se necesitan tomar en cuenta nuevos factores como la diferencia entre un “click” y un “touchgesture”, la pantalla no es de 15 pulgadas y es imposible ver 60x60 celdas en una misma pantalla, lo que conlleva a realizar una usabilidad más exacta para estos dispositivos, agregar el factor “WOW” que en resumen es impresionar al usuario agregando un toque de innovación o la más importante, el usuario tiene velocidad de Internet celular, la cual es itinerante. Después de haber realizado decenas de “Apps” para las agencias de marketing y corporativos, decidimos realizar un listado con las preguntas necesarias y contestarse antes de desarrollar una “App”.

1. ESCOGER EL USUARIO FINAL DE LA APP // Existen dos tipos de usua-

rios, el usuario que lo descarga desde su “AppStore” y le sirve de entretenimiento o resuelve alguna necesidad. A estas se les denomina como “Apps de Marca”, ya que sirven para posicionar una marca determinada y para la generación de remuneración económica hacia el desarrollador, el otro usuario es el corporativo, estas “Apps Corporativas”

suelen instalarse desde un AppStore privado dentro de la compañía y sirven para conectarse a sistemas existentes y cubrir tareas especificas del corporativo.

2. PROPÓSITO DE LA APP // Al planear-

la, necesitamos entender que debe tener un propósito de existir, si colocamos un logo de nuestra compañía en el centro de la pantalla con animación, el usuario lo va a abrir una vez y después la borrará. Busquemos que satisfaga alguna necesidad.

3. ESCOGER LOS SISTEMAS OPERATIVOS MÓVILES // Según el Sistema Ope-

rativo que escojan es el cause de la App (Plataforma de desarrollo, Usabilidad, equipo de trabajo y características de hardware). Les recomendamos ver los estudios del comportamiento de las Apps en México y en el mundo para que tomen la mejor decisión.

4. ESCOGER LA PLATAFORMA DE DESARROLLO // Cada plataforma tiene

sus beneficios y deficiencias, para ser breve en la explicación vamos a hablar de una bondad y deficiencia, agrupamos en tres los tipos de plataformas: •WEB: Se usan lenguajes soportados por los exploradores Web (HTML5), estas Apps son fáciles de distribuir en todas las plataformas debido a que son vistas directamente desde el explorador Web pero no se puede instalar desde un AppStore. •HÍBRIDOS: Es desarrollado en un solo lenguaje y se convierte al lenguaje nativo de los sistemas operativos móviles que se necesiten, es excelente para resolver errores en formar rápida y dar mantenimiento a diferentes sistemas operativos, la mayoría

de estos sistemas son muy pobres gráficamente por la limitación de la plataforma. •NATIVOS: Se desarrolla con el lenguaje nativo de cada sistema operativo, la mayor ventaja es el completo uso de las características del dispositivo (GPS, acelerómetros y cámara) y de las interfaces gráficas (usabilidad por tipo de dispositivo), la desventaja es el tiempo de desarrollo y mantenimiento para cada una de las plataformas.

5. INFORMACIÓN PARA EL DISPOSITIVO // Para poder mantener una App

dinámica se necesita la conexión de sistemas, recomendamos revisar sus propios CMS si soportan exportar la información hacia Servicios Web y tener un ancho de banda y seguridad adecuada para soportar la operación.

CloudSourceIT es una empresa de consultoría en estrategias móviles para corporativos y agencias de marketing, cuenta con clientes de la industria bancaria, retail, turismo, logística, seguros, salud y de construcción, sus reconocimientos son de nivel nacional e internacional por los productos desarrollados hacia los clientes debido a su grado de innovación y alto nivel de usabilidad. En el año 2012 fue reconocido por la Fundación México-Estados Unidos para la Ciencia como caso de éxito en México dentro de su programa TechPYME.

SÍGUENOS EN Twitter @cloudsourceit, Facebook www.facebook.com/CloudSourceIT Web www.cloudsourceit.com Para mayor información info@cloudsourceit.com


.CONTENIDO PATROCINADO

La evolución de la automatización de procesos:

• Inicio del proyecto BPM. • Análisis-diagnóstico de la organización.

El desarrollo de la metodología debe ofrecer flexibilidad en su uso, de tal forma que el usuario estratégico pueda tomar la decisión de iniciar con cualquiera de sus componentes; siempre y cuando se cumplan con los requisitos mínimos de compatibilidad y permita un manejo apropiado de SWB Process, de este modo se llevará a cabo la necesaria modularidad propuesta.

¿A quién va dirigido?

A PyMEs, gobierno y organizaciones públicas o privadas que cuenten con proyectos de descubrimiento, estandarización y automatización de procesos de negocio a través de herramientas Web.

Componentes de SWB Process • SWB Process Modeler: Diagramador de modelos de procesos con el estándar BPMN 2.0 que integra las mejores prácticas del modelado y permite la exportación de los modelos a distintos formatos. • SWB Process Configurator: Ayuda a crear la definición detallada de propiedades de ejecución de los elementos en un modelo de procesos y relación de elementos semánticos con los artefactos del proceso. Documenta cada proceso para tener contexto sobre las actividades que los usuarios finales deben desarrollar. 31

• SWB Process Forms Builder: Genera la definición de formularios para captura o visualización de información en las actividades de los usuarios. Hace uso de las definiciones de los elementos semánticos relacionados con los artefactos del proceso. • SWB Process Engine / TaskInbox: Motor semántico que permite el despliegue de los procesos, las aplicaciones compuestas y la orquestación de servicios, esto se hace mediante bandejas de trabajo para organizar la participación de los ejecutores del proceso. • SWB Process Monitor: Facilita la supervisión del rendimiento de los procesos, ya sea global o individual, de acuerdo a medidas de tiempos de respuesta y atención de los procesos mediante el despliegue de información gráfica y tabular. • SWB Process Reports: Genera reportes personalizados con la información de la ejecución de los procesos, lo que apoya la toma de decisiones. • SWB Process Documentation: Genera manual de procesos navegable con la información de los procesos y la documentación capturada en SWB Process Configurator. Es especialmente útil para realizar la documentación de los procesos en la fase de descubrimiento y para proporcionar a los usuarios finales una documentación amigable. SWB Process fue creado con la finalidad de apoyar el crecimiento de la industria de TI en el país, incrementar el potencial de penetración en el mercado y abrir una oportunidad de negocio a la iniciativa privada.

Software Guru

• Ingeniería de procesos. • Propuesta de mejora. • Configuración del proceso en SWB Process. • Integración del proceso (Gui, DBS, SOA). • Ejecución (monitorización y control). • Mejora continua.

www.sg.com.mx |

E

l INFOTEC (Centro de Investigación del CONACYT) ha desarrollado una herramienta que permite mejorar la eficiencia a través de la gestión de los procesos de negocios BPM, modelar, automatizar y mejorar procesos continuamente. SWB Process es un producto Open Source que forma parte de la suite SemanticWebBuilder. Cuenta con diversos componentes que permite su comprensión a partir del uso de técnicas y herramientas, ayudando a recolectar y sistematizar la información necesaria, además de obtener evidencias para modelar y plantear alternativas de mejora. Las herramientas BPM existentes en el mercado son de manufactura extranjera, pensados para ser aplicados a contextos y cultura de negocios ajenos y distantes, por lo tanto, era necesario implementar un producto cuyo contenido obedeciera las necesidades contextuales y culturales de México, evitando los problemas de implantación que usualmente derivan en una alta tasa de fracasos. El uso de esta herramienta implica adaptar métodos y técnicas en un contexto complejo y altamente regulado. El objetivo es desarrollar un método para aplicarlo en las diversas etapas del modelo del ciclo de vida de un proyecto, de tal manera, que permita contar con todos los elementos necesarios para un análisis-diagnóstico, una ingeniería de procesos, así como una propuesta de mejora acorde al alcance y elementos que permitan configurar a SWB Process. SWB Process contribuye a dotar de soluciones en la gestión de procesos de negocios. Para su uso, es necesario implementar una metodología que permita abordar cada una de las etapas consideradas como parte del ciclo de vida del proyecto:


.PRÁCTICAS Pruebas

Introducción a las Pruebas de Penetración en Dispositivos iOS ›› Por Carlos Joaquín Brito Abundis

T

odos queremos tener en la palma de nuestra mano, un dispositivo que nos mantenga informados, actualizados, con juegos que nos entretengan, tomar fotos y videos, subir publicaciones a las redes sociales sobre nuestros gustos y lugares que visitamos, revisar los correos de la empresa, mantenernos comunicados con amigos y familiares de manera sencilla; para todas esas tareas, ya existen más de una aplicación que podemos descargar a nuestro smartphone. Apple se ha convertido en la marca más valiosa del mundo [1] con alrededor de 700 millones de dispositivos corriendo bajo el sistema operativo de iOS [2], más de un millón de aplicaciones y 60 billones de descargas [3], siendo utilizados para realizar actividades personales y laborales. Un aspecto a tomar en cuenta, es la posibilidad de hacerle “jailbreak” al smartphone, permitiéndole al usuario correr aplicaciones sin haber pasado por el proceso de verificación que realiza Apple y desbloquear el sistema operativo dándole privilegios de usuario root. Estos datos aunados al hecho de que se ha contabilizado más de un millón de malware distintos para dispositivos móviles [4] ha generado un interés en estudiar a las aplicaciones para conocer el nivel de seguridad y el riesgo que representan. Los tipos de aplicaciones en iOS, se pueden clasificar en: •Aplicaciones nativas, desarrolladas en Objective C y el framework de Cocoa Touch, vulnerables principalmente a ataques de tipo buffer overflow. •Aplicaciones híbridas, implementan en su totalidad o sólo parte del código en html + css + JavaScript, dejando abierta la posibilidad a ataques estilo Cross Site Scripting (XSS) y Cross Site Re.BIO quest Forgery (XSRF), y también a Carlos Joaquín Brito Abundis es Licenciado en Derecho y recién los ataques de buffer overflow [5]. egresado en Ingeniería en Software por la Universidad Autónoma de Zacatecas. Participó con el artículo de investigación “Evaluación de la Seguridad de la Red Universitaria mediante Pruebas de Penetración” en el Primer Foro de Jóvenes Investigadores. Asimismo, participó con el tema “Enfoques de Desarrollo para Software Seguro” en el marco del Segundo Congreso Internacional de Mejora de Procesos de Software. Los temas de su interés son pruebas de penetración y análisis forense en dispositivos móviles.: @cbreeto carlosbreeto@gmail.com

Cuando se hacen pruebas a las aplicaciones móviles, se tiene que aprender cómo construir un ambiente para las pruebas de las aplicaciones móviles y aplicar técnicas para descubrir fallas dentro de la aplicación y en los sistemas que conforman el backend de la aplicación. El profesional encargado de probar 32

la aplicación debe de tener la habilidad de identificar por donde se podría fugar la información que maneja la aplicación, y para ello necesita tener conocimientos acerca de la arquitectura y de la plataforma móvil, construir un laboratorio de pruebas, interceptar el tráfico entre los web services y las aplicaciones, inyectar tráfico malicioso y detectar posibles fugas de información en el dispositivo.

Tipos de pruebas de penetración

Las pruebas de penetración se pueden clasificar en: Caja Blanca: se cuenta con el código fuente de la aplicación y la documentación. Se simula el ataque y el daño que podría ocasionar un trabajador interno enojado o desleal. En éste tipo de prueba, se encuentran cuestiones relacionadas a: fallas lógicas, caminos mal estructurados en el código, el flujo de entradas específicas a través del código, funcionalidad de ciclos y condiciones, hoyos de seguridad interna y permite probar cada objeto y función de manera individual. Caja Negra: el tester no tiene acceso al código, ni a la documentación. Lo único con lo que cuenta para trabajar es con la versión descargable de manera pública de la aplicación. Se simula un ataque lanzado por un hacker; el vector de ataque más común, es la intercepción de tráfico y la inyección de contenido malicioso para obtener información. Éste tipo de pruebas, trata de explotar vulnerabilidad de tipo Cross Site Scripting(XSS), inyección de link e inyección de comandos SQL. Caja Gris: es una combinación de ambas, se realiza un análisis con la ventaja que se cuenta con el código y documentación, que sirven como guía. Dependiendo del tipo prueba, serán las técnicas y tipos de resultados que arrojará el estudio. Hay que tener en cuenta, que un atacante sólo tiene que encontrar un vector de ataque que sea exitoso; mientras que el profesional de las pruebas de penetración tiene como objetivo detectar la mayor cantidad de hoyos de seguridad que pudieran ser explotados. El Open Web Application Security Project (OWASP) ha formulado guías de los aspectos que se deben tener en cuenta cuando se evalúa una aplicación iOS [6]. La figura 1 ilustra los aspectos sobre la plataforma en sí mismo, y la figura 2 los aspectos relacionados con ataques de la red.


.PRÁCTICAS Pruebas

“…un

Haddix, 2013)

Figura 2. Checklist de tareas al evaluar una aplicación iOS en cuanto a ataques de la red (Cornea & Haddix, 2013)

Vectores de Ataque

Las partes que conforman la arquitectura de una aplicación móvil, permiten identificar los diferentes vectores de ataques: • El software ejecutándose en el dispositivo móvil. • Canal de comunicación. • Infraestructura del lado del servidor.

Referencias [1] Universal, E. (2013). Apple desplaza a Coca-Cola como marca más valiosa. Visto el 13 de octubre del 2013, en http://www.eluniversal.com.mx/finanzas-cartera/2013/

Partiendo la lista anterior, se puede analizar las vulnerabilidades potenciales. Empezando por aprender acerca de la aplicación sujeta a las pruebas de penetración y la infraestructura que le da soporte, ésta fase se le conoce como information gathering (recolección de información) y permite conocer las tecnologías que utiliza la aplicación y así poder diferenciar el comportamiento esperado de un comportamiento anormal. El primer paso, es familiarizarse con la aplicación como lo haría un usuario común, navegar en ella y entender el flujo normal de la aplicación. Después se tienen que interceptar peticiones y respuestas HTTP, con una herramienta como Burp Suite, para analizar, modificar y reenviar los paquetes y observar el comportamiento obtenido para ampliar el análisis se utilizarán herramientas para el sniffing

apple-coca-cola-954713.html [2] Statt, N. (2013). Apple by the numbers: 700M iOS devices shipped. Visto el 7 de octubre del 2013, en http://news.cnet.com/8301-13579_3-57602117-37/apple-by-thenumbers-700m-ios-devices-shipped/ [3] Cook, T. D. (2013). Apple Keynote October 2013. Visto en http://www.apple. com/apple-events/october-2013/ el 25 de octubre del 2013 [4] Osborne, C. (2013). Malicious apps, mobile malware reaches 1 million mark. Visto el 16 de octubre del 2013, en http://www.zdnet.com/malicious-apps-mobilemalware-reaches-1-million-mark-7000021371/ [5] Shah, K. (2012). Penetration Testing for iPhone / iPad Applications, 1–34. [6] Cornea, O., & Haddix, J. (2013). IOS Application Security Testing Cheat Sheet. Visto el 19 de octubre del 2013, en https://www.owasp.org/index.php/IOS_Application_Security_Testing_Cheat_Sheet

33

www.sg.com.mx |

Figura 1. Checklist de tareas al evaluar una aplicación iOS (Cornea &

como tcdump y Wireshark. El dispositivo móvil se debe configurar para utilizar el proxy, y poder empezar a interceptar el tráfico en búsqueda de paquetes que contengan nombre de usuario, contraseñas, consultas SQL, datos de geolocalización, tokens, etc. Durante el análisis de tráfico que genera la aplicación es importante estar atento a los mensajes de errores, inyección SQL, manejo inadecuado de sesiones, criptografía débil, notificaciones Push, autenticación, autorización, almacenamiento de los datos, validación de datos y denegación de servicio. Las pruebas de penetración de caja negra enfocadas al análisis del tráfico de información, servirán para generar fuzzing cases o modelado de amenazas que sirvan para identificar áreas riesgo y probablemente considerar la implementación de un ciclo de vida que contemple la seguridad durante todo el proceso de desarrollo, como lo formula el Software Development Lifecycle (SDL) y la utilización del modelado de amenazas STRIDE. El siguiente paso en el estudio de la aplicación, es el análisis en tiempo de ejecución, el almacenamiento de información (logs, respaldos, bases de datos SQLite, cache del teclado), estudiar las mejoras del iOS 7 y las características que ofrece al problema del uso del celular en las empresas (BYOD). El número de aplicaciones maliciosas va en aumento como lo establece McAffee Labs en su reporte Threats Predictions 2013 y prevé que sigua a la alza, las amenazas en los dispositivos móviles de malware, gusanos, ransomware, spam SMS, smishing, botnet móviles, entre otros. Al utilizar una aplicación, es importante estar conscientes de los privilegios que se le otorgan, qué tipo de información almacena en el dispositivo, si utiliza encriptación para almacenar los datos o para mandar información a través de la red; y establecer lo que podrían recuperar en caso de que el dispositivo se perdiera y cayera en manos equivocadas.

Software Guru

atacante sólo tiene que encontrar un vector de ataque que sea exitoso…”


.PRÁCTICAS Ágil

(Re)Evolución

de metodologías ágiles a nivel corporativo

›› Por Pablo Cáceres

E

scribo este artículo con el fin de poder comentar las experiencias que he tenido en la implantación de prácticas ágiles en la empresa en la cual trabajo y poder aportar con ciertos lineamientos a aquellos interesados en la adopción de prácticas ágiles en sus empresas o áreas de trabajo. Cada vez hay más empresas interesadas en adoptar métodos ágiles como Scrum, XP, Kanban o Agile UP, los cuales introducen nuevas formas de trabajar. Vale la pena recalcar que Scrum y XP son metodologías ágiles en particular, mientras Kanban es un sistema para gestionar mejora interna en la organización, no es una metodología de gestión de proyectos o de desarrollo.

tación de un servicio, no se puede trabajar todo de la misma manera, al menos en una primera instancia. En mi actual empresa existen diferentes áreas de desarrollo asociadas a diferentes productos, con diferentes personas, costumbres (malas costumbres) y problemáticas particulares que no obedecen a estandarizar una forma de trabajo en común para todas las áreas (lo reitero, pero es importante). De ser implantado en forma forzada, generaría solo caos, resistencia al cambio y una terrible entropía. En áreas u organizaciones donde el flujo de trabajo es continuo (mantenimientos o soporte), es dificil aplicar una metodología como Scrum, ya que el flujo de entrada es continuo e impredecible. En estos casos, el sistema Kanban es más adecuado, y de hecho se puede complementar con prácticas específicas de Scrum como planificaciones semanales, Stand­Up meetings, reuniones de retrospectivas, junto con prácticas de XP tales como TDD y uso de historias de usuario. Imponer Scrum en áreas en donde exista demanda continua no es saludable, para poder iniciar en la implantación de prácticas ágiles, siempre es mejor partir por algo más sutil y menos invasivo, como podría ser Kanban, porque permite gestionar mejora continua en cualquier proceso existente y poder llegar a un proceso cada vez más perfeccionado. En otras áreas en donde se desarrolla un proyecto de largo alcance y no existe una demanda continua, sí es más recomendable el uso de Scrum, ya que el trabajo es más predecible y planificable, pero en vez de hablar de Scrum, es mejor hablar de “iteraciones fijas cada ciertas semanas” o “priorizar los requerimientos continuamente para poder determinar la siguiente iteración” y “visualización de los requerimientos y de lo que está en curso”. Claramente esto es mejor llevado y aceptado que utilizar Scrum en su totalidad en un inicio. Lo que yo hice en el desarrollo de un producto en particular, fue orientar el trabajo de desarrollo de software con el uso de entregas continuas cada dos semanas, en donde se define el rol de Product Owner, Scrum Master y Developers, cuyo resultado ha sido notoriamente mejor que en el pasado, generando una cadencia de desarrollo continua y predecible. No todas las áreas trabajan de la misma manera y no todas las áreas tienen el mismo tablero visual con las mismas columnas de flujo de trabajo. De no existir ningún flujo definido o nada claro, entonces es recomendable utilizar las columnas “Pila, progreso y terminado” como punto de inicio.

¿Evolución o Revolución?

El uso de metodologías ágiles en una institución puede resultar en un gran fracaso si no son llevadas y gestionadas en forma paulatina y organizada. El apuro suele ser un gran enemigo, ya que nos apresuramos en cumplir con objetivos, obligando y presionando el uso de metodologías ágiles, cuestión que genera inmediatamente una resistencia al cambio. Dentro del mundo ágil, existen múltiples y diversas prácticas, que van no solo orientadas a una metodología en particular, como Scrum o XP, sino a filosofías y hábitos de gestión y de trabajo colaborativo, independientemente de la metodología específica que se escoja. Dichas prácticas orientan a las personas (NO recursos) a un trabajo más integral, motivador e innovador; como Kanban, sistema que permite mejora continua en procesos de desarrollo. He podido ver que lo más importante es determinar cuáles son las prácticas más alcanzables por la empresa o sus diferentes áreas y departamentos, es decir, cuáles de las prácticas que conocemos pueden ser implantadas de forma más inmediata y que no genere caos. También puede servir detectar prácticas ya existentes o .BIO cercanas para poder reutilizarlas. Pablo Cáceres F. es Ingeniero Civil en computación e informática, Jefe de desarrollo y Arquitectura TI en Rhiscom S.A Chile. Cuenta con experiencia como Arquitecto de Software Senior en tecnologías JEE y .NET, conocimiento de patrones de diseño y buenas prácticas de desarrollo e implementación. Coach ágil y mentor en el uso de metodologías ágiles de desarrollo, específicamente SCRUM, XP y sistema Kanban.

No forzar metodologías unificadas para toda la empresa en una primera instancia

Forzar a trabajar a todos por igual inicialmente es un suicidio. Ya sea en el desarrollo de un producto o pres34


.PRÁCTICAS Ágil

“Lo más importante es determinar cuáles son las prácticas más alcanzables y de mayor beneficio para la empresa.”

Al hablar de prácticas ágiles hablamos de diferentes hábitos y estrategias extraídas de diferentes metodologías las que pueden ser aplicadas en la gestión de los proyectos y en la gestión de los desarrollos propiamente como tal. Para poder implantar agilidad en una empresa, es crucial determinar la problemática de cada área en particular, para poder determinar cuál de todo el universo de prácticas de todas las metodologías ágiles existentes o más conocidas pueden ser aplicadas y utilizadas en cada área, producto o proyecto.

Mantener, Mejorar, Innovar

¿Qué ocurre con las prácticas existentes que dan resultados, o con aquellas que son un hábito dentro de la empresa pero que no son efectivas? En cada organización existe una cultura ya establecida, pero también podemos encontrar la motivación suficiente de querer aprender y aplicar cosas nuevas en la organización. En la organización donde laboro, lo primero que hicimos fue generar un levantamiento de malas prácticas existentes en conjunto con cada participante de cada área. La evolución hacia la agilidad, debe partir por el área que está menos contaminada de vicios y malas prácticas o aquella que tiene la capacidad de poder generar e implementar en forma más rápida y efectiva el uso de prácticas ágiles de desarrollo. Tal como sucede en el marketing viral, los resultados de un área en cuanto a calidad de entregables, uso de nuevas tecnologías y motivación de los integrantes del equipo, se van traspasando paulatinamente a las áreas contiguas en las que se pueden utilizar las metodologías ágiles y prácticas asociadas. Posterior a eso, realizamos un levantamiento de las buenas prácticas existentes y que tan lejos estaba la organización de llegar a ser una organización ágil. Hay que determinar si existen prácticas de entrega continua, planificación por iteración, gestión del product backlog, uso de criterios de aceptación, etcétera.

Factores para una evolución exitosa

• Tener un líder local que apoye la iniciativa de implantación de agilidad en su área o equipo de desarrollo. Es quien apoyará y estará continuamente en el día a día con el equipo de desarrollo. • Tener un coach que apoye a cada líder de cada área. Una figura de guía que apoye continuamente al líder de cada área.

• Contar con la visualización de las tareas en un tablero, ya sea de Scrum o Kanban (un tablero por sí solo no te hace ágil en todo caso). • Aplicar consistentemente las reuniones cortas de pie entre todo el equipo. • Gestión de requerimientos basada en historias de usuario priorizadas, así como criterios de aceptación de las mismas. • Entrega continua de desarrollos, ya que eso permite hablar de calidad y entendimiento desde el inicio de cada proyecto o desarrollo, permitiendo eliminar considerablemente el retrabajo, disminuyendo los costos, tiempo y permitiendo un mejor rendimiento de los equipos. • Que cada dirección tenga objetivos en particular. Pueden variar en cada caso, pero entre los objetivos más comunes están la calidad, productividad de los equipos y disminución de retrabajo. No ser invasivo en el uso de agilidad es clave, evolución antes de revolución. En la vivencia que he tenido, es crucial recalcar que para poder llegar a un nivel alto en el uso de agilidad es importante ir generando una evolución paulatina. En mi caso, partí con un área específica, que con el uso del sistema Kanban logró ser un ejemplo en cuanto a rendimiento, calidad técnica y motivación de las personas. Con ese respaldo y la inquietud de otras áreas de utilizar lo mismo, me permitió poder apoyar y guiar el uso de prácticas ágiles y metodologías como Scrum en las diferentes áreas restantes en la empresa, con lo cual se puede hablar que aproximadamente un tercio de la empresa utiliza cierto nivel de agilidad, y esto ha traído como resultado el tener una calidad de entregables y estrategias de gestión mejores que la competencia, administrando a las personas y proyectos de una manera mejor y diferente, es decir, con un estilo ágil. 35

Software Guru

Hablar de prácticas ágiles, no de metodologías en particular

• Contar con el apoyo de la alta dirección de la empresa, que esté de acuerdo con el uso de metodologías ágiles y que otorgue el empoderamiento suficiente al coach para que pueda ir generando las modificaciones e implantación de prácticas ágiles. Al presentar a la alta dirección el uso de metodologías ágiles para conseguir su apoyo, la clave está en descubrir qué es lo que a ellos más les importa: ¿calidad?, ¿rendimiento?, ¿costos? En cualquiera de los casos, la agilidad va a estar orientada a la calidad y rendimiento, lo que lleva a una disminución de costos en particular.

www.sg.com.mx |

Cada área tiene un tablero y columnas diferentes y enfocadas al flujo de trabajo particular, no es algo estándar. De otra forma sería muy probable hablar de fracaso de implantación en vez de éxito.


.PRÁCTICAS Calidad

Explicando la Calidad de Software ›› Por José Sánchez Vázquez

(Usando Sillas)

A

unque en principio puede parecer que los costos de contratar el desarrollo de un software a la medida a través de una empresa especializada son mucho mayores que si contratamos a un equipo de freelancers, es importante evaluar todos los aspectos involucrados, especialmente la calidad y tiempo de entrega, lo cual a la larga puede resultar incluso más caro. Para entender esta dicotomía, pensemos en cómo funciona la calidad en el software comparandola con algo más tangible como la elaboración de unas sillas. Imaginemos la siguiente historia ...

Una empresa hotelera en crecimiento ha decidido cambiar las sillas de sus lujosos hoteles alrededor del mundo. La dirección de operaciones ha decidido descartar las soluciones “de caja” ya que una silla prefabricada y empaquetada no soluciona las necesidades y requerimientos especiales de sus hoteles más fastuosos. Así que el personal de compras se da a la tarea de buscar fábricas de sillas para cubrir las necesidades especiales y los altos requerimientos de las mismas. Después de algunos días dicho personal entrega un análisis a su jefe inmedia.BIO to al cual le dicen lo siguiente: José Sánchez Vázquez es Licenciado en Sistemas Computacionales y cuenta con una Maestría en Habilidades Directivas.Tiene más de 10 años experiencia en desarrollo de Aplicaciones de Escritorio y Sistemas Web de los cuales los últimos 6 han estado enfocadas al Comercio Exterior. Cuena con conocimientos y experiencia en Administración de Proyectos y Análisis de Negocios.

“En general todos las fábricas de sillas requieren de un análisis de entre 1 y 4 semanas tan solo para analizar qué tipo de silla necesitamos y a partir de esto poder realizar una cotización”.

Algunas caras de asombro se dejan ver en la reunión mientras que una gerencia que no conoce la importancia y sensibilidad del tema, expresa: “Yo tengo un conocido que se dedica a eso, es un excelente ebanista quien ya ha fabricado una gran cantidad de sillas y además trabaja a un precio muy económico, yo podría llamarlo y concertar una reunión”. La reunión termina con la decisión de contratar al ebanista para que elabore una silla de prueba, y adicionalmente escoger a alguna de las fábricas de sillas para que realice el análisis. Al día siguiente, un par de personas de una de las fábricas de sillas hacen una visita y realizan una enorme cantidad de preguntas: cual es el perfil de los clientes del hotel, cantidad de estrellas de los hoteles, ubicación geográfica de cada uno, altitud, cercanía al mar, etcétera. La gran cantidad de preguntas llega al grado de desesperar a más de uno del personal que los atiende y que ya entre pasillos comentan: “¿Para que tantas preguntas? Sólo pedimos hacer una silla” El equipo de la fábrica de sillas se retira y comenta que en una semana enviarán la cotización. Por su parte, el ebanista llega varios días después de que lo citaron, se disculpa sin mucho afán ya que ha tenido mucho trabajo y hasta ese día ha tenido tiempo de atender la solicitud. Sin embargo, se torna muy seguro, pregunta el tipo de madera del cual quieren 36


.PRÁCTICAS Calidad

“¿para que tantas preguntas? Sólo pedimos hacer una silla”

“¡El precio de la fábrica de sillas es ridículo!” “¿Nos van a cobrar por configurar su maquinaria? “¡Es una fábrica! ¡Deberían de ser más rápidos!” Ante esto, y a pesar de que algunos no están convencidos y saben que algo no está del todo bien, se toma la decisión de contratar al ebanista para hacer todas las sillas. Unos días después citan al ebanista para negociar la elaboración de las 300 sillas de cada uno de sus 10 hoteles, y como es evidente la empresa hotelera busca que el ebanista les cobre menos por la fabricación de las mismas, al fin y al cabo son 3,000 sillas así que por volumen debe de ser más barato. Se le da al ebanista un plazo máximo de 2 años, por lo que tendrá que contratar a algunos amigos y compañeros de su oficio. Después de negociar mucho, fijan el precio en $750.00 por silla, el ebanista hace cuentas para sí mismo y piensa:

“Son $2,250,000.00 ¡claro que me conviene!”

Al igual que en esta pequeña historia, cuando se habla de desarrollo de software es común que se piense que los costos por el análisis y diseño son excesivos; peor aún si se mencionan actividades como la gestión de la calidad, gestión de la configuración o instalación en producción. Esto sucede porque el software, al ser un bien intangible, se vuelve susceptible de apreciaciones erróneas como: “si se hace bien a la primera, no hay razón para que tenga errores”, “¿para qué necesitas analizar si ya te dije lo que quiero?”, “¿establecer una arquitectura y un diseño?, ¡ni que fuera un edificio!”. Si bien las características del software lo hacen un blanco natural para este tipo de cuestionamientos por parte de los clientes, nosotros mismos como profesionales del software también lo mutilamos con el uso de malas prácticas, por ejemplo: • No analizar: “¿Para qué analizar? Total, los requerimientos siempre cambian”. • No hacer diseño: “Es más fácil escribir directo el código y sobre la marcha decido el diseño”. • Desarrollar y no documentar: “Es mi código, nadie tiene por qué entenderlo”. • Liberar sin hacer un plan de pruebas: “El cliente nunca va a hacer eso, no tiene por qué fallar”. Estos y muchos otros vicios tenemos que quitar antes de poder alfabetizar a los clientes sobre cómo funcionan las cosas en nuestra profesión. Entre todos podemos cambiar la Industria del Software. 37

Software Guru

Al cabo de 4 años, el ebanista y sus compañeros terminan las sillas. Todas son similares pero no idénticas como esperaba la dirección de la empresa hotelera. Además, no resultan tan útiles en algunos hoteles donde la humedad o el clima les presentan problemas mayores con la calidad.

www.sg.com.mx |

las sillas, toma algunos datos con un lápiz en una pequeña libreta ya con muy pocas hojas, hace algunas señas con las manos indicando el tamaño que tendrá la silla, murmura unas palabras para sí mismo; piensa un poco y un par de minutos después comenta que estará en una semana y que el costo será de $1,000. Pasa la semana y llega la cotización de parte de la fábrica de sillas. De acuerdo con esta, el costo será de $50,000 por el diseño y la configuración de la maquinaria de la Fábrica mas $500 por cada silla. Además comentan que el tiempo requerido para el diseño y la configuración será de 6 meses explicando que es el tiempo mínimo que se toma reconfigurar la maquinaria de la fábrica de sillas y que se requiere el 50% de anticipo. Al día siguiente el ebanista llega con su preciosa silla con un excelente acabado y con algunos detalles y adornos que le mermaron su utilidad. En la siguiente reunión para tratar el tema, estos son algunos de los comentarios que se escuchan de parte de los gerentes:


.PRÁCTICAS Gestión de la configuración

Modernízate, usa Git

›› Por Gustavo Laotshi Sánchez

G

it es un sistema de control de versiones distribuido que se ha vuelto muy popular gracias a la red social github, la cual permite publicar código o archivos fuentes de tus proyectos y poder compartirlo con gente de todo el mundo, fomentando la colaboración. Existen otras redes sociales como bitbucket que tienen la ventaja de hacer público o privado el proyecto que publiques.

Flujo de Trabajo

Git funciona en una gran variedad de sistemas operativos como Linux, Mac OS y Windows. En Linux, si es que no viene preinstalado puedes instalarlo fácilmente desde el package manager. Para Mac OS y Windows lo puedes descargar desde http://git-scm.com. Además, si eres desarrollador, puedes descargar el plug-in para tu IDE favorito, como Eclipse, NetBeans, Sublime Text 2, Xcode, etc. Git consiste se puede utilizar ya sea desde línea de comando o con un cliente gráfico. Por medio de comandos o iconos se le indica a Git las instrucciones que tiene que realizar. Existen dos repositorios principales en un proyecto Git, el repositorio local y el remoto. El repositorio local cuenta con tres zonas o árboles, el primero es el directorio de trabajo (working dir) que contiene los archivos del proyecto, el segundo es el índex (stage) que actúa como una zona intermedia que contiene los cambios que se van a confirmar y el HEAD es el que apunta al último commit realizado. El estado natural del repositorio es el directorio de trabajo. Si hay un cambio en el repositorio, git lo indicará y tiene que ser agregado a la zona index con el comando git add, después de ser agregado se deben de confirmar dichos cambios (commit) con el comando git commit. Una vez confirmados los cambios se agregan a la zona HEAD y el repositorio vuelve de nuevo a la zona natural con los cambios realizados. El proceso mencionado anteriormente se debe de realizar por cada cambio en el repositorio. Por cada commit realizado se genera un cambio en el repositorio. Imaginemos una línea recta donde cada cambio .BIO Gustavo Laotshi Sánchez es Ines representado por un círculo, está geniero en Sistemas Computaciolínea contiene todos los registros de nales con Maestría en Tecnologías de la Información por el Instituto cambios, pero además se pueden geTecnológico de Tepic, participación en Google Cloud Developer nerar “ramas” (branches) que son líChallenge 2013, mención honorifineas alternas que se generan a la par ca en Google Developer Bus 2013, tercer lugar en Microsoft Imagine de la línea principal (master). Con Cup, segundo lugar a nivel nacional en concurso de creatividad esta característica podemos generar de los Instituto Tecnológicos. Cuenta con la certificación Oracle un branch para agregar una nueva Certified Associate Java SE 7, ha funcionalidad a nuestro proyecto participado como ponente y publicado artículos en congresos de sin afectar el contenido principal, investigación. laotshi@gmail.com

Figura 1. Directorio de trabajo.

como se muestra en la Figura 1. Una buena práctica es tener dos ramas adicionales, la principal es la rama master (producción), la segunda rama para desarrollo y una tercera para pre-producción. A continuación enlistan las actividades más comunes al utilizar un sistema de control de versiones, y el comando corresopndiente en git. 1) Registrar los cambios del proyecto ($git commit). 2) Revisar el estado de los cambios del proyecto ($git status). 3) Visualizar la lista de cambios a través del tiempo del proyecto ($git log). 4) Regresar a una versión anterior del proyecto ($git checkout). 5) Deshacer los últimos cambios realizados. ($git reset). 6) Desarrollar una nueva funcionalidad sin afectar el sistema principal ($git branch). 7) Mezclar las nuevas funcionalidades con el sistema estable ($git merge). Para iniciar con Git, es importante configurar sus variables de entorno, así como configurar la llave para la conexión por SSH. A continuación se muestra los comandos a seguir: $ git config --global user.name “Laotshi” # nombre de usuario para el repositorio local $ git config --global user.email “laotshi@gmail.com” # email del usuario para el repositorio local $ ssh-keygen #genera una llave SSH,

38


.PRÁCTICAS

Programación

Si se usa Github, la llave SSH debe ser agregada en la opción Account settings -> SSH Keys -> Add SSH key. A continuación se mostrará por medio de un escenario práctico cómo realizar en Git las sietes actividades más comunes mencionadas anteriormente. Imaginemos que estamos participando en un nuevo proyecto llamado iCV de la empresa TechBuilder, para este proyecto participaran dos desarrolladores Jr y dos desarrollador Sr. Se ha decidido utilizar Git como sistema de control de versiones y utilizar la red social GitHub con la finalidad de compartir su proyecto y conseguir colaboradores para la elaboración de su proyecto. El primer paso del equipo fue abrir una cuenta de GitHub de la empresa y una cuenta por cada uno de los integrantes del equipo. El segundo paso fue crear un proyecto en GitHub y vincularlo con algún equipo local. Pablo, uno de los desarrolladores, se hizo cargo de esto y para ello realizó lo siguiente:

Enrique decide visualizar el log (historial) de todos los cambios que se han realizado en el proyecto, con la finalidad de regresar al commit de la semana pasada, por lo cual hace lo siguiente: $ git log # visualiza los commit que se han realizado, cada commit tiene un identificador $ git checkout 0a610 #regresa el proyecto al estado del commit indicado su número HASH. $ git checkout master #regresa al estado actual del proyecto.

Mario necesita iniciar su requerimiento sin afectar los cambios que tiene el proyecto, lo que tendrá que hacer es crear un nuevo branch e iniciar a trabajar desde ahí y una vez concluido la funcionalidad tendrá que mezclarla con la rama principal, para realizar esa tarea hizo lo siguiente: $ git branch desarrollo #crea una nueva rama llamada desarrollo $ git checkout desarrollo #Coloca la nueva rama como la principal. $ git add . #agrega los cambios.

$ mkdir iCV # crea una carpeta que almacenará el repositorio. $ cd iCV # entra a la carpeta

$git checkout master #se cambia a la rama master $git marge desarrollo #se mezcla la rama desarrollo con la rama master.

Enrique hizo unos cambios en sus archivos del proyecto y los agrego al área stage, pero ha decidido no agregar dichos cambios y quiere que el proyecto quede como cuando inicio, por lo que usó los siguientes comandos:

$ git init # crea un repositorio local. $ git remote add origin git@github.com:TechBuilder/iCV.git

$ git add . #Agrega todos los archivos que cambiaron al árbol stage

# Agrega el repositorio remoto al repositorio local

$ git reset HEAD . #regresa todos los archivos del área stage al área woking dir.

$ git pull origin master # descarga el contenido del repositorio remoto al repositorio local.

Todos los integrantes tuvieron que seguir estos pasos para vincular su repositorio local con el repositorio remoto. Nota: Todos los cambios realizados dentro de la carpeta iCV serán registrados por Git. El desarrollador José, creó el archivo index.html y modificó el archivo README.md y quiere agregar dichos cambios al repositorio remoto, para esto, escribió los siguientes comandos: $ git status # visualiza los archivos que fueron modificados, agregados o eliminados.

Al terminar los requerimientos principales del proyecto, los integrantes del equipo tienen un proyecto open source en la nube, donde personas de todo el mundo pueden colaborar con su proyecto, además la colaboración dentro del equipo se ha realizado con éxito. El uso de Git en la industria del software es esencial, la colaboración entre equipos de trabajo es cada vez más común, por lo tanto es una herramienta que no debe de falta en nuestros proyectos de software.

$git add . # agrega los archivos que tuvieron cambios, para agregar un solo archivo git add nombreArchivo.ext $git commit –m “Se agregó la página de bienvenida y se modificó el archivo README” # registra en el repositorio los cambios que se realizaron y coloca un comentario para identificarlo $git push origin master # se suben los cambios al repositorio remote en la rama master

39

Software Guru

$ git commit –m “terminé la funcionalidad” #genera un commit

www.sg.com.mx |

1) Crear un repositorio público en GitHub, llamado iCV con su archivo de inicialización README que contiene la descripción. Cuando el repositorio está creado se genera un enlace HTTPS o SSH que permitirá enlazar el proyecto con cualquier equipo local. 2) En su equipo local desde la línea de comando escribió:


.PRÁCTICAS Project Management

Administración de los Interesados del Proyecto ›› Por Leonardo G. Mrak

E

l estar metiendo las narices en proyectos y equipos de diferentes empresas por el rol de consultor que desempeño, me ha permitido atestiguar distintos factores que pueden hacen peligrar el éxito de un proyecto. Uno de estos factores, que es bastante común y del que no se habla mucho, es el de hacer una mala administración de los interesados. El fin de todo proyecto debería ser el siguiente: Proyectos Exitosos = Satisfacción de expectativas de sus interesados. Podemos definir a los interesados de un proyecto como aquellas personas, grupos de personas, organizaciones o instituciones que pueden verse afectadas o afectar la ejecución de un proyecto de manera positiva o negativa y que en mayor o menor medida poseen expectativas respecto al resultado. La administración de los interesados del proyecto está compuesta por dos etapas: una de planificación y otra de monitoreo. La primera se ejecuta durante las etapas tempranas del proyecto y la segunda se lleva a cabo durante todo el proyecto.

Planificación

Ventajas: • Ayuda a clarificar el entendimiento de los objetivos del proyecto y sus beneficios, reforzando el compromiso de los interesados. • Disminuye riesgos asociados a malos entendidos sobre el proyecto. • Permite la detección oportuna de problemas para su posterior seguimiento. • Asegura el entendimiento de las expectativas de los interesados.

Pasos

1. Trace con cinta (con la intención de mantener durante todo el proyecto) la gráfica 1 en alguna de las paredes de la sala donde se encuentra el equipo del proyecto. 2. Explique a los asistentes el objetivo de la dinámica y el significado de cada uno de los cuadrantes de la cuadrícula, según lo que se describe a continuación: • Monitorear: poner en el cuadrante a las personas que hay que vigilar pero sin aburrirlas con comunicación excesiva. • Mantener satisfechos: identificar a las personas que hay que .BIO mantener felices. Tener en cuenta Leonardo G. Mrak es consultor en Qualtop, tiene más 13 años de que el nivel de interés puede camexperiencia dirigiendo proyectos de distinta índole y apoyando a biar rápidamente cuando se conempresas a mejorar sus procesos vierte en un actor insatisfecho. de entrega de servicios e ingeniería de software. Es CSM, PMP®, ITIL, • Mantener informados: en este Kanban Professional y tiene un MBA realizado en Madrid España. cuadrante se requiere mayor comunicación, se recomienda comu-

Gráfica 1. Cuadrícula para planeación.

nicaciones frontales. Hable con ellos para asegurarse de que no hay problemas importantes que estén surgiendo. Estas personas a menudo pueden ser muy útiles para su proyecto. • Gestionar de cerca: aquí se encuentran los jugadores clave, aquellos que deberían ser el foco principal y a los que mayor tiempo y esfuerzo de administración se les dedique. Sobre todo no se olvide de escucharlos activamente. 3. Entregue tarjetas a cada uno de los asistentes (mínimamente el equipo y el director del proyecto, es muy recomendable que también asistan el responsable comercial, el patrocinador del proyecto, clientes, usuarios, etc.) y solicite que identifiquen individualmente a los interesados, colocando uno por tarjeta. Considere las siguientes categorías para que cada asistente clasifique el nivel de compromiso actual de cada uno de los interesados, colocando la letra que corresponda: • (D) Desconocedor: desconoce el proyecto y tiene un impacto potencial. • (R) Resistente: conoce el proyecto, tiene un impacto potencial y resistencia al cambio. • (N) Neutral: conoce el proyecto sin embargo no lo apoya ni se resiste a él. • (A) Apoya: conoce el proyecto, tiene impacto potencial y apoya el cambio. • (C) Comprometido: conoce el proyecto, tiene impacto potencial en él y está comprometido activamente en asegurar el éxito del proyecto. Puede utilizar letras o diferentes colores de tarjetas para señalar estas categorías. También puede utilizar colores de tarjetas para di40


.PRÁCTICAS Project Management

“asegura ferenciar aquellos interesados internos de los externos como ser con rojas aquellas personas que salen del contexto de la compañía y verde las que pertenecen a la compañía que ejecuta el proyecto. La estructura de las tarjetas podría ser como las que se muestran en la Figura 1:

de que se estén cumpliendo las expectativas de los interesados”

8. Identifique con los asistentes las estrategias específicas asociadas a las expectativas detectadas, para administrar cada una de las expectativas y sus responsables. Considere por ejemplo: • Tipos de reuniones a realizar con los interesados o en las que deberían participar y su periodicidad. • Tipo de informes a presentarles y su periodicidad. • Tipo de comunicación a utilizar.

4. Pida a los asistentes que pasen al frente y peguen las tarjetas en el cuadrante al que creen que pertenecen. 5. Lea cada una de las tarjetas en voz alta, identifique interesados repetidos o aquellos que por más que estén identificados de manera diferente, sean los mismos. El facilitador también deberá de considerar la posibilidad de que se pueda crear una tarjeta con un interesado que sea una institución u organización y que por ser necesaria una estrategia de administración conjunta, englobe a varios interesados identificados. 6. Establezca con los asistentes información sobre los interesados identificados en cada tarjeta: •Información relevante de ellos como descripción, puesto, etc. •Expectativas conocidas. En este caso pudiera surgir la necesidad de realizar una entrevista con ellos si existiera la posibilidad. •Fase del ciclo de vida del proyecto de mayor interés o donde mayor impacto tenga el interesado. 7. Aliente a los participantes para que opinen sobre la necesidad de cambiar tarjetas de cuadrantes.

Monitoreo

Ventajas: •Mantiene el compromiso de los interesados con el proyecto. •Asegura de que se estén cumpliendo las expectativas de los interesados. Pasos: 1. Contemple en la agenda de las reuniones de monitoreo del proyecto la revisión del estado de los interesados, si se están realizando las estrategias establecidas y si existieran nuevos agregarlos, clasificarlos y colocarlos en el cuadrante correspondiente, de acuerdo a los pasos detallados en la fase de Planificación. 2. Contemple el cambio de cuadrante de interesados y la actualización de las estrategias si corresponde. 3. Identifique acciones asociadas a aquellas estrategias que han presentado algún problema para llevarse a cabo, esto se puede indicar a través de tarjetas que se adjunten al interesado como lo muestra la imagen anterior. 4. Tome una foto sobre el estado de los interesados y guárdela junto con la información de monitoreo del proyecto. Las preguntas que me hacía antes de escribir este artículo eran: ¿Por qué no se lleva a cabo la Administración de los Interesados?, ¿Cuál es la razón? Las respuestas que encontré las puedo sintetizar en dos razones primordialmente, la primera se debe a que se subestima la importancia y la criticidad de la disciplina y la segunda a la manera en que se llevan a cabo sus actividades. Es por eso que esta dinámica intenta reforzar la práctica de administración de los interesados del proyecto de manera tal que los mismos estén siempre visibles y presentes para el equipo que realiza el proyecto y que su seguimiento se realice de una manera efectiva, divertida y simple durante todo el proyecto. 41

Software Guru

La columna de expectativas se refiere a lo que esperan los interesados de la ejecución del proyecto, mientras que en la de estrategias se colocan acciones que se llevarán a cabo para cubrir esas expectativas. Estas serán identificadas en los pasos 6 y 8 respectivamente. La reunión de KickOff del proyecto es un buen momento para identificar interesados. Considere el dar un tiempo razonable dependiendo del tamaño del proyecto, intente que cada uno de los asistentes realice el mayor esfuerzo posible, aliéntelos a que no escatimen (aunque lo hagan bajo suposiciones) en la identificación de los posibles interesados, si no conocen el nombre que coloquen el rol que tienen en el proyecto o que los identifiquen de alguna manera clara.

www.sg.com.mx |

Figura 1. Ejemplo de estructura de tarjetas.

Como parte de la madurez de esta dinámica en la organización pueden existir estrategias predefinidas y asociadas a los cuadrantes, de esta manera solo quedaría tomar aquellas que aplican e identificar nuevas en función de las necesidades del proyecto, esto permite hacer más ágil la dinámica y asegurarnos de utilizar lecciones aprendidas.


.PRÁCTICAS Project Management

¿Cómo Contar una Historia con Datos? LOS DATOS TE QUIEREN DECIR MÁS QUE NÚMEROS

P

ues ahí estaba yo (como a muchos de ustedes les habrá sucedido) en la sala de juntas esperando las conclusiones sobre el análisis de cómo se comportaba un equipo de desarrollo con respecto a sus métricas. Comenzó la presentación, había bastante texto, notas, mucho formato, y un desfile de gráficas de barra que daban la impresión de que la presentación estaría completa. Sin embargo, aun con toda esa información, se falló al entregar el mensaje. En mi percepción, esto se presenta (entre otras causas) por la enorme cantidad de datos que hoy tenemos disponibles y también por las herramientas que usamos para análisis, las cuales con un solo click te permiten generar innumerables reportes, gráficas y estadísticas que hasta parecería un crimen no incluirlas –pues ni modo de no hacerlo, ya están ahí y se ven muy ostentosas. El asunto es que seguramente no necesitas usar todo lo que estas herramientas ponen a tu alcance para comunicar lo que te dicen los datos. Por fortuna esto no tiene que ser así, solo hay que abordarlo desde otra perspectiva. Presentar información de manera creativa puede convertir las simples estadísticas en historias que ayuden a difundir un mensaje de manera más efectiva. Estos son algunos de los puntos que cuido de manera fundamental para transformar datos en historias: 1- Reúne y revisa los datos con los que cuentas. Dependiendo de la calidad, cantidad o diversidad de los datos que tengas se determinará el rumbo de tu presentación. Esta es una parte sumamente crítica. En esencia lo que estás buscando es eliminar información que no tenga sentido, digamos que haya formatos que no corresponden o tal vez errores de captura. Es posible que debas conservar algunas inconsistencias para ilustrar un punto, pero siempre es preferible saber cuáles son esas inconsistencias para evitar sorpresas. Recuerda que no porque la información venga del “sistema” significa que es infalible. Ya que tienes tu materia prima identifica el mensaje que quieres (y puedes) entregar con esa información.

2- Explora los datos que van a soportar tu presentación. Puedes buscar tendencias, patrones, proporciones, ubicación espacial, variación .BIO con respecto al tiempo, diferencias Alberto González Ayala trabaja para Softtek en el equipo de Calidad entre categorías entre algunas. Se e Innovación. Pasa la mayor parte de su tiempo analizando los datos trata de identificar qué ‘historia’ te y ayudando a los socios a mejorar cuentan los datos. productos y procesos. Da pláticas sobre el análisis de datos y desarrollo de software Lean-Agile. adalberto. gonzalezayala@gmail.com @Aleb_Z

Definitivamente el tipo de exploración que realices dependerá del

›› Por Adalberto González Ayala

“…no porque la información venga del ‘sistema’ significa que es infalible…” conjunto de datos que poseas, sin embargo siempre puedes comenzar con patrones y relaciones. Los patrones son la base, pues prácticamente todos las cosas cambian con el paso del tiempo; las personas descubren mejores maneras de hacer las cosas, los equipos se vuelven maduros, las ventas se incrementan, el artista de moda es otro y es el tiempo quien ayuda a evidenciar estos cambios. Otro punto es explorar son las relaciones entre los datos. Los dos tipos de relaciones esenciales son correlación y causalidad. Esto es de gran ayuda cuando te encuentras con muchas variables y deseas saber como se están afectando, digamos la cantidad de defectos en la fase de pruebas contra el tiempo invertido en la fase de diseño. En este punto puedes usar incluso una humilde gráfica de barras, lo importante es elegir sabiamente la herramienta que nos ayudará para transmitir nuestro mensaje de manera efectiva. Sin embargo no necesitas hacerlo todo a mano, apóyate de alguna herramienta. Existe una gran variedad de hojas de cálculo, software para análisis estadístico y business intelligence. Incluso hay varias opciones gratuitas, como por ejemplo R-project. Cuida de no convertirte en víctima de tu propia herramienta, pues también se da el caso de gráficas complejas que se ven maravillosas pero que son dificiles de interpretar. 3- Prepara la estética de la presentación. Ahora que ya conoces la historia que te dicen los datos, prepárate para presentar lo que has descubierto. Para esto pregúntate: ¿quién es mi audiencia?, ¿que estoy esperando que hagan al terminar mi presentación? Tener esta pregunta presente es muy importante, pues he visto análisis que no responden a ninguna pregunta de interés para la audiencia. No es lo mismo una presentación de productividad para el equipo ejecutivo que para el equipo técnico. Pues sin importar que en esencia el mensaje sea el mismo y aunque la información haya salido del mismo conjunto de datos, es obvio que a uno le interesará más hablar de facturación que de codificación. Quisiera ser muy enfático que este es el último paso, evita el desgastarte preparando un mega-formato con todos los colores de la tabla pantone si aun no has asegurado el análisis de la información en las revisiones con tu equipo; ayúdale a tu audiencia a centrarse en tu mensaje, resalta aquello que quieres que llame la atención ya sea con un color, tamaño o forma distinta. Hazlo enfocándote en ilustrar y hablar siempre en términos de tu audiencia. Practica el aplicar estos sencillos pasos y me dices como te fue. 42


www.sg.com.mx |

Software Guru


.COLUMNA Código Innovare

Startups

Oportunidad de negocio para emprendedores en el mercado de las aplicaciones móviles

S

tartup es un término de moda que se utiliza en el mundo empresarial, el cual se puede conceptualizar como el emprender o simplemente iniciar un nuevo negocio. Las startups son empresas emergentes, generalmente sustentadas en la tecnología y la calidad; centradas en satisfacer las necesidades del cliente, lo que las hace contar con un alto nivel de proyección. A pesar de las carencias marcadas por su efímera trayectoria y la falta de recursos para financiarse, son empresas que buscan una rápida consolidación. Para que una startup sea exitosa, entre varios factores requeridos, se destacan dos elementos clave:

proceso de innovación y que por ende, ha validado su novedad en el mercado al que se desea acceder.

1. Ideas que permitan desarrollar un posible producto o servicio: generalmente ideas poco maduras de una persona o grupo de personas, quienes creen que estas tienen potencial para trascender y es así que trabajan para robustecerlas y convertirlas en un producto o servicio rentable que genere ganancias.

Conformación de equipos de trabajo comprometidos. La creación de startups se basa en la confianza y compromiso de los colaboradores, ya que tienden hacia la materialización de ideas. Hacen parte de equipos de trabajo de alto desempeño autogestionados y motivados, con la firme creencia que el producto o servicio a desarrollar será de alto impacto en los clientes potenciales.

2. Un modelo de negocio sustentable que le permita a la startup, llevar al mercado su idea y comercializar el producto o servicio resultante. Eric Ries, fundador del movimiento Lean Startup, señala que: “un startup es una institución humana diseñada para entregar un nuevo producto o servicio bajo condiciones extremadamente inciertas[1]”. De esta definición se enJosé Alberto Refatizan tres aspectos principales: yes Ramírez colabora en el área de desarrollo de Nuevos Productos y Servicios de la Dirección Adjunta de Competitividad del INFOTEC en temas relacionados con innovación. Cuenta con estudios de posgrado en Gestión de Innovación de las TIC y en Administración de Organizaciones, así como diversos diplomados. También es profesor investigador en la Sección de Estudios de Posgrado de la Escuela Superior de Turismo del IPN y es director de trabajos de titulación para las maestrías que imparte el INFOTEC.

a) La creación de una institución humana que involucre colaboradores creativos que compartan la pasión de trabajar en un proyecto en el que creen. b) El fomento a la innovación, mediante la promoción de una cultura institucional que empodere a los colaboradores y los invite a innovar; favoreciendo la creatividad y generación de nuevas ideas, buscando en todo momento ideas disruptivas acompañadas de modelos de negocio sostenibles. c) El trabajo bajo condiciones extremadamente inciertas a través de la gestión ágil de la startup, para convertir rápidamente ideas en resultados positivos o negativos.

Beneficios de crear startups

Generación de productos y servicios innovadores. La innovación es la carta de presentación de las startups. La creación de una, generalmente obedece a la materialización de una idea que pasa por un

Tolerancia al fracaso. Al no contar con un financiamiento constante, las startups están obligadas a fallar rápidamente en su proyecto original, teniendo la posibilidad de realizar cambios y ajustar el producto o servicio, de acuerdo a las necesidades de los clientes potenciales. Una gran cantidad de startups tienden a ser efímeras, es decir, no prevalecen en el mercado. Sin embargo, el trabajo realizado es usado como insumo para la creación de otra startup.

Calidad. Las startups son empresas basadas en la calidad, debido a que nacen y operan bajo la filosofía de la mejora continua basada en el conocimiento profundo del cliente. Bajo costo de operación. Es posible fundar una startup que opere con bajos costos de operación, si el equipo de trabajo está conformado por personas que tengan los perfiles creativos, de negocio y tecnológicos. Metodologías y herramientas. Existen algunas metodologías que facilitan la creación de startups, una de ellas y probablemente la más utilizada, es la llamada Lean Startup, que provee un enfoque científico para crear y administrar startups que proporcionen el producto de la manera más rápida posible. Esta metodología brinda los fundamentos para dirigir una startup y determinar cuándo tomar la decisión de cambiar de dirección o determinar cuándo una idea es poco factible de llevar al mercado, de una manera muy ágil [2]. La metodología Lean Startup se puede resumir en el ciclo: a) Generar hipótesis que intenten contestar preguntas como: ¿Quién es el cliente objetivo que utilizará el producto o servicio?, ¿qué necesitan de mi nuevo producto o servicio?, ¿qué le “duele” al utilizar el producto o servicio? b) Construir un prototipo (producto mínimo viable) que conteste alguna de las hipótesis planteadas, de acuerdo a los conocimientos teórico-técnicos con los que cuente el equipo; tomando siempre en consideración las necesidades del cliente objetivo. c) Validar el prototipo con los clientes objetivo. 44


.COLUMNA Código Innovare

“las startups son empresas basadas en la calidad”

Financiamientos

Actualmente se vive el auge de las startups en México. Un detonante para este auge, fue la firma del decreto por parte del Presidente Enrique Peña Nieto, con el que se crea el Instituto Nacional del Emprendedor [4], enfatizando la importancia que representa para el Gobierno, el fortalecimiento de las empresas y la creación de nuevos negocios. Uno de los objetivos estratégicos del instituto, es fortalecer el ecosistema de financiamiento mediante la diversificación y la facilitación de acceso al crédito, por lo que se ha dispuesto un fondo para apoyar a los emprendedores y a las MiPyMEs en su modalidad de startups. Como opción adicional a los financiamientos formales (fondos gubernamentales o bancos), existen alternativas como el crowfunding, modelo que busca la captación de inversores para lograr una financiación colectiva de proyectos prometedores a través de Internet. Algunas de las plataformas más populares de crowdfunding son www.kickstarter.com y www.indiegogo.com.

Startups de aplicaciones móviles

Existe una amplia gama de áreas del conocimiento que pueden desarrollarse a través de las startups, por ejemplo, áreas de biotecnología, telemedicina, ambientes inteligentes, entre otras. Una de las áreas con una alta aceptación entre los emprendedores, es aquella relacionada con las TI, en específico las aplicaciones móviles, puesto que son relativamente más fáciles de materializar. Lo anterior, debido al desarrollo tecnológico que se ha presentado en los últimos años, con respecto a las tecnologías móviles por parte de las grandes empresas que lideran el mercado de los teléfonos inteligentes (Google, Apple y Microsoft). Ejemplos de este desarrollo tecnológico, son las APIs que agilizan la programación de aplicaciones móviles por parte de terce-

Algunos eventos efectuados recientemente son: • “Congreso universitario móvil 2013”, celebrado en la UNAM. • “Hackathon por la transparencia” el cual contó con la participación de 25 instituciones gubernamentales que compartieron sus datos para la creación de aplicaciones móviles (incluyendo a INFOTEC quien se encargó del modelo de datos abiertos). • “Hackathon en la Semana de la Ciencia y la Innovación 2012”, en donde las dependencias del Gobierno del Distrito Federal compartieron sus datos para la creación de aplicaciones móviles. • Campus Party México 2013. • Startup weekend En conclusión, las startups al permitir el diseño y creación ágil de productos y servicios que satisfacen las necesidades de la sociedad, se convierten en una excelente opción para aquellos emprendedores que buscan oportunidades de negocio aprovechando el devenir tecnológico.

>> Por José Alberto Reyes Ramírez Referencias [1] Ries Eric, 2011 [2] http://theleanstartup.com/principles [3] http://www.businessmodelgeneration.com/canvas [4] https://www.inadem.gob.mx/ [5] http://www.portioresearch.com/en/major-reports/current-portfolio/mobileapplications-futures-2013-2017.aspx [6] [http://services.google.com/fh/files/misc/omp-2013-mx-local.pdf]

45

Software Guru

La metodología Lean Startup cuenta con algunas herramientas para la definición de productos o servicios. Así mismo, existen otras herramientas estratégicas que permiten definir el modelo de negocio que sustentará la startup. Por ejemplo, el Model Business Canvas[3] (diseñada por Alex Osterwalder) que representa las áreas clave para definir el modelo de negocio de cualquier startup o empresa establecida, permitiendo diseñarlo, inventarlo e inclusive pivotearlo. Se debe tomar en cuenta factores internos y externos de la empresa. El Model Business Canvas se compone de 9 bloques: segmentación de mercado, propuesta de valor, canales de distribución, relación con el cliente, fuente de ingresos, actividades, recursos, alianzas clave y estructura de costos.

ros, así como la creación de ecosistemas que integran las aplicaciones con los teléfonos inteligentes, tabletas y computadoras personales. De acuerdo al estudio “Mobile Applications Futures 2013-2017: Analysis and Growth Forecasts for the Worldwide Mobile Applications Market” [5], elaborado por Portio Research Ltd, el mercado mundial de las apps en 2012 generó ganancias de aproximadamente 12 mil MDD con un total de 46 mil millones de apps descargadas. El mismo estudio prevé que para este año las ganancias sean de 20 mil 400 MDD con una demanda de descarga de 82 mil millones. Por otro lado, el estudio Our Mobile Planet: México desarrollado por Ipsos OTX MediaCT y presentado por Google México, indica que la penetración de teléfonos inteligentes en nuestro país llega al 37% de la población [6]. Lo anterior, hace al mercado de las aplicaciones móviles un mercado sumamente atractivo para los emprendedores. Actualmente se realizan muchos eventos que promueven el desarrollo de aplicaciones móviles en el país, eventos dirigidos principalmente a públicos emprendedores juveniles. Estos eventos se llevan a cabo en recintos universitarios, centros de convenciones e incluso en centros de investigación, en donde el objetivo es crear en pocas horas (48 hrs. en promedio) un desarrollo digital que resuelva alguna problemática de la industria, gobierno o sociedad, finalizando con una premiación a los desarrollos más “innovadores”, dando de esta forma espacio de trabajo y de expresión a jóvenes talentos mexicanos.

www.sg.com.mx |

d) Reunir información relevante de los clientes objetivo, resultado de la validación del prototipo. e) Analizar la información obtenida para conocer más sobre las necesidades del cliente objetivo, para mejorar el prototipo. f ) Modificar el prototipo basado en la información que se analizó anteriormente. g) Repetir los pasos anteriores hasta que ya no haya dudas, y el prototipo madure de tal forma que se transforme en el producto o servicio que cumpla con las necesidades del cliente objetivo.


.COLUMNA Programar es un Estilo de Vida

Privacidad, Vigilancia, Filtraciones, y el Resto de Nosotros E

Gunnar Wolf es administrador de sistemas para el Instituto de Investigaciones Económicas de la UNAM y desarrollador del proyecto Debian GNU/Linux. http://gwolf.org

ste año que va terminando tuvo una buena cantidad de sorpresas y de temas prevalentes con los que podremos caracterizarlo al referirnos a él en el futuro. Pero muchos estarán de acuerdo en que si tuviéramos que elegir un solo tema que revele los cambios de percepción (y los resultantes cambios conductuales de toda la población), en particular en nuestra área de ocupación, muy probablemente será todo lo que se ha escrito y debatido alrededor de las filtraciones de Snowden. La confirmación de que la Agencia de Seguridad Nacional (NSA) de los Estados Unidos lleva a cabo un espionaje profundo y constante sobre los datos relativos a las comunicaciones, no sólo de sus 300 millones de habitantes, sino que de todo lo que pasa por las redes que cruzan su país, y de forma un tanto más selectiva, de tantas personas como sea posible en todo el mundo. El lector cuidadoso habrá notado que no califico de revelador a las filtraciones mismas, sino al fenómeno que ha surgido alrededor de ellas. Posiblemente uno de los hechos más fascinantes acerca de esto que muchos han bautizado de fantasía distópica vuelta realidad es que: el nivel y profundidad del espionaje no sorprenden a nadie. Los datos que reveló Snowden no nos revelan nada que no hayamos supuesto, su impacto está en que nos lo confirman, nos detallan los mecanismos con que operan e incluso dan algunos nombres clave. Sin embargo, desde que las primeras filtraciones respecto a PRISM fueron publicadas el 5 de junio, toneladas de tinta han corrido (electrónica y tradicional) reseñando tanto las filtraciones originales como a otras posteriores, tal vez de menor envergadura, pero de mayor impacto como las revelaciones específicas que se han hecho acerca de los mecanismos de espionaje a actores políticos, particularmente de Alemania, Brasil, China, Francia, el Reino Unido y México. Claro está, si bien son datos completamente independientes, estas filtraciones se engranaron perfectamente con las publicadas en 2010 por Wikileaks. Y el principal argumento que ha respondido el gobierno de los Estados Unidos ha sido también el mismo: Básicamente, «Si espiamos,

es porque requerimos información acerca de los riesgos que nos acechan; cualquier gobierno tiene que hacerlo, y la NSA se mantiene dentro de su marco legal». Argumento, a ojos de muchos, falaz, incompleto e insatisfactorio pero no por eso inesperado. Resulta interesante ver cuál ha sido la reacción de algunos de los gobiernos recién mencionados. Tristemente, el nuestro no ha presentado mayor muestra de incomodidad. Al día de hoy, las mayores reacciones han sido las de Alemania y Brasil. Y si bien es aún muy temprano para hablar de resultados tangibles, el movimiento que se ha despertado, entre entidades gubernamentales, para crear un tendido de fibras que una a los países de Sudamérica directamente con los europeos, para dejar de depender de las telecomunicaciones estadounidenses, apuntan claramente en un sentido interesante.

Pero… ¡Son sólo metadatos!

La NSA justificó la información recabada por medio de PRISM como inocua indicando que no se ocupaban del registro de los datos (grabación de las llamadas telefónicas o correos electrónicos), sino que únicamente de los metadatos (quién habla con quién, a qué hora lo hace, por cuánto tiempo). Esto permite a la NSA enfocarse en quienes tienem contacto regular con los actores más peligrosos, o presentan patrones más sospechosos. Con lo anterior esperaban acallar a los defensores de la privacidad. Lo que me sorprendió en este sentido no es que una o dos personas dijeran, “eso que dicen es falso”. Cientos de aficionados al análisis de patrones por todo el mundo lo dijimos en nuestros pequeños foros. Lo que me sorprendió es la cantidad de publicaciones que hubo, en espacio de apenas un par de días, demostrando el verdadero impacto de los datos que PRISM había recabado en términos claros y concisos, en claros artículos de divulgación. Unos ejemplos: • El 7 de junio, la conocida organización de defensa de los derechos personales en el mundo digital, Electronic Frontier Foundation, publicó un texto corto, de menos de una cuartilla: «Why Metadata Matters».[1] 46


.COLUMNA

Programar es un Estilo de Vida “quien

• Matt Blaze, investigador en criptografía de la Universidad de Pennsylvania, presentó el 13 de junio en la revista Wired el artículo «Phew, NSA Is Just Collecting Metadata. (You Should Still Worry)»[3]; en un breve artículo cubre la profundidad de la información que puede obtenerse de sólo conocer los metadatos, y el por qué resulta tan difícil evitar dejar rastros, incluso siendo individuos plenamente informados. De nuevo, estas filtraciones no son nada verdaderamente nuevas, sólo trajeron de vuelta (y con gran fuerza) a una arena más amplia el debate sobre lo que ya era bien conocido [4]. ¿En quién confiamos? Ahora, ¿qué hay cuando nos enfocamos en algo más cercano a nuestra vida diaria? ¿Qué hay acerca de las empresas cuyos servicios empleamos en nuestro diario navegar? Algunas de las revelaciones más importantes que han seguido a las filtraciones originales se encaminan mucho más al cómo obtuvo el gobierno americano los datos en cuestión: A través de solicitudes hechas a los principales proveedores de servicios. Facebook, Google, Amazon, los proveedores de conectividad responden gustosamente a todas las solicitudes de información. Hay otras empresas que basan su operación y su reputación en asegurar la privacidad de sus usuarios. Y en agosto nos encontramos con algo muy parecido a la historia del cierre del anonimizador más famoso de la red, anon.penet.fi, en 1997[5]: El proveedor de correo seguro Lavabit, en el cual tenía su cuenta Snowden, decidió cerrar operaciones por completo antes que otorgar a la NSA las llaves criptográficas que les permitirían tener acceso a la información de todos sus usuarios. Pero este caso de respeto a la privacidad es claramente minoritario. A niveles intra-organizacionales, tras una primera etapa de emoción por emplear servicios en la nube, he visto un resurgimiento del interés por no perder la flexibilidad, pero operar dentro de nubes propias. Como ejemplo está la UNAM, que tras algunos años de haber enviado la gestión del correo electrónico de decenas de miles de sus académicos a la nube de Microsoft, ahora está ofreciendo nuevamente trasladarlo a infraestructura propia.

Supongo que hasta este punto, prácticamente todos los lectores van conmigo: Nadie quiere ser espiado, y mucho menos por el gobierno de una nación extranjera, un gobierno que ha demostrado una y otra vez que no conoce de límites. Pero por otro lado, muchos de nosotros no tendremos mucho que temer en lo personal de dicho gobierno, o incluso del nuestro propio (que estaría mucho más directamente interesado en conocer algunas de nuestras peligrosas actividades, tal vez incluso de actuar en consecuencia). Pero… Como dicen, quien tiene la información tiene el poder. ¿Tenemos que pensar tal vez en otros actores que estén penetrando a la esfera de nuestros datos? Si bien siempre ha habido quien intenta que comprendamos la gravedad del tema (¿Visionarios? ¿Activistas? ¿Obsesivos? ¿Paranoicos?), el tema apenas está entrando al debate público ahora. Sobra explicar a este público el potencial y la profundidad de lo que se puede obtener por medio de mecanismos de minería de datos, del famoso Big Data. Hay una gran cantidad de razones por las cuales cada uno de nosotros podría no querer brindar todos sus patrones de movimiento y comportamiento social al gobierno, sino tampoco a las grandes empresas de publicidad dirigida o a los vendedores de servicios. Y para nosotros que hemos invertido tanto en convertirnos en tecnólogos respetados, ¿qué tanto podemos cuidar nuestra identidad sin convertirnos en ermitaños digitales, sin renunciar a las bondades de la red? Hay una gran cantidad de matices. Si les interesa profundizar en el tema, les invito a leer el texto publicado por Sarah Kessler en la revista electrónica /Fast Company/[6]. Les sugiero también revisar varios de los artículos que publica este mismo mes la revista /Communications of the ACM/[7], que tocan el tema desde muy distintos ángulos: Desde la editorial, que compara la realidad actual con el 1984 de George Orwell hasta explicar por qué una tecnología tan potencialmente invasiva como el Google Glass, que presenta ejemplos de cómo las expectativas de privacidad han cambiado en los últimos cien años con ejemplos que, a pesar de su seriedad hace décadas, hoy nos parecen francamente risibles.

>> Por Gunnar Wolf

Referencias [1] 2 https://www.eff.org/deeplinks/2013/06/why-metadata-matters [2] 3 http://kieranhealy.org/blog/archives/2013/06/09/using-metadata-to-findpaul-revere/ [3] 4 http://www.wired.com/opinion/2013/06/phew-it-was-just-metadata-not-thinkagain/ [4] 5 Georeferenciación a nuestras espaldas http://gwolf.org/node/3089 [5] 7 http://www.december.com/cmc/mag/1997/sep/helmers.html [6] http://www.fastcompany.com/3019847/think-you-can-live-offline-without-beingtracked-heres-what-it-takes [7] 10 http://cacm.acm.org/magazines/2013/11

47

Software Guru

• El 9 de junio, Kieran Healy publicó en su blog «Using Metadata to find Paul Revere»[2]. Hace un paralelo de lo más simple e interesante, dando los fundamentos del análisis de redes sociales desde una perspectiva sociológica, que podría haber conducido al arresto de uno de los padres de la independencia de los Estados Unidos por parte de los ingleses.

Privacidad y vigilancia… ¿De quién?

www.sg.com.mx |

Por medio de cinco sencillos ejemplos demuestran que los metadatos son muchas veces más importantes que los mismos datos, revelan tanta información como la que revelaría el contenido mismo de las llamadas. Estos ejemplos aparecieron repetidos en decenas de otras publicaciones de los días subsecuentes.

tiene la información tiene el poder”


.COLUMNA Tecnológico

Midiendo la Experiencia de Usuario H

Mauricio Angulo (@mauricioangulo) es programador desde 1989 divulgador, ávido escritor y emprendedor. Actualmente es CEO y fundador de Tesseract Space donde realiza funciones de asesor y consultor de innovación tecnológica, mercadotecnia digital y experiencia de usuario.

ablar de tecnología en estos días es hablar también de Experiencia de Usuario, un concepto más o menos reciente que ha ido ganando importancia en el significativo cruce que tienen la mercadotecnia y las herramientas tecnológicas en esta era digital. Experiencia de Usuario es una disciplina que adquiere términos y conceptos del mundo del arte, el diseño, la arquitectura y que junto con la usabilidad, la accesibilidad y otras ramas de las ciencias humanas buscan que las personas que usan tecnología (los usuarios) tengan vivencias (o experiencias) positivas y memorables mientras la usan. Este concepto se vuelve muy importante cuando queremos usar la tecnología como puente de comunicación y enganche con un grupo de personas que no necesariamente se dedican a la tecnología. El concepto de Experiencia de Usuario o UX (por sus siglas en inglés User Experience) es en su forma básica muy simple: en cada paso del desarrollo de un proyecto hay que tomar en cuenta al usuario. Las implicaciones de un concepto tan simple, sin embargo, son sorprendentemente complejas. La UX es entonces algo emocional que varía de persona en persona y que cambia con el tiempo, por lo que medirlo puede ser una tarea compleja y el resultado nebuloso y cualitativo. Aunque existen varios acercamientos hacia el Diseño Centrado en el Usuario, uno constantemente citado viene de uno de los libros seminales sobre la disciplina de experiencia de usuario: The Elements of User Experience de Jesse James Garret. En su libro, Garret presenta la idea de manejar planos para administrar el proceso de desarrollo de la experiencia de usuario en un sitio web tomando en cuenta cada situación a la que un usuario se podría enfrentar y también las acciones que un usuario podría o no realizar. Para ejemplificar esta idea he compilado una pequeña lista de preguntas que pueden servir como un ejercicio de evaluación heurístico para analizar un producto de tecnología como es un sitio web, una app o una fanpage en Facebook y medir el estado de Experiencia de Usuario utilizando conceptos simples y factuales para obtener un diagnóstico de sus virtudes y áreas de oportunidad.

Un producto de tecnología debería de ser: • Hecho para seres humanos: ¿es relevante y útil?, ¿es divertido usarlo?, ¿se ajusta a los patrones mentales de sus visitantes –es decir, ¿ellos entienden cómo debería funcionar?, ¿utiliza un lenguaje amigable para sus usuarios?, ¿ofrece el nivel correcto de control al usuario? • Amigable: ¿ayuda a sus usuarios cuando cometen algún error? Cuando ocurre un error, ¿este es claramente explicado para que el usuario pueda superarlo y no repetirlo?, ¿reduce o minimiza el trabajo mental del usuario? • Accesible: ¿el texto es legible?, ¿ofrece alguna opción para débiles visuales?, ¿qué tal para usuarios invidentes?, ¿tiene alguna animación innecesaria?, ¿cuenta con soporte para funciones accesibilidad como text-to-speech o alto contraste? • Evidente: ¿está claro para qué y para quién está dirigido?, ¿es fácil de navegar?, ¿su diseño es lógico y la información más importante está colocada al frente?, ¿los íconos y la identidad gráfica tienen sentido? • Predecible: ¿es consistente al usarlo?, ¿utiliza convenciones conocidas de diseño y uso?, ¿hay buenas opciones de default para el usuario que empieza?, ¿recuerda las preferencias de sus usuarios? • Eficiente: ¿el texto, las imágenes y la estructura son concisos?, ¿tiene un buen desempeño y ofrece retroalimentación valiosa a sus usuarios?, ¿prioriza las tareas más importantes? • Confiable: ¿la información que contiene es veraz de fuentes comprobables?, ¿alguien hizo una revisión ortográfica?, ¿el contenido está actualizado?, ¿hay algún error o problema?, ¿cumple lo que promete? 48


›› “en

>> Por Mauricio Angulo S.

www.sg.com.mx |

He creado una matriz sencilla en Excel que se puede descargar de manera gratuita en la dirección: http://sdrv.ms/106Ix6B para bajar este ejercicio de manera medible y cuantificable. Responder estas preguntas es el primer paso para familiarizarnos con nuestros sitios web y conocerlos en otro tipo de profundidad, que al principio puede sentirse artificial, pero conforme hagamos estas preguntas a los usuarios y las personas involucradas en diferentes niveles con la construcción y mantenimiento del sitio web nos dan una excelente manera de crear un plan a la medida para corregir y mejorar la experiencia en el sitio. Si a estas preguntas les damos calificación –algo muy útil a la hora de hacer el cuestionario en formato de encuesta- podemos incluso realizar análisis comparativo con otros sitios, por ejemplo, de la competencia o sitios de los que tomamos inspiración. Hay que recordar que aquí no hay respuestas correctas o equivocadas, lo que se persigue desde el principio y hasta el fin es lograr que los usuarios que utilizan nuestros sitios y apps disfruten interactuar con ellos de manera que regresen a ellos para que los hagan parte su vida. La principal razón por la que la Experiencia de Usuario debería ser importante para alguien que se dedica a la tecnología es porque es importante para sus usuarios. Si no les proveemos a ellos de una experiencia positiva ellos no visitarán ni usarán lo que desarrollemos, y sin usuarios lo único que tendremos será un servidor cubierto de polvo en alguna parte esperando a servir una solicitud que nunca llegará. Para los usuarios que lleguen deberemos ofrecerles una experiencia que sea memorable y coherente, intuitiva e incluso placentera: una experiencia que funcione de la manera en que se supone que debería funcionar.

Software Guru

cada paso del desarrollo de un proyecto hay que tomar en cuenta al usuario”


.COLUMNA Columna Invitada

Big Data Azul vs. Big Data Rojo L

os villanos están llegando a Big Data: entendiendo que el Big Data debería importar más en sus operaciones, y que engañar a los sistemas de detección para categorizar su actividad como “no riesgosa” requerirá de comportamientos más parecidos a los de los humanos, creando un aspecto aparentemente legítimo. Los cibercriminales ya saben que tienen un problema con el Big Data, y por eso están incrementando su capacidad de “minar” información, usando herramientas adaptadas con sus troyanos tal como “IntelegentBot” y “MoneyPanel”, o incluso el troyano Pony Stealer que ofrece una mejor disección de la información robada. De hecho, las investigaciones de RSA recientemente identificaron una sola operación de recolección de datos (comprometida por troyanos) ¡en un rango de casi 5 millones de records por día! Sin embargo, los “malos” aún no han maximizado el potencial de su información. Secuencias automatizadas de comandos MitB todavía “disparan a discreción”, independientemente de la conducta legítima de la víctima, siendo fácilmente identificados y bloqueados por diferentes soluciones de seguridad. Para compensar esta situación, los cibercriminales han cambiado sus métodos a un esquema de ataque más manual, pero no escalable.

“¿pueden

los cibercriminales beneficiarse de esta forma?”

Daniel Cohen es Gerente del Desarrollo Comercial para RSA, el grupo FraudAction. En este papel, Daniel y su equipo son responsables de reunir, analizar y reportar los hallazgos recuperados por los diferentes ciber-equipos operando dentro del grupo. Daniel tiene una gran experiencia trabajando con compañías líderes a nivel mundial, en estrategias para sus necesidades de seguridad.

Entonces, ¿cuál es el próximo paso para los cibercriminales? Imaginen este (no muy hipotético) escenario: Los cibercriminales empiezan a perfilar a sus víctimas (ellos actualmente ya recolectan mucha información sobre nuestros hábitos de navegación, y pueden conseguir más). Al presionar un “botón analítico” se genera, recopila y ejecuta un guión MiTB de víctima específico, imitando nuestro comportamiento a la perfección: los clics en las páginas son lanzados a un ritmo lógico y “humano” y las páginas son visitadas en secuencia, basándose en nuestra información perfilada. Parámetros estáticos, como los agentes de usuarios e identificadores de máquinas son todos simulados. Finalmente, nuestras cuentas de bancos son vaciadas por actividad aparentemente legítima; sin anomalías de comportamiento o desviaciones.

¿Es esto posible? ¿Pueden los cibercriminales beneficiarse de esta forma? La respuesta es “¡Sí, ellos pueden!”. Si han copiado muchas otras prácticas de negocios y avances tecnológicos, ¿por qué no adoptar el análisis de Big Data? Por suerte no hemos llegado a eso, en gran parte porque los cibercriminales están limitados por sus fuentes de información (nuestro computador principalmente), aunque están trabajando activamente para comprometer más nuestros dispositivos móviles. Recopilando datos a partir fuentes limitadas, su inteligencia va a ser también limitada sin importar cuánto rebanen, corten y analicen la información. La cita (ligeramente alterada) de Ronald Coase sirve para resaltar este hecho: “Si torturas la información lo suficiente, ésta confesará”. Limitados por sus fuentes de información, los intentos de suplantación de los cibercriminales no serán perfectos.

Pero necesitamos prepararnos… ¿Cómo?

Cuando se trata de Big Data vs. Big Data, el ganador será el que tenga fuentes de información más amplias. Entre más información tengamos, sensible al contexto y al tiempo, mejor será nuestra comprensión y, por ende, será más difícil para el “Big Data rojo” engañar o manipular nuestros sistemas, sin importar lo diminuta que sea la “trampa”. Necesitamos profundizar y ampliar los recursos de nuestro “Big Data azul”. Este será el esfuerzo de las organizaciones (tanto públicas como privadas) para compartir conocimiento, información y percepciones sobre estos tipos de ataques. Aunque hemos sido testigos de muchas de estas alianzas que han surgido recientemente, esta situación va a terminar forzando a aquellos que no han llegado a ver estos desafíos más holísticamente. Las soluciones de seguridad no serán capaces de sobrevivir operando en “modo silo”, especialmente en un enfrentamiento de Big Data. En este juego perpetuo del “gato y el ratón”, actualmente votamos por que el despliegue de soluciones impulsadas por Big Data es lo mejor que se puede hacer hoy. El ratón eventualmente será alcanzado, y debemos estar listos.

>> Por Daniel Cohen 50


.COLUMNA Columna Invitada

Equipos Auto-organizados S

i la auto-organización es el proceso donde una estructura o patrón se presenta en un sistema sin autoridad central o elemento externo imponiéndola a través de algún plan, es curioso que hoy en día se perciba como una práctica novedosa para el trabajo en equipo, pero este comportamiento ha existido desde siempre. Para que un equipo logre su auto-organización es importante que se mantenga un balance entre el orden y el caos, es decir, por un lado las políticas y procesos no deben ser tan rígidos y evitar un alto nivel de gobernabilidad; por otro lado el equipo debe tener libertad para tomar decisiones en cuanto a la forma de trabajo y selección de tareas, esto sin llegar a la anarquía al grado de que los objetivos de negocio no se cumplan. En la figura 1 se muestran estos opuestos y como la complejidad es el resultado de un buen balance y donde los equipos autoorganizados de desenvuelven.

negocio de tal forma que el equipo tenga claras sus restricciones al trabajar, tales como: parámetros de calidad, objetivos de negocio, presupuesto y tiempos de entrega.

Impedimentos

“…balance entre el orden y el caos…”

Aun y cuando se cumplan ciertas condiciones para que un equipo sea auto-organizado también hay obstáculos que impiden que esto se logre, muchos de estos derivados de la cultura de las organizaciones. Un ejemplo muy claro es cuando el equipo recibe instrucciones y monitoreo excesivo de la gerencia en el desempeño de sus tareas, el estilo de micromanagement, comando y control no favorece a la auto-organización ya que el equipo no tiene oportunidad de tomar las suficientes decisiones en cuanto a selección de tareas, herramientas y procesos. Otro caso es cuando existen individuos negativos o escépticos a esta forma de trabajo, estos influenciarán al equipo y es posible que la colaboración y unión necesarias no se alcancen.

Es importante mencionar que un equipo auto-organizado no debe depender de un líder o manager para proveer soluciones, esto no significa que no existan sino que deben proveer el poder necesario a sus equipos para la toma de decisiones y la guía necesaria para establecer compromisos en la entrega de resultados.

Condiciones

Lograr la auto-organización en un equipo no es de ninguna manera fácil, para esto es importante que se presenten ciertas condiciones: los elementos deben establecer compromisos hacia metas claras y a corto plazo, teniendo siempre visibilidad de la contribución de cada uno y del progreso como equipo. También deben existir la confianza y seguridad suficientes para proveer y recibir retroalimentación honesta y constructiva de los compañeros de equipo, esto para lograr una mejora continua y sostenible; se deben establecer los límites de acuerdo al contexto del

>> Por Jorge Heras 51

Jorge Heras cuenta con 14 años de experiencia en la industria de desarrollo de software y es egresado del Instituto Tecnológico de Hermosillo de la carrera de Ingeniería en Sistemas Computacionales con especialidad en Ingeniería de Software, obtuvo la certificación como Scrum Master en el 2011. Actualmente es Agile Manager en Tiempo Development donde ha dirigido estrategias de adopción e implementación de metodologías Ágiles incluyendo entrenamiento, formación de equipos auto-organizados y coaching, esto soportado por prácticas de ingeniería de software.

www.sg.com.mx |

Figura 1. Balance entre orden y caos.

Si los equipos tienen suficiente autoridad y están habilitados para tomar decisiones sin imposición de una entidad externa, entonces ¿cuál es el papel del manager en este tipo de equipos? Esta es una pregunta que causa polémica debido a que hay diferentes posturas al respecto. Cuando existe la figura del manager su responsabilidad deberá ser la de mantener esta auto-organización mediante delegación, empoderamiento, guía para la alineación a las metas de negocio, desarrollo de carrera y motivación; en organizaciones más radicales no existe este rol, en este caso los equipos tienen suficiente autoridad para influir incluso en las decisiones empresariales. A pesar de que la auto-organización es el estilo natural de trabajo no es fácil adoptarla en algunos equipos, esto debido en parte a la cultura jerárquica y de control que existe en la mayoría de las organizaciones, para lograr su adopción es necesario en ocasiones un cambio de cultura organizacional. Los beneficios de contar con equipos auto-organizados son muchos, entre ellos: orientación al cliente, calidad de productos y servicios, sentido de pertenencia, autodisciplina, creatividad, solución de problemas y liderazgo entre compañeros de equipo. Es por esto que uno de los requisitos fundamentales en las metodologías ágiles como Scrum y eXtreme Programming es contar con equipos auto organizados.

Software Guru

El papel del manager en equipos auto organizados


.TECNOLOGÍA Seguridad

La Seguridad Informática

y de la vida diaria empieza en uno mismo

›› Por Andrés Valentín López

U

n día llegando a casa me habla por teléfono un amigo con angustia por conocer la razón del por qué su computadora portátil presenta comportamiento extraño al usarla. Lo primero que pensé fue “otro usuario víctima de una serie de ataques provenientes de internet”. Inicié con el “interrogatorio” normal para conocer la actividad de mi amigo en Internet y aunque parecía que algunas cosas no me quería mencionar, al fin del día terminó contándome lo siguiente: “Mira, recibí un correo electrónico que me invitaba a cambiar los datos de mi perfil del banco donde tengo mis ahorros (phising) y procedí a realizar los pasos que me indicaba el banco y al mismo tiempo una barra de servicios del propio banco se instaló en mi navegador web (malware, adware, spyware), después de cubrir los campos de la información solicitada presioné el botón de aceptar y solo apareció una página que indicaba que los datos han sido modificados de manera correcta y luego me invitaba a corroborarlos mediante el acceso al portal, procedí a probar mi usuario y contraseña y al dar clic en el botón de ingresar, no cambiaba a la página que conozco y sé que están mis ahorros (man-in-the middle[1]), cerré el navegador web e intenté ingresar nuevamente y no se visualizaba la página del banco, pensé que estaba caído su servidor, entonces apague la portátil. Al día siguiente me volé la señal inalámbrica que alcancé donde me encontraba, lo del acceso al banco ya no lo intenté pero al abrir el navegador, la página de inicio que era mi buscador favorito, no apareció (virus o troyano); me empecé a asustar porque de repente el apuntador del ratón se empezó a mover, parecía que alguien tomó el control de la máquina e inició a explorar mi máquina (botnet), decidí apagarla e irme de ahí, porque al parecer a la red inalámbrica donde me conecté era insegura”. Hasta este momento mi amigo ha sido víctima de varios ataques que suceden en internet, al parecer, tendrá como consecuencia problemas mayores, la historia continúa:

“Regresé a casa e intenté ingresar al banco nuevamente pero no lo logré, decidí ir al banco para preguntar por qué no podía acceder al portal y para mi mala fortuna me indicaron que ya no se encontraban mis ahorros y además tiene registro que yo hice los movimientos de extracción del dinero (robo de identidad[2])”. Con base a estos acontecimientos le pregunté, qué páginas más había visitado o si había compartido documentos en una unidad de almacenamiento externa, con pena me comentó que había estado ingresando a páginas de contenido para adultos y además empezó hacer una colección de imágenes que eran de su agrado y las almacenaba en su memoria externa y que después compartía con algunos otros conocidos (el virus caminando). Como se observa en la narración de mi amigo, él tuvo muchos ataques desde internet hasta ser víctima de un ciber delito. Técnicamente hablando le sucedió lo siguiente: 1. Phising – Técnica para que el usuario “muerda el anzuelo” y proporcione información confidencial que para después sea utilizada para algún fin, regularmente fraudulento. Esto le sucedió cuando siguió los pasos del correo electrónico falso del banco. 2. Malware, adware, spyware – Malware se le conoce a programa de software malintencionado o maligno, adware representan anuncios web que se abren automáticamente cuando el usuario se encuentra navegando en internet y como consecuencia podemos haber dejado instalarse un programa de software espía (spyware) que tiene como función monitorear la actividad del usuario. Este tipo de problemas lo pudo haber obtenido cuando se instaló la barra de servicios de su “banco”. 3. Man in the middle – Hombre en medio, ataque que permite al enemigo tomar el control de lo que sucede en un enlace entre dos partes sin que la víctima se dé cuenta que ha sido violada su conexión. Ataque que estuvo presente al intentar validar los cambios solicitados por el banco y que ya no pudo ingresar. 52


.TECNOLOGÍA Seguridad

“Ingeniería social: La manipulación inteligente de la tendencia natural de la gente a confiar”

Figura 1. Reporte de robo

5. Virus – software de computadora cuya finalidad es ser un huésped destructivo. 6. Botnet - conjunto de computadoras que están bajo el control de un atacante, el cual las puede controlar de forma maliciosa. Entre Troyano, virus y botnet a mi amigo le fue robada su identidad. 7. Robo de identidad – cuando un atacante, por medios informáticos o personales, obtiene su información personal y la utiliza ilegalmente. Ver Figura 1. 8. Ingeniería social – Este término hace referencia al arte de manipular personas para eludir los sistemas de seguridad. Los atacantes de la ingeniería social usan la fuerza persuasiva y se aprovechan de la inocencia del usuario haciéndose pasar por un compañero de trabajo, un técnico, un administrador, etc. “Ingeniería social: La manipulación inteligente de la tendencia natural de la gente a confiar”[3].

Al día de hoy con el uso de internet se tienen muchas ventajas en todos los rubros del conocimiento sólo que de mala fortuna también la delincuencia organizada se ha trasladado a esta red y ha ocasionado tantos problemas que puedo mencionar que es posible que sea más peligroso “caminar” en internet que en la calle, por tanto, la recomendación es que se informen los usuarios sobre este tipo de problemas y cómo mitigarlos, por definición , las redes son inseguras, entonces de lo que se trata es que el impacto de los ataques informáticos sea menor y no llegue a delitos como lo sucedido a mi amigo. Recuerde estimado lector que la seguridad empieza en uno mismo.

Referencias [1] http://brsi.blogspot.mx/2006/08/ataques-mitm.html [2] http://www.identidadrobada.com/category/tipos-de-delito/ [3] http://es.kioskea.net/contents/25-ingenieria-social [4] http://consumidor.gov

.BIO Andres Valentin López egresado de la Facultad de Ciencias de la Computación de la Benemérita Universidad Autónoma de Puebla. Cuenta con certificaciones en diseño e implementación de redes, switching, routing, en sistemas operativos de red, consolidación de servidores vía virtualización y apoya las tecnologías de código abierto. Ha participado en proyectos de redes para la iniciativa privada, principalmente, en el área automotriz, ponente en diferentes foros para el empuje de uso de tecnologías libres. @a_vl www.gitt.com.mx

53

www.sg.com.mx |

4. Troyano – software malicioso que aparentemente es legítimo o inofensivo que tiene como una de sus funciones crear una puerta trasera que puede permitir el control remoto del equipo de cómputo a un atacante.

Software Guru

de identidad [4]


.BIBLIOTECA

Código Limpio

MANUAL DE ESTILO PARA EL DESARROLLO ÁGIL DE SOFTWARE

El desarrollo de software siempre estará en un contexto competitivo y uno de los aspectos que impacta tanto a la competitividad como a la productividad es la pérdida de recursos por código mal escrito. El libro se divide en tres partes: 1) Principios, patrones y prácticas para crear código limpio. 2) Casos de Estudio cuya complejidad va aumentando. 3) Lista de heurística y síntomas de código erróneo. Este libro de la editorial Prentice Hall explica las prácticas para adquirir el buen hábito de escribir buen código. Su autor Robert C. Martin maneja ejemplos muy claros donde quedan muy bien entendidos los beneficios e importancia de escribir código con buen estilo. Robert, conocido como el “Tío Bob” (Uncle Bob) es un personaje muy reconocido en nuestra industria por ser uno de los fundadores principales de los métodos ágiles y también es fundador-presidente de Object Mentor, Inc. empresa de formación en C++,Java, programación orientada a objetos, metodologías ágiles y Extreme Programming, además fue uno de los miembros firmantes del “Manifiesto Ágil para el desarrollo de software”.

Historias de developers UN LIBRO PARA DEVELOPERS Y SUS JEFES

¿Cuántos anécdotas y lecciones aprendidas salen en cada uno de tus proyectos? Lamentablemente con frecuencia encontramos que la práctica de análisis post-proyecto es muy débil o no se realiza. Un grupo de desarrolladores no solo se dio a la tarea de crear su “anecdotario” sino también de compartirlo. A través de historias breves, con ejemplos y hasta historietas, este grupo de desarrolladores tratan diversos temas de los cuales estamos seguros todos hemos vivido o estamos por vivir, por ejemplo: Cómo la sobre-ingeniería puede ser un enemigo, creatividad tanto en el diseño y desarrollo de software, caminos hacia Big Data, problemas de comunicación, consejos para escribir código mantenible y estable, la importancia de la prueba unitaria en el código, entre otros. Este libro digital no tiene costo. ¿Qué esperas para buscarlo y descargarlo?

54


Directorio Tecnologías de información en los negocios

Abiztar 4F

Data Zone

http://www.abiztar.com.mx/

http://www.autozone.com/autozone/

CloudSource

30

http://cloudsourceit.com/

Accenture

SG Talento

23

01

http://sgtalento.com/

11

http://cvaccenture.com.mx

Mexico First

SG Campus

43

www.sgcampus.com.mx

15

www.mexico-first.org

SG Mobile Day

2F

http://sg.com.mx/mobileday/

Infotec 31 www.infotec.com.mx

Blackberry

29

http://devblog.blackberry.com/

Pronatura

3F Software Guru

http://www.pronatura.org.mx/

Sisoft 49

www.sg.com.mx |

http://si-soft.com.mx/

El protagonismo de las áreas de TI en los negocios es innegable, es por ello que debe de haber un entendimiento de las tecnologías de información más allá de lo técnico, sino del aspecto administrativo y de negocio del que todos somos parte también. Este libro de la Editorial McGraw Hill tiene como esencia el explicar desde la perspectiva de usuarios administradores conceptos básicos que ayudan a crear la empatía (tan necesaria) entre áreas de TI y áreas administrativas. Estos usuarios administradores son los que tienen contacto frecuente con las áreas de TI, o que tienen a su cargo un área de TI y los usuarios finales. Sus autores son Daniel Cohen Karen y Enrique Asín Lares. Daniel tiene más de veinte años de experiencia en el trabajo docente y ha participado como expositor en congresos en temas relacionados con los sistemas de información y planeación estratégica a nivel internacional. Enrique cuenta con Maestría en Sistemas de Información y Maestría en administración. Se ha enfocado a investigar la tecnología de información en los negocios.

Softtek 23 http://www.softtek.com/

TENEMOS UN ESPACIO RESERVADO PARA TI SG se distribuye de manera impresa en la República Mexicana, y de manera digital llega a más de 25mil lectores de habla hispana. El anuncio en la revista digital cuenta con hiperliga directa a tu sitio web, lo que te dará la oportunidad de acercarte a nuevos clientes. “Es una gran oportunidad participar con Software Guru, pues comprobamos que es un medio efectivo.” -Novalys Latinoamérica Contáctanos en el (55) 5239.5502 o en publicidad@sg.com.mx

55


.SG TALENTO Perfiles

SERGIO ARAIZA

ROSALINDA MUÑOZ

CLAUDIO MORALES

http://talento.sg.com.mx/perfil/c/11748

http://talento.sg.com.mx/perfil/a/RoxMunoz

http://talento.sg.com.mx/perfil/c/11746

Sergio es miembro de Internet Society Mexico y ca-

Rosalinda (Rox) es Scrum Master en Tralix y se pre-

Claudio alias Pronuer es el fundador y líder de la Comu-

pacitador certificado por Frontline Defenders en Se-

para para ser Agile Coach. Cree que desarrollar soft-

nidad de PHP desde hace mas de 3 años, en el cual ha

guridad y Privacidad en Internet para la Defensa de

ware es una actividad social. Considera que además

organizado más de 30 talleres y conferencias presenciales

los Derechos Humanos. Actualmente es consultor en

de las habilidades de programación, arquitectura y

de PHP de diferentes niveles, ha organizado 3 grandes

Seguridad y Privacidad en Internet y líder de capaci-

análisis, la gente que hace software debe aprender

eventos con conferencias de alto nivel técnico. Trabaja

tación en Infoactivismo para SocialTIC A.C.

a comunicarse, a resolver sus conflictos, encontrar

en la empresa HDS donde desempeña el papel de Ad-

qué les motiva y tener una visión compartida. Su

ministrador de la Configuración que le permite ayudar

¿Qué es lo que más me gusta de lo que hago?

principal interés siempre ha sido hacer software con

en la mejora de desarrollo de Software desde su plani-

Actualmente me desenvuelvo en la promoción de

calidad, clientes satisfechos y equipo de desarrollo

ficación inicial hasta su instalación con el cliente final.

TIC´s en el ámbito social. En todo momento una

orgulloso y competitivo.

de las cosas que más me motiva es apoyar a los di-

¿Qué es lo que más me gusta de lo que hago?

ferentes grupos de activismo en el uso de tecnología

¿Qué es lo que más me gusta de lo que hago?

Me gusta mucho poder guiar en los procesos de desarro-

para sus diferentes causas. Desde la reducción de la

Ver cómo la gente se transforma en diamante al crecer

llo, pruebas y entrega de software, el poder planear y hacer

brecha digital, hasta proyectos de alto impacto con

en habilidades y aptitudes; saber que nuestros clien-

todo lo posible para que un proyecto completo llegue a un

datos abiertos, el terreno es fértil y bondadoso para la

tes están satisfechos porque les dimos algo valioso y

buen término, me llena de satisfacción tener un excelente

innovación en todos los frentes.

cuando los equipos se sienten orgullosos de lo que en

trabajo en equipo, además de poder ayudar a que PHP

conjunto lograron.

se difunda en todo México con la Comunidad de PHP.

Personalmente no creo en una única persona, me en-

¿Quiénes son mis modelos a seguir?

¿Quiénes son mis modelos a seguir?

riquezco de todas aquellas personas que contribuyen

Las palabras de Linda Rising me han ayudado a no

Admiro mucho a Rasmus Lerdorf el cual tuve el pla-

a la generación de un ecosistema tecnológico justo,

tener miedo al ser un agente de cambio y Tobias Ma-

cer de conocer en persona recientemente, me parece

que permita la adopción de tecnología a los sectores

yer me recuerda constantemente porque la gente es lo

una persona con mucha pasión por PHP y el desarro-

menos favorecidos. Hay bastantes ejemplos de cómo

más importante al desarrollar software.

llo web, y el hecho de cómo contribuye al crecimiento

¿Quiénes son mis modelos a seguir?

las TIC´s mejoran la calidad de vida de las personas,

de la comunidad con sus conferencias y explicaciones

desde la visión del software y hardware libre hasta los

Mi consejo para mis colegas

son un ejemplo para mí. Admiro mucho a Steve Jobs

movimientos de apertura de datos y emprendedores

Reflexionen sobre sí mismos cada 3 o 6 meses para

su pasión para luchar por la constante innovación,

tecnológicos para gobierno abierto.

revisar si están haciendo lo necesario para lograr sus

me motiva a seguir luchando sin importar lo que pase.

metas. Nunca dejen de aprender y siempre estén al Mi consejo para mis colegas

tanto de las tecnologías y tendencias de la industria.

Mi consejo para mis colegas

Debemos de salir de los círculos tradicionales en los

Trabajen con gente a quien admiren y de quien apren-

El mayor consejo que una ex-jefa, que en paz des-

que interactuamos y comenzar a observar de manera

dan. No sean egoístas con su conocimiento: compár-

canse es: no digas que no lo sabes cuándo te pregun-

más amplia a los diferentes sectores en los que po-

tanlo. Aprendan de los errores.

ten sobre algo que no domines, simplemente mejor

demos aportar y preguntarnos ¿Cómo puedo con-

responde “todavía no lo aprendo”. El luchar y seguir

tribuir? La respuesta, muchas veces suele ser más

buscando cómo crecer en nuestro campo es lo que

impresionante de lo que pensamos y el impacto es

resume esta frase, a mí me ha servido mucho para no

gratificante en muchos aspectos.

darme por derrotado ante lo desconocido.

Te invitamos a compartir tu perfil en http://sgtalento.com

56


www.sg.com.mx |

Software Guru



SG #42 (Noviembre 2013 - Febrero 2014)