Académique Documents
Professionnel Documents
Culture Documents
Auditoría de
procesos
• Arquitectura de
software
• Requerimientos
con SysML
Software Guru CONOCIMIENTO EN PRÁCTICA
No.24 • Mayo-Julio 2009 • www.sg.com.mx
[ REPORTAJE ]
Software en
Nuevo León
[ ENTREVISTA ]
Jorge Zavala
Innovación y desarrollo
de negocios globales
México, $65.00
directorio
Dirección Editorial
Pedro Galván
Dirección de Operaciones
Mara Ruvalcaba
Coordinación Editorial
Alejandro Escamilla
Consejo Editorial
Jorge Valdés - PMI; Luis Cuellar - Softtek;
Francisco Camargo, Luis D. Soto - Microsoft;
Hanna Oktaba - UNAM;
Ralf Eder, Raúl Trejo - ITESM;
Emilio Osorio - Sistemas Humanos;
Luis Vinicio León - e-Quallity.
Colaboradores
Benjamín Ruvalcaba, Miguel Angel Morán,
Misael Monterroca, Germán Dominguez,
Hace algunos años, en el número 5 de En esta edición incluimos un reportaje es- Héctor Obregón, Edgar Parada, José Karam,
SG (Septiembre-Octubre 2005) un autor pecial sobre la industria del software en Carlos Silva, Romeo Márquez, Gunnar Wolf
afirmó que “el software que hará realmente Nuevo León, presentando un panorama Yolanda Fernández, Leticia Arevalo,
útiles a los dispositivos móviles todavía no de lo que se está realizando en el estado, Jesús Soria, Edith Martínez
se ha desarrollado.” resultado de la exitosa colaboración entre Alejandro Bianchi, Gastón Milano,
Charlie Macías, Marco Dorantes,
academia, empresas y gobierno.
Consuelo Jiménez, Beatríz Ríos,
Cuatro años han pasado y ahora estamos
Luis Joyanes, Susana Tamayo,
listos para afrontar los retos y salir airo- Teniendo esto en cuenta, no es coinciden- Fernando García.
sos. Los lenguajes de programación han cia que Monterrey vaya a ser la sede de SG
madurado, el mercado está en el momen- ‘09 Conferencia y Expo, que se realizará los Ventas
to oportuno y el talento mexicano siempre días 27 al 30 de septiembre. Asegúrense de Claudia Perea
ha estado presente. Las cartas apuntan a marcar la fecha en sus planes de proyecto y
la gran oportunidad que se presenta para prepararse para una experiencia única. Marketing y RP
desarrollar aplicaciones para dispositivos Paulina Olivares
móviles, especialmente smartphones. Una excelente noticia es que estamos es-
trenando nuestro nuevo proyecto SG Guía. Circulación y Administración
Presentamos una entrevista muy intere- Esta es una herramienta a través de la cual Edgar Dorantes
sante con Jorge Zavala, quien actualmente podrán encontrar los productos y servicios
Desarrollo Web
dirige la oficina de TechBA en Silicon Valley. que necesitan para desarrollar software de
Nathanael Gutiérrez
Jorge nos proporciona una interesante vi- alta calidad. Los invitamos a que colabora-
sión de cómo convertir las ideas en gran- ren y evalúen las herramientas, servicios, Contacto
des empresas, y nos comparte su perspec- capacitación y aplicaciones contenidos en info@sg.com.mx
tiva sobre la vida en Silicon Valley. SG Guía. +52 55 5239 5502
22 EN PORTADA
Desarrollo de aplicaciones
22
para smartphones
Productos
Lo QUE VIENE 12
RubyMine, CloudBurst, Dryad y Moblin
Herramientas 14
Web testing con Visual Studio
TUTORIAL 16
Aplicaciones en la Nube con Azure
Prácticas
CASO DE ESTUDIO 34
SG Guía
Columnas Compartimos algunas prácticas aplicadas durante
el desarrollo de este proyecto.
Tejiendo Nuestra Red 08 Prueba de Software 52
por Hanna Oktaba por Luis Vinicio León MEJORA DE PROCESOS 36
MoProSoft y la Auditoría de Procesos
Mejora Continua 10 Columna Invitada 54 Guía para la realización de una auditoría.
por Luis Cuellar por Marco Dorantes
ASEGURAMIENTO DE CALIDAD 38
Programar es un Modo 50 Tendencias en Software 56 Medición y Análisis
de Vida por Luis Daniel Soto Recomendaciones para obtener buenas métricas.
por Gunnar Wolf
ARQUITECTURA 40
El Valor de los Ciclos Guiados
En Cada Número por la Arquitectura del Software
Alejandro Bianchi comparte los beneficios de un
Noticias y Eventos 04 INFRAESTRUCTURA 60 ciclo de vida centrado en la arquitectura de software.
PM CORNER 46
Revisión de la 4ta edición de la
Guía PMBOK
Presentamos los principales cambios que sufrió
20
Entrevista la guía PMBOK en esta nueva versión.
Jorge Zavala
Innovación y desarrollo UML 48
de negocios globales Los requerimientos al estilo SysML
Aprenderemos los principales elementos para
hacer diagramas al estilo de SYSML.
MéxicoFIRST
Con la meta de incrementar la cantidad de personas certificadas
en nuestro país, la iniciativa de CANIETI “MéxicoFIRST” presentó
en conjunto con la empresa Sun Microsystems, el proyecto en-
focado en certificar en Java a 12mil estudiantes y profesionistas
de TI. Gracias a que MéxicoFIRST es apoyado por Secretaría de
Economía, quienes deseen certificarse por este medio podrán ob-
tener hasta un 80% de descuento.
Nuevo León es un estado de gran importancia en términos de la in- Desarrollo de Capital Humano
dustria de software en nuestra región. Aquí residen algunas de las En términos de capital humano, Nuevo León enfrenta una proble-
empresas de servicios de TI más grandes, y se ha convertido en una mática similar a la de otros estados: la matrícula de estudiantes en
sede preferida para empresas que ofrecen servicios tipo Nearshore carreras relacionadas con TI ha disminuido en los últimos años, y
para el mercado norteamericano. En los últimos años, incluso gran- por otro lado los recién egresados no poseen las habilidades que
des empresas de la India como Infosys, Sasken y Wipro han estable- demandan las empresas. Sin embargo, en el caso de Nuevo León
cido centros de operación en esta entidad. esta situación se agudiza debido a que en los últimos años existió
un alto crecimiento de la industria en la región y se han estable-
Algunos números para comenzar cido aquí empresas internacionales, especialmente de India, que
La industria de software en Nuevo León está compuesta por más de demandan una gran cantidad de personal calificado en TI. Ante
300 empresas que emplean más de 7 mil personas y generan ingre- esta situación, el desarrollo de capital humano tiene un lugar pre-
sos por más de 300 millones de dólares anuales. ponderante en la agenda de CSOFTMTY y para ello ha establecido
diversas iniciativas.
La distribución de empresas en base a su cantidad de empleados es
la siguiente: Guillermo Safa, director del CSOFTMTY, nos comenta sobre el
• Micro (1 a 10) 43% factor de éxito más importante en esta iniciativa es el contar con
• Pequeña (11 a 50) 31% el Capital Humano en suficiencia y con las capacidades requeri-
• Mediana (50 a 100) 17% das por los mercados internacionales.
• Grande (más de 100) 9%
Es por esto que esta es la línea estratégica de mayor prioridad dentro
En Nuevo León existen 24 empresas certificadas en Moprosoft y 12 del plan de trabajo de CSOFTMTY; dentro de la cual hay dos iniciativas
en CMMI, es la segunda entidad con más empresas con certificacio- concretas en las que se está trabajando:
nes de calidad después del Distrito Federal. • Una campaña de promoción entre los jóvenes para que estudien
carreras relacionadas con las TIC’s
CSOFTMTY • La creación del Instituto de Desarrollo de Talento de TI, único en su
El Consejo de Software de Nuevo León (CSOFTMTY) es el organismo tipo en México
que coordina lo que se denomina la triple hélice: academia, empre-
sas y gobierno. Esta asociación civil es la responsable de desarrollar Instituto de Desarrollo de Talento de TI
y asegurar el cumplimiento de las estrategias para el fortalecimiento El Instituto de Desarrollo de Talento de TI (IDETI) tiene como finali-
de la industria de software en esta región. dad el incrementar, en el corto plazo, el capital intelectual disponible
para la industria de software con certificaciones internacionales. En
Para ello, CSOFTMTY se enfoca en siete líneas de acción: veintidós semanas se prepara para el trabajo a recién egresados de
1. Desarrollo de mercado las carreras de TI, actualiza a profesionistas y reconvierte a profe-
2. Desarrollo de profesionales de software sionistas de otras ingenierías para integrarlos a la fuerza laboral de
3. Desarrollo de empresas y empresarios la industria. Los cursos son tomados en una de las 5 universidades
4. Desarrollo de infraestructura vinculadas: ITESM, Tec Milenio, Universidad Regiomontana, Univer-
5. Sustentabilidad y alto valor agregado sidad Autónoma de Nuevo León y Universidad de Monterrey.
6. Accesibilidad a programas y fondos económicos
Los programas de estudio de este Instituto se refieren específicamente
Existen 22 miembros de los cuales 12 son empresas, 3 organismos a la certificación en:
empresariales (AETI, CANIETI y ORIGO), 5 universidades (ITESM, • Conceptos de hardware y software de sistemas
TEC Milenio, UANL, UDEM y UR), un representante del Gobierno • Fundamentos de programación
de Nuevo León y uno del Instituto de Innovación y Transferencia de • Bases de datos
Tecnología (I2T2). • Metodologías de desarrollo de software
• Análisis de algoritmos
Una característica fundamental de CSOFTMTY es que no es un or- • Conceptos de desarrollo orientado a objetos
ganismo gubernamental, sino que es un organismo independien- • Diseño de interfaces
te que vincula a la triple hélice: Empresas, Academia y Gobierno • Tecnologías Web
para lograr un propósito común. • Conceptos Cliente – Servidor
06
16 MAY-JUL 2009 www.sg.com.mx
Solo para TI midor de los productos y servicios de las empresas locales. Se pro-
“Solo para TI” es una campaña para fomentar que los jóvenes próxi- mueve la participación de pequeñas y medianas empresas locales
mos a entrar a la universidad elijan estudiar carreras relacionadas de TI en proyectos, a través de convenios de integración con grandes
a las tecnologías de información. Asimismo, se ha iniciado una es- proveedores y a través de la incorporación de la evaluación de pro-
trategia pre-universitaria en la que a través de centros de compu- veedores locales en la ley de adquisiciones.
tación aplicada y la capacitación de maestros de escuelas públicas
de primaria y secundaria se fomente el conocimiento y gusto por las Innovación
tecnologías de información y comunicaciones. Dentro del Consejo, entró en operación un nuevo comité de innovación
en el cual se busca desarrollar la alta especialización del sector basa-
Vinculación con universidades do en innovación y las mejores prácticas mundiales en este concepto.
Por su parte, las empresas y universidades también llevan a cabo Este nuevo comité llevará la tarea de homologar en la triple hélice el
actividades de vinculación que resulten en disponibilidad de más ca- concepto de innovación en TI ya que actualmente se tienen diferen-
pital humano y con mayor especialización y experiencia: tes definiciones del concepto. De igual manera, se buscará desarro-
• Las universidades ofrecen espacio de ubicación a nuevas empre- llar innovación en los productos y servicios para obtener márgenes
sas que llegan a la entidad, lo que les permite acceso directo a más grandes en la industria.
nuevo talento así como a infraestructura temporal para iniciar sus
operaciones (softlanding). Infraestructura
• Las empresas realizan convenios con las universidades para la ab- En Nuevo León existe el Parque de Investigación e Innovación Tec-
sorción directa de talento, así como para la realización de proyectos nológica (PIIT) el cual tiene una superficie total de 70 hectáreas
con clientes actuales en sus instalaciones. Esta práctica permite a disponibles para centros de investigación y desarrollo de empresas
la empresa reducir sus costos mientras prepara talento con conoci- en las áreas de salud, mecatrónica, tecnología de información, bio-
mientos de los actuales requerimientos de los usuarios de TIC. tecnología y nanotecnología.
• Las empresas de la India, que en años recientes han realizado
inversiones en la entidad, tienen convenios con las principales uni- Dentro del PITT esta por inaugurarse el Monterrey IT Cluster, un con-
versidades del estado para que estudiantes y profesores visiten sus junto de 42 empresas que compartirán un edificio e infraestructura
centros de capacitación en la India. Durante la visita se identifican desde el inicio de sus operaciones, para posteriormente trabajar en
las brechas existentes entre las necesidades actuales de la industria conjunto e incursionar a mercados internacionales.
y el sistema educativo de la entidad y se recibe un entrenamiento
en las capacidades que se necesitan desarrollar dentro del sistema
educativo estatal actual.
Desarrollo de mercado
El mercado local de software y servicios TI en Nuevo León se en-
cuentra bastante consolidado, siendo el segundo mercado local en
importancia en el país. Las grandes empresas usuarias enfrentan
una competencia globalizada y están conscientes de que para des-
tacar en este ámbito es crucial tener un buen aprovechamiento de
las TICs. Por otro lado, se están presentando nuevas oportunidades
de penetración en el mercado gracias a una dinámica de desarrollo
económico que ve al software como coadyuvante en la innovación
de productos y procesos. Para catalizar esto se realizan diferentes
acciones tales como:
• Planes para fomentar la transferencia de tecnología (productos y
servicios de las empresas de TI y de los centros de investigación y MIT Cluster en el PIIT
desarrollo) hacia los sectores más estratégicos de la entidad y hacia
los nuevos sectores que están siendo impulsados. Más información en:
• Promoción entre las empresas más grandes de la entidad para la [www.csoftmty.org]
contratación de servicios y productos de TI de empresas locales. [www.ti.org.mx]
• Se está persiguiendo que el gobierno local sea un potencial consu- [www.piit.com.mx]
La Dra. Hanna Oktaba es profesora de la UNAM a nivel licenciatura y posgrado. Sus áreas de interés son Ingeniería de Software,
Tecnología Orientada a Objetos, Modelos de Procesos de Software y Mejora de Procesos. Actualmente es miembro de International
Process Research Group (IPRC). También es Directora Técnica del proyecto COMPETISOFT.
• 1992, su servidora empezó a dar las primeras conferencias so- • 1998, Luis Castro profesor de la UAM-I crea el primer Labora-
bre ¿Por qué está de moda OO? en los foros de Instituto Mexica- torio de Ingeniería de Software en la academia y se convierte
no de Petróleo, COMDEX y Día Borland, inventando el ejemplo pronto en uno de los primeros instructores PSP.
de ¿cómo se hacen chilaquiles al estilo OO?, para poder llamar
la atención del público. • 1998, Lupita Ibargüengoitia y Hanna Oktaba abren en la Maestría en
Ciencia e Ingeniería de Software de la UNAM un área de especialización
• 1994, Arnoldo Díaz de la empresa certum comienza a partici- en ingeniería de software con cursos de Tecnología Orientada a Objetos
par en un proyecto de la ISO llamado SPICE (Software Process y modelos de procesos de Ingeniería de Software (12207, 15504, SW-
Improvement and Capability dEtermination), hoy mejor conocido CMM, PSP, TSP). En los últimos años estos cursos fueron enriquecidos
como el estándar ISO/IEC 15504 Software Process Assessment. con la participación de las instructoras: Ana Briseño (consultora inde-
Llegó a fungir como Project Editor y Miembro del Consejo de Ad- pendiente), Cecilia Pérez (IBM de México) y Elsa Ramírez (Praxis). Hasta
ministración del proyecto SPICE. La herramienta de Evaluación la fecha Lupita y yo hemos dirigido 48 tesis de maestría relacionadas
de Procesos de Software desarrollada por certum fue denomina- con diversos temas de calidad en procesos de software.
La Cultura de Calidad
Tomemos el reto
Luis R. Cuellar es director de calidad a nivel mundial de Softtek Information Services. Luis es reconocido por la American Society for Quality
(ASQ) como Certified Quality Manager, Certified Software Engineer, y Six Sigma Black Belt. En los últimos cinco años ha estado a cargo de la
definición e implantación de la estrategia para CMMI5 y Six Sigma a través de las diferentes áreas del centro de desarrollo de Softtek.
RubyMine
Por fin un IDE para Ruby
Moblin
Linux atómico
Como evidencia de la popularidad que está cobrando el len-
guaje Ruby, la empresa JetBrains lanzó RubyMine 1.0, un am-
biente de desarrollo para Ruby y Rails. Moblin es una edición de Linux optimizada para eje-
cutarse en sistemas basados en la tecnología Atom
RubyMine mantiene el alto estándar de calidad de los productos de Intel. La visión es proveer una plataforma comple-
de Jetbrains. Entre sus características destacan: ta para aplicaciones enriquecidas que aprovechen las
• Editor inteligente que analiza el código e infiere los tipo de capacidades de dispositivos tales como NetBooks,
datos conforme escribes. MIDs (mobile internet devices), sistemas de informa-
• Capacidades integradas para aplicar el framework Rails. ción/entretenimiento para vehículos, y otros disposi-
• Pruebas unitarias con TestUnit y Rspec. tivos embebidos.
Como parte de esta estrategia, IBM lanzó WebSphere CloudBurst El primer elemento, Dryad, es una infraestructura que
Appliance, un hardware appliance que integra imágenes virtualiza- habilita programas secuenciales y los optimiza para
das de aplicaciones sobre servidores xSeries. Cuando los clientes que puedan ser ejecutados de forma paralela en clus-
están listos, las aplicaciones se habilitan en las nubes privadas para ters distribuidos.
que puedan atender peticiones bajo demanda.
Por su parte, DryadLINQ es un compilador que traduce
Con CloudBurst, los equipos de desarrollo pueden tener a su entera programas LINQ a instrucciones de cómputo distribuido
disposición los recursos de cómputo del appliance durante el ciclo que se pueden ejecutar en un cluster. Para lograr esto,
de desarrollo, y una vez que todo esté listo y probado se configura DryadLINQ particiona de forma distribuida los objetos
para que los recursos formen parte de la nube privada, administra- de datos de LINQ y convierte las sentencias de LINQ y
dos por el departamento de TI de la organización. métodos de C# en tareas distribuidas de Dryad.
CloudBurst se integra con el nuevo Rational Automation Framework DryadLINQ soporta todas las librerías de .Net y se inte-
for WebSphere para automáticamente optimizar la configuración y gra con Visual Studio para facilitar el desarrollo.
habilitación de aplicaciones. La administración de recursos también
se facilita significativamente por medio de la integración con el Tivo- Más información en:
li Service Automation Manager. research.microsoft.com/en-us/projects/dryad
research.microsoft.com/en-us/projects/dryadlinq
Una vez creado el proyecto, debes agregar el web test. Para agregar el
web test puedes oprimir el ícono de New Test o seleccionar New Test
desde el menú de Test. Los diferentes tipos de prueba aparecen en el
dialogo de Add New Test. Los tipos de pruebas que existen incluye: Ge-
neric, Web, Load, Manual, Ordered, y Unit. Selecciona Web Test y captu-
ra el nombre para la prueba y el proyecto que vas a comenzar. Una vez
que hayas presionado OK aparecerá una sesión en blanco de Internet
Explorer lista para iniciar la grabación de actividad del navegador. Los
controles de grabación te permiten comenzar, detener, parar, comentar
o borrar la grabación. Estoy utilizando www.sg.com.mx como dirección
para este ejemplo. Nótese que en cuanto comienza la actividad http se
empieza a grabar. Esto se puede ver en el árbol jerárquico de las requi-
siciones http que aparece bajo los controles de grabación. Captura 2. Despliegue de la prueba y el árbol
Benjamín Ruvalcaba Alonso tiene más de 18 años de experiencia en proyectos de informática. Ha trabajado en Microsoft, GE y otras empresas públicas y
privadas. Ha dedicado los últimos seis años al testing de diversas aplicaciones web.
Como buena práctica, corre el web test para asegurarte que fun-
ciona adecuadamente. Al terminar la prueba, el sistema te desple-
gará un panel de resultados. Para verificar las razones de fallas
puedes oprimir el link de ‘Test run completed’. Esto mostrará una
lista detallada de la corrida de la prueba. Procedamos a agregar
validaciones propias.
La validación de Form Field verifica que un campo en la página ten- Es posible tener mayor control sobre la creación de Web Tests
ga el valor esperado. Un buen uso par esta validación se presenta mediante la utilización de Coded Web Tests. Estos son Web Tests
en los campos defaults. La validación de Find Text verifica la exis- que se crean y existen en código. Para crearlos se puede utilizar
tencia o inexistencia de determinado texto en la página. Yo lo utili- del botón designado o comenzando en blanco, haciendo uso
zo buscando con la opción “fallar si encuentra el texto”, para bus- de las programación utilizando las librerías de WebTesting que
car mensajes de texto comunes en errores de programación. Hay vienen con el paquete. También es posible programar extensio-
que recordar que la búsqueda solamente se hace a nivel HTML, así nes al producto, tales como reglas propias para la extracción y
que puede haber texto embebido en la página sin ser visible. validación del sistema.
El cómputo en la nube o cloud computing es una de las tendencias • Uso de estándares. Los estándares son importantes para lograr un
que mayor impacto están teniendo en nuestra industria actualmente ecosistema eficiente en la nube y una interoperabilidad maximizada.
y hacia el futuro próximo. A pesar de que en el número 22 de SG XML, SOAP y últimamente REST son hasta el momento los estánda-
ya se habló bastante sobre este tema, consideramos pertinente re- res preferidos.
pasar algunos puntos, y aprovechar para familiarizarnos con Azure,
que es la propuesta de Microsoft para una plataforma y sistema ope- • Esquemas de pago basados en el consumo. Generalmente el soft-
rativo para la nube. ware se adquiere mediante licenciamiento al hacer un pago, usemos
o no usemos el software, el desembolso de dinero debe hacerse de
Entendiendo la nube cualquier manera. En el modelo de precios de la nube se propone
Desde hace mucho tiempo, en la iconografía utilizada dentro de los que los pagos deben estar basados en datos del consumo real, por
diagramas de topologías de redes, los trayectos donde viajan datos ejemplo: porcentaje de utilización de los procesadores, accesos a la
a través de internet se representan como nubes para enmascarar la base de datos, cantidad de hits por tiempo etc.
complejidad del viaje a través de la red de redes. Derivado de esto,
la nube es una alegoría de internet y representa precisamente toda Como podemos apreciar, el objetivo del cómputo en la nube es dis-
la infraestructura que requiere internet para operar. minuir la complejidad y los costos asociados al generar aplicaciones
en Internet. Este concepto, a su vez hace uso de diferentes términos
Cuando abstraemos este concepto e imaginamos la nube como una ya utilizados en la industria. (Figura 1)
unidad y no como cada una de sus piezas (protocolos, conexiones,
software, servidores, switches y un largo etcétera) tenemos el concep-
to al que actualmente se refiere la industria: Ver a internet como un
todo, donde dejan de ser importantes los detalles exactos para que
se logre echar a andar un aplicativo en internet, y conceptualizar a la
nube como una constante, como una infraestructura de facto con la
que podemos contar para utilizarla como plataforma de cómputo.
Windows Azure
Windows Azure es el sistema operativo para la nube que se ejecuta
exclusivamente en los Dataservers de Microsoft. No es posible des-
cargarlo ni instalarlo en un servidor local. Windows Azure proporcio-
na abstracción de hardware, almacenamiento, monitoreo y actuali-
zación de los servicios, interoperabilidad de plataformas (.NET, Java,
Ruby, PHP, COM etc.) y representa la infraestructura como servicio
(IaaS) de Microsoft. Windows Azure asegura una disponibilidad
24/7 y se basa en reglas. La plataforma se encarga de la inmensa
mayoría de las tareas de mantenimiento y administración.
• Live Services: Expone los servicios de Microsoft Live tales como En este breve ejemplo crearemos un web cloud service básico.
identidad, comunicación, presencia, búsqueda, sincronización, ubi- 1. Iniciemos Visual Studio 2008 (si se desarrolla en Windows Vista o
cación geoespacial, etcétera. Windows 7, entonces es necesario ejecutarlo en modo administrador)
2. Dentro de Visual Studio 2008 seleccionar File -> New -> Project
• .NET Services: Proporciona bloques de código hospedados en la 3. En Project Types seleccionar “Cloud Service” y en los templates
nube listos para usarse. Es como tener la biblioteca de clases del .NET seleccionar “Web Cloud Service”.
10. Esto nos llevará al portal de Azure en internet (es necesario regis-
trarse previamente, y para poder publicar aplicaciones primero hay
que obtener un token). Seleccionamos New Project y posteriormen-
te Hosted Services
Miguel Angel Morán (Twitter: @SrBichi) y Misael Monterroca (Twitter: @mmonterroca) son Microsoft Most Valuable Professionals (MVP) en C#. Cuentan con
13 años de experiencia desarrollando y lidereando soluciones de software de misión crítica en las más diversas industrias. Participan activamente en conferencias,
comunidades de desarrollo y divulgación tecnológica. Actualmente son consultores en emLink, empresa especializada en soluciones de software en las áreas de
movilidad, comercio electrónico y colaboración.
Jorge Zavala es un viejo lobo de mar en la creación y desarrollo de empresas de tecnología. Fue por ello que en el 2004 la Fundación
México Estados Unidos para la Ciencia (FUMEC) lo invitó para dirigir la oficina de TechBA en Silicon Valley, donde se dedica a apo-
yar a empresas mexicanas de tecnología que buscan penetrar el mercado global. Recientemente tuvimos oportunidad de platicar
con él para tratar de entender en qué consiste el DNA de Silicon Valley, y qué es lo que necesitan los empresarios mexicanos para
competir y trascender en este contexto.
Germán Domínguez es Licenciado en Informática Administrativa de UNITEC con más de 13 años de experiencia en el desarrollo de aplicaciones de
negocio y aplicaciones Web. Ahora pertenece al equipo de IT de IBM de México, especialista para la marca de software Rational, y puede ser contactado
en germand@mx1.ibm.com
Hace varios años el concepto de aplicacio- llamada todos los datos de esta se inter- El escenario móvil
nes peer to peer en Internet se popularizó cambian mediante una conexión directa Hoy existen pocas aplicaciones móviles con
y dio origen a una amplia variedad de solu- entre mi PC y la del contacto con el que un modelo de este tipo que verdaderamente
ciones que ya forman parte de nuestra vida estoy hablando. Los datos de la llamada aprovechen los diferenciadores de un dispo-
diaria, tales como Messenger, Windows Live ya no fluyen a través del servidor central. sitivo móvil. Es cierto que hay versiones móvi-
Sync, Skype y BitTorrent entre otras. Este esquema se conoce como peer-to- les de Skype o Messenger, pero en mi opinión
peer “suave”. hay un amplio terreno sin explotar en aplica-
¿Qué es peer to peer? ciones móviles peer to peer.
En un modelo peer to peer necesariamente En un modelo peer to peer puro o completo,
participan dos o más colegas (peers) co- no hay distinción entre cliente y servidor y Cuando hablamos de soluciones para movili-
rriendo en dispositivos –la mayor parte de todas las funciones de indexación y localiza- dad, tenemos que ir más allá de hacer lo mismo
las veces una PC– que se comunican direc- ción están a cargo de los mismos clientes. que hacíamos en la PC pero ahora en pequeño.
tamente entre si en un modelo uno a uno o Las principales ventajas de este modelo son El diferenciador obvio de un dispositivo móvil
muchos a muchos, sin pasar a través de un su escalabilidad y resistencia a fallas. Dado es….. ¡que se mueve! La ubicación se vuelve
servidor central para la parte medular de la que cada peer funge tanto como cliente relevante para que pensemos en aplicaciones
interacción entre ellos. como servidor, agregar nodos a la red impli- móviles peer to peer que verdaderamente ha-
ca incrementar casi linealmente los recursos gan sentido.
En la mayoría de las aplicaciones peer to disponibles de cómputo y comunicaciones.
peer un servidor central actúa únicamen- Adicionalmente, como ningún nodo juega un La ubicación tiene dos connotaciones:
te como un directorio que le permite a los rol especial, la pérdida o falla de uno normal- 1. ¿Dónde estamos ubicados en el planeta? De-
diferentes peers encontrarse entre sí. Por mente no afecta el funcionamiento de la red finido por nuestras coordenadas – latitud, longi-
ejemplo, cuando quiero llamar a alguien global que sostiene a la aplicación. BitTorrent tud y altura – obtenidas mediante alguna forma
a través de Skype, mi PC obtiene las di- es un excelente ejemplo de un protocolo peer de posicionamiento – GPS, trangulación, etc. –
recciones de mis contactos de un servidor to peer que es altamente escalable, resisten- 2. ¿Quién está cerca de mi? En este caso no es
central que conoce las ubicaciones de te y prácticamente imposible de controlar por necesario conocer nuestra posición absoluta,
todos. Sin embargo, una vez que inicio la una autoridad central. el simple hecho de poder identificar qué es lo
Héctor Obregón es fundador y Director General de emLink. Héctor se especializa en el desarrollo de soluciones móviles y para dispositvos embebidos.
Adicionalmente, es Microsoft MSDN Regional Director, Microsoft MVP para Windows Embedded y miembro del comité de dirección de la Comunidad
.NET de México D.F.
Hace tiempo que observamos un fenómeno Tecnologías para RIAs móviles éste país y rápidamente otros operadores
que consiste en una evolución de las aplica- Existe un buen número de tecnologías dispo- y dispositivos soportaron esta tecnología.
ciones web tradicionales hacia un entorno nibles para desarrollar aplicaciones móviles. Sin embargo, en el resto del mundo Flash
de aplicaciones que se apoyan de un cliente Las que tienen mayor tiempo y posiblemen- Lite tardó en penetrar. Tal vez Macromedia
enriquecido vía plug-in o stand-alone para te más adeptos son Java Micro Edition y C++ (quien en ese entonces era dueño de Flash)
entregar una experiencia similar a la de una (BREW/Symbian). equivocó su estrategia al tratar de impul-
aplicación de escritorio pero con la ventaja sar Flash Lite por medio de los operadores
de estar conectadas al Internet e interactuar Por otro lado, está surgiendo una nueva (carriers). Macromedia se encontró con el
con los datos en la nube de forma transpa- generación de tecnologías para RIAs mó- fenómeno denominado “Walled Garden”,
rente. Este tipo de aplicaciones se conocen viles. Entre estas destacan Flash Lite, el el cual implica que los operadores con el
como RIAs (Rich Internet Appications), y este iPhone SDK y la plataforma Android. Per- fin de proteger un mercado que parecie-
modelo ha sido liderado por tecnologías sonalmente, la que más me convence de ra seguro impiden el rápido avance de
como Java, Flash y últimamente Silverlight. éstas y que les puedo recomendar es Flash las tecnologías emergentes. Una vez
Lite. En el resto de este artículo ahondaré que Adobe adquirió Macromedia en el
Dadas las capacidades de conectividad y sobre esta tecnología. 2005 cambiaron la estrategia, buscan-
procesamiento de los smartphones moder- do empujar Flash Lite por medio de
nos, son un tipo de cliente muy atractivo Antes de entrar de lleno a Flash Lite, quie- los fabricantes de teléfonos móviles
para RIAs móviles, y las diferentes piezas se ro hacer mención de un par de tecnologías y encontrando una buena respues-
están acomodando para lograr esto: para RIAs móviles que pudieran ser una ta por parte de Nokia, Samsung,
buena opción una vez que sean liberadas. Sony Ericsson y Motorola entre
Los operadores (carriers) están empujando La primera es Palm WebOS que será libera- otros. Fue así que a finales del
agresivamente nuevos modelos con mayor da este verano, y la segunda es Silverlight 2006 se hicieron disponibles en
funcionalidad y mejores planes de datos. for Mobile que se espera esté disponible nuestro lado del mundo los pri-
con Windows Mobile 7 el próximo año. meros dispositivos con sopor-
Los fabricantes están facilitando la interac- te a Flash Lite, y actualmente
ción con sus dispositivos mediante la dispo- Conociendo Flash Lite ya existe una gran oferta de
nibilidad de APIs y SDKs. Flash Lite consiste en una versión reducida de dispositivos que soportan
la plataforma Flash, diseñada para dispositi- esta tecnología.
Las principales plataformas tecnológicas vos móviles. Dadas sus capacidades y su ubi-
para desarrollar software cuentan con edi- cuidad, ésta puede ser una plataforma muy
ciones y componentes específicos para dis- atractiva para quienes busquen desarrollar
positivos móviles. Asimismo, los ambientes aplicaciones para dispositivos móviles. Adi-
de desarrollo modernos como NetBeans, cionalmente, gracias al “Open Screen Project”
Flash IDE y Visual Studio entre otros, ya Flash pronto estará disponible en televisores
cuentan con herramientas orientadas a fa- y otros dispositivos de consumo, lo cual lo Más información:
cilitar el desarrollo en smartphones, tales hace aun más atractivo para desarrolladores Project Capuchin
como emuladores y perfiladores (profilers) tratando de entrar a nuevos nichos. tinyurl.com/5jypyc
de memoria. Kuneri Lite
Flash Lite ya tiene bastante camino recorri- www.kunerilite.net
En resumen, las aplicaciones móviles enri- do. La versión 1.0 fue lanzada en el 2003 con Blocket PC Open Source:
quecidas son un segmento que representa el aparato 505i de NTT DoCoMo en Japón. opensource.blocketpc.com
una gran oportunidad. La adopción de Flash Lite tuvo gran éxito en SWX Format
swxformat.org
Conclusiones
Después de conocer todos los proyectos y
características de esta tecnología es relati-
vamente más sencillo identificar oportuni-
dades de negocio para llevar la experiencia
móvil al siguiente nivel.
Edgar Parada es Director de Activ (www.activ.com.mx), un Adobe Authorized Training Center especializado en tecnologías como Flex, Flash Lite y Flash
Media Server. Es manager de Riactive (www.riactive.com.mx), el grupo de usuarios oficial en México para Flex. edgarparada@activ.com.mx
Las empresas en México han encontrado en caciones de automatización para la peque- De nuevo, esta estrategia ha sido la correcta,
los desarrolladores de software locales solu- ña y mediana empresa está concentrado pero la apertura de las tiendas de aplicacio-
ciones de calidad mundial. El desarrollo de en dos empresas (Aspel y Contpaq), es de nes de los principales fabricantes de telé-
aplicativos hechos a la medida de las empre- esperarse que en el largo plazo algo simi- fonos inteligentes, de la mano de las estra-
sas ha sido un mercado de alta rentabilidad lar ocurra en el mercado móvil. tegias ya desplegadas por los operadores,
y crecimiento para los desarrolladores que representarán una gran oportunidad para
han incursionado en este segmento. ¿Qué estrategias seguir ante esta expectati- acceder a un mercado enorme.
va? Yo sugiero dos alternativas:
Sin embargo, los éxitos en esta primera ola Recomiendo revisar estas consideracio-
de adopción de la movilidad no deben ser 1. Enfocar los esfuerzos en desarrollar pro- nes a toda empresa de desarrollo que
motivo para olvidar que este mercado apenas ductos terminados. Muchas empresas en el esté planeando una estrategia de pene-
está naciendo, lo que significa que aún hay mercado cuentan con algún motor básico de tración del mercado de consumo:
segmentos de clientes por atender y la forma conectividad móvil y GPS que permite ofre-
como las empresas entren a nuevos merca- cer “al cliente lo que pida”. Si bien esta es la 1. El operador celular manda. Puede no gus-
dos puede alterar su posición de liderazgo estrategia correcta en un mercado inmadu- tar y sonar políticamente incorrecto, pero es
o relativo retraso en la industria. Por ello, es ro, no es una forma escalable de sobrevivir una realidad que en la comercialización de
necesario atender dos puntos críticos que me en un mercado que tenderá a consolidarse. todo bien o servicio de consumo, el control
parece influirán de forma contundente en la Generar productos con funcionalidades que lo tiene el detallista. En este caso es el ope-
definición del futuro mercado móvil. resuelvan las necesidades de la gran mayo- rador celular (incluso tienen control sobre
ría de los clientes con alto grado de confi- las iniciativas de tiendas de aplicaciones de
La necesidad de diferenciarse guración y ciclos cortos de implementación los fabricantes de dispositivos). Se puede
Puedo citar al menos cuatro estudios de permitirá generar las economías de escala discutir sobre si los márgenes que para sí
prestigiadas casas de investigación de mer- en la comercialización y despliegue que de- demandan los operadores celulares mexi-
cados IT que citan que después del correo berán tener las empresas líderes. canos son excesivos respecto a prácticas de
electrónico y las listas de contactos, las otras regiones del mundo, pero la realidad
aplicaciones móviles más demandadas son 2. Enfocarse en segmentos verticales que no es que la manera más fácil de que una em-
aquellas que automatizan la labor del perso- han sido atendidos. Las necesidades de las presa de desarrollo lleve su producto a una
nal de campo de ventas y servicio. industrias de construcción, manufactura es- audiencia masiva es hacerlo de la mano del
pecializada, extracción y servicios profesio- operador celular.
Estas aplicaciones para ventas y servicio (llá- nales, entre muchas otras, siempre ofrecerán
menle Mobile CRM, Sales Force Automation oportunidades para la especialización a las 2. El mercado de consumo es de alto volu-
o Field Service Automation) o supervisión que difícilmente podrán acceder los provee- men y bajos márgenes. Tanto en la definición
(merchandising, cobranza) han constituido dores que ofrecen aplicaciones genéricas. de precios como en el cálculo de puntos de
la oportunidad más inmediata y rentable equilibrio se debe tener en mente vender
para las empresas dedicadas a la movilidad. La masificación de las la mayor cantidad posible que genere una
aplicaciones móviles utilidad total neta aceptable aún cuando el
Desafortunadamente, el mercado para El consumo hecho por individuos constitu- margen unitario sea relativamente pequeño.
esas aplicaciones ya comienza a mostrar ye dos terceras partes de la economía; más
signos de saturación. Prácticamente toda del 95% de las más de 80 millones de líneas No hay una sola estrategia exitosa para el
empresa establecida o que inicia su estra- telefónicas móviles del país son contratadas mercado de aplicaciones móviles, pero es un
tegia de penetrar el mercado móvil tiene por personas (no empresas). Con todo y lo hecho que las empresas que incorporen en
alguna variante de alguna aplicación de anterior, los desarrolladores mexicanos ma- sus planes de negocio los cambios inevita-
“toma de pedidos” o “supervisión”. De la yoritariamente se han enfocado exclusiva- bles que experimenta la industria, tendrán
misma forma como en el mercado de apli- mente al segmento de negocios. más posibilidades de éxito.
Carlos Silva es Gerente de Alianzas de Research In Motion, fabricante de los dispositivos BlackBerry. Puede ser contactado en csilva@rim.com y vía su
blog personal www.csilva.net. Las opiniones expresada son suyas y no necesariamente reflejan las de RIM.
A inicios del 2009 el staff de SG nos presentó la posibilidad de realizar 2. Arquitectura de información
el diseño de interfaz para su nuevo proyecto: SG Guía, una herramien- Durante esta etapa, el arquitecto de información clasifica el contenido
ta para ayudar a los profesionistas de TI a encontrar los productos y y busca crear un menú de navegación optimizado. El resultado que se
servicios relacionados con el desarrollo de software. El proyecto nos obtiene es el mapa del sitio que será clave para la etapa de diseño.
pareció muy interesante y a la vez vimos una buena oportunidad de
documentar el proceso para compartirlo con los lectores de SG. En esta etapa es bueno realizar un benchmark entre proyectos
similares para aprender e identificar los elementos que mejor
Nuestra colaboración en este proyecto consistió en desarrollar la puedan servirnos.
arquitectura de información así como el diseño gráfico de la inter-
faz, mientras que la implementación en la herramienta de admi- Un menú de navegación bien planeado es crítico para lograr una
nistración de contenido fue realizadas por el equipo de SG. Dicho buena usabilidad ya que el usuario final no debe pensar demasiado
sea de paso, las oficinas de SG se encuentran en la Ciudad de México para identificar donde podría estar la información que busca.
y gelattina está basada en Monterrey, por lo que trabajar a distancia
solamente hizo el proyecto aun más atractivo! La SGuía originalmente contemplaba que las 4 categorías principales fue-
ran parte de la opción del menú “Categorías”. En el interés de facilitar la
SG Guía ya se encuentra disponible en www.sg.com.mx/guia por si quie- navegación al usuario, se optó por desplegarlas como parte del menú
res echarle un vistazo para que puedas entender mejor este artículo. principal. Además del menú de navegación principal, se plantearon una
serie de elementos que no son propiamente parte de la navegación pero
La pre-producción que sirven como ayuda al usuario, por ejemplo, el listado alfabético de
Notamos una gran ventaja de trabajar con el equipo de SG puesto todas las empresas registradas ubicado en la columna derecha.
que tienen muy buenas prácticas de documentación de requerimien-
tos. Para el análisis inicial SG nos proporcionó documentación con Finalmente el arquitecto de información realiza los wireframes (represen-
su visión del proyecto, un modelo de dominio, detalle de actores y tación sin elementos gráficos que muestran contenido y comportamiento
casos de uso del sitio. de las páginas) de la portada e interiores ya que sirven como herramien-
ta de discusión entre él y los programadores, diseñadores y cliente. Los
Toda esa información es muy valiosa pues en todo proyecto de di- wireframes son particularmente útiles durante la etapa de planeación ya
seño de interfaz, es sumamente importante entender quien será el que dejarán claro qué elementos se planean incluir en la interfaz.
usuario final de la aplicación, para así, poder lograr satisfacer sus
necesidades en términos de usabilidad. 3. Diseño gráfico
Las dos etapas anteriores nos dan la suficiente información para que
Para este proyecto, los dos públicos principales son: el diseñador realice la mejor interfaz posible totalmente orientada al
1) Profesionales de IT en busca de servicios público del sitio. En esta etapa el diseñador realiza también su pro-
2) Proveedores buscando promover sus productos pio benchmarking enfocado en buscar las soluciones gráficas que
sirvan mejor al sitio.
Otro aspecto clave tiene que ver con el conocimiento del sistema de
administración de contenido. Es importante tomar en cuenta la plata- Con un mapa de sitio claro, wireframes bien definidos, conocimiento
forma de desarrollo para diseñar la interfaz de acuerdo a los reque- del perfil del usuario final y una idea clara del contenido, el diseñador
rimientos técnicos. Para este proyecto se seleccionó Drupal (www. tiene todo lo que necesita para crear la interfaz. Como verás, ¡no es
drupal.org) y es parte de nuestra responsabilidad conocer las mejores sólo cuestión de sentarse a diseñar si no existe todo un proceso de
prácticas de diseño para dicha plataforma. planeación detrás!
Para crear una interfaz de usuario eficiente Para poder replicar la experiencia del usuario común de la SG
1. Brief Creativo Guía, el equipo gráfico de gelattina diseñó 9 pantallas que mos-
Este documento nos ayuda a definir las necesidades del negocio y los traban el recorrido de un usuario desde la portada del sitio hasta
resultados deseados del diseño. El brief también ayuda a recabar la que encontrara la información de un producto en particular, ya
información relacionada con la identidad corporativa de la compañía, sea por navegación directa o haciendo uso del buscador.
tecnologías a utilizar en el proyecto, listar requerimientos estéticos,
proyectos competidores y dar un panorama general de los contenidos a Durante la sesión de revisión con SG validamos que todos los ele-
publicar. SG fue muy específico en sus requerimientos por lo que desde mentos propuestos fueran viables técnicamente y que no hubiera
un inicio, quedó muy clara la expectativa que teníamos que cumplir. alguna restricción técnica de Drupal para poder implementarlos.
Conclusión
La creación de un proyecto web, cualquiera que sea su tama-
ño, que busque ser exitoso requerirá de un buen trabajo de
integración tanto en la parte tecnológica como en la interfaz
del usuario. Para eso se requiere de un equipo multidiscipli-
nario con experiencia en las áreas de usabilidad, arquitectura
de información, diseño gráfico y desarrollo de aplicaciones.
Mientras más se utilice la empatía con el usuario y se combi-
ne el conocimiento de sus hábitos, mayor probabilidad ten-
drá de éxito el proyecto. SG Guía fue creada para cumplir con
las necesidades de los lectores de esta revista, por lo que te
invito a conocer el sitio y utilizarlo. Si tienes algún comen-
tario que pueda mejorarla, lo recibiremos con gusto.
Romeo Márquez es fundador de gelattina, una agencia especializada en Web 2.0, diseño de interfaces, Marketing Digital, Social Media, Widgets y Video para Web.
Adicionalmente es miembro de la Usability Professionals Association. Para gelattina, ha dirigido proyectos de diseños de interfaces para The Home Depot, Coca-
cola, Banorte, Banregio, JackBe, Hoteles Marriott, ABA Seguros entre otros. Puedes seguirme en Twitter en @RomeoMarquez y @gelattina www.gelattina.com
romeo@gelattina.com +52.81.8115.6150
MoProSoft y la Auditoría
a Procesos de Software
El Sistema MADAM Asociado a MoProSoft
Por Yolanda Fernández, Leticia Arévalo, Jesús Soria
Yolanda M. Fernández Ordóñez profesora investigadora titular del Colegio de Postgraduados, Campus Montecillo. Es Matemática egresada de la Facultad de
Ciencias de la UNAM y Doctora en Informática por el Instituto Nacional Politécnico de Grenoble, Francia. Sus áreas de interés son la ingeniería de software y la
geomática aplicada a las ciencias agrícolas y los recursos naturales. Formó parte del Grupo Editorial que elaboró el MoProSoft. Es miembro del Sistema Nacional
de Investigadores. yfernand@colpos.mx
Métodos de Cuestionarios
recolección de datos Plantillas de entrevistas
Ejecución Especificación de la revisión documental Figura 2. Carátula Documento Cierre de Auditoría.
Definición de encuestas
Técnicas de muestreo
Matriz de doble entrada Requisitos/Evidencias
Informe de Auditoría Narrativa detallada de hallazgos y ubicación Conclusión
del hallazgo (en qué parte del proceso) La metodología resulta de la aplicación de los principios de
Informe Buenas prácticas* auditoría a la norma MoProSoft. Se siguen las fases prevale-
Resumen General de Narrativa resumida de hallazgos y logros
cientes en las auditorías para revisar los procesos consideran-
Auditoría significativos y métodos utilizados.
Cierre de Auditoría Dictamen formal de la auditoría. do el nivel 1 de capacidades: Proceso Realizado de MoProSoft.
Como anexos: Plan de Auditoría, Listas de Se proponen documentos de apoyo al auditor que identifican
Cierre Verificación llenas, Informe de Auditoría y los aspectos relevantes, como el propósito de la auditoría, su
Plan de Acciones Correctivas*
alcance, los puntos auditables y el informe de cierre. Se men-
Informe de situaciones relevantes*
Plan de Acciones
cionó el sistema asociado MADAM que maneja documentos
Correctivas* adaptables para auditar a una organización.
* Opcional, en su caso.
Tabla 1. Documentos y su contenido por fases de la auditoría Referencias
[Arevalo-Cedillo, Leticia. “Auditoría y Evaluación de Calidad de Pro-
El Sistema MADAM cesos de Software usando la norma NMX-059/01-NYCE-2005 Mo-
Para facilitar esta metodología hemos creado el sistema MADAM (Ma- ProSoft”. Tesis de maestría en ciencias, Colegio de Postgraduados,
nejo de Documentos para Auditoría MoProSoft) a través del cual se ma- Montecillo, Texcoco, Edo. De México. 2006.]
nejan y adaptan los documentos para auditar distintas organizaciones. [Arter, Dennis. “Quality Audits for Improved Performance.” 2nd Ed.
Los rubros del contenido en las carátulas de los documentos MADAM 1994. ASQ Quality Press]
son enlaces a los documentos relacionados correspondientes. [Oktaba, H.;M. Piattini. “Software Process Improvement for Small
and Medium Enterprises: Techniques and Case Studies.” IGI Global,
En la Figura 2 se muestra la carátula del documento Cierre de Au- Hershey PA. 2008.]
ditoría para el proceso DIR. 1. Gestión de Negocios, donde el audi- [normalizacion-nyce.org.mx/doc/NMX-I-006/04-NYCE-2004.pdf> ]
tor debe llenar lo indicado en el Contenido para dar por concluida [software.net.mx/Evento2008/presentaciones/Mixteca%201/Mo-
la auditoría. ProSoft_sin_fronteras_mayo_2008_evento.pdf]
Leticia Arevalo Cedillo profesora de asignatura y actual Presidenta de Academia del Área de Docencia de Cómputo en la Universidad Autónoma del Estado de México.
Licenciada en Informática Administrativa egresada de la UAEMex y Maestra en Ciencias en Cómputo Aplicado del Colegio de Postgraduados. letyac@colpos.mx
Jesús Soria Ruiz investigador del Instituto Nacional de Investigaciones Forestales, Agrícolas y Pecuarias, encargado del Laboratorio de Geomática del INIFAP
en Toluca. Doctor en Ciencias por el Colegio de Postgraduados. soria.jesus@inifap.gob.mx
Medición y Análisis
¿Qué, Cómo, Cuándo?
Por Edith Alhelí Martínez
A lo largo de la definición e implantación de un programa de mejora, me Estas otras empresas seguramente serán diferentes a la nuestra en
he encontrado con temas que nos pueden “parar en seco” al momento de cuanto a su:
la ejecución. Uno de eso temas es el de Medición y Análisis cuyo objetivo, • Tamaño
de acuerdo a CMMI es: “Desarrollar y sostener una capacidad de medida • Cultura
que es usada para apoyar necesidades de información de dirección”. • Productos o Tecnología
• Giro
En general, cuando se llega al punto de definición de este proceso, no • Objetivos
podemos avanzar o empezar a definir sin involucrar a más personal de
la organización. Partiendo de eso, entonces no hay mejor punto de comparación que
nuestro propio antes, ahora y después. Es bueno tomar el resto de los
Lo que sucede frecuentemente es que el Responsable de Proce- datos como puntos a revisar y comparar contra ellos, pero es importante
sos (por llamarlo de alguna forma), puede conocer el modelo de saber de antemano que quizá no podremos ni tendremos que llegar a ser
calidad y conocer a la organización, sin embargo en este caso se idénticos a ellos.
necesita considerar más aspectos. Entre estos aspectos están el
de conocer las metas y objetivos de la organización y sus distintas Algunos puntos a considerar son:
gerencias, sus prioridades y asegurarse de validar con ellos esta 1. Alinear las mediciones a los objetivos de la Organización para
definición de proceso. lograr consistencia.
A partir de ahí, ya estamos del otro lado por decirlo de alguna mane- 2. Empezar con pocas medidas, pero asegurar su practicidad,
ra, ahora solo resta identificar qué es más importante, imprescindi- bajo coste y alto beneficio.
ble, necesario, o simplemente es un “nice to have”…
3. Hacer una buena y clara definición de métricas, contestando a
Yo empezaría por pensar primero qué nada en: ¿Por qué medir? ¿Para las preguntas de ¿qué? ¿cómo? ¿cuándo? ¿dónde? y ¿por qué?
qué me serviría? ¿Qué quiero medir?, ¿Por qué eso y no algo más? ¿Cuál
es su criticidad? 4. Automatizar lo más posible la obtención y análisis de datos y
realizar análisis concretos de los datos.
¿Por qué medir?
Para comprender la situación actual de alguna actividad, para esta- 5. Difundir los resultados de manera simple y entendible, así
blecer una línea base inicial, para poder predecir, para mejorar, para como utilizar la medición y sus resultados a favor y no en contra.
ser eficiente, o para saber cuánto…
6. Recordar la ya sonada frase que dice “lo que no se mide, no se
Existen indicadores de empresas nacionales e internacionales que puede mejorar”.
se encuentran difundidos en el mundo, los cuales nos pueden ser-
vir de punto de partida o comparación (benchmarking), sin em- 7. Elegir los modelos y técnicas de medición. ¿Cómo elegir? ¿Peor,
bargo es importante tener en mente que son eso, indicadores de mejor? ¿Pros y contras?… Hay que ajustarse a las necesidades,
otras empresas. características, objetivos y presupuestos de cada empresa.
Edith Alhelí Martínez Mata es Consultor especializado en temas de CMMI. Sus áreas de especialidad son el Aseguramiento de la Calidad, las Inspecciones
de Software, los Procesos de Administración de Proyectos y Soporte. Ha participado como consultora en varios proyectos para implementación de CMMI a
diferentes niveles, así como en evaluaciones SCAMPI. Alhelí estudió en el Instituto Tecnológico de Aguascalientes (ITA).
10. Por último, tener presente lo siguiente “In God we trust, all others bring Good data” (En
sobre la medición: Dios confiamos, los demás traigan Buenos datos).
• La medición no solo debe dar respuesta a
bien o mal, sino indicar qué tanto. Referencias
• Medir cuesta, por supuesto. Por ello es crucial [ sei.cmu.edu/sema ]
determinar qué es lo que se va a medir y enfo- [ Mary Beth, Mike Konrad. “CMMI(R)
carse en eso. Second Edition, Guidelines for Process
• Las mediciones ayudan a tomar decisiones Integration and Product Improvement.” ]
acertadas y precisas. [ Khaled Emam. “Process Improvement in
• La mejora de calidad, tiempos o esfuerzos a Small Company” ]
no se logra de un día a otro. Es como todo… [ David Card. “Measurement Makes Impro-
toma tiempo. vement Meaningful” ]
Si tuviésemos que precisar un atributo que defina al software en Una definición de arquitectura de software
estos tiempos, seguramente muchos coincidirían en que la comple- La arquitectura de un producto complejo de software es uno de
jidad es algo destacable. Esto se manifiesta en el volumen de los los artefactos más importante del ciclo de desarrollo. Si bien sus
productos, utilización de productos COTS (Comercial off the self ), principios y resultados han sido analizados, definidos y divulga-
la integración a través de diferentes tipos de interfaces, la intero- dos por un periodo de diez años, su práctica formal por parte de la
perabilidad entre diferentes plataformas y la conjunción de más comunidad profesional, es todavía vaga e imprecisa. Existen mu-
de una tecnología para el desarrollo de un mismo producto. Dicha chas definiciones de arquitectura de software, nosotros creemos
complejidad también se manifiesta a través de los requerimientos, que una que sintetiza la esencia de la misma es la elaborada por
tanto en cantidad como en los diferentes tipos y prioridades de las Clemens, Bass y Kazman[1]: “La arquitectura de un programa o sis-
necesidades expresadas por las distintas personas interesadas por tema es la estructura o las estructuras del sistema que contienen a
el producto bajo desarrollo. los componentes, las propiedades visibles de estos componentes
y las relaciones entre ellas.”
Muchos de estos requerimientos están expresando atributos que el
software debe satisfacer para asegurar una adecuada calidad: desem- De esta definición podemos deducir:
peño, seguridad, mantenibilidad, etcétera. Estos atributos, reconoci- 1. La arquitectura es una solución de alto nivel que muestra de qué
dos como “requerimientos no funcionales” o “atributos de calidad” manera serán resueltos los objetivos de negocio que dan origen al
son a veces la causa de importantes desvíos en el desarrollo o de se- producto. En este sentido podemos decir que la arquitectura del soft-
rios problemas en la operación del producto, provocando insatisfac- ware es “un puente” entre las necesidades de los usuarios y los equi-
ción de los usuarios y frustración de los equipos de desarrollo. pos técnicos que serán responsables del desarrollo.
2. La arquitectura solo se ocupa de mostrar y resolver las propiedades
Por otro lado si analizamos el problema desde la óptica de gestión visibles de los elementos, (mencionados como atributos de calidad).
de proyectos, la situación nos presenta un escenario también com- No interesan los detalles internos de cada uno de ellos.
plejo: múltiples equipos trabajando en diferentes lugares con dife- 3. La arquitectura muestra las grandes decisiones de diseño y su jus-
rentes culturas, así como diferentes proveedores interactuando con tificación, facilitando de esta manera la comprensión por parte de
complejas relaciones de trabajo y fuertes restricciones de tiempo y los grupos técnicos.
presupuesto. Si bien es cierto que la utilización de modelos de cali- 4. La arquitectura facilita la comunicación entre los diferentes involu-
dad ha contribuido en gran medida a mejorar la capacidad de produ- crados (stakeholders) en el desarrollo del producto.
cir software en las organizaciones, esas mejoras en la práctica se han 5. La arquitectura es la base para facilitar el reuso a diferentes nive-
concentrado en aspectos vinculados con la gestión de los proyectos les de abstracción.
y con menor énfasis en la mejora de la ingeniería de los productos, 6. Las revisiones de arquitectura son, junto con la validación de los
aun en niveles avanzados de madurez. requerimientos, la primera actividad proactiva de calidad, la cual
permite detectar conflictos técnicos y/o defectos en la estructura del
Esta falta de foco en la ingeniería podría atribuirse a una mala in- producto, reduciendo de esta manera el retrabajo en etapas poste-
terpretación de los modelos o a la minimización del impacto de los riores del desarrollo.
métodos en la calidad del producto. Dado el escenario que hemos
planteado al inicio, se hace imprescindible que los procesos de de- Por último, la documentación de la arquitectura de software es
sarrollo comiencen a enfocarse en las prácticas que mejor resuelvan el artefacto más importante que sintetiza el conocimiento acer-
la complejidad de los productos para asegurar que, además de la ca del producto. Ésta no solo contribuye significativamente en
funcionalidad, se satisfacen adecuadamente los atributos de calidad el diseño de la estrategia del proyecto (ciclo de vida) sino que
que el software debe proveer. también será esencial en el periodo de evolución del producto, y
será de gran utilidad como medio de aprendizaje para el equipo
Estas prácticas de ingeniería adecuadamente integradas con las de desarrollo.
prácticas de gestión conforman procesos eficientes, eficaces y por
sobre todo proactivos. En este artículo presentamos una visión que Sin entrar en detalles, términos como arquitectura de referencia,
apunta a proveer una solución centrada en el diseño de la arquitec- patrones de diseño, frameworks de arquitectura, le dan cuerpo a la
tura como conductor del proceso de desarrollo, garantizando la ca- definición que hemos dado. En los ciclos de vida clásicos el diseño
lidad del producto y proactividad en todas y cada una de las etapas de arquitectura, por lo general, no está adecuadamente formaliza-
de fabricación e implantación. do. Muchas veces resulta común confundir diseño de detalle con
arquitectura. Los requerimientos no funcionales son poco conside- Lo más destacable de esta figura se puede sintetizar en los si-
rados en los requerimientos del producto y por consecuencia no guientes puntos:
incluidos en la definición de la solución, lo que repercute en las
tareas de construcción y testing incrementando los defectos y el re 1. Los requerimientos analizan la funcionalidad y también defi-
trabajo. En el resto de este trabajo presentamos algunas ideas para nen, en base a los objetivos de negocios los atributos de calidad
utilizar de manera eficiente los conceptos de arquitectura de soft- que el producto debe satisfacer.
ware a partir de incorporar el proceso de diseño como componente 2. Un análisis global toma los requerimientos y las restricciones del
esencial del ciclo de desarrollo. proyecto e identifica los factores que dirigen el desarrollo (drivers),
que sirve de entrada al diseño de arquitectura.
Qué es un ciclo de vida guiado por la arquitectura 3. El diseño de la arquitectura utiliza estos factores identifica-
Si bien no hay una definición consensada sobre lo que es un ciclo dos y aplicando patrones y tácticas elabora la solución técnica
de vida guiado por la arquitectura, podemos decir que es un ciclo del producto, la cual se sintetiza en un documento de arquitec-
en donde los objetivos de negocios y los atributos de calidad del tura, que contiene n vistas en donde cada una de ellas refleja
producto conducen el diseño de la arquitectura, y ésta es la base los intereses de cada uno de los stakeholders del producto. Por
para la definición del resto del ciclo de producción y evolución a ejemplo, vista funcional, de información, de desarrollo, de des-
partir de: pliegue y de operación. Otro ejemplo se puede encontrar en el
• Definir la estructura del proyecto (ciclos de vida, estimaciones, con- modelo 4+1 elaborado por Phillip Kruchten[3] .
formación de equipos, plan de comunicación, estrategia de configu- 4. El producto del diseño de arquitectura es revisado para detectar
ration management, plan de pruebas, estrategia de integración e im- conflictos entre atributos de calidad, aspectos no cubiertos por el
plantación del producto). diseño, riegos técnicos y decisiones no formalizadas que puedan
• Definir la estrategia de integración entre proveedores. atentar contra la comprensión del producto.
• Definir los mecanismos de coordinación entre grupos ubicados en 5. El diseño de arquitectura ajustado es utilizado para definir la
diferentes locaciones. estrategia de fabricación e implantación del producto. Esta estra-
• Definir la estrategia de transferencia de conocimiento a grupos de tegia se plasmará en un ciclo de vida o una combinación de ciclos,
mantenimiento. la cual se ve en el Plan de proyecto que gestionará la producción
del producto.
La figura 1, adaptada de Paulish[2], muestra un modelo de ciclo de vida 6. Todo este marco de trabajo está soportado por un proceso integral
guiado por arquitecturas: de gestión de la configuración y de aseguramiento de la calidad.
estimulado, resultado esperado en base a mediciones y el ambiente La documentación mediante vistas es una forma de documentar el
en donde el escenario se produce. diseño de arquitectura considerando los intereses de los interesados
en el producto. Existen variadas maneras de expresar las vistas y sus
La tabla 1 muestra los métodos, los roles involucrados y qué etapa interrelaciones. Esta es una lista de las potenciales vistas.
del ciclo de vida soportan:
• Funcional. Describe los elementos funcionales del producto, sus
responsabilidades, interfaces e interacciones primarias. Esta vista es
la que conduce al resto.
Alejandro Bianchi es analista de sistemas, con un curso de postgrado en Sistemas Expertos de la Universidad Católica de La Plata y un diploma en Gerencia
Estratégica de la Universidad Argentina de la Empresa. Socio y presidente de LIVEWARE Ingeniería de Software. Consultor internacional, con más de veintiséis
años de experiencia en desarrollo de software, consultoría y administración de tecnología informática.
Programación Declarativa
Conociéndola y entendiendo su aplicación real
Por Gastón Milano
Si al escribir un programa de cómputo lo que hacemos es explicarle a “qué” tarea es la que tiene que hacer, en lugar de “cómo” hacerla
la computadora por medio de instrucciones detalladas “cómo hay que nos protege de cambios en el contexto tecnológico. En ese senti-
realizar una tarea”, entonces estamos programando en forma impera- do, el qué perdura mucho más que el cómo.
tiva. Es decir, estamos alimentando los pasos o conjunto de instruc-
ciones necesarias para resolver un problema. Por otro lado, si al escri- Un primer ejemplo
bir un programa estamos describiendo “qué hay que hacer”, entonces Veamos un ejemplo de cómo nos puede ayudar la programación
estamos programando en forma declarativa. Es decir, describimos el declarativa. Supongamos un caso sencillo de un programa que
problema que queremos solucionar, pero no las instrucciones necesa- suma los números del 1 al 100. Una posible solución procedural
rias para resolverlo. La programación declarativa es tan solo eso. podría ser un programa similar al siguiente:
int suma = 0;
for (int i = 1 to 100)
En realidad, la programación declarativa es un término que agru-
suma += i;
pa los siguientes paradigmas de programación: return suma;
Gastón Milano es un ingeniero uruguayo quien ha trabajado durante muchos años en el desarrollo de software utilizando lenguajes declarativos. Actualmente
es Arquitecto de Software de Genexus una herramienta de generación de aplicaciones partiendo de conocimiento declarado.
Lenguajes declarativos
Existen una gran cantidad de lenguajes declarativos. En el caso Conclusión
de los funcionales, entre los más populares están Scheme, Er- Ahora, después de 20 años, los grandes de la industria
lang, y otros más nuevos como F#. para cierto dominio específico. comienzan a darse cuenta de los beneficios de programar
Los lenguajes de dominio específico comunmente son utilizados en forma declarativa. Antes de su retiro de Microsoft, el
para declarar formulario, por ejemplo HTML, XAML, XUL e incluso propio Bill Gates aconsejó que “deberíamos estar hacien-
las hojas de cálculo. do las cosas en forma declarativa (…) no deberíamos estar
escribiendo tanto código procedural”. Si queremos lograr
En Artech, la empresa donde laboro, tenemos un producto llamado un verdadero incremento de productividad, es importante
GeneXus que permite crear aplicaciones de negocio utilizando progra- que todos dentro de la comunidad del desarrollo de soft-
mación declarativa. La herramienta utiliza lenguajes declarativos para ware nos demos cuenta que claramente debe existir un
el modelado de las entidades de negocio, la declaración de reglas de cambio de paradigma a la hora de programar.
negocio, la especificación de formularios, y la exposición de datos.
El pasado 31 de diciembre de 2008, el Project Management Insti- como un marco de referencia y establece un lenguaje común para
tute (PMI), publicó de manera simultánea la actualización de cua- los practicantes de esta disciplina alrededor del mundo.
tro de sus estándares fundamentales. De ellos, el más importante
y difundido es por mucho La Guía PMBOK. 1. Redacción mejorada
En general, la 4ta. edición refleja un enfoque centrado en me-
La actualización de los estándares del PMI jorar la consistencia y claridad de sus contenidos. Los equipos
Los estándares reflejan prácticas comunes y un lenguaje univer- que participaron en el proceso de actualización tomaron muy en
sal para la profesión. Esto resulta en una mejor entrega de pro- cuenta la eliminación de información redundante y agregaron al-
yectos, incrementos en el retorno de la inversión y por supuesto, gunos párrafos explicativos para clarificar conceptos complejos.
cuando son adoptados correctamente, una empresa más compe-
titiva por el incremento en su productividad. Esto implicó una nueva redacción en todos los procesos, usando el
formato de verbo en infinitivo más sustantivo. El uso estándar de
El pasado 31 de diciembre el PMI liberó actualizaciones a sus cuatro verbos fue incorporado a todo el documento al describir conceptos
estándares fundamentales. Estos estándares representan las cuatro recurrentes para facilitar el entendimiento.
disciplinas clave en la profesión de dirección de proyectos:
Las descripciones de los procesos, que por cierto se repiten en cuatro
• A Guide to the Project Management Body of Knowledge lugares distintos, fueron re-escritos de manera más consistente a lo
• The Standard for Program Management largo del documento. Los sitios donde podemos encontrarlos son:
• The Standard for Portfolio Management
• Organizational Project Management Maturity Model (OPM3) • Capítulo 3
• Al inicio de los capítulos de cada área de conocimiento
Con la liberación simultánea de las nuevas versiones, el PMI bus- • En la primera oración de la descripción de procesos aplicables
ca alinear estos estándares fundamentales. Esto ayuda a asegu- • En el glosario.
rar que los profesionales de esta disciplina hablen el mismo idio-
ma, incrementando el entendimiento. 2. Factores ambientales y activos de los procesos
de la organización
Con ello, el PMI inició el proceso de armonización, incluyendo la eva- Se usó un enfoque estándar para discutir los factores ambientales
luación de inconsistencias a lo largo de los cuatro estándares. Al final y los activos de los procesos de la organización; es decir, mientras
de lo que fue un largo y complicado proceso de revisión, los equipos que en la versión 3 estos conceptos sólo se describían una sola
participantes lograron estándares que no sólo están alineados sino vez, en la versión 4 se listaron en las entradas y salidas de cada
que presentan la información de una forma clara y consistente. proceso y se incluyeron descripciones específicas de cómo estos
conceptos deben ser entendidos en cada proceso en particular.
Los cambios en la 4ta. edición de la Guía PMBOK
La Guía PMBOK 4ta. edición se enfoca en la ejecución de un solo 3. Estandarización del concepto Solicitud de
proyecto a través de los distintos grupos de procesos y establece Cambios
una relación cruzada con las áreas de conocimiento. Otra área en la que se incluyeron algunas clarificaciones fue todo lo
relativo a las solicitudes de cambio. En la 4ta. edición se incluye un
Esta guía refleja la evolución del conocimiento dentro de la profe- enfoque estándar para discutir los cambios solicitados, las acciones
sión de dirección de proyectos; la guía también refleja las prácti- preventivas, las acciones correctivas y la corrección de defectos. To-
cas comúnmente aceptadas para dirigir proyectos. PMBOK sirve dos estos conceptos se engloban ahora bajo el término: “solicitud de
Jorge Valdés Garciatorres (PMP, ITIL, CC) Es socio Director de la firma global de consultoría y educación en procesos de negocio y dirección de proyectos
TenStep Latinoamerica. Participa como vicepresidente de Desarrollo Profesional en el PMI capitulo México en donde además es miembro del consejo editorial.
Es miembro del consejo editorial de SG y es miembro activo de Toastmasters International. jvaldex@tenstep.com.mx
Como ingenieros sabemos que cualquier con un conjunto de requerimientos conteni- ser asequible y atractivo para un mercado per-
producto derivado del proceso de diseño en dos más simples. Los requerimientos más teneciente a la clase media en México.
ingeniería inicia de una declaración, por par- simples son el producto de la descomposición
te de un cliente, para resolver ya sea un pro- del requerimiento complejo. Los requerimientos y la
blema o una necesidad. También sabemos relación de contención:
que existen varias formas de documentar los Dependencia derivada. Esta relación sirve Dividiendo para vencer
requisitos que se tienen que satisfacer y/o para relacionar a los requerimientos deriva- A continuación se presenta la descompo-
que limitan el número de soluciones posibles dos con los requerimientos originales. Los sición del requerimiento original en sus re-
para la problemática declarada, las cuales requerimientos derivados, normalmente, son querimientos contenidos.
van desde las maneras totalmente informa- el resultado de aplicar un esfuerzo de análi-
les y orientadas a la documentación hasta los sis sobre los requerimientos originales.
lenguajes y métodos formales que pueden
representar los requisitos de forma gráfica. La declaración original del
El diagrama de requerimientos definido en problema: ¿así o más claro?
SysML (Systems Modeling Language) tiene la Lo primero que podemos observar es la repre-
ventaja de haber sido creado ex profesamen- sentación gráfica de los requerimientos. Estos
te para documentar los requerimientos y sus muestran los atributos estándar para el iden-
relaciones en un formato gráfico, sin estar tificador único (id#) y para la descripción tex-
vinculado a una metodología en particular. tual (txt). Por cuestiones de espacio se ha omi-
tido la descripción textual del requerimiento
En este artículo veremos los principales ele- original provisto por nuestro stakeholder. En
mentos que conforman al diagrama de requi- el diagrama también se puede observar el uso
sitos definidos en la especificación de SysML e de la relación de contención para relacionar el
ilustraremos la aplicación de los mismos usan- requerimiento complejo S0.0 con sus requeri-
do un ejemplo sencillo. Así mismo hablaremos mientos contenidos S1.0, S2.0 y S3.0.
de las distintas representaciones alternativas
y aceptadas por la especificación. Los requisitos y la dependencia
derivada: soy, luego existo
El siguiente diagrama ejemplifica el uso de la
El diagrama de requerimientos de dependencia derivada. Supongamos que for-
SysML: principales elementos mamos parte del equipo de diseño al que se le
Requisito. Por supuesto el primer elemento ha encomendado la tarea de desarrollar un ca-
que describiremos es el requisito. Un re- lentador de agua para uso residencial. Nuestro
quisito está definido como un estereotipo proveedor de requerimientos nos ha indicado
de una clase UML sujeta a una serie de res- que nuestro calentador debe ofrecer las pres-
tricciones. Los requisitos estándar incluyen taciones de un calentador a gas LP estándar,
propiedades para especificar un identifica- para uso doméstico, que da servicio a una fa-
dor único y la descripción textual del reque- milia integrada por 5 personas, pero no debe
rimiento, sin embargo, el modelador puede usar combustibles fósiles para calentar el agua
agregar propiedades para definir, por ejem- y debe minimizar al máximo las emisiones de
plo, la prioridad del requerimiento. CO2 al medio ambiente. Así mismo, nos ha in-
Relación de contención. La relación de con- dicado que se debe favorecer el uso de fuentes
tención vincula a un requerimiento complejo de energía renovables y que el producto debe Diagrama1. Descomposición del requerimiento original
Charlie Macías es arquitecto en jefe e instructor senior en Milestone Consulting. Primer empresa mexicana miembro de la OMG, especializada en la capacitación
práctica y consultoría en modelado de sistemas y negocios con UML, BPMN y SysML. Puedes contactarnos en info@milestone.com.mx www.milestone.com.mx
Conclusión:
El diagrama de requerimientos
definido en SysML tiene la ventaja
de haber sido creado ex profesa-
mente para documentar los reque-
rimientos y sus relaciones en un
formato gráfico, sin estar vincu-
lado a una metodología en parti-
cular. Los requerimientos poseen
dos atributos estándar: el iden-
tificador único y la descripción
textual. La relación de contención
sirve para descomponer requeri-
mientos complejos.
Gunnar Wolf es administrador de sistemas para el Instituto de Investigaciones Económicas de la UNAM; entusiasta y promotor del
Software Libre, desarrollador del proyecto Debian GNU/Linux desde el 2003, miembro externo del Departamento de Seguridad en Cómputo
de DGSCA-UNAM desde 1999.
http://www.sg.com.mx/content/view/825 Ahora, esto no califica aún como inyección de SQL (dado que el mo-
tor de bases de datos supo reaccionar ante esta situación), pero es-
Todos hemos analizado URLs, y resultará obvio que «825» corres- tamos prácticamente a las puertas. Podemos generalizar que cuan-
ponda al ID de la nota en la base de datos, y que los componentes do un desarrollador no validó la entrada en un punto, habrá muchos
«content» y «view» indican la operación que el sistema debe realizar otros en que no lo haya hecho. Este error en particular nos indica que
ante una solicitud. Ahora bien, ¿a qué me refiero con que cruzamos el código contiene alguna construcción parecida a la siguiente:
las barreras entre las capas?
SELECT * FROM articulo WHERE id = $id_art
Enfoquémonos en el ID. Al analizar el URL, el ID es un pedazo de texto
(formalmente es una cadena que es recibida como parte del método La vulnerabilidad aquí consiste en que el programador no tomó en cuen-
GET, uno de los métodos definidos para el protocolo HTTP). El servidor ta que $id_art puede contener cualquier cosa enviada por el usuario.
web Apache que recibe mi solicitud interpreta este método GET y en- ¿Cómo puede un atacante aprovecharse de esto?
Luis Vinicio León Carrillo es actualmente Director General de e-Quallity, empresa especializada en prueba de software, de la que es co-
fundador. Fue profesor-investigador en el ITESO durante varios lustros, que incluyeron una estancia de posgrado en prueba de software en
Alemania, en la que abordó aspectos formales de esa disciplina. Es autor de varias publicaciones nacionales e internacionales, e invitado
frecuente en eventos relacionados con la prueba de software.
Felicitación
Figura 2. Resultados en TPI de la empresa Test Sourcing Antes de despedirnos: en la edición anterior
decíamos que en marzo tendríamos como in-
la cobertura de los mismos es la calificación recomienda obtener calificaciones tales que vitado en e-Quallity a un experto internacional,
(A,B,C,D) obtenida. Por ejemplo: para el área nos permitan ubicarnos verticalmente en un con quien ofreceríamos pláticas sobre temas
clave “Estimating and Planning”, se obten- nivel similar en todas las áreas, en lugar de relacionados con los Modelos de Calidad Espe-
drá una calificación A si las estimaciones enfocar todo el esfuerzo en intentar obtener cializados en Prueba de Software en distintas
se obtienen utilizando argumentos sólidos; un nivel máximo en una sola de ellas. ciudades; nos referíamos a las pláticas de Mar-
una calificación B si además de ello, las es- tin Pol que ya mencionamos. Queremos enviar
timaciones se obtienen utilizando argumen- Con respecto a los resultados de la Figura un saludo a quienes con su entusiasta parti-
tos estadísticos, modelos matemáticos, au- 2 obtenidos por la empresa mexicana Test cipación demostraron su interés en el área de
tomatizados. Como puede verse en la Fig. 1, Sourcing, podemos observar que sus cali- Prueba de Software y felicitar a los ganadores
B es la calificación máxima para dicha área ficaciones caen dentro del niveles 8 al 10, de los obsequios que se rifaron en cada ciudad
clave, la cual a su vez habrá de posicionar- posicionándola detrás de organizaciones sede. ¡En horabuena!
nos en el nivel 10 para dicha área.Como po- cuyo ramo es de alto riesgo (donde si el
demos observar, para cada área clave hay sistema falla, alguien muere: industria ae- ¡Estén pendientes de nuestra próxima “Plá-
una calificación máxima a obtener, la cual a ronáutica, farmacéutica, etc.) tica con Expertos”!
su vez podrá lograrse en interdependencia TPI es un modelo en el que, además de dejar
con los niveles obtenidos en otras áreas. Se en claro el alcance de cada una de sus áreas » Por Luis Vinicio León / Berenice Ruíz
Berenice Ruíz Eguino es consultora de e-Quallity en proyectos de mejora de organizaciones de prueba. A lo largo de su trayectoria profesional ha actuado
también como tester senior, administradora de proyectos de prueba nacionales e internacionales, y directora de operaciones. Ha sido profesora de la Universidad
Autónoma de Guadalajara, institución en la que realizó sus estudios de Maestría en Ciencias Computacionales.
Marco A. Dorantes es un consultor en el diseño y formulación de software desde 1987, oficio que lo llevó a la investigación aplicada en el campo de los métodos siste-
máticos para diseño de software. Ha realizado diversas contribuciones públicas en la comunidad mundial de programación, tanto en foros técnicos como en software,
por ejemplo AutoTest for .Net y CppUnit for C++Builder disponibles desde www.xprogramming.com. Publica un diario electrónico en blogs.msdn.com/marcod
El valor de negocio es por lo que existen La razón es que el negocio puede tener una La capacidad de entrega de valor de nego-
las asociaciones, lucrativas o no. Está com- idea de lo que quiere, pero existen un cierto cio implica tanto la capacidad del personal
puesto por los beneficios de acuerdo a la número de factores externos reales que no de negocio para escoger prioridades, es-
misión establecida para la organización en le van a pedir permiso para cambiar, al con- pecificar funcionalidad, definir criterios de
cuestión, ya sean ganancias económicas y trario, el negocio tiene que adaptarse o mo- aceptación, verificar funcionalidad, como la
de otro tipo (servicios públicos, responsa- rir. Por otro lado, hay factores internos; por capacidad del personal técnico para crear
bilidad ambiental, productividad, etcétera). ejemplo, la sola presencia de una solución el software que satisface lo prioritario a la
Cualquier cosa puede representar valor de tecnológica para un problema X, provoca fecha, sin derrochar tiempo o dilatar la en-
negocio, la clave es que esté debidamen- que se redefina dicho problema y sufra una trega por estar construyendo cosas que no
te formulado como parte de un esquema especie de mutación tal que ahora tenemos entregan valor de negocio hoy.
cuantitativo con el cual se proyecta la sos- un problema Y para el cual se requiere una
tenibilidad de dicho negocio. nueva solución. Es el modelo de co-evolu- Una manera para construir dicha confian-
ción solución/problema planteado ya por za en el proyecto es por medio de lograr
En el ejemplo, si el banco aceptara la su- Frederick P. Brooks, Jr. (autor del clásico libro y mantener un ritmo periódico de entrega
puesta necesidad de desarrollar él mismo The Mythical Man-Month: Essays on Soft- de valor de negocio, el cual represente la
sus propias piezas de infraestructura apli- ware Engineering) desde hace décadas. serie de pasos con los cuales se aborda
cativa para acceso a datos, tendría enton- una aproximación sucesiva a lo que el ne-
ces que (1) esperar a que tal cosa estuviera El negocio necesita un proceso de desarrollo gocio se va dando cuenta de lo que real-
lista para entonces empezar a contar los de software que sea capaz de seguirle el rit- mente quiere.
supuestos beneficios, (2) asignar el tiempo mo, no al revés, el negocio ajustándose a los
y esfuerzo de su gente para el desarrollo dictados de un proceso rígido. Un proceso Conclusión:
correspondiente, tiempo y esfuerzo que no de desarrollo adaptativo, que mantenga una Las conclusiones, junto con un planteamien-
estarán dedicados a atender el desarrollo proporción razonable entre flexibilidad y dis- to más extenso de esta idea de programación
de piezas con una autentica prioridad de ciplina y que principalmente esté enfocado orientada a valor de negocio, son desarrolla-
negocio, (3) aumentar su nivel de inventario en atesorar los aprendizajes sobre la mar- dos en el texto de un servidor: “Beneficios
con piezas que deben mantenerse correctas cha. Aprendizajes tanto del lado tecnológico sostenibles y desarrollo de software. ¿Cómo
durante todo el tiempo que duren hasta ser como del lado del negocio. Uno que desde obtener beneficios sostenibles por los ser-
retiradas, cada línea de código nueva en el inicio contemple que el negocio diga: “sí, vicios que incluyen desarrollo de software?
la organización es una línea de código que eso es lo que pedimos, pero ahora queremos Parte I. El modelo adaptativo de desarrollo”,
debe ser mantenida correcta con cargo a la otra cosa y es esta...” y al mismo tiempo el el cual está publicado en forma electrónica
propia organización (está bien documenta- grupo de desarrollo domine las técnicas de en la sección de artículos en línea del sitio
do el efecto que tiene el nivel de inventario diseño para mantener una estructura limpia, web de SG. Los invito a que lo revisen y me
sobre el valor de negocio), (4) correr el ries- estable y flexible para el software, cuyo cos- hagan saber sus comentarios.
go de que todo ese tiempo y esfuerzo se de- to de cambio no crezca exponencialmente.
rroche si al paso del tiempo no se entregan Referencias
los beneficios esperados por causa de una Construyendo confianza [Kuhn, Thomas S. “La estructura
deficiente administración de la complejidad Un paradigma de programación orientada a va- de la revoluciones científicas” ISBN
en el desarrollo de ese tipo de componentes lor de negocio tiene también como premisa que 9681675991]
de infraestructura aplicativa. el proceso de desarrollo de software consiste [Denne, Mark.; Cleland-Huang, Jane.
en un proceso de construcción de confianza, no “Software by Numbers: Low-Risk, High-
Un objetivo móvil directamente en los individuos sino en que el Return Development” ISBN 0131407287]
Lo único constante es el cambio. El valor proyecto de desarrollo en su conjunto —la co- [Poppendieck, Mary; Poppendieck, Tom.
de negocio entregado a través de software laboración y conjunción de personal de negocio “Implementing Lean Software Deve-
usualmente posee el peculiar rasgo de ser y personal técnico— será capaz de entregar el lopment: From Concept to Cash” ISBN
susceptible de indefinición y ambigüedad. valor de negocio en los términos requeridos. 0321437381]
PSP representa una metodología o un marco de trabajo desarrollado neas pueden servir como base, que tanto código podemos reutilizar
en 1993 por Watts S. Humphrey. Lo importante al construir software e incluso cuantas líneas modificarás o borrarás del código base que
es tener un proceso disciplinado para llevar a cabo el desarrollo e se usará. Lo importante es que toda esta información se registra y
implementar mejoras para lograr resultados de calidad. Enfocada uno puede planear con más exactitud tamaños y tiempo relaciona-
principalmente en el rol del programador, ayuda a que este ponga dos al desarrollo de su programa.
atención en aspectos de planeación, diseño, estándares y revisiones
al detalle de lo que va realizando, registrando todo aquello en for- Cuando codificamos directamente utilizando un IDE (Medio ambien-
mas o plantillas que han sido diseñadas por Humphrey. te de desarrollo integrado) estamos de una u otra forma tratando de
quitar errores de sintaxis a través de la compilación, sin considerar
La metodología maneja un conjunto de scripts que especifican los que la mayor cantidad de errores serán por lógica y que muchas de
requerimientos de entrada, el proceso que debe de seguirse y los las veces estamos depurándolos hasta la fase de prueba, cuando es-
resultados esperados, todo esto enfocado a cada fase de la metodo- tos errores deberían de ser descubiertos si revisáramos a conscien-
logía (ver figura 1). cia el diseño realizado. Lo que realmente se espera es que el tiempo
en hacer las pruebas sea solo el tiempo que le tome en capturar los
datos para cada caso de prueba y que los resultados esperados sean
realmente igual a los resultados obtenidos. Quizás en muy pocas
ocasiones esto no suceda.
Esta metodología esta apoyada por una herramienta computacional de- No está por demás mencionar que es importante que quien esté de-
sarrollada por el Instituto de Carnegie Mellon, que genera una serie de sarrollando y vaya a aplicar la metodología debe dominar el lengua-
registros con información valiosa para llevar a cabo la siguiente planea- je de programación. Creo que esta es un área de oportunidad para
ción y para actualizar el plan al terminar cada programa de software. aquellos que enseñamos a programar pues el inculcar desde los
primeros semestres aspectos valiosos de esta metodología es fun-
Cuando se termina el curso de PSP y se empieza a realizar su primer damental para que al llegar al final de una carrera se evite programar
proyecto siguiendo la nueva metodología, uno mismo se da cuenta con vicios o errores graves.
del tiempo que a veces invierte incorrectamente cuando quiere diri-
girse directamente a codificar el programa, en lugar de haber realiza- Referencias:
do un análisis y un diseño general de la solución. Al ir avanzando en
el desarrollo de los diferentes proyectos uno se acostumbra a definir [Humphrey, Watts. “PSP,A Self Improvement Process For Software
cuántas líneas de código se programan, esto basado en un diseño Engineers”]
conceptual y en aquel código que uno ha desarrollado, cuántas lí- [sei.cmu.edu/certification/psp.html]
Ing. Ma. del Consuelo Jiménez Fernández, profesor asociado de la Universidad de Monterrey en el Departamento de Ciencias Computacionales desde hace 22
años, certificada en PSP developer y PSP Instructor por el SEI of Carnegie Mellon University, con maestria en informática administrativa, especialista en desarrollo
de software educativo, calidad de software y metodologías de desarrollo de software.
Grid Computing
La unión hace la fuerza
Por Beatríz Ríos y Luis Joyanes
BeatrÍz Ríos Velázquez Catedrática del Instituto Tecnológico de San Luis Potosí, México. Maestra en Ciencias de la computación, Diplomada de Estudios Avanza-
dos en Informática por la Universidad Pontifica de Salamanca en Madrid. Ha trabajado en la Banca, en el sector de telecomunicaciones, en el desarrollo de sistemas
para la empresa y en la docencia. Actualmente se encuentra realizando investigación para el desarrollo de su tesis doctoral en Tecnologías de la Información, Web
2.0, redes sociales, usabilidad y empresas 2.0.
Luis Joyanes Aguilar Dr. Ingeniería Informática, Dr. Sociología, Lic. Ciencias físicas, Lic. Enseñanza superior militar y Dr. Honoris y causa por la Universidad
Antenor Orrego de Trujillo (Perú). Catedrático, Ex-Decano de la facultad de Informática y Director del departamento de posgrado de la Universidad Pontificia de
Salamanca en Madrid. Profesor del posgrado de sociología en Guatemala, Universidad de Oviedo, Complutense y Politécnica, en España. Ha publicado más de
40 libros y 80 artículos sobre tecnologías de la Información, metodologías y diversos lenguajes de programación.
Amazon
Alienware Kindle DX
M17 Después del lanzamiento
de Kindle de 6.5” el año
Las portátiles de Alienware siempre se han caracterizado no sólo por pasado, ahora Amazon de-
sus vistosos diseños, sino también por su poder. La M17 es el nuevo cidió crecerlo tanto en ta-
modelo y la primera en incorporar la tarjeta ATI CrossFireX y el procesa- maño como en capacidad y
dor Quad-Core Intel móvil. La llaman “la solución que la industria nece- características.
sita”, debido a su agresivo desempeño. Una de sus ventajas es que no
sólo va dirigida a entusiastas videojugadores, sino también a aquellos El Kindle DX ofrece una pantalla en escala de 16 grises
amantes de las laptops con diseños innovadores, un tanto toscos. de 9.7 pulgadas. Cuenta con soporte para archivos PDF
utilizando Adobe Reader Mobile, de tal manera que pue-
La M17 cuenta con Procesador Intel Core 2 Extreme QX9300, el pri- des enviar por correo o vía USB hacia tu Kindle cualquier
mer Quad-Core móvil, que ofrece desempeño y eficiencia con capaci- tipo de documento en PDF y lo podrás leer, no importa si
dades multitarea con una velocidad de más del 50% que las genera- tiene gráficos, tablas, notas, etcétera.
ciones anteriores de procesadores; y de ahí saltamos al GPU armado
con una ATI Mobility Radeon HD3870 para video HD, DirectX 10.1 La pantalla utiliza tinta real y no requiere luz, evitando así
para juegos de nueva generación que corren a más de 80% que las el malestar en los ojos después de estar mucho tiempo
soluciones tradicionales de GPUs. Memoria de 4GB de DDR3. Disco expuesto, como pasa con otros dispositivos; también po-
duro de 500GB ligado a una configuración RAID 0 para almacena- see capacidad rotatoria, por tanto te permite leer en hori-
miento masivo de 1TB; que equivale más o menos a 160 juegos, 250 zontal o vertical, sólo es cuestión de moverlo y la pantalla
películas o alrededor de 250 mil canciones, ufff. No podemos pasar se ajustará de inmediato (sí como un iPhone). Su memo-
por alto su pantalla de 17 pulgadas de “alta definición extrema” con ria de 3.3GB permite almacenar más de 3 mil 500 libros
resolución de 1920 X 1200 que exalta la reproducción de discos Blu- que se pueden descargar desde Amazon sin necesidad
ray y videos HD. En cuestión de seguridad su panel de control te da de buscar hot spots ni utilizar una computadora. Hoy en
acceso a programas exclusivos como AlienFusion para administrar día existen alrededor de 275 mil libros disponibles para
el sistema, AlienSense un software de reconocimiento facial y Alien- descarga en Kindle que incluyen 107 de los 112 New York
Touch; no hay manera de que algún intruso se meta con ella. Times Best Sellers disponibles hasta el momento.
Firebox
R2-D2 Projection Alarm Clock
Si para estas fechas, después de las crisis y las contingencias sanitarias no hay poder humano que te obligue o te
haga levantarte de la cama. Incluso luego de haber intentado con la alarma de tu celular, la del despertador que te
regaló tu mamá y una llamada de despertador... podrías intentar algo nuevo, más divertido, como por ejemplo el
R2-D2. Como uno de los personajes favoritos de Star Wars y uno de los mejores androides de la galaxia, esta versión
licenciada de 16 centímetros de altura, proyecta la hora sobre la pared o techo, en caso de que te de pereza mover
la cabeza, sus patas se ajustan para que la proyección quede exactamente en el punto que deseas, pero eso no
esto, en caso de que tu habitación se de esas que se iluminan con el primer rayo del sol, nuestro querido R2 lleva
consigo un display LCD para no fallarte nunca. Quizá una de sus mejores características es que emite una alarma de
60 segundos seguidos con sus tradicionales sonidos y chirridos para que lo que escuches sea como música para tus
oídos. (Cuidado fanáticos de Star Wars). Utiliza dos baterías AAA y una de botón G13. Cuenta con un panel de control
desde el cual se selecciona el modo de despliegue de la hora, fecha o segundos; puede ser de 12 o 24 horas.
TENEMOS UN ESPACIO
RESERVADO PARA TI
Si deseas anunciarte contáctanos
en el (55) 5239 5502 o en
publicidad@sg.com.mx
Reputación Digital
Cuidado con lo que subes a la Web
Por Fernando García
Hoy día, cuando necesitas buscar información, referencias o · ¿Qué quiero que las personas digan de mi?
simplemente localizar personas lo primero que haces es tratar · ¿Cómo quiero ser visto profesionalmente?
de encontrar esa información en algún “Buscador” de internet · ¿Qué tipo de información quiero que encuentren sobre mi?
como Live o cualquier otro de los existentes. Esto ya es una prác- · ¿Cómo quiero que encuentren mi información?
tica normal, es muy común que la gente busque información de
la pareja sentimental por este medio y es también común que Una vez contestadas estas preguntas el siguiente
los interesados en tus servicios profesionales lo hagan. paso es determinar tu “Estrategia”
Actualmente es casi imposible no dejar huella en internet, por su- · ¿Cuál es mi estatus hoy día en mi reputación?
puesto algunos dejan más huellas que otros. Desde el momento · ¿Donde quiero llegar?
en que te registras para obtener un correo electrónico gratuito o · ¿Qué herramientas y/o medios existen acordes a mis necesida-
para los más entendidos, crear algún blog, microblog, perfil en des y preferencias?
alguna red social, etc. Con esto ya estas dejando algo de tu infor- · ¿En qué tiempo quiero lograr mis objetivos? (corto, mediano o
mación en internet, lo cual puede ser un arma de doble filo desde largo plazo)
el punto de vista profesional, una vez indexado por el buscador tu · ¿Qué tipo de entrenamiento, capacitación, mejora profesional
información ya quedo almacenada para la posteridad. y/o de conocimientos necesito?
· ¿Cómo puedo medir mi éxito o fracaso? (Métricas, herramien-
Cuántos de ustedes se han buscado y lo primero que ven es una tas, etc…)
foto que algún amigo o que ustedes mismos subieron donde · ¿Mi modelo escala en caso de ser necesario?
apareces en estado inconveniente, comentarios que escribie- · ¿Quién o quienes ya lo están haciendo y cómo lo hacen?
ron en algún blog que pudieran ser mal interpretados o fuera de
contexto. Esto podría ser usado en tu contra. En mi experiencia he visto que siguiendo estas
reglas los resultados pueden ser exponenciales
Hay ejemplos muy claros donde personas han perdido su em-
pleo debido a comentarios que hicieron en sus blogs sobre su · Ser reconocido como experto.
trabajo, su jefe o su empresa. · Ser un líder de opinión.
· Registrar todas las actividades.
Con esto no intento decir que está mal subir fotos o expresarte · Concentrar toda la evidencia en un solo lugar.
libremente. Mi propuesta va más allá. Consiste en dejar “Huella · Incrementar tu network.
Digital” de forma inteligente y que aporte valor a tu reputación
profesional o como lo llamo yo “Reputación Digital”. La pregun- Estos cinco puntos no son la panacea, claro está, pero es un
ta obligada es: ¿Cómo dejar esa huella? excelente inicio, está claro que hay dos cosas que resultan fun-
damentales “Ser constante” y sobre todo “Disfrutar al hacerlo”
Afortunadamente hay numerosas formas de hacerlo, varias técni- sin estas dos variables nada de lo anterior será posible.
cas y muchos mecanismos que se pueden acoplar perfectamente
a todos los estilos y preferencias para implementar una estrategia Cada uno de los puntos anteriores por si solos requieren un tra-
de este tipo, es por eso que en lugar de darles “un paso a paso” to a mayor profundidad y para cada uno hay técnicas, métodos,
mejor les planteo las inquietudes a resolver y ustedes podrán ele- herramientas y prácticas que ayudan a conseguirlos. En colabo-
gir libremente la metodología que mejor les parezca. raciones posteriores los trataré por separado.
Fernando García Loera actualmente trabaja en Microsoft como MVP Lead para Latinoamérica, es experto en tecnología, Social Media y Web 2.0. Ha impar-
tido varias conferencias en México y el extranjero, juez en varios concursos de desarrollo, y prolífico blogger. Puedes seguirlo en blogs.msdn.com/mvplead,
www.ferglo.com y @ferglo