EN SUS MARCAS - desquer.ens.uabc.mx

52
SOFTWARE GURU CONOCIMIENTO EN PRÁCTICA EN SUS MARCAS Además: Noticias, Biblioteca, Gadgets, Fundamentos, Desarrollo Profesional A Fondo Eclipse 3.0 pg. 12 ProSoft El programa a seguir > Caso de Estudio Ultrasist primera PyME mexicana SW-CMM4 EN SUS MARCAS México y su posición en la competencia por la industria de Software Web Services y SOA Casos de Uso Usabilidad

Transcript of EN SUS MARCAS - desquer.ens.uabc.mx

Page 1: EN SUS MARCAS - desquer.ens.uabc.mx

SOFTWARE GURU CONOCIMIENTO EN PRÁCTICA

EN SUSMARCAS

Además: Noticias, Biblioteca, Gadgets, Fundamentos, Desarrollo Profesional

A Fondo

Eclipse 3.0 pg. 12

ProSoftEl programa a seguir> Caso de Estudio

Ultrasist primera PyME mexicana SW-CMM4

EN SUSMARCAS

México y su posición en la competencia por la industria de Software

Web Services y SOA

Casos de Uso

Usabilidad

Page 2: EN SUS MARCAS - desquer.ens.uabc.mx
Page 3: EN SUS MARCAS - desquer.ens.uabc.mx
Page 4: EN SUS MARCAS - desquer.ens.uabc.mx

DIRECTORIO

EDITORIAL

Para lograr un resultado de valor, se requiere de un proceso, y todo buen proceso debe ser capazde responder cuatro preguntas: ¿Qué hay que hacer? ¿Quién lo debe hacer? ¿Cuándo se debehacer? y ¿Cómo se debe hacer? Al fundar Software Guru, nos hemos planteado estas preguntas yhemos llegado a las siguientes respuestas:

¿Qué? Hacer de México una potencial mundial de la industria de software.¿Quién? Todos los partícipes de la industria.¿Cuándo? Ahora.¿Cómo? Esa es la información que buscaremos proveer en cada número de Software Guru.

El propósito de esta publicación es compartir experiencias que fomenten el desarrollo de softwa-re con calidad. SG es un medio para comunicar la experiencia, métodos y visión de todos aque-llos que participan de manera activa en la industria de software.

En este número nos hemos enfocado en dar a conocer la situación actual de la industria de soft-ware nacional y qué es lo que se está haciendo para desarrollarla. Hemos incluido informaciónsobre estudios de capacidad, programas de gobierno y el caso de estudio de una PyME. El obje-tivo de compartir esta información es buscar que todos aprovechemos y nos sumemos a estosesfuerzos. Solamente así lograremos el objetivo planteado de ser una potencia mundial de laindustria de software.

Software Guru no es una ni varias personas. Es una comunidad formada por todos los profesionistasde esta industria. Los invitamos a que participen a través de los foros disponibles en www.softwareguru.com.mx o contactándonos directamente en [email protected]

Bienvenidos, esto es Software Guru.

A›

Software Guru es una publicación editada por Brainworx, S.A. deC.V., Parque de la Malinche No. 6, Col. El Parque, Naucalpan,Estado de México. Ejemplar de cortesía. Derechos reservados porBrainworx, S.A. de C.V. Certificado de licitud de Derechos de Autoren trámite. Certificado de licitud de título e ISSN en trámite.Certificado de licitud de contenido en trámite. Prohibida la repro-ducción total o parcial sin previa autorización escrita de los edito-res. Se terminó de imprimir en el mes de septiembre del 2004 enSupergráfica S.A de C.V. Todos los artículos son responsabilidadabsoluta de sus propios autores y no necesariamente reflejan elpunto de vista de esta editorial.

Edición Ejecutiva

Pedro Galván

Coordinación Editorial

Mara Ruvalcaba

Producción

Edgardo Domínguez

Arte y Diseño

GUGU Diseño www.gugu.com.mx

Consejo Editorial

Francisco Camargo, Guillermo Rodríguez yRaul Trejo, ITESM Campus Estado de

México; Hanna Oktaba, UNAM-AMCIS; Luis Cuellar, Softtek.

Colaboradores

Jorge Palacios, Francisco López Lira, PaulinaOlivares, Rafael Bernal, Mauricio Durán,

Fernando Gutiérrez, Roberto Silva, DámasoCanales, Sergio Cedillo, Ernesto Elizalde,

Ivette García, Ma. Julia Orozco, ClaudiaAlquicira, Ariel García, Omar Ruvalcaba.

Ventas y Relaciones Públicas

David González

Marketing

Natalia Sánchez

Webmaster

Arturo Méndez

Agradecimientos

René Bravo, Carlos Villaseñor, Hilda López,Secretaría de Economía, AMCIS, AMITI, Luis

Daniel Soto, Sergio Vega, Martha Kondo ytodos los que confiaron en Software Guru.

Contacto

[email protected]: (55) 5239-5502

Page 5: EN SUS MARCAS - desquer.ens.uabc.mx

EN CADA NÚMERONoticias y Eventos 4Gadgets 43Biblioteca 44Fundamentos 46Desarrollo profesional 48

CONTENIDO

PRODUCTOS

Lo que vienePlataformas de desarrollo de software para el 2005.

A FondoEclipse 3.0.

HerramientasHerramientas para pruebas automatizadas.

PRÁCTICAS

ArquitecturaEntendiendo Web Services y SOA

Los web services y las arquitecturas orientadas a servicios están revolucionandola manera como construimos sistemas de software. Mauricio Durán y FernandoGutiérrez explican los conceptos básicos de esta tecnología y sus principalesbeneficios.

RequerimientosCasos de Uso

Los casos de uso son uno de los elementos más importantes y menos entendi-dos de UML. En este artículo, Roberto Silva revisa algunos errores comunes ensu aplicación y sugiere cómo evitarlos.

UsabilidadCuestión de Percepción, Efectos y Frustración

La usabilidad se encarga de estudiar la relación entre las herramientas y sususuarios. Dámaso Canales aborda los diferentes factores en los cuales se basael Diseño Centrado en el Usuario (DCU). 38

COLUMNAS

Tejiendo Nuestra Red por Hanna Oktaba

Moviendo la Industria por Rafael Bernal

Cátedra y Más por Guillermo Rodríguez

EN PORTADAIndustria de Software:México vs. Resto del MundoLa industria de software mundial seencuentra en un momento clave. Eneste artículo analizamos diferentesfactores para que México puedacompetir con los líderes mundiales.

10

12

14

34

38

40

68

42

ProSoftPrograma para el Desarrollo de laIndustria del Software.

EntrevistaJesús Orta, Director de EconomíaDigital en la Secretaría de Economía.

Caso de EstudioUltrasist, primera PyME 100% mexicana SW-CMM 4.

16

22

20

30

Page 6: EN SUS MARCAS - desquer.ens.uabc.mx

NOTICIASINFO

04 > OCT-DIC 2004 > www.softwareguru.com.mx

INFO

EVENTOS5-6 Octubre 2004Congreso AMITI 2004Centro BanamexCd. de MéxicoInfo: www.amiti.org.mx

Tel: +52 (55) 5207 0212Email: [email protected]

27-29 Octubre 2004TI Américas & ProsoftGrand Hotel Tijuana – Institute of the AmericasTijuana, B.C.– San Diego, CA.Info: www.tiamericas.com

Tel: +52 (664) 622-9221Email: [email protected]

1-3 Noviembre 2004XpoLinux Monterrey 2004CintermexMonterrey, N.L.Info: www.expolinux.org

Tel: +52 (81) 8388 8805Email: [email protected]

4 y 18 Noviembre 2004Seminario Optimización de TIItera Cd. de México – Itera Monterrey4 Noviembre, Cd. de México18 Noviembre, Monterrey N.L.Info: www.itera.com.mx

Tel: México +52 (55) 5281 7660Tel: Monterrey +52 (81) 8368 2409Email: [email protected]

8-10 Noviembre 2004SEPG LA 2004Hotel HiltonGuadalajara, MéxicoInfo: www.esi.es/SEPGLA

Tel: +52 (33) 3818-6777Email: [email protected]

9 Noviembre 2004BEA Dev2Dev Days 2004Hotel Marquis ReformaCd. de MéxicoInfo: mx.bea.com

Tel: +52 (55) 5202 6070Registro:www.dev2dev.com/dev2devdays/mexico_city.jsp

15-19 Noviembre 2004STAR WEST 2004Software Testing, Analysis and ReviewThe Disneyland HotelAnaheim, CAInfo: www.sqe.com/starwest

Tel: +1 (904) 278 0524Email: [email protected]

MoProSoft

MoProSoftes aceptado para ser norma mexicanaMoProSoft y su método de evaluación EvalProSoft,propuesta de Secretaría de Economía para la PyME dedesarrollo de software, han sido entregados en junio2004 al NYCE, organismo responsable de la normali-zación y certificación en México. El objetivo de estanorma es proveer acceso a las prácticas de ingenieríade software de clase mundial y contar con un métodode evaluación propio. La propuesta fue incluida en elPrograma Nacional de Normalización, bajo el nombre:“Tecnología de la Información-Software-Modelo deprocesos y método de evaluación para desarrollo ymantenimiento de software:Parte 01: Definición de conceptos y productos.Parte 02: Requisitos de procesos (MoProSoft).Parte 03: Guía de implantación de procesos.Parte 04: Método de evaluación (EvalProSoft).” Se espera que NYCE haga los trámites correspondien-tes para que la norma se publique en diciembre del2004. MoProSoft y EvalProSoft fueron desarrolladospor los expertos de la AMCIS (Asociación Mexicanapara la Calidad en Ingeniería de Software), bajo losconvenios entre la SE y la UNAM. Para obtener mayorinformación ingresa a www.amcis.org.mx, o bien, alsitio oficial de la industria de softwarewww.software.net.mx

Solaris a código abiertoSun Microsystems confirmó su intención para que susistema operativo Solaris esté disponible como códi-go abierto a finales de este año. Sun indicó que seabrirá todo el sistema operativo, y no solamente elkernel, como algunos esperaban.

HPapoyando a los desarrolladoresComo parte de su estrategia para atender al mercadode la PyME, denominada Smart Office, HP lanzó elprograma Click on HP, dirigido a las empresas desa-rrolladoras de software y consultoría. Con el objetivode complementar la oferta de las desarrolladoras desoftware, el programa Click on HP ofrece la asesoría ycapacitación necesarias, infraestructura, así comoincentivos de mercadotecnia y esquemas crediticios.Todas las empresas desarrolladoras de software pue-den participar en el programa, sólo requieren regis-trarse en: www.hp.com.mx/clickonhp

Page 7: EN SUS MARCAS - desquer.ens.uabc.mx
Page 8: EN SUS MARCAS - desquer.ens.uabc.mx

E n esta columna quiero compartir con ustedes misvivencias y reflexiones relacionadas con los proyectos

y eventos en los que participo, así como comentariossobre lo que sucede referente a la Ingeniería de Software,en México y en el mundo.

El primer relato lo dedicaré a la creación del International

Process Research Consortium (IPRC) cuyo objetivo es defi-nir el mapa y la ruta (roadmap) de la investigación en elárea de procesos de software para los próximos 5-10 años.

Al inicio de 2004 me llamó Caroline Greatinger del Software

Engineering Institute (SEI) invitándome a participar en elIPRC. La “culpable” de que me invitaran fue Suz García,también miembro del SEI, quien en diciembre pasado par-ticipó en el Seminario de Calidad de Software de la AMCISy asistió a mi ponencia sobre el proyecto de MoProSoft.Gloria Quintanilla le hizo la traducción “en línea” al oído yle obsequiamos una copia, con dedicatoria del documentode MoProSoft v 1.1 en español. Con este antecedente, nome quedó de otra sino aceptar la invitación. Por un lado,porque fue un reconocimiento al trabajo que hicimos, y porel otro, porque me comentaron que iba a ser la única repre-sentante de Latinoamérica en el consorcio.

El trabajo de IPRC se llevará a cabo a través de seis talle-res, entre agosto 2004 y agosto 2006, de los cuales losdos primeros se dedicarán a generar el máximo número deideas para las líneas de investigación y su justificacióncorrespondiente. Los dos posteriores se dedicarán a larevisión de las propuestas, su clasificación y la selecciónde las que se consideren más relevantes. Finalmente, através de los dos últimos talleres, se generará el docu-mento del mapa y ruta para la investigación en procesosde software para los próximos 10 años.

El 12 y 13 de agosto de 2004 tuvo lugar el primer taller enuna playa cercana a Los Angeles. Los principales partici-pantes fueron los 14 miembros académicos del consorcio(dos de Estados Unidos, dos australianos y otros ochoprovenientes de Canadá, España, Italia, Inglaterra,Alemania, Suecia, Irlanda, Corea del Sur y México).Además, asistieron pagando una módica cuota de$150.000 USD, siete personas representando a grandesconsorcios y seis personas por parte del SEI, quienes fue-ron responsables por el desarrollo del evento. Los detallesdel taller se pueden consultar en www.sei.cmu.edu/iprc

Durante el taller nos pidieron preparar una presentaciónde diez minutos llamada Ten Minute Madness on Trendsand Topics. Esta sesión fue muy interesante porque pudi-mos conocer uno por uno a los participantes y escuchar desu boca cuáles son sus preocupaciones e ideas alrededordel tema que nos reunió. Les puedo contar brevementecuáles fueron los puntos centrales de mi presentación.

Desde el principio mencioné que el contexto de mi propues-ta es la realidad mexicana, que probablemente se puedegeneralizar a otros países en desarrollo. La dividí en tres pun-tos, tratando de dar respuesta a las siguientes preguntas:

1. ¿Cuáles son los factores y

las tendencias para los próximos 5-10 años?

En este punto mencioné la posibilidad de la crecientedemanda de sistemas de software en tres sectores: indus-tria y servicios, gobierno y educación. En la industria y ser-vicios para mejorar la competitividad de las micro ypequeñas empresas; en el gobierno para ofrecer los servi-cios eficientes y transparentes a los ciudadanos; y, en laeducación, para proveer del contenido estandarizado y demejor calidad a los jóvenes en todos los rincones del país.

2. ¿Cuáles son los obstáculos

para atender estas tendencias?

Mencioné dos problemas, que yo considero cruciales: eltamaño de la industria y su nivel de madurez, así como labaja cultura general de Tecnología de Información (TI).Sabemos que tenemos pocas empresas de desarrollo desoftware en México, que en su mayoría son micro y peque-ñas (menos de 20 personas), y que el uso de las prácticasrecomendadas de procesos de software es muy escaso porfalta de recursos e insuficiencia en la educación. Por otrolado, el acceso a la TI y su uso todavía no están generali-zados y, por lo tanto, no se reconoce su valor estratégicopara el desarrollo y la competitividad del país.

3. ¿Cómo puede responder la investigación

en procesos de software a estos problemas?

En este punto mencioné varias ideas: la necesidad detener procesos estandarizados y, tal vez, especializados,listos para usarse (prêt-à-porter software processes); lanecesidad de integrar las actividades de verificación, vali-dación, pruebas, mediciones, y control de productos conlas prácticas de requerimientos, análisis, diseño y cons-trucción -tal como lo propusimos en MoProSoft-, la defini-ción de procesos dirigida a humanos (role-driven softwareprocesses); y, finalmente, la revisión de los conceptos demadurez y capacidad de procesos, que a mi juicio no sonlo suficientemente claros.

En la próxima ocasión les platicaré sobre los temas de inte-rés general que surgieron del primer taller. Para que “no sepierdan el siguiente capítulo”, les adelanto que CMMI no esel final del camino y que en el SEI también están preocupa-dos por tener procesos para la pequeña y mediana indus-tria, cuyo tamaño, para ellos, es hasta 100 personas.

Hanna Oktaba

La Dra. Hanna Oktaba

es profesora en la Facultad

de Ciencias de la UNAM. Es

fundadora y vicepresidenta

de la Asociación Mexicana

para la Calidad en la

Ingeniería de Software.

Actualmente dirige el pro-

yecto para la creación de

una norma mexicana para

la industria de software.

COLU

MN

ATejiendo Nuestra Red

10 Minutos de LocuraFactores y Tendencias en Investigación de Procesos

06 > OCT-DIC 2004 > www.softwareguru.com.mx

Miembros del International

Process Research Consortium

Page 9: EN SUS MARCAS - desquer.ens.uabc.mx
Page 10: EN SUS MARCAS - desquer.ens.uabc.mx

Después de varios años de reclamar en cortito sobrela incapacidad de México para darse cuenta de sus

oportunidades y crear nichos propios de competitivi-dad, me di cuenta de que no basta con refunfuñar todoel día sobre cómo deberían hacerse las cosas, hay quehacerlas. Puedo decir que me volví un activista proindustria de software, y afortunadamente hubo sufi-ciente gente de gobierno, academia e iniciativa privadaque colaboró para que, siete años después, tuviéramosun programa de fomento a la industria, el ProSoft de laSecretaría de Economía (SE).

En esta ocasión quisiera llamar la atención de ustedeshacia el porqué tener este programa y tratar de ser unpaís de software. México necesita desarrollar áreas deoportunidad donde pueda crear industria propia ylograr de vez en cuando un “milagrito económico”como los de otros países que tanto admiramos. El queeste primer nicho haya resultado ser el de desarrollo desoftware se debe a que la industria ha logrado conven-cer al país sobre sus bondades: el software beneficiahorizontalmente a toda la economía; crea empleosmasivos, pero de calidad; tiene gran potencial exporta-dor; tiene una demanda creciente y prácticamente infi-nita; y podemos hacerlo nosotros sin requerir grandesinversiones de capital.

Para todos los que estamos en esta industria, esimportante conocer el ProSoft y otros estudios ydocumentos de él derivados. Los más importanteslos pueden encontrar en www.software.net.mx sitiopatrocinado por la SE y la AMITI. Como resumen, lameta más importante de ProSoft es lograr un merca-do de desarrollo de software de 5,000 mdd en 10años. Para lograr esta meta, estamos viendo pro-puestas de políticas de crecimiento, con metas par-ciales y métricas que nos permitan ir fondeando ymodificando los programas de ProSoft según lasnecesidades de la industria.

Pero este programa no pasará de ser sólo buenos deseos sin laparticipación activa de todos los que estamos en la industria dedesarrollo de software. No podemos mejorar empresas que nisiquiera sabemos que existen. No podemos crear nuevasempresas si nosotros mismos no nos volvemos empresarios.¿Cuántos de ustedes conocen el fenómeno de integración deempresas pequeñas de desarrollo que está sucediendo portodo México? ¿Las razones por las que ocurre esto? ¿Las ayu-das para promover esta integración? Para lograr ser un país desoftware, hay que querer serlo. La AMITI es hoy la asociaciónmás representativa de la industria de software, pero sólo alcan-za a una pequeña parte de las empresas; cada vez que quere-mos tener estadísticas para elaborar programas, nadie se tomala molestia de contestarlas. Sabemos bien a dónde queremosllegar, pero no sabemos de dónde estamos partiendo.

Yo quiero conminarlos a que nos dejemos ver. A que nos plati-quemos cuántos somos y qué buscamos. A que salgan losempresarios comprometidos a crecer. Ya existen iniciativas envarios estados para promover la industria, ayudados porProSoft, y en el DF estamos tratando de cuantificar la demandapara definir cómo manejaremos el programa. Necesitamos quenos contacten. Todo el que tenga un concepto de empresa dedesarrollo de software puede enviarme un correo a [email protected], contactar a la AMITI directamente ocontactar a la Secretaría de Desarrollo Económico de su estadopara averiguar cómo aprovechar este programa. Si hoy no res-pondemos como industria, no nos quejemos mañana cuando nola tengamos.

Quiero aprovechar lo que me queda de espacio para desear lamejor de las suertes a Mara y Pedro. Publicar una revistacomo ésta es ayudar activamente a que se una nuestra comu-nidad y nos conozcamos mejor. Es una tarea de héroes, cono-ciendo la tasa de mortandad de las publicaciones. Denosotros dependerá si sobrevive, y de nuestra retroalimenta-ción dependerá el que nos enriquezca como comunidad.

Rafael Bernal Arce

08 > OCT-DIC 2004 > www.softwareguru.com.mx

COLU

MN

AMoviendo la Industria

Ya No Discutamos…

Actuemos

Rafael Bernal es ingeniero químico de carrera, y desarrollador desoftware de profesión y alma. Rafael fue el primer CIO mexicanoen Procter & Gamble de México. En 1982 fundó Heurística, unacompañía de desarrollo de software a la medida, que fue la prime-ra en implantar SAP en México. Actualmente Heurística se dedicaa dar consultoría para el desarrollo de la industria de software enMéxico y promover el outsourcing de Estados Unidos hacia elpaís. Rafael Bernal es miembro activo de la AMITI, donde ha sidoVicepresidente de Software dos veces, y Comisionado para elDesarrollo de Software desde 2000.

panic control

Page 11: EN SUS MARCAS - desquer.ens.uabc.mx
Page 12: EN SUS MARCAS - desquer.ens.uabc.mx

PRODUCTOSLO

QU

EV

IEN

E

LOQ

UE

VIE

NE

MicrosoftVisual Studio Team SystemMicrosoft comenzará un nuevo capítulo en su estrategia para herra-mientas de desarrollo de software con el próximo lanzamiento deVisual Studio 2005 Team System, también conocido por el nombreclave “Burton”. Con este lanzamiento, la empresa norteamericanaentrará en competencia directa con la división Rational de IBM, asícomo con Borland Software.

Burton proveerá herramientas para soportar al equipo completo dedesarrollo de software. Estas son algunas de las capacidades dis-ponibles para los diferentes roles:

• Arquitectos.- La edición Team Architect contiene herramientasintegradas para modelar sistemas distribuidos basados en arqui-tecturas orientadas a servicios.

• Desarrolladores.- La edición Team Developer habilita a los pro-gramadores con herramientas para análisis estático, análisis de eje-cución, análisis de cobertura, y pruebas unitarias.

• Ing. de Pruebas.- La edición para pruebas incluye las capacidadespara desarrolladores y agrega herramientas para ejecutar y admi-nistrar una amplia gama de pruebas, incluyendo pruebas funciona-les, unitarias, de carga y de velocidad.

• Administradores de Proyecto.- La edición Team Foundation pro-vee diversas herramientas para administración basadas en aplica-ciones conocidas como Microsoft Excel, Microsoft Project yWindows SharePoint, que se integran de manera natural con elresto de los productos de esta suite. También existe la capacidadpara generar un sitio web del proyecto que incluye una consola o“dashboard” para que los diferentes partícipes puedan monitorearel estatus en cualquier momento y generar reportes con métricasgeneradas durante la ejecución de las tareas diarias del equipo.

Adicionalmente, todos los productos incluyen capacidades para tra-bajo en equipo, como control de versiones avanzado y un sistemapara administrar ordenes de trabajo. Aunque el gran atractivo noson las herramientas individuales, sino la estrecha integraciónentre éstas.

Aún así, las herramientas por sí solas no son suficientes para desa-rrollar sistemas empresariales de alta calidad y en un tiempo razo-nable, también se requiere un proceso de desarrollo adecuado. Espor esto que Burton incorpora un proceso configurable para desa-rrollo de software basado en mejores prácticas.

Se espera que la versión de producción del Visual Studio 2005 TeamSystem esté disponible en la primavera del año próximo. Sin embar-go, los suscriptores de Microsoft Developer Network (MSDN) pue-den obtener el Visual Studio 2005 Beta 1, que incluye una versiónprevia de Burton.

Para mayor información: lab.msdn.microsoft.com/vs2005/teamsystem/

Nuevas Capacidades en Plataforma IBM-RationalIBM anunció las capacidades que incluirá la nueva versión de suplataforma de productos para desarrollo de software, que estarádisponible a finales de este año. Durante Rational SoftwareDevelopment User Conference 2004, Mike Devlin, Director Generalde IBM Rational, explicó y demostró las nuevas capacidades. “Alutilizar la plataforma de desarrollo de software de IBM para alinearen forma transparente al negocio con los equipos de desarrollo yoperación, nuestros clientes pueden optimizar el valor del negocio,acelerar el desarrollo de software e integrarse mejor con las plata-formas de ejecución y middleware IBM”, dijo Devlin.

INTEGRACIÓN PROFUNDA Y MÁS RICA

La nueva plataforma está basada sobre la tecnología Eclipse, dise-ñada para proveer un ambiente común donde convivan diversosartefactos como requerimientos, modelos, código, casos de pruebay defectos. Eclipse permite integrar productos de diferentes vende-dores y provee interfaces basadas en roles, permitiendo al equipotrabajar en un ambiente adaptado a sus necesidades individuales.

DISEÑO Y CONSTRUCCIÓN SIMPLIFICADA

Las nuevas soluciones para diseño y construcción simplifican y ace-leran el desarrollo de aplicaciones. Algunos de los nuevos elemen-tos soportados son:• Java Server Faces (JSF)• Service Data Objects (SDO)• Modelado UML 2.0• Despliegue a Websphere en tiempo real• Refactorización visual• Desarrollo de aplicaciones en C/C++

NUEVAS SOLUCIONES DE CALIDAD PARA EL SOFTWARE

Basadas en Hyades —un ambiente integrado para pruebas, rastreo ymonitoreo—, las nuevas soluciones para calidad de software permitengenerar productos integrados de análisis, diseño, pruebas y monitoreopara analistas, arquitectos, desarrolladores, ing. de pruebas y gerentes.

Los desarrolladores y arquitectos pueden beneficiarse de las nue-vas capacidades para generación de componentes de prueba, aná-lisis arquitectónico y análisis en tiempo de ejecución. Losingenieros de pruebas también se benefician de las nuevas capaci-dades para pruebas de carga, así como la integración con Tivoli paraanalizar el desempeño de aplicaciones instaladas.

DESARROLLO DISTRIBUIDO MEJORADO

El soporte a equipos de trabajo distribuidos —personas en diferenteslocalidades colaborando en un mismo proyecto— mejora sustancial-mente con el nuevo soporte a clientes de red de área ancha (WAN),en conjunto con las capacidades extendidas para administración deversiones y configuración del software. Esto permite capturar, contro-lar y administrar de forma segura y eficiente los cambios al softwareprovenientes de diferentes localidades.

Para mayor información:www.ibm.com/software/sdp

10 > OCT-DIC 2004 > www.softwareguru.com.mx

Page 13: EN SUS MARCAS - desquer.ens.uabc.mx
Page 14: EN SUS MARCAS - desquer.ens.uabc.mx

PRO

DU

CTO

S

Eclipse 3.0Mucho más que un IDE

Eclipse es una plataforma para aplicaciones cuya popularidad ha crecido enormemen-te en los últimos años. Se originó como un proyecto de IBM para desarrollar una pla-taforma universal de integración de herramientas. Posteriormente IBM liberó latecnología y se convirtió en un proyecto de código abierto administrado por laFundación Eclipse. Recientemente fue presentada la versión 3.0 de Eclipse, la cualincluye muchas capacidades nuevas y seguramente mantendrá en ascenso la popula-ridad de este producto.

MÁS CAPACIDADES PARA DESARROLLADORESLa popularidad de Eclipse se generó principalmente porser un IDE para Java disponible de manera gratuita. Dehecho, la mayoría de sus usuarios actuales lo ven sola-mente como un IDE para Java. Aunque en la versión 3.0 sebusca demostrar que Eclipse es mucho más que un IDE, nose puede descartar que éste es el principal uso que se leda. Es por esto que las herramientas para desarrollo enJava se continúan mejorando. Una de las característicasmás atractivas es la capacidad de refactorización. Esto esque, al modificar un elemento como una clase o un méto-do, todas las referencias que haya desde otros elementoshacia éste, sean actualizadas automáticamente de acuer-do a los cambios realizados. Esta no es una capacidadnueva, pero anteriormente sólo se actualizaban archivosde código Java. Ahora se ha ampliado para incluir otroselementos, como JSPs o archivos XML. Otras característi-cas importantes son el soporte mejorado para Ant, forma-teo avanzado de código fuente, búsqueda y reemplazoutilizando expresiones regulares, y nuevas opciones parageneración de código.

Aunque Eclipse está programado en Java, y el JDT es unode sus proyectos más populares, también se ha preocupa-do por ser una opción atractiva para otros lenguajes.Desde la versión 2.0 se hizo una reestructuración de laplataforma para facilitar el soporte de otros lenguajes deprogramación, y se crearon subproyectos para IDEs deC++, Perl y Cobol, entre otros. Hoy en día, uno de los prin-cipales diferenciadores de Eclipse respecto a otros IDEscomo NetBeans o Visual Studio, es la diversidad de len-guajes que soporta.

La principal diferencia de Eclipse respecto a otros IDEs

como NetBeans o Visual Studio,es la diversidad de lenguajes

que soporta.

A FONDO

UN PEQUEÑO REPASOAntes de explorar las nuevas características, vale la pena revisar la estructura base deEclipse. La Figura 1 muestra una vista simplificada de los principales elementos.

El ambiente de ejecución (runtime) es la plataforma basepara cargar y administrar componentes.

El Standard Widget Toolkit (SWT) y JFace proveen libreríasbase para interfaz gráfica.

El Workbench es el ambiente de trabajo compuesto porventanas, menús, barras de herramientas y editores.

El Workspace se encarga de administrar los recursos,especialmente el acceso a los archivos.

Por último, existen otros componentes de soporte, comola ayuda y la búsqueda, que proveen capacidades quepueden ser utilizadas por cualquier herramienta o plug-inque se ejecuta sobre Eclipse.

Todos estos elementos en su conjunto son lo que se cono-ce como la Plataforma Eclipse. Sobre esta plataforma sepuede agregar una variedad de herramientas. Por ejemplo,el JDT provee un IDE para Java. El Plug-in Development

Environment (PDE) es un IDE especializado para desarro-llar plug-ins de Eclipse. Otras herramientas disponiblesincluyen plug-ins para desarrollo en C/C++, modelado enUML, control de versiones, administración de servidores ymuchas otras tareas.

JDTPlug-ins

Plataforma

Eclipse

PDEOtras herramientas

(CDT, UML2, etc)

Otros componentes

(Búsqueda, Ayuda, etc)

Componentes

Estándar

JFace

SWT

Workbench

(UI)

Ambiente de Ejecución

Workspace(recursos)

Fig. 1

12 > OCT-DIC 2004 > www.softwareguru.com.mx

Page 15: EN SUS MARCAS - desquer.ens.uabc.mx

PLATAFORMA PARA APLICACIONESPara la versión 3.0 se reestructuró la plataforma Eclipse una vez más; sin embargo, en esta ocasión la metafue ampliar su alcance de una plataforma para herramientas, a una plataforma para aplicaciones. Con estonos referimos a que Eclipse sea el ambiente dentro del cual se ejecuten aplicaciones de propósito gene-ral. Para lograrlo, se agrupó la funcionalidad específica para IDEs en plug-ins opcionales, limpiando elWorkbench y dejándolo como una interfaz de usuario genérica. De esta forma, las aplicaciones que no sonIDEs pueden utilizar una versión más simple y compacta de Eclipse, conocida como el Rich Client Platform(RCP). Aunque el RCP es mucho más ligero, también se puede beneficiar del sinfín de capacidades deEclipse, así como de plug-ins opcionales.

Diversos proveedores de aplicaciones ya han expresado su interés en el RCP. Como era de esperarse, unode los principales entusiastas es IBM, cuya nueva suite de herramientas de productividad llamada LotusWorkplace está construida sobre el RCP.

RCP tiene un gran potencial para convertirse en la plataforma estándar para clientes Java o aplicaciones deescritorio. El RCP cae en un lugar intermedio entre lo que es el ambiente de ejecución de java (JRE) y unsistema operativo. El valor del RCP es que provee un gran conjunto de funcionalidad para interfaces gráfi-cas que no incluye el JRE y para la cual no hay ninguna otra solución multiplataforma con un amplio gradode adopción. RCP deberá madurar bastante para cumplir su cometido, ya que tiene en frente un trecholargo y lleno de obstáculos.

INTERFAZ DE USUARIO CON MEJOR RESPUESTAUna de las prioridades para esta versión fue mejorar la respuesta de la interfaz de usuario. En versionesanteriores, era muy común tener que esperar a que el sistema terminara de procesar las peticiones paracontinuar haciendo algo. Esto afecta la productividad de los usuarios, y es por eso que para esta versiónmuchas operaciones se ejecutan en segundo plano. Esto permite que un programador escriba código y éstese compile automáticamente sin tener que esperar. Lo mismo sucede con otras operaciones continuas comola sincronización con un repositorio de versiones.

Eclipse 3.0The Eclipse Foundationwww.eclipse.org

Calificación:

4 de 5

Precio y Disponibilidad

Código abierto disponible bajo licen-cia CPL. El Eclipse SDK, que incluyebinarios, documentación y códigofuente se puede obtener enwww.eclipse.org/

downloads/index.php

Requerimientos

de Sistema*

JRE o JDK 1.4.1 o superior256 MB de RAM mínimo, 512 MBrecomendados.Procesador Pentium III o superior,dependiendo de la plataforma.*La documentación de Eclipse no indica requeri-mientos mínimos de sistema más allá de la versiónde JRE. Los requerimientos de memoria y procesa-dor son los recomendados por Software Guru.

Veredicto

La nueva versión de Eclipse es ungran avance. Tal vez para quienes lousan como IDE de programación nohaya nada realmente novedoso, perolas mejoras introducidas puedenmejorar bastante su productividad. Ypara quienes buscan una plataformasobre la cual montar sus aplicacio-nes, el RCP es una opción que bienvale la pena considerar.

Pros:

1. Disponibilidad gratuitapor ser código abierto.

2. Gran extensibilidad, el cielo es el límite.

3. Al ser construido 100% en Java, funciona en una amplia gama de sistemas operativos, entre ellos Windows, Linux, Solaris y Mac OS X.

Contras:

1. Al igual que la mayoría de losproductos de código abierto, el soporte se reduce a foros ylistas de correo.

2. Su complejidad lo hace difícil de aprender y acostumbrarse. Aunque mejoró bastante para la versión 3.0, la usabilidad sigue siendo uno de los puntos débiles.

3. Por el momento sólo está disponi-ble en inglés. El paquetepara lenguaje español estarádisponible próximamente.

Las opciones para formateo

de código fuente se pueden

importar y exportar para

que todo el equipo utilice

los mismos estándares.

www.softwareguru.com.mx > OCT-DIC 2004 > 13

SGFig. 2

> La vista de Javadoc permite

visualizar la documentación

al mismo tiempo que el

código fuente.

> El editor resalta los cambios

que realizados entre la versión

anterior y la actual.

Page 16: EN SUS MARCAS - desquer.ens.uabc.mx

POSIBILIDADES REALESAntes que nada, explico en breve la automatización depruebas. Significa hacer la prueba manualmente una vez,registrarla en un script tipo macro de excel con lenguajeprogramático, y poder ejecutarla múltiples veces, tantascomo sea necesario para verificar que un cambio hecho ala aplicación, ya sea por aumentar o cambiar funcionali-dad, como por supuesto, por corregir un defecto, no hayaafectado las funciones previamente probadas y certifica-das. Si se alcanza a ver, la automatización es útil duranteun proyecto, pero resulta una gran ventaja o prácticamen-te indispensable para un sistema en producción.

Lo primero que debo decir de la automatización de prue-bas con herramientas es que no sustituye al proceso dePlaneación, Análisis, Diseño e Implantación de las prue-bas, sino que lo complementa. Las herramientas tampocosustituyen a las personas, son sólo herramientas, y debenestar en su lugar, en una caja de herramientas. Nunca heescuchado a un arquitecto decir: “ahora sí, con estaspalas y picos que compramos esperamos reducir el núme-ro de albañiles en la obra”, o a un líder de proyecto comen-tar: “con estos debuggers y analizadores de código vamosa poder tener menos programadores”.

Tal vez en diez años me tenga que retractar, pero por ahoracon seguridad puedo decir que no ha habido sustituto delanálisis humano para la identificación y aplicación de técni-cas de verificación de los productos de software. No debería

entenderse de esto que las herramientas no sirven; al con-trario, sirven y son bastante útiles, pero no como sustitutodel proceso de pruebas, que implica principalmente unalabor intelectual, analítica, de razonamiento, deducción,inducción, conclusión y priorización que necesariamente -amenos que el futuro se encargue de desmentirme- tendránque ser hechas o, al menos, conducidas por la mente huma-na. Las herramientas pueden ser muy útiles en las tareasrepetitivas y tediosas, que involucran procesamiento decombinaciones en donde el humano siempre le ha cedido sulugar a las máquinas, pero no más allá.

Tampoco se debería buscar automatizar 100% de loscasos de pruebas, sino más bien hacerlo donde resultemás efectivo, y para ello hay una serie de técnicas quemerecen un artículo completo. Lo importante es entenderque al aplicarlas efectivamente podremos reducir tiemposconforme sea necesario reejecutar pruebas, habilitando alequipo a extender la cobertura de la prueba.

Es cierto que las herramientas pueden hacer mejores tes-ters, pero porque les permita ser más efectivos, no porqueel hecho de tenerlas y usarlas lo garantice en sí mismo.Esto depende de la manera como se apliquen. Se puedenusar y aún así fracasar en una prueba, justo como se pue-den usar los mejores compiladores o ambientes de desa-rrollo y construir aplicaciones desastrosas.

Si hablamos de costos y beneficios, el costo está en crear laprueba manualmente la primera vez, en hacer los cambiosprogramáticos necesarios a los scripts y en darles manteni-miento cada vez que se requiera por modificaciones a laaplicación. El beneficio está en la ganancia en tiempo deejecutar una prueba de regresión mucho más rápido cuan-do ocurren cambios que hay que liberar en breve, y en lasposibilidades de ejecutar múltiples combinatorias de accio-nes de usuario y de datos de entrada a la prueba.

Como corolario final, diré que con el uso efectivo de lasherramientas de automatización de pruebas se puedenhacer más y mejores pruebas al sistema, y no tanto redu-cir los tiempos completos de la prueba. Actualmente exis-te una gran oferta de herramientas de automatización depruebas. Entre las compañías más importantes están:

Mercury Interactive

www.mercury.com/us/IBM Rational Software

www-306.ibm.com/software/rationalCompuware

www.compuware.comSegue

www.segue.com

PRO

DU

CTO

SHERRAMIENTAS

Mitos y Realidades sobre la

AUTOMATIZACIÓN DE PRUEBAS

Sergio Cedillo se desempeña

como Ingeniero de Procesos

de Software en Itera, empresa

dedicada a proveer productos y

servicios para ingeniería de

software. Sergio tiene amplia

experiencia en la disciplina de

pruebas de software, ha

impartido cursos y participado

en proyectos para clientes como

PEMEX, Banco de México,

Bursatec y Bancomer, entre

otros. Próximamente se unirá al

equipo de IBM como IT

Specialist en la línea de

productos Rational.

Seis años de trabajar en proyectos de pruebas con empresas de diferentes tama-ños, estilos y tipos, me han llevado a escuchar comentarios como los siguientes:

“Ahora que ya compramos herramientas de pruebas automatizadas

podremos bajar costos al reducir el número de probadores.”

“Ya con estas herramientas vamos a ser mejores probadores.”

“Ahora podremos automatizar 100% del esfuerzo de pruebas.”

“Vamos a reducir los tiempos dedicados a las pruebas.”

“Ahora la vida en pruebas será más fácil.”

“Oye, con tus herramientas maravillosas necesito que le hagas la prueba

al sistema en dos semanas.”

“Nosotros ya utilizamos herramientas de pruebas en el pasado y no nos

sirvieron, seguimos con problemas en producción.”

He escuchado muchos más comentarios, aunque la mayoría son similares, por esoes importante entender realmente qué podemos esperar y qué beneficios trae real-mente la automatización de pruebas.

14 > OCT-DIC 2004 > www.softwareguru.com.mx

por Sergio Cedillo

Page 17: EN SUS MARCAS - desquer.ens.uabc.mx
Page 18: EN SUS MARCAS - desquer.ens.uabc.mx

ProSoftPrograma para el Desarrollo de la Industria del Software

ANTECEDENTES• México tiene un nivel de gasto

en tecnologías de información

y comunicaciones (TIC) de

3.2% del PIB, que lo ubica en

el lugar 50 a nivel mundial

• Específicamente en software

este rezago es aún mayor,

donde el gasto en México es 6

veces inferior al promedio

mundial

• Países como India, Irlanda y

Singapur han utilizado la

industria del software como

uno de los principales motores

de su crecimiento económico.

• La cercanía geográfica y

cultural de México con el

mercado más grande del

mundo en esta industria (EUA),

le da una gran oportunidad

para desarrollar esta industria.

Es por esto que la Secretaría de

Economía, en conjunto con orga-

nismos y empresas del sector,

ha puesto en curso el Programa

para el Desarrollo de la Industria

del Software (ProSoft).

Revisemos en qué consiste este

programa, qué avances se han

logrado y cuales son los planes

hacia futuro.

E l Programa para el Desarrollo de la Industria delSoftware (ProSoft) se lanzó el 9 de Octubre del 2002

por la Secretaría de Economía, con el objetivo de crear lascondiciones necesarias para que México cuente con unaindustria de software competitiva internacionalmente yasegurar su crecimiento en el largo plazo

¿A DÓNDE QUEREMOS LLEGAR?El ProSoft establece metas de largo plazo, con miras a queen el año 2013 el país:

• Logre una producción anual de software de $5,000.00millones de dólares.• Alcance el promedio mundial de gasto en tecnologías deinformación. • Se convierta en el líder latinoamericano de desarrollo desoftware y contenidos digitales en español.

Para alcanzar estas metas, la Secretaría de Economía con-vocó a organismos e instituciones gubernamentales fede-rales, estatales y municipales, así como a las propias

industrias del software y el sector académico del país. Elresultado fue un programa consensuado constituido por 7estrategias:

1. Promover las exportaciones y la atracción de inversiones.

2. Educar y formar personal competente en el desarrollo de software, en cantidad y calidad convenientes.

3. Contar con un marco legal promotor de la industria.4. Desarrollar el mercado interno.5. Fortalecer a la industria local.6. Alcanzar niveles internacionales en

capacidad de procesos.7. Promover la construcción de infraestructura física

y de telecomunicaciones (agrupamientos empresariales).

El ProSoft sigue contando con el apoyo de la iniciativa pri-vada en el desarrollo de sus proyectos, algunos de los cua-les han culminado con reformas legales adoptadas por elH. Congreso de la Unión.

Seguramente la industria del software es degran importancia para usted. Sin embargo, esbueno saber que el Gobierno Federal tambiénla considera estratégica y tiene en marcha unprograma para apoyarla.

16 > OCT-DIC 2004 > www.softwareguru.com.mx

por Ivette García

Page 19: EN SUS MARCAS - desquer.ens.uabc.mx

ProSoft

¿HACIA DÓNDE VAMOS?El ProSoft tiene una visión a largo plazo junto con metas de corto y mediano plazo.

En el bienio de 2003 y 2004, estamos trabajando en los elementos indispensables para el desa-rrollo de una industria de calidad, que tenga a su alcance apoyos en materia de desarrollo decapital humano, financiamiento y un marco normativo adecuado para la adopción de tecnologí-as de información en las empresas en general. Así mismo, iniciaremos la promoción y estrategiasde despliegue en el mercado internacional.

Hacia el bienio 2005-2006 podremos ver una creciente participación de la industria en el merca-do interno, como un proveedor confiable del gobierno y de los grandes consumidores de servi-cios de la industria, como un proveedor consciente de las necesidades de tecnificación de laspequeñas empresas y con una participación creciente en las exportaciones.

De 2007 a 2009 se tiene contemplado un importante crecimiento en el número de empresas y enla diversificación de sus campos de actividad, siendo cada vez más importante su participaciónen la investigación y desarrollo para la creación de soluciones que potencien las aplicaciones delconocimiento derivado en la ciencia en ramas diversas.

En el 2013 visualizamos a la industria de software mexicana como un reconocido jugador declase mundial.

¿QUÉ SE HA LOGRADO?Algunos de los avances de este programa son:

• Se elaboró un estudio sobre el perfil de laIndustria Mexicana de Software para identificarlos nichos de mercado internacional dondeMéxico tenga ventaja competitiva, para así iden-tificar las oportunidades en distintos países, endistintos sectores, así como las recomendacio-nes y estrategia necesaria para participar acti-vamente en esos mercados.

• Se lanzó el Portal de la Industria Mexicana deSoftware www.software.net.mx, para poner alalcance de la industria un medio de difusión desus capacidades en los mercados externos, asícomo facilitar la generación de negocios entreoferentes y demandantes de la industria.

• Se implementó el proyecto de adecuación delos planes de estudio en los niveles 5 y 6 del

www.softwareguru.com.mx > OCT-DIC 2004 > 17

2002 2004 2006 2008 2010 2012

Sistema Educativo Nacional, que permitiráreducir la brecha que existe entre el recién egre-sado y el personal productivo.

• Se han identificado cursos paracurricularespara reforzar la formación de ingenieros desa-rrolladores de software en las universidades,para ello se está en proceso de elaborar los con-tenidos que sustenten dichos cursos bajo lamodalidad de e-Aprendizaje.

• Con el fin de promover un marco normativo quefavorezca el desarrollo de la economía digital, elGobierno Federal publicó en el Diario Oficial de laFederación, la Norma Oficial Mexicana NOM-151-SCFI-2002- Prácticas comerciales-Requisitos quedeben observarse para la conservación de men-sajes de datos. Se aprobaron la iniciativa dereformas al Código de Comercio para el reconoci-miento jurídico de la Firma Digital por el H.Congreso de la Unión y las reformas en el Código

Fiscal para el reconocimiento de los comprobantesfiscales electrónicos.

• Se creó la Fundación México Digital, organismo pri-vado, cuyo fin será desarrollar el mercado interno detecnologías de información a través de la adopciónde tecnología en cadenas productivas específicas.

• Se realizó un estudio para identificar el nivel deadopción de TI en sectores económicos en el país ydetectar aquellos en donde se pueda acelerar suadopción; como resultado del estudio se identifi-caron los nichos de transporte de carga, talleresmecánicos, ferreterías, refaccionarias, farmacias ymisceláneas.

• Se diseñó una metodología para la incubación deempresas de software, que será implantada con-juntamente con las entidades federativas, y permi-tirá aumentar las capacidades tanto de nuevasempresas de software como las ya existentes.

Lanzamiento PROSOFT

Plataformade despegue

MasaCrítica

Jugador deClase Mundial

Factoresestructurales

Consolidaciónde la cadena productiva

Innovación y desarrollo tecnológico

Page 20: EN SUS MARCAS - desquer.ens.uabc.mx

18 > OCT-DIC 2004 > www.softwareguru.com.mx

• Se ha promovido la apertura para compras gubernamen-tales de TI a la industria nacional haciendo uso de lasreservas nacionales previstas en los tratados comerciales.Como resultado de estas gestiones, el IMSS y e-Méxicohan ocupado estas reservas en sus licitaciones de desa-rrollo de software y servicios de TI.

• Se desarrolló un estudio para medir el nivel de madurezy capacidad de procesos de la industria de TI. Se ocuparála metodología planteada para obtener los indicadoresque permitan realizar el monitoreo, seguimiento y formu-lar líneas de acción dirigidas a fortalecer las capacidadesde la industria de software y servicios relacionados.

• Se estableció el Fondo ProSoft, cuyo objetivo general espromover el desarrollo económico nacional a través delotorgamiento de apoyos de carácter temporal a progra-mas y proyectos que fomenten la creación, desarrollo,consolidación, viabilidad, productividad, competitividad ysustentabilidad de las empresas del sector de tecnologíasde información.

• Se está trabajando en la creación de la Norma Mexicanapara el desarrollo y mantenimiento de Software, que esta-rá basada en el Modelo de Procesos para el Desarrollo deSoftware (MoProSoft) y su Método de Evaluación(EvalProSoft), ambos creados por la UNAM y un grupo deexpertos de la industria a petición de la Secretaría deEconomía. El objetivo es elevar la competitividad de lasmicro y pequeñas empresas de desarrollo en México.

• Se ha fomentado la formación de empresas integradorasy clusters de TI alineados al ProSoft, en conjunto con dis-tintas entidades federativas como: Aguascalientes, BajaCalifornia, Coahuila, Guanajuato, Jalisco, Morelos, NuevoLeón, Puebla, Sinaloa, Sonora, Tabasco y Yucatán.

• Se realizó un estudio de potencialidades de las entida-des federativas para desarrollar núcleos de economía digi-tal, el cual establece una metodología para identificar elpotencial de las entidades, ya sea sobre la media nacional(alto potencial) y bajo la media (bajo potencial). Los tresprimeros lugares son: Distrito Federal, Nuevo León yEstado de México.

AGENDA PENDIENTESe han logrado avances sustanciales en la implementacióndel ProSoft, sin embargo, aún hay acciones pendientes:

• Es necesario promover misiones comerciales para consolidar la imagen del país en este sector a nivel mundial y a su vez promover las capacidades de la industria mexicana de TI;

• Es necesario incrementar las habilidades de laindustria y apoyar proyectos productivos de altoimpacto económico y laboral.

• Debido a la necesidad de incrementar las capacidades de las empresas de desarrollo y mantenimiento de software, es crucial promover el uso de modelos de procesos que les apoyen a alcanzar tales objetivos.

• La industria requiere también de un mayor financiamiento.

• Se deben establecer los lineamientos en materia de compras gubernamentales de TI, promoviendo las licitaciones nacionales.

PARTICIPACIÓN EN EL PROSOFTLos avances antes citados son hoy una realidad gracias alos grupos de trabajo del ProSoft. En estos, representan-tes de empresas, instituciones educativas, organismosempresariales, gobiernos estatales y gobierno federalcolaboran para definir los proyectos y acciones que permi-tan alcanzar los objetivos del Programa. A la fecha, más de120 representantes de estos organismos y empresas haninvertido más de 4,500 horas hombre para trabajar en lossubcomités del programa y alinear los esfuerzos entornoal ProSoft.

Datos de contacto:[email protected]

El documento completo del Programa, presentaciones, estudios y

avances del mismo se puede consultar en: www.software.net.mx

ProSoft

Inversiones y

Exportación

Capital

Humano

Marco

Legal

Mercado

InternoIndustria

Local

Capacidad

de Procesos

Integración

y Clusters

de TI

ProSoft

"Se ha promovido laapertura para compras

gubernamentales de TI a la industria

nacional."

Ivette García es Subdirectora de la Industria de Software para la Secretaría de Economía,coordinando operativamente el Programa para el Desarrollo de la Industria de Software.Previamente laboró en el Centro de Desarrollo de Motorola México en el área de calidad y procesos. Ivette estudió ingeniería en sistemascomputacionales en la Universidad de las Américas.

Page 21: EN SUS MARCAS - desquer.ens.uabc.mx
Page 22: EN SUS MARCAS - desquer.ens.uabc.mx

ENTR

EVIS

TA

JESÚS ORTADirector de Economía Digital de la Secretaría de Economía

20 > OCT-DIC 2004 > www.softwareguru.com.mx

En este número entrevistamos a Jesús Orta,Director de Economía Digital en la Secretaría de

Economía. Jesús y su equipo de trabajo son respon-sables de promover el desarrollo de la industria deTecnología de Información en México, fomentar suadopción dentro del sector público para automatizarlos procesos, y colaborar en la definición de aspec-tos regulatorios de la economía digital.

por Jorge Palacios

Page 23: EN SUS MARCAS - desquer.ens.uabc.mx

Software Guru.- ¿Cuál es tu rol en esta área?

Jesús Orta.- Nuestro ámbito es la tecnología de informa-ción. Por ejemplo, todo lo que tenga que ver con firmaelectrónica, privacidad en el uso de la información y regu-lación de Internet. También laboramos en la administra-ción del la NOM 151. En fin, todo lo que tenga que ver conla regulación de la economía digital y el fortalecimientodel mercado interno.

SG.- ¿Cuál es el estado actual de la Industria de Software en México?

JO.- De acuerdo a nuestra economía, hay dos bloques, ungrupo de empresas que tienen posibilidades de competiry muchas otras pequeñas que no, porque requieren definanciamiento. Por eso, una parte de nuestros fondoslos estamos juntando con Nacional Financiera para crearinstrumentos listos para ser usados. Existen agrupacio-nes como Empeira, la comunidad de software libre, y losclusters, que nos exponen sus necesidades, y en base aéstas establecemos las estrategias en ProSoft para aten-derlas y aprovechar todo su potencial.

SG.- ¿Qué ventajas competitivas tiene hoy la industria y cuáles se amplían?

JO.- Las podemos dividir en dos: las ventajas naturales y las creadas. Las naturales sonla geografía, por la cercanía que tenemos a los Estados Unidos, y el mercado de altocrecimiento de contenidos en español. Esto es algo que España está aprovechandoenormemente; nosotros tenemos que hacer lo mismo en América Latina. En la parte delas ventajas creadas, nosotros tenemos que desarrollar capacidades humanas. Si inver-timos en esta capacitación, automáticamente un mexicano con el mismo nivel de prepa-ración de un chino o un indio, tiene una ventaja competitiva por las ventajas naturalesque ellos no poseen. La principal desventaja es el precio, somos más caros en ciertaspartes de la cadena de valor como puede ser escribir código; sin embargo, podemoscompetir en consultoría, que implica conocer proceso, viajar constantemente, interac-tuar con el cliente, para lo cual es necesario una cultura mas afín, cultura occidental.Además, la proximidad te reduce costos, haciendo competitivo el costo total del proyec-to en oposición a costo por hora del programador oriental.

SG.- A nivel de visión, ¿cómo ves a la industria mexicana al mediano y largo plazo?

JO.- Yo diría que la industria mexicana en general carece de una visión. Para despegares necesario atender todos los factores críticos para poder ser una empresa de clasemundial. ProSoft tiene una responsabilidad en ese sentido, cada vez veo a más gentedecir: En diez años vamos a producir 5 mil millones de dólares, que es uno de nuestrosobjetivos, crear una visión en común.

SG.- ¿Cuáles son los principales retos actuales de la industria?

JO.- La de satisfacer las necesidades de capital humano, la de trabajar con el sector edu-cativo en la parte donde se forman las competencias. Por eso, ProSoft asegura ambascosas, cantidad y calidad. La otra es la certificación, si no la tienes, estás fuera. Lo mismopasa en el mercado gubernamental, el gobierno es el mayor comprador del país; si PEMEXo el IMSS te están pidiendo niveles de certificación que las empresas mexicanas nocubren, ¿quién se está llevando los contratos? las empresas extranjeras. Si queremoscrear una industria local con ingresos importantes debemos elevar la capacidad de proce-sos de las empresas nacionales para que tengan acceso a los mercados de alto valor. Asíque otro reto es elevar la capacidad de procesos de la industria en general.

SG.- En varios países está vigente la práctica deconsumir sólo software hecho en ese país,¿el gobierno ha pensado en adoptar una práctica similar? ¿Cuál sería la estrategia para consumir únicamente software hecho en México?

JO.- México, como país insertado en la economía global,tiene un compromiso con el comercio internacional y suspolíticas y no puede simplemente decir que el gobiernosólo va a consumir software nacional. Sin embargo hayotro tipo de herramientas que se están utilizando, comoes el caso de una “reserva nacional para compras guber-namentales”, la cual nos da aproximadamente 110 millo-nes de dólares anuales para licitaciones nacionales. EnProSoft estamos haciendo dos cosas para aprovecharla,una promover su uso y la otra establecer mecanismospara su aprovechamiento.

SG.- ¿Cómo se están institucionalizandotodos estos esfuerzos para que vayanmás allá de un esfuerzo sexenal?

JO.- Es una preocupación que tenemos desde hace unosdos años. Tomaría como ejemplo el cómo se consiguieronlos recursos para ProSoft, donde hubo un diálogo con elcongreso y las comisiones de economía, quienes aproba-ron el recurso; eso es importante porque el congreso leda una especie de prueba para que en el cambio deadministración se sepan las prioridades. Con ello tene-mos una ruta trazada que, como punto culminante, nosllevará a la creación de una ley de fomento al desarrollode este sector.

SG.- ¿Cuál es la perspectiva inmediatay mediata de las integradoras regionales?

JO.- Realmente creo que esto va a ser una avalancha. Lasintegradoras van a jugar un papel muy relevante en laproducción nacional de software al largo plazo. Para queéstas tengan un papel significativo, requieren multiplicarvarias veces su capacidad actual y esto les va a tomaralgunos años. Sin embargo, hay quienes al cabo de uno odos años podrían estar teniendo éxito. Los casos de éxitovan a ser muy importantes para atraer a los otros jugado-res, y esto es otro reto importante. Estamos muy atentosde la formación de estas integradoras y por supuestotiene prioridad.

SG.- ¿Qué mensaje dejaríasa la comunidad que lee Software Guru?

JO.- A la comunidad de SG y a la comunidad de softwareen general, que sigan alineados, que compartamos todosuna misma visión e idea sobre cómo llegar a desarrollaresta industria. ProSoft busca ser el elemento de cohesión,por ello está abierto a la participación de todos ustedes.

www.softwareguru.com.mx > OCT-DIC 2004 > 21

“La reserva nacional nos daaproximadamente 110 millones

de dólares anuales para licitaciones nacionales.”

Software Guru

Page 24: EN SUS MARCAS - desquer.ens.uabc.mx

EN PORTADA

INDUSTRIADE SOFTWAREMÉXICO VS. RESTO DEL MUNDO

Puede ser cierto que todos los caminos llevena Roma. Sin embargo, para planear adecua-

damente el viaje es necesario saber desde dóndepartimos. Esto mismo sucede con el proyectopara desarrollar la industria del software enMéxico. Necesitamos saber dónde estamos para-dos, cuáles son nuestras capacidades actuales ycómo nos comparamos contra los competidores.

Page 25: EN SUS MARCAS - desquer.ens.uabc.mx

Para este análisis nos hemos basado en información provista en un estudio recientemen-te presentado por la Secretaría de Economía (ver recuadro 1). Como marco de referenciahemos utilizado el Modelo Oval de Carmel. Este modelo fue originalmente desarrolladopara describir los principales factores de éxito de las naciones líderes en la exportaciónde software. Sin embargo, también es útil como marco de referencia para analizar y eva-luar las capacidades de la industria de software en una nación en particular. Los ocho fac-tores que considera el modelo son:

1. Visión y política del gobierno.2. Capital humano.3. Salarios.4. Calidad de vida / Atracción de talento. 5. Características de la industria.6. Infraestructura tecnológica.7. Acceso a capital de inversión.8. Vinculación.

La siguiente figura ilustra este modelo. En el diagrama se sugiere que algunos de los fac-tores pueden traslaparse (óvalos encimados), mientras que otros están relacionadosentre sí (óvalos conectados por flechas).

Recuadro 1:

La Secretaría de Economía solicitó la realización del “Estudio del Perfil de la

Industria Mexicana de Software para Definir los Nichos de Mercado Internacional

Acordes al Perfil y Competitividad de la Industria”, el cual fue presentado en agos-to de 2004. El estudio está compuesto por los siguientes seis criterios:

• Criterio 1.- Análisis de las características de oferta y demanda en los nichos demercado mundial de software y servicios relacionados.

• Criterio 2.- Perfil de la industria mexicana de software y servicios relacionados.

• Criterio 3.- Análisis de brecha de la industria mexicana de software y serviciosrelacionados respecto a las principales industrias oferentes a nivel mundial.

• Criterio 4.- Determinación del mercado objetivo y potencial para la industria mexi-cana de software y servicios relacionados.

• Criterio 5.- Estrategia de despliegue de la oferta nacional de software y serviciosen los nichos de mercado identificados.

• Criterio 6.- Ruta crítica del despliegue de la oferta nacional de software y servi-cios relacionados en los nichos de mercado mundial identificados.

Software Guru

www.softwareguru.com.mx > OCT-DIC 2004 > 23

Salarios

Capital

Humano

Infra-

estructura

Vínculos

Capital

Industria

Calidad

de Vida

Exportaciones de Software

Visión y

Políticas

del Gobierno Mercado

Externo

Frontera Nacional Modelo Oval de Carmel

VISIÓN Y POLÍTICA DEL GOBIERNOEl gobierno ha jugado un papel clave en la mayoría de lospaíses con una industria de software exitosa. El apoyo típi-camente se da en forma de programas para destinar recur-sos, otorgar facilidades y promover los productos/serviciosen el exterior. Algunos ejemplos recientes de apoyo a estaindustria por parte del gobierno son:

China. Elaboración de un programa para fomentar laindustria y creación de zonas económicas especiales para el software (2000).Rumania. Eliminación del impuesto sobre la renta a los empleados de esta industria (2001).Costa Rica. Creación de visión nacional para laOportunidad Digital. Incentivos fiscales a las empresasde tecnología que se establezcan en sus zonas francas.Negociación con Intel para la apertura de una planta en San José (2001).

En el caso de México, el estudio Global Information

Technology Report 2004 del Foro Económico Mundial, loposiciona en el lugar número 59 en el rubro de ambientepolítico y regulatorio para Tecnología de Información yComunicación (TIC). Esperamos que esta posición mejoreconforme las estrategias de ProSoft vayan generandoresultados. Sin embargo, un punto importante que siguesin resolverse es el de los incentivos fiscales para lasempresas de este sector.

Fuente: Global Information Technology Report 2003-2004

(1)

Fin

lan

dia

4.00

5.00

3.00

(15

) Is

rae

l

(18

) C

hil

e

(24

) Ir

lan

da

(29

) In

dia

(43

) B

ras

il

(53

) U

rug

ua

y

(57)

C.

Ric

a

(59

) M

éx

ico

(60

) C

olo

mb

ia

(63

) F

ilip

ina

s

(77)

Arg

en

tin

a

Ambiente Político y Regulatorio para TIC6.00

Page 26: EN SUS MARCAS - desquer.ens.uabc.mx

CALIDAD DE VIDA¿Por qué las empresas de software establecen sus centros deinvestigación y desarrollo en ciertos países? Estas empresas bus-can capital humano innovador o “talento”, como lo llamamos ante-riormente. Este talento no está distribuido de manera aleatoria,sino que se concentra en clusters caracterizados por un alto nivelde calidad de vida. Esto es, los profesionistas talentosos tienden aconcentrarse en lugares que cuenten con belleza natural, centrosde entretenimiento, un mercado laboral atractivo y otras condicio-nes que provean un alto nivel de calidad de vida. Tal es el caso deMiami, San Francisco y otros centros científicos del mundo comoEstocolmo, Tel-Aviv, Moscú. Aún en India, la ciudad de Bangaloreha logrado atraer talento por esta razón.

En México no existen tales centros para atracción de talento. Elmercado laboral de esta industria se concentra principalmente enel Distrito Federal, el cual tiene un alto costo de vida, así como pro-blemas de sobrepoblación, contaminación e inseguridad. Estocausa que una buena parte del talento emigre hacia el extranjero.

CAPITAL HUMANOEste factor considera las características y habilidades colectivas de los profesionistas enesta industria. Esto incluye cantidad, orientación y tradiciones nacionales; composición,manejo de otros idiomas y habilidades administrativas.

La fortaleza del capital humano de un país es consecuencia de una tradición de variasgeneraciones hacia la educación en ciencias e ingeniería. Países como India, Irlanda eIsrael se han beneficiado de un énfasis nacional en educación técnica avanzada que datade más de dos generaciones atrás. De los diferentes factores del modelo, el capital huma-no es el que requiere el mayor tiempo de inversión, ya que no es posible desarrollarlo enunos cuantos años.

La cantidad de capital humano disponible es vital para acumular una masa crítica que ener-gice la industria. China anualmente genera 50,000 graduados de carreras de computación,y 465,000 de otras ciencias e ingenierías (varios de los cuales terminan en la industria desoftware). En Filipinas el número de graduados anuales en computación es de 30,000. EnMéxico esta cifra se aproxima a los 20,000.

El capital humano no es homogéneo, así que su composición también es un factor rele-vante. Por un lado existen individuos altamente capaces, a quienes se considera como“talento”, y por otro lado están aquellos simplemente considerados por sus “habilida-des”. La diferencia entre estos dos términos es sencilla: una habilidad es algo que sepuede adquirir a través de estudio y práctica (como ser un programador certificado enalgún lenguaje), mientras que el talento es la capacidad para resolver problemas com-plejos. Haciendo una analogía, cualquiera puede tocar un instrumento musical, pero sóloalgunos pueden crear música.

El manejo del idioma inglés es otro criterio importante para medir la capacidad en estesector. Aunque en México el manejo del inglés es común en ciertos sectores, no es lasegunda lengua, como en el caso de la India o Filipinas. Generalmente el personaldirectivo tiene un nivel fluido en inglés oral y escrito, sin embargo, este no es el casodel personal técnico. Sólo un pequeño porcentaje de los programadores es capaz decomunicarse claramente en inglés, lo cual es sin duda una desventaja tomando encuenta que la mayoría de los clientes extranjeros hablan ese idioma.

Por último, las habilidades administrativas son otro aspecto a tener en cuenta. Éstas nor-malmente se aprenden en escuelas de negocios, así que se requiere profesionalizar a la capaadministrativa de este sector para que pueda destacar.

Aunque el capital humano doméstico es vital, vale la pena recalcar que algunas nacionesestán desarrollando su industria de software en base a capital humano importado. Tal esel caso de Panamá, que recientemente creó un parque tecnológico cuyo modelo conside-ra la importación de cientos de profesionistas de software. Aún es muy temprano paradecidir si este modelo es eficaz y sostenible, pero no hay que perderlo de vista.

Número de empleados en el sector de software (miles de personas)

México

Chile

Irlanda

Argentina

C. Rica

Uruguay

EE.UU. 1,800

Brazil

Filipinas

China

India

0 100 200 300 400 500 600 700 800

Número de egresados anuales en carreras de sistemas computacionales

Brasil

Chile

Irlanda

Argentina

C. Rica

Uruguay

India

México

Filipinas

China

EE.UU.

0 20,000 40,000 60,000 80,000 100,000 120,000

EE

.UU

.

1

2

3

4

5

6

0

Ind

ia

Irla

nd

a

C.

Ric

a

Ch

ile

Fil

ipin

as

Uru

gu

ay

Bra

zil

Arg

en

tin

a

xic

o

Ch

ina

Ru

sia

Calidad de los programas educativos y de capacitación en T.I.7

24 > OCT-DIC 2004 > www.softwareguru.com.mx

La cantidad de capital humanodisponible es vitalpara acumular unamasa crítica queenergice la industria.

Page 27: EN SUS MARCAS - desquer.ens.uabc.mx

Salario anual promedio de profesionistas de software en dólares (2002)

Tailandia

Malasia

Chile

China

Argentina

FilipinasRusia

Brasil

India

EE.UU.

México

Irlanda

Singapur

Japón

0 20,00010,000 30,000 40,000 50,000 60,000 70,000

www.softwareguru.com.mx > OCT-DIC 2004 > 25

INDUSTRIAEl perfil y características de la industria son determinantes para su éxito en el mercadoglobal. Las principales características que inciden en el éxito del sector son: efectos decluster, número de empresas, tamaño, asociaciones y estándares a los que aspiran.

Un cluster representa una masa crítica de empresas con proximidad geográfica. El clusterde tecnología más conocido a nivel mundial es Silicon Valley. Los efectos de cluster son muyimportantes ya que proveen un ambiente de competencia y cooperación entre empresas. Lacompetencia se traduce en innovación y la cooperación en crecimiento. Los efectos de clus-ter también se generan como resultado de las redes de profesionistas que comparten suconocimiento y experiencia. En México las empresas de software tradicionalmente han esta-do diseminadas en las grandes áreas metropolitanas. Existen esfuerzos recientes paragenerar clusters en diferentes zonas del país, pero están en etapas tempranas.

Una industria de software exitosa requiere una masa crítica de empresas con algunas detamaño significativo. Las empresas grandes (más de cien empleados) funcionan como núcleoalrededor del cual se desarrollan empresas pequeñas. En México existen cerca de 1,500empresas en la industria de software, y 83% de ellas cuenta con menos de 50 empleados. Anivel mundial, el promedio de empleados por empresa en esta industria es de 250.

Software Guru

SALARIOSEn contraste con el factor de la calidad de vida, está el delos salarios. Los directivos que adquieren servicios de out-sourcing buscan al proveedor de más bajo costo, y el prin-cipal componente del costo son los salarios de losdesarrolladores y gerentes.

El salario promedio para un programador mexicano condos o tres años de experiencia en la Ciudad de México esde $18,000.00 dólares al año. En las ciudades deGuadalajara y Monterrey el salario es de 10 a 15% menor.Aunque este nivel de salario es significativamente infe-rior al que se presenta en Estados Unidos, Europa,Australia y Japón, sigue siendo relativamente alto si secompara con otros países asiáticos como India, Filipinaso China. Aún en América Latina, México es el país máscaro en mano de obra.

Pretender ser el país con los salarios más bajos es unacarrera sin sentido. Hay poco que los países puedan hacerpara competir en este ciclo en el que la inversión y los inte-reses rápidamente se mueven hacia los países con sala-rios más bajos. Esta dinámica no es exclusiva de laindustria de software. Ya la vivimos en el periodo posteriora la Segunda Guerra Mundial, cuando la manufactura semudó a Japón, que posteriormente encareció su mano deobra, obligando a la industria a migrar hacia Corea yTaiwán, que vivieron el mismo ciclo, para finalmente recu-rrir a China. En el caso de la industria de software, Indiafue la opción más barata durante muchos años, pero sussalarios han subido, además de que surgieron países conmenores salarios.

Pretender ser el paíscon los salarios másbajos es una carrera

sin sentido...

Page 28: EN SUS MARCAS - desquer.ens.uabc.mx

EN PORTADA

26 > OCT-DIC 2004 > www.softwareguru.com.mx

Tamaño de la Industria de T.I. (ventas anuales en millones de dólares)

México

Argentina

Filipinas

Uruguay

Chile

C. Rica

EE.UU. $282,644

Brasil

India

Irlanda

China

$0 $4,000$2,000 $6,000 $8,000 $10,000 $12,000 $14,000

Número de empresas en sector de software

Chile

Uruguay

México

Irlanda

C. Rica

EE.UU. 76,524

India

Filipinas

China

Brasil

0 2,0001,000 3,000 4,000 5,000 6,000

Número de empresas con acreditación CMM

Chile

Uruguay

Irlanda

Filipinas

Argentina

EE.UU. 1,838

México

Brasil

China

India

0 10050 150 200 300250 350

C. Rica

Otro elemento a considerar es la habilidad de las empresas para agruparseen asociaciones que promuevan la industria nacional a la vez que proveende servicios a sus miembros. Este es el ejemplo de NASSCOM en la India,que ha ayudado a desarrollar la “marca” del software hindú alrededor delmundo. Adicionalmente, las empresas se pueden agrupar para mercadearsus productos y servicios en el exterior. Este es el caso de Fort Ross en SanPetersburgo, SibIT en Novosibirsk y Bulsoft en Bulgaria. En México hay algu-nos consorcios como Empeiria y Aportia.

La especialización también juega un papel importante en la competitividad y cre-dibilidad. Para tener éxito como industria, las empresas deben especializarse enun mismo nicho de productos o servicios específicos. Esta especialización favore-ce los efectos de cluster y facilita el branding a nivel internacional. Por ejemplo,Japón se especializa en videojuegos, India en servicios profesionales y desarrollooffshore, Irlanda en localización y desarrollo de productos comerciales, e Israelprovee tecnología de capas inferiores para ser incluida en productos de terceros.En el caso de México, la falta de enfoque y especialización es uno de los principa-les puntos débiles. Esto dificulta fuertemente una estrategia nacional de posicio-namiento hacia el mundo.

En cuanto a estándares de calidad se refiere, sabemos que el modelo de referen-cia más utilizado en esta industria es el Capability Maturity Model (CMM). Indiaes el país con mayor número de empresas certificadas en nivel 5, el máximo deeste modelo. Esto le da un gran renombre a nivel internacional, y provee tranqui-lidad a sus clientes sobre la calidad de los productos que va a obtener, mitigan-do el riesgo del desarrollo de software a distancia. En el caso de la industriamexicana, el nivel de madurez medido en términos del número de empresas conacreditación CMM, es el segundo en América Latina después de Brasil; aunqueeste último no tiene ninguna acreditación nivel 5, mientras que México tiene una.Como parte del esfuerzo para mejorar la capacidad de procesos de la industriamexicana, se creó el Modelo de Procesos para la Industria de Software —paramás información, ver columna adjunta (MoProSoft pg. 28).

Page 29: EN SUS MARCAS - desquer.ens.uabc.mx

CAPITALLa industria del software, como cualquier otra, requiereacceso a capital para crecer y desarrollarse. Existen diver-sas fuentes de capital, tanto internas como externas. Entrelas internas está la oferta de acciones de la empresa, fon-dos de gobierno y fondos de capital de riesgo, mientrasque en las externas destaca la inversión extranjera directay la ayuda de organismos internacionales. El caso deIrlanda es notable, donde su Agencia de DesarrolloIndustrial ha logrado atraer una gran cantidad de inversiónextranjera directa. En Israel, su Secretaría de Industria yComercio ha apoyado a las empresas de tecnología concréditos bastante blandos.

El Global Information Technology Report 2003-2004 ponea México en el lugar número 76 en este rubro. Sin duda,este es uno de los factores en los que más adolece laindustria de software mexicana. Las empresas han tenidoque financiarse internamente, lo cual ha limitado suscapacidades de crecimiento. Los créditos bancarios no sonuna opción atractiva, ya que además de su alto costo, nose cuenta con colaterales de garantía, ya que los principa-les activos de las empresas de software son intangibles.Esta es una de las principales razones por las que no haprosperado la industria local de software empaquetado.

Fuente: Global Information Technology Report 2003-2004

INFRAESTRUCTURALas empresas de software requieren una infraestructurade telecomunicaciones abundante y barata. De igualimportancia es la provisión continua de energía eléctricaque muchas veces se toma por dada pero que en algunospaíses continúa siendo un problema.

En países donde la infraestructura disponible es insufi-ciente se han utilizado diferentes soluciones. Por ejemplo,en India en la década de los 80 las empresas optaron porutilizar redes satelitales para comunicarse con sus clien-tes en el extranjero, y en el 2002 se inauguró un cable sub-marino de 3,200km que conecta la ciudad de Chennai conSingapur. En otros lugares se ha generado infraestructuradedicada para clusters tecnológicos, como es el caso deFilipinas, donde existen parques tecnológicos con capaci-dades de conectividad muy por encima de las provistas enel resto del país.

Las estadísticas disponibles en este rubro son engañosas,ya que evalúan la infraestructura a nivel país, no por zonaso clusters. México ocupa el lugar 42 a nivel mundial, aun-que sus principales ciudades (México, Guadalajara yMonterrey) cuenten con servicios de telecomunicacióncomparables a los disponibles en Estados Unidos.

Sin embargo, el punto débil para México en cuanto a infra-estructura no es su disponibilidad ni calidad, sino sucosto, ya que éste se encuentra notoriamente por arribadel de sus principales competidores.

Fuente: Global Information Technology Report 2003-2004

(5)

Sin

ga

pu

r

3.00

4.00

2.00

(16

) H

on

g K

on

g

(22

) Is

rae

l

(32

) Ir

lan

da

(34

) B

ras

il

(36

) C

hil

e

(38

) A

rge

nti

na

(41)

Uru

gu

ay

(42

) M

éx

ico

(49

) C

. R

ica

(67)

In

dia

(72

) C

hin

a

Infraestructura de TIC a nivel nacional

5.00

Ch

ina

5

10

15

20

25

0

Ind

ia

Uru

gu

ay

Bra

zil

Ru

sia

Fil

ipin

as

Ch

ile

Irla

nd

a

EE

.UU

.

C.

Ric

a

Arg

en

tin

a

xic

o

Costo promedio de 20 horas de acceso a Internet

(3)

EE

.UU

.

3.00

5.00

6.00

1.00(4

) Is

rae

l

(9)

Irla

nd

a

(12

) S

ing

ap

ur

(15

) H

on

g K

on

g

(28

) In

dia

(54

) B

ras

il

(58

) V

ietn

am

(68

) C

. R

ica

(71)

Fil

ipin

as

(76

) M

éx

ico

(98

) A

rge

nti

na

Disponibilidad de capital de riesgo

4.00

2.00

www.softwareguru.com.mx > OCT-DIC 2004 > 27

Software Guru

Page 30: EN SUS MARCAS - desquer.ens.uabc.mx

EN PORTADA

Hacia una industria de software competitiva con MoProSoftPor Francisco López Lira

“Hombres haga quien quierahacer pueblos.”

—José Martí

Según Porter, para que una empresaobtenga una ventaja competitiva sosteni-da depende de:

a) La estructura de la industria.b) La estrategia, puede estar basada en:

• Ofertar productos/servicios con mayor valor y/o• Reducir costos (eficiencia operacional).

El Modelo de Procesos para la Industriade Software (MoProSoft) es parte de lostrabajos en curso para impulsar la indus-tria mexicana de software. El modelo fuedesarrollado ante la necesidad de contarcon una norma que ayudara a elevar elnivel de calidad de la industria y fueraaccesible para las empresas (y áreas inter-nas de desarrollo) pequeñas y medianas.MoProSoft incluye un conjunto de herra-mientas que pueden coadyuvar con lacompetitividad de las empresas, como: laplaneación estratégica, el enfoque de pro-cesos, esquemas de verificación y valida-ción interconstruidos, un enfoquesistémico, la inclusión de los tres nivelesde la organización, la administración deproyectos y las mejores prácticas deDesarrollo de Software.

Parafraseando a Martí, si queremos haceruna industria competitiva, tenemos quehacer empresas competitivas. MoProSoftpuede convertirse en una palanca deapoyo para alcanzar este propósito.

Invitamos a las empresas y organizacionesde software a que consulten MoProSoft ysu estatus actual en www.software.net.mx

••El autor es fundador y actual presidente

de la Asociación Mexicana para la

Calidad en Ingeniería de Software

ffllooppeezzlliirraa@@aammcciiss..oorrgg..mmxx

CONCLUSIONESLa brecha de la industria mexicana de software y servicios relacionados es muy significativa cuan-do se le compara con los principales países oferentes de software como Estados Unidos, la India oIrlanda. En América Latina, México ocupa el segundo lugar después de Brasil en la mayoría de loscriterios analizados, como tamaño de la industria, número de empresas y empleo. Sin embargo, loscostos en México son altos comparados con los de sus competidores en esta región.

El siguiente cuadro muestra un análisis FODA que resume la información provista en este estudio.

Los invitamos a que revisen el estudio completo de nichos de mer-cado para la industria mexicana de software, el cual se encuentradisponible en www.software.net.mx. Todas las estadísticas y gráficaspresentadas en este artículo fueron obtenidas de ahí, a menos quese especifique otra fuente.

Otras referencias:

Dutta, Soumitra, et al. Global Information Technology Report 2003-2004. Oxford

University Press, 2004.

Carmel, Erran. “The New Software Exporting Nations: Success Factors”. Electronic

Journal of Information Systems in Developing Countries, vol. 13, Mayo 2003.

28 > OCT-DIC 2004 > www.softwareguru.com.mx

VÍNCULACIÓNLa vinculación se refiere a la relación que surge entre indi-viduos, empresas o naciones debido a sus conexionesculturales, geográficas, lingüísticas o étnicas. La vincula-ción es esencial para realizar negocios, debido a que losdirectivos buscan relaciones que minimicen el riesgo y elcosto de hacer negocios.

Este es tal vez el factor donde México goza de mayoresventajas, ya que tiene una fuerte vinculación con EstadosUnidos, Canadá, América Latina y España. Su ubicacióngeográfica le da un huso horario similar al de estos países,así como un menor tiempo de traslado. Además, la culturasocial y de negocios con estos países es más cercana quela de la India u otras naciones asiáticas. México tambiéndebe aprovechar la diáspora de profesionistas que tieneen el extranjero y que pueden influenciar para enviar opor-tunidades en esta industria hacia este país.

OPINIÓN AMCIS

FORTALEZAS

• Estabilidad política• Huso horario similar a EEUU• Afinidad cultural con países de América• Proximidad y traslado rápido con países de América• Buena infraestructura• Tratados comerciales

DEBILIDADES

• Imagen y reputación —México no es reconocido como productor de software• Oferta limitada de mano de obra capacitada• Escaso manejo del inglés• Baja madurez de procesos• Acceso limitado a capital

AMENAZAS

• Alta competencia de naciones emergentes:Brasil, Rusia, Costa Rica, China y Filipinas• Incrementos en costo de mano de obra• Fluctuaciones en tipo de cambio• Constante invasión tecnológica

OPORTUNIDADES

• Amplio espacio para apoyo efectivo del gobierno• Capitalizar el apetito nearshore (EEUU)

• Asociación con jugadores globales de la industria• Servicios de localización para mercado latino

Page 31: EN SUS MARCAS - desquer.ens.uabc.mx
Page 32: EN SUS MARCAS - desquer.ens.uabc.mx

CA

SOD

EES

TUD

IO

La tecnología de información se ha convertido en un impulsor clave en el mundo actual.Debido a ello, construir sistemas que cubran las necesidades del cliente en el tiempo

y costo esperados es fundamental para el éxito de las empresas de desarrollo de softwa-re. Para lograr esa meta, hay que mantener el compromiso de definir y mejorar continua-mente los procesos de trabajo.

Si bien se ha escrito mucho sobre las experiencias de la aplicación de un proceso de soft-ware en las grandes organizaciones, poco conocemos acerca de las experiencias en laspequeñas empresas. En muchos países, entre ellos México, las pequeñas empresas repre-sentan un gran porcentaje de la industria. De acuerdo con información del INEGI, en nues-tro país las pequeñas y medianas empresas (PyMEs) representan más de 90% del total.

En este artículo se resume la experiencia en la implantación de los niveles 2, 3 y 4 de SW-CMM® en Ultrasist, S.A. de C.V., empresa mexicana de desarrollo de software a la medida.

Ultrasist ha realizado, desde su creación, un esfuerzo de mejora iterativo e incremental,mediante la adopción de mejores prácticas de diferentes modelos internacionales. La pri-mera versión del sistema de calidad se definió e implantó en el año de 1994. A partir deentonces, la empresa ha realizado revisiones y actualizaciones del sistema.

ULTRASISTPRIMER PYME 100% MEXICANA CON NIVEL 4 SW-CMM® Por María Julia Orozco M. y Claudia Alquicira

Una empresa con diez años de existencia,

es la primer PYME 100% mexicana en

obtener el nivel 4 del modelo SW-CMM®,

mediante una evaluación formal CBA-IPI

(CMM® Based Appraisal for Internal

Process Improvement). Maria Julia Orozco

y Claudia Alquicira narran el proceso que

siguieron para alcanzar este logro.

30 > OCT-DIC 2004 > www.softwareguru.com.mx

Page 33: EN SUS MARCAS - desquer.ens.uabc.mx

PROCESO SQAEEl SQAE está basado en la ingeniería de procesos, enten-diendo como un proceso al conjunto de prácticas que defi-nen el qué, cuándo, cómo y quién debe hacer las tareasdiarias para lograr una meta. Todo trabajo que se lleva acabo en Ultrasist es visto como un proceso, el cuál es defi-nido, ejecutado y evaluado para poder ser mejorado.

El SQAE está integrado por tres macro procesos básicos:Planeación, Construcción y Evaluación.

• El proceso de Planeación contempla el conjunto de acti-vidades para definir y mantener una metodología de tra-bajo que nos permita construir adecuadamente lassoluciones que ofrece la organización; definir cómo con-formar un equipo de trabajo que lleve a cabo las tareascomo se han planeado, perfeccionar la metodología esta-blecida con base en las mejores prácticas tanto de laindustria como del proceso mismo. Considera el conjuntode actividades que debe realizar la organización para man-tenerse actualizada en cuanto a las nuevas opciones detecnología de información y cómo se pueden aprovecharpara los productos de negocio actuales y futuros, así comoproponer nuevos productos de negocio basados en inno-vaciones tecnológicas; investigar, ver su factibilidad ytomar la decisión oportuna para su integración.

• El proceso de Construcción tiene como fin construir ymantener sistemas que produzcan resultados correctos,con un código eficiente y que cumplan con los requeri-mientos de negocio del cliente en el tiempo y costo espe-rados aplicando la metodología definida a las solucionesque ofrece la organización. Este proceso busca encontrarun término medio entre los métodos rigurosos que asegu-ran generar sistemas mantenibles, reutilizables y confia-bles pero con la desventaja que los resultados pueden sermuy lentos, contra los métodos de desarrollo rápido deaplicaciones que difícilmente pueden ser mantenibles yreutilizables.

• El proceso de Evaluación establece un mecanismo quenos permite evaluar la eficacia y eficiencia de los proce-sos, así como medir la calidad de los productos obtenidos,con el fin de poder optimizarlos. Encontrar las diferenciasentre lo documentado y lo real. Este proceso también seencarga de reforzar las nuevas normas, valores y procesosestablecidos para que permanezcan en la organizaciónhasta que tenga lugar un cambio.

La definición, implantación y mejora del proceso ha sido unesfuerzo continuo en la organización y se ha logrado a tra-vés de una metodología iterativa e incremental. Iterativa enel sentido que se consideran los éxitos obtenidos, los cua-les se integran para refinar constantemente el proceso.Incremental en el sentido que gradualmente se incluyennuevos elementos mediante progresos demostrables.

Nos hemos apoyado en varios modelos y estándares de laindustria, entre los cuales podemos mencionarPerspective, TSP (Team Software Process), SW-CMM®(Capability Maturity Model), ISO15504, PMBoK (ProjectManagement Body of Knowledge), TMM (Test MaturityModel) y actualmente MoProSoft (Modelo de Procesospara la Industria Mexicana de Software).

www.softwareguru.com.mx > OCT-DIC 2004 > 31

Software Guru

PROCESO DE DESARROLLO DE SOFTWAREEn el proceso de desarrollo de software es necesario consi-derar un conjunto de actividades que garanticen una venta-ja competitiva sostenible, proyectando una serie deestándares y guías para la construcción de aplicaciones,capacitación del personal, adquisición e implantación deherramientas de apoyo.

La ausencia de estos elementos en las tareas diarias derivaen que gran parte del tiempo se invierta en dar respuestasrápidas a problemas urgentes, con soluciones que no siem-pre son duraderas y correctas, ya que no son planeadas.Esto trae como resultado que las tareas urgentes tenganmayor prioridad que las importantes y que una misma acti-vidad se realice más de una vez. Esto implica a las empre-sas una pérdida de tiempo, de recursos financieros yhumanos, aumentando sus costos de operación y disminu-yendo sus utilidades.

Para tener un proceso de desarrollo eficiente y efectivo, hayque planear cada una de las actividades que se realizan,monitorearlas y controlarlas; asegurarse de que cada unode los miembros cuenta con los conocimientos necesariospara desempeñar correctamente las tareas que le son asig-nadas; fomentar buenos hábitos de desempeño como ladisciplina y el trabajo en equipo; compartir el conocimientoy utilizar tecnología que apoye a realizar eficientemente laslabores. Es necesario proveer de manera eficiente los recur-sos y prevenir los defectos; evitar la duplicidad de tareas nosólo en los proyectos, sino a nivel organización.

Ultrasist, consciente de esto, desde sus inicios decidió defi-nir un proceso que precisara las prácticas que deben llevar-se a cabo para construir las soluciones que la organizaciónofrece. A ese proceso hoy en día lo denominamos SQAE.

La característica general tanto del proceso creado como delos resultados que produce, es un enfoque minimalista quereduce la curva de aprendizaje de los elementos de la orga-nización. Se buscó que fuera un proceso ligero con un esque-ma de múltiples roles, pues de lo contrario el costo parallevarlo a cabo podía ser prohibitivo para la organización.

Page 34: EN SUS MARCAS - desquer.ens.uabc.mx

CA

SOD

EES

TUD

IO

MÉTRICASEl SQAE establece las actividades necesarias para la definición, recolección y análisis demétricas. Ultrasist cuenta con un grupo que es responsable por definir y actualizar lasmétricas de los procesos y de los productos, considerando que éstas sean cuantitativasy que proporcionen información de la eficacia y eficiencia del proceso, así como de la cali-dad del producto.

Los responsables del proyecto o proceso recolectan las métricas de acuerdo con unaperiodicidad establecida, apoyándose en una herramienta desarrollada por la organiza-ción, denominada SQAT. Esta herramienta ha sido robustecida a la par de la actualizacióndel SQAE, por lo que además de la recolección de métricas satisface las necesidades defi-nidas por los procesos, por lo que la hace una herramienta ad-hoc para la implantacióndel mismo.

El análisis de las métricas se realiza tanto a nivel proyecto como a nivel organizacional.Cada proyecto es responsable de analizar las métricas, generadas por el mismo en cadacierre de fase, y comparar los resultados con las metas de calidad del proyecto. En casoque exista una desviación, se toman acciones correctivas y, si es necesario, se escala alsiguiente nivel. Este análisis se realiza de manera formal en cada cierre de fase, pero losadministradores de proyecto lo realizan durante la fase, lo que permite tomar accionesanticipadamente y así poder hacerlo de manera oportuna.

El grupo de métricas realiza el análisis del comportamien-to de la organización por medio del consolidado de lasmétricas definidas en el SQAE para dar seguimiento a lasmetas de calidad organizacionales. Con base en éstas seestablecen las metas de los proyectos, las cuales se ajus-tan de acuerdo a la tecnología y al tipo de proyecto.

Ultrasist cuenta con datos de métricas desde el año 1999,hecho que nos ha permitido tomar decisiones basadas enel resultado del análisis de las mismas.

ESTÁNDARES ORGANIZACIONALESUn elemento importante del SQAE, que facilita la comuni-cación entre los equipos de trabajo de manera ágil y llevaa cabo los procesos de manera efectiva, es la definición deestándares organizacionales, ya que es una buena prácti-ca, sobre todo cuando intervienen varias personas en eldesarrollo de un trabajo. En la organización se tienen defi-nidos estándares para nombrar desde los elementos de unprograma hasta los elementos de la red, estándares dedocumentación, tanto de proyectos como de procesos,entre otros.

HERRAMIENTASPara hacer eficiente el trabajo hemos integrado herra-mientas que facilitan la documentación de los procesosde la organización, el modelado de los sistemas, la sin-cronización de los modelos con los lenguajes de progra-mación y las bases de datos, generación automática dela documentación de los sistemas y la administración ypublicación de los componentes a reusar.

Los criterios principales para elegir las herramientas esque cumplan con los estándares de vanguardia de laindustria y, sobre todo, que estén al alcance de nuestropresupuesto.

Bajo esta premisa, adquirimos “Select ComponentFactory”, conjunto de herramientas enfocadas al modela-do que permite a las organizaciones apoyarse en un

32 > OCT-DIC 2004 > www.softwareguru.com.mx

Siempre hemos buscado que el SQAE sea un proceso ágil, sencillo, robusto y evolutivo.

Ágil.- Que sea una guía, mas que un conjunto de reglas rígidas, que defina lo quehay que hacer sin generar cuellos de botella, complejidad o burocracia en el traba-jo y que nos permita alinearnos dinámicamente a las necesidades de los proyectos.Que pueda adecuarse para manejar los diversos proyectos. Algunas actividadespueden incluirse o excluirse dependiendo de la complejidad del proyecto. Que sealo más general posible pero sin dejar lugar a ambigüedades.

Sencillo.- Fácil de aprender y de aplicarse. Que dé resultados factibles y prácticosy que para ello no requiera una estructura compleja en la organización.

Robusto.- Que permita crear sistemas correctos de una forma adecuada a la velocidadque las organizaciones demandan. Entendiendo como sistema correcto aquel quesoporta de la mejor manera no sólo las necesidades del usuario, sino del negocio.

Evolutivo.- Que defina una estrategia de mejora continua, que mediante una tácti-ca para recolectar y evaluar datos, permita medir y mejorar el proceso y los pro-ductos. Que permita aprender de las fortalezas y debilidades.

Planeación

Procesos

Metodología

•Refinar aplicando las mejores prácticas

Construcción

Evalúa Productosy Procesos

Evaluación

A D M I N I S T R A D O S

ProductoMejores Prácticas

Métricas

Base de

Conocimiento

Herramientas

Page 35: EN SUS MARCAS - desquer.ens.uabc.mx

HACIA SW-CMM®En el año de 2003, Ultrasist tomó la decisión de evaluarse bajo el modelo SW-CMM®. Unavez tomada esta decisión, se efectuó un análisis de brecha de las prácticas establecidas enla organización con respecto al modelo. Con base en el análisis realizado, y tomando encuenta la madurez de los procesos ya implantados, se priorizaron los objetivos con la AltaDirección y se elaboró el Plan de Calidad. Se acordó contar durante el proyecto con el apoyode Avantare, empresa experta en programas de mejora que cuenta con consultores conconocimientos y experiencia en SW-CMM® para asegurar el apego al modelo.

Avantare proporcionó un servicio integral, brindando asesoría para la revisión documentaldel proceso y la verificación de la implantación.

La estrategia que se utilizó en la organización fue realizar una sesión de trabajo semanal entreel grupo de procesos y el consultor. Durante la revisión documental del proceso, esta estrate-gia fue apropiada y ágil porque permitió tener una interacción personal entre ambas partes, enla que se aclaraban dudas tanto del modelo como del proceso, se acordaban puntos que eraninmediatos y se dejaban tareas para ser realizadas durante la semana.

La implantación de las mejoras a los procesos se realizó con la misma metodología iterativa eincremental, es decir, una vez que el proceso se terminaba de revisar contra un área clave delmodelo, la organización iniciaba la implantación del mismo. La verificación de la implantaciónse inició una vez actualizado el proceso de aseguramiento de calidad, por lo que esta área fueuna de las primeras en planearse. Para la verificación se asignó un consultor experto en ase-guramiento de calidad, con el objetivo de verificar el proceso y de capacitar en la práctica a losresponsables de aseguramiento de la calidad. Como uno de los resultados de estas activida-des, se determinó que la organización estaba preparada para la evaluación formal CBA-IPI(CMM® Based Appraisal for Internal Process Improvement).

ELEMENTOS INDISPENSABLES PARA LA PUESTA EN MARCHAEn Ultrasist la puesta en marcha de un ciclo de mejora implicó involucrar a todos los nivelesde la organización. Un elemento indispensable fue el compromiso de la Alta Dirección. Estecompromiso facilitó la implantación y capacitación en el proceso y en las técnicas necesa-rias, así como la constante asesoría y supervisión. El poder involucrar a toda la organizaciónse convirtió en el motor para motivar sobre los beneficios que nos brinda el proceso, fomen-tar el trabajo en equipo, obtener la retroalimentación en las fallas y fortalezas del proceso,e imponer la disciplina en los grupos de trabajo.

PRÓXIMOS PASOSVamos por la I.- En el 2005, Ultrasist hará la transición para alcanzar un buen nivel deCMMI® (Capability Maturity Model Integrated), para lo cual está trabajando conjuntamentecon Avantare para realizar el análisis de brecha.

www.softwareguru.com.mx > OCT-DIC 2004 > 33

Software Guru

desarrollo basado en componentes y entregar sistemasque cumplen con la evolución de las necesidades delnegocio. La herramienta permite el desarrollo rápidode aplicaciones de negocio flexibles y escalables a cos-tos bajos y reduciendo los riesgos.

Con base en nuestra experiencia, podemos decir queun proceso difícilmente puede llevarse a cabo eficien-temente sin herramientas, pero su puesta en marchadebe ser después de haber definido el proceso.

BASE DE CONOCIMIENTOLa organización tiene mecanismos definidos que per-miten que la experiencia adquirida en los proyectos yprocesos se resguarde en una base de conocimiento, lacual es accesible y clara para todos. Contar con unabase, adicionalmente nos permite tener de maneraorganizada y controlada el conocimiento generado.

La base de conocimiento contiene la información de unaforma consistente y con integridad, adicionalmente esaccesible a todos los miembros de la organización de unaforma rápida e inmediata. Contempla las experienciasadquiridas, permitiendo clasificarlas de acuerdo a losintereses de los diferentes grupos, la información de losproyectos, lo que ha fallado y lo que ha tenido éxito;información de tecnología, incluyendo los riesgos quehan surgido por utilizar cierta herramienta, lenguaje oplataforma; información de los modelos construidos yaciertos en la conformación de equipos de trabajo; pro-yectos que han estado fuera de presupuesto y por qué;defectos técnicos más frecuentes y cómo se han solucio-nado. De esta forma, el conocimiento adquirido no sequeda en los individuos, es un valor de la organización.

“Se tienen definidos estándares para nombrar

todos los elementos usados.”

Ma. Julia Orozco ocupa la Dirección Técnicaen la empresa Ultrasist. Es Matemática conestudios de Maestría en Ciencias de laComputación. Ha impartido cursos en univer-sidades, gobierno e iniciativa privada y ha sidoponente en diversos foros internacionales.

Claudia Alquicira trabaja en AvantareConsultores como consultor en programas demejora en organizaciones de desarrollo de soft-ware. Claudia cuenta con Maestría en Cienciasde la Computación y sus areas de interés son laingeniería de software, calidad y tecnología ori-entada a objetos.

Page 36: EN SUS MARCAS - desquer.ens.uabc.mx

SERVICIOSEstrictamente hablando, un servicio es un trabajo que sedesempeña a favor de un tercero. En nuestras actividadescotidianas estamos acostumbrados a utilizar todo tipo deservicios, por ejemplo, el de una cafetería, donde selec-cionamos una opción del menú, comunicamos nuestraelección al mesero y pagamos la cuenta.

¿No deberían ser igual de sencillas las cosas en el mundodel software? ¿Qué pasaría si nuestras aplicaciones actua-ran como el ejemplo de la cafetería? En este caso habríaun programa proveedor que describiría en un menú susservicios disponibles, así como la lista de requisitos paradisponer de ellos. Otros programas cliente serían capacesde interpretar esta información, invocar el servicio y lograrasí una comunicación exitosa. Un aspecto relevante eneste ejemplo es que el cliente no necesita saber qué accio-nes va a realizar el proveedor para satisfacer su petición.En la cafetería los límites son muy claros, todo lo que suce-de detrás del mostrador es responsabilidad exclusivamen-te de la cafetería. Usted no va a brincar el mostrador eirrumpir en estas tareas, ¿cierto? Esta analogía tambiénaplica a los sistemas, ya que no es recomendable que unprograma invada el dominio de otro. Esta autonomía es unconcepto vital en una arquitectura orientada a servicios.Los límites deben estar claramente definidos, de tal formaque los clientes no requieran saber cómo es que un pro-veedor realiza cierto servicio, sino que solamente se inte-resen en el resultado.

Estos escenarios son altamente deseables y requieren quela industria evolucione de un modelo de orientación aobjetos hacia un modelo de orientación a servicios. Estono significa que vayamos a desechar el modelo de orien-tación a objetos. La orientación a servicios simplementeconsiste en agregar una capa de abstracción, la cual per-mita que los objetos se comuniquen de manera organiza-da y desacoplada, logrando así que estos objetos seanmás entendibles, flexibles y útiles para el negocio.

34 > OCT-DIC 2004 > www.softwareguru.com.mx

EntendiendoWEB SERVICES y SOAPor Mauricio Durán y Fernando Gutiérrez

ArquitecturaPR

ÁCT

ICA

S

L os web services y las arquitecturas orientadas a servicios —SOA por sus siglasen inglés— están revolucionando la forma de construir sistemas de software.

Gartner prevé que para el 2006 más de 60% de las empresas basarán sus arqui-tecturas empresariales sobre estas tecnologías. Sin embargo, muchas organizacio-nes aún no las entienden bien y están confundidas respecto a sus beneficios yriesgos. En este artículo revisamos algunos de sus aspectos fundamentales con elobjetivo de entenderlas e identificar sus implicaciones.

La orientación a servicios consiste enagregar una capa de abstracción que

permita que los objetos se comuniquende manera organizada y desacoplada.

Page 37: EN SUS MARCAS - desquer.ens.uabc.mx

SOA¿Por qué surge la necesidad de una arquitectura enfocada a servicios?

La principal meta de de los sistemas de información de una empresa es alinearse con la estra-tegia de negocios de la misma. El éxito de un sistema es medido en términos de los beneficiosque genera al negocio mediante la automatización de procesos. En el mundo actual de nego-cios, los procesos se encuentran en cambio constante, así que la capacidad para adaptarse aestos cambios es un factor vital para el éxito. Es aquí donde surge la necesidad de crear arqui-tecturas orientadas a servicios, que sean multiplataforma, basadas en estándares y, sobretodo, que sean ágiles, o sea, que fácilmente puedan adaptarse a cambios.

¿Qué es SOA?

La Arquitectura Orientada a Servicios (SOA) es un patrón arquitectónico para diseñar sistemasde tipo petición/respuesta. Consiste en lograr que las aplicaciones expongan su funcionalidadcomo servicios, y que éstos interactúen de manera flexible y no intrusiva. Es aquí donde losweb services juegan un rol importante, debido a que proveen los mecanismos necesarios paraque esta arquitectura sea exitosa en ambientes heterogéneos. Una arquitectura orientada aservicios no forzosamente debe ser implementada a través de web services, pero suele ser unabuena opción, ya que, después de todo, fueron diseñados con este propósito.

La Figura 1 muestra un modelo muy básico de una arquitectura orientada a servicios. En élpodemos identificar los roles de consumidor y proveedor, además de un tercer tipo de entidadque representa el directorio de servicios.

El consumidor del servicio primero realiza una búsqueda en el UDDI Registry y obtiene la infor-mación necesaria para llamar al proveedor de servicios B. A su vez, B busca y solicita un ser-vicio a C para poder satisfacer la petición de A.

Anatomía de una aplicación orientada a servicios

Cada una de estas aplicaciones deberá estar compuesta por diferentes capas, como lo mues-tra la Figura 2. Un servicio puede tener clientes internos, por ejemplo, la capa de interfaz deusuario de la aplicación, o también clientes externos, como una aplicación de otra empresa.Ambos tipos de cliente pueden accesar la capa de servicios de igual forma, sin importar lastecnologías con que fueron desarrollados. Además, pueden notar que la capa de UI de la apli-cación también puede realizar llamadas directamente a los componentes de negocio, en casode ser necesario.

WEB SERVICESTradicionalmente hemos utilizado diversas alternati-vas para intercomunicar sistemas: sockets, accesodirecto a las bases de datos, o mecanismos comoRMI, CORBA o DCOM, con los cuales es posible lograrla interoperabilidad deseada, pero a costa de un altoacoplamiento. Otra desventaja de estas tecnologíases que ninguna es considerada como un estándar enla industria.

Esta situación llevó a las principales empresas de laindustria a trabajar en conjunto para definir un grupode estándares que permitiera homogeneizar la formaen que los sistemas interactúan a través de servicios.Este conjunto de especificaciones definen lo queconocemos como web services, y son administradaspor organismos de estándares como el World WideWeb Consortium (WC3), y OASIS. Los principales ele-mentos de esta plataforma son los siguientes:

UDDI (Universal Description, Discovery and

Integration).- Es un mecanismo para encontrar webservices. Si tomamos en cuenta que cualquier personapuede escribir un servicio y publicarlo, entonces nosenfrentamos a la necesidad de contar con un directorioque nos permita tanto publicar como buscar los servi-cios que nos interesan. Por ejemplo, si queremos agre-gar a nuestro sitio web un recuadro que indique lascondiciones de clima actuales, podemos ir a un direc-torio de servicios como el provisto por Microsoft enhttp://uddi.microsoft.com/search/ y buscar un servi-cio utilizando la palabra “clima”. Este es un ejemplo deun directorio público, pero también hay directorios pri-vados para uso exclusivo de una organización.

WSDL (Web Service Definition Language).- Define lasreglas que deben de seguir los documentos que des-criben un web service. Estos documentos contieneninformación como tipos de datos, mensajes y proto-colos soportados por el servicio. Continuando con elejemplo anterior del servicio del clima, sería en estedocumento donde se especifiquen los diferentesmétodos para obtenerlo y la información que debe-mos enviar como parámetro. Quizá uno de los méto-dos nos pida un código postal, mientras otro solicitela ciudad, estado y país.

SOAP (Simple Object Access Protocol).- Hasta ahorahemos listado los estándares que rigen la búsqueday descripción de un web service. El siguiente paso esacordar las reglas que deben seguir los mensajes, osea, el protocolo de comunicación. Esto es lo queresuelve SOAP, que es un protocolo sencillo y noabarca temas como seguridad o confiabilidad demensajes, ya que éstos son abarcados en otras espe-cificaciones como WS-Security o WS-Addressing.

En resumen, un web service es una aplicación quepuede ser accesada usando los estándares descritosanteriormente. Probablemente notaron que ningunade estas definiciones menciona plataformas ni len-guajes de programación. Esto es debido a que la prin-cipal idea detrás de un web service es que seaindependiente de las tecnologías utilizadas por elproveedor y consumidor.

www.softwareguru.com.mx > OCT-DIC 2004 > 35

Aplicación A Aplicación B Aplicación C

Consumidor Consumidor/Servicio

Servicio

SolicitudSolicitud

Respuesta Respuesta

Búsqueda BúsquedaUDDIRegistry

Software Guru

FFiigguurraa 11

Page 38: EN SUS MARCAS - desquer.ens.uabc.mx

PRÁ

CTIC

AS

Arquitectura

Retos de SOA

SOA implica nuevos retos y consideraciones para quienesdesarrollamos sistemas empresariales. Debemos apren-der a diseñar e implementar servicios autónomos y conbajo acoplamiento. Esto se refiere a que no podemos asu-mir nada acerca de los consumidores de un servicio. Laesencia de un servicio está en su capacidad para ser reu-tilizado en contextos desconocidos. Si no ponemos el bajoacoplamiento como prioridad, generaremos aplicacionesmonolíticas y desaprovecharemos los beneficios potencia-les de SOA.

El bajo acoplamiento habilita la reutilización pero aumen-ta la complejidad. Un caso común es que en la aplicaciónA el término “orden de compra” puede referirse a algo muydiferente que en la aplicación B. Es por esto que es comúnque el ensamble de servicios requiera elementos que fun-cionen como adaptadores y provean un contexto común.

Otro elemento a tener en cuenta es la dificultad para pro-bar estos sistemas. Al no tener control sobre el ambienteni clientes de un servicio, el diseño y ejecución de pruebasdebe ser muy completo y adquiere gran complejidad.

¿Por dónde empezar?

Los principales proveedores de software están convenci-dos de que Web Services y SOA son el camino a seguir,así que están fomentando el uso de estas tecnologías yproveen muchos recursos para comenzar. Aunque uno delos grandes objetivos de web services y SOA es la inte-racción independiente de plataforma, a fin de cuentas esnecesario implementar los programas en algún lenguajede programación. En el caso de utilizar tecnologíaMicrosoft, su primera fuente de referencia debe ser elWeb Services Developer Center (http://msdn.micro-soft.com/webservices), donde encontrará material dereferencia, tutoriales y las noticias más recientes.También recomendamos ampliamente el libro de JeffreyHasan, listado en las referencias.

Aplicación Externa

Aplicación

Consumidor del WebService

Capa de Interfacede Usuario

Capa de Servicios

Objetos de Negocio

Aplicación “Legacy”Repositoriode Datos

36 > OCT-DIC 2004 > www.softwareguru.com.mx

Esta arquitectura permitirá que los sistemas “legacy”sean envueltos en una arquitectura de servicios y pue-dan ser aprovechados.

Mauricio Durán es arquitecto de software espe-cializado en tecnologías Microsoft con más de 6años de experiencia en desarrollo de software ala medida. Mauricio es fundador de SieenaSoftware, empresa basada en Monterrey, N.L.,dedicada a proveer servicios de tecnología aempresas de México y Estados Unidos.

Fernando Gutiérrez es arquitecto de software yco-fundador de Sieena Software. Fernandotiene experiencia trabajando con un amplioespectro de tecnologías, y conoce a profundidadJ2EE y el .NET Framework.

Para implementación en J2EE, sugerimos los sitios paradesarrolladores de IBM (http://www.ibm.com/developer-works/webservices) y Sun (http://java.sun.com/webser-vices) donde podrá obtener kits de desarrollo, tutoriales yejemplos.

CONCLUSIONESLa mesa está puesta para que comencemos a explotarestas tecnologías y construyamos mejores sistemas. Eneste artículo platicamos algunos conceptos básicos yesperamos haber despertado interés en este tema queestá revolucionando la industria y del cual seguramenteno querrá quedarse fuera.

Referencias

Hasan, Jeffrey. Expert Service-Oriented

Architecture in C#. APress, 2004.

Natis, Yefim & Roy Schulte. Introduction to

Service-Oriented Architecture. Gartner, 2003.

FFiigguurraa 22

Page 39: EN SUS MARCAS - desquer.ens.uabc.mx
Page 40: EN SUS MARCAS - desquer.ens.uabc.mx

Hace ya varios años, un consorcio internacional llamado Object Management Group(www.omg.org), publicó el Unified Modeling Languaje (UML), el estándar interna-

cional para el modelado de sistemas de software. El UML ha revolucionado a la indus-tria en muchos aspectos. Sin embargo, uno de sus bloques de construcción másimportantes es, tal vez, el menos comprendido. Me refiero al Caso de Uso (CU).

Cuando los Casos de Uso son bien aplicados, las probabilidades de éxito de los pro-yectos de ingeniería de software se incrementan de manera importante. Este artículoestá dividido en dos secciones. En la primera, trataré de convencerlos de la granimportancia de la aplicación correcta de los Casos de Uso. En la segunda parte utili-zaré antipatrones, aunque de manera informal, para ayudarles a identificar y evitarlos tres errores más graves, cometidos durante el análisis, modelado, y especificaciónde requerimientos.

PRÁ

CTIC

AS

Requerimientos

CASOS DE USOLO MÁS IMPORTANTE Y MENOS ENTENDIDO DE UMLpor Roberto Silva

IMPORTANCIA DE LOS CASOS DE USOExpertos —Boehm y Papaccio— y analistas —StandishGroup— de la industria, coinciden acerca de una reali-dad muy desafortunada: los errores más comunes y demayor impacto negativo en el resultado de los proyectosde software son cometidos durante el desarrollo derequerimientos.

Los Casos de Uso representan las condiciones y capaci-dades que el sistema de software deberá cumplir y tenerrespectivamente, desde el punto de vista funcional. Elmodelo de Casos de Uso nos permite visualizar el alcan-ce del sistema en términos de los servicios que ofrece asus usuarios, que en UML son llamados Actores.Además, los Casos de Uso son las únicas piezas de infor-mación utilizadas por todos los partícipes (stakeholders)del sistema de software.

En promedio, 30% del total de lo que terminan costandolos proyectos de software es utilizado únicamente pararesolver problemas, que fueron generados desde etapastempranas del proyecto, durante el desarrollo de requeri-mientos. Lo más grave es que todo este esfuerzo correcti-vo no agrega valor al resultado final del proyecto, y tira ala basura una gran cantidad de dinero.

ERRORES GRAVES Y COMUNES DE LOS MODELOS DE CASOS DE USODescomposición Funcional.- Es muy común caer en des-composición funcional al momento de identificar Casos deUso. Cuando hay Casos de Uso que han sido definidos entérminos de las típicas funciones de un sistema de softwa-re, es cuando hemos caído en la trampa de las analogías.

Un Caso de Uso es una abstracción de funcionalidad ofre-cida por un software orientada a un Actor. Un Actor es unapersona, dispositivo u otro sistema que actúa sobre el sis-tema de software, porque éste le permitirá o le facilitará ellogro de un objetivo específico. Los Actores interactúancon el sistema para conseguir un resultado observable yde valor. Es por esto que se llaman Casos de Uso; cadauno de ellos representa una razón —el objetivo— para uti-lizar el sistema de software.

Por ejemplo, si un sistema de software está determinadopor veinte Casos de Uso, significa que hay veinte objetivosque podrán ser conseguidos interactuando con él, veintecasos en donde tendrá sentido usarlo; no significa quesólo es capaz de ejecutar veinte funciones.

Flujo de Datos.- Otra trampa de las analogías es interpre-tar la relación entre un Caso de Uso y un Actor como unflujo de datos, cuando su semántica es otra muy diferen-te. De hecho, el diagrama que contiene estas relaciones esun diagrama estático, que nos permite visualizar el alcan-ce del sistema de software en términos de sus servicios ysus consumidores correspondientes.

En muchas ocasiones este error de interpretación es cau-sado cuando tenemos una asociación unidireccional —una flecha—, ya que estamos acostumbrados ainterpretar las flechas como flujos de información o men-sajes. Cuando nuestro objetivo sea modelar este tipo deelementos dinámicos hay que utilizar otros diagramas deUML más adecuados para dicho fin, tales como diagramasde actividades, secuencia o de colaboración.

38 > OCT-DIC 2004 > www.softwareguru.com.mx

Page 41: EN SUS MARCAS - desquer.ens.uabc.mx

La interpretación correcta de la asociación entre un Actor y un Caso de Uso es simplemente “comu-nicación”; la relación de asociación representa el canal de comunicación que permite entablar undiálogo entre el Actor y el Caso de Uso. La flecha hay que interpretarla simplemente como una res-tricción en la comunicación en el sentido al que apunta. Por ejemplo, si la asociación va del Caso deUso hacia el Actor, significa que el Actor nunca inicia la comunicación, siempre lo hace el software.

Una manera mas sencilla de entender la relación entre un Caso de Uso y un Actor es la siguiente:veamos al Caso de Uso como un contrato de servicio, al Actor como el cliente del servicio y a la aso-ciación como el medio de entrega del servicio.

Mezclar el “Qué” con el “Cómo”.- Uno de los errores más graves es mezclar el “qué” y el “cómo”del sistema. Si un Caso de Uso es un contrato de servicio, ¿quién es el responsable de realizar dichoservicio cuando es requerido? En UML se le llama Realización de Caso de Uso, mejor conocida comoColaboración.

Una Realización de Caso de Uso es un conjunto de objetos que colaboran entre sí para lograr unresultado observable y de valor para el Actor. Es decir, la Colaboración nos muestra el “cómo” res-ponderá el sistema al flujo de eventos generados durante el diálogo entre el Caso de Uso y el Actor.Por consecuencia, el Caso de Uso es el “qué” del sistema; al definir lo que él deberá ser capaz derealizar para permitir al Actor lograr un objetivo específico usando el sistema de software. Por esose llaman Casos de Uso y para eso se inventaron.

Los Casos de Uso obligan al analista de sistemas a separar el “qué” del “cómo”, ya que sólo el pri-mero es su responsabilidad. El segundo es responsabilidad del arquitecto o diseñador de software.El analista de sistemas opera en el espacio del problema; el arquitecto o diseñador en el espacio dela solución.

Lo que hay que evitar es incluir en la Especificación de Caso de Uso elementos del interior del sis-tema; sólo debemos incluir detalles relevantes y necesarios para entender el diálogo. Hay que veral sistema de software como caja negra, abstrayendo su interior mientras se define perfectamentebien el objetivo y el medio de entrega del servicio correspondiente.

Si primero definimos los ingredientes del platillo que debemos preparar, seguramente no tendre-mos éxito ofreciendo el servicio de lavado de coches. Primero hay que definir el problema correctoy lograr un consenso entre todos los partícipes del sistema, después hay que especificar los reque-rimientos de una solución adecuada —el “qué”—, para poder continuar con el diseño y construc-ción de la solución —el “cómo”.

Roberto Silva es Fundador y Director de Desarrollo de Negocioen Impulsare, empresa dedicada a la educación y consultoría enBPM. Dedicó aproximadamente diez años a la integración y desa-rrollo de sistemas de software empresariales. Entre sus interesesactuales están la investigación y arquitectura de software comer-cial. Estudió Actuaría en la UNAM y cuenta con certificacionesinternacionales otorgadas por IBM-Rational.

ClienteRetirar Efectivo

Sistema

Bancario

Cliente selecciona Retirar Efectivo

Sistema despliega cantidades disponibles

Cliente Selecciona cantidad a retirar

Sistema depliega confirmación de operación

Sistema entrega efectivo

Sistema transmite petición de retiro

Sistema bancario acepta petición

www.softwareguru.com.mx > OCT-DIC 2004 > 39

Software Guru

Page 42: EN SUS MARCAS - desquer.ens.uabc.mx

PRÁ

CTIC

AS

USABILIDADCUESTIÓN DE PERCEPCIÓN, EFECTOS Y FRUSTRACIÓN

La Usabilidad es una práctica que estudia la relación entre las herramientas y sususuarios. Para que una herramienta sea efectiva, debe permitir a sus usuarios rea-

lizar las tareas de la mejor manera posible. En este artículo revisaremos tres concep-tos relacionados con la Usabilidad: la percepción, el efecto y la frustración.

PERCEPCIÓNPara los que nos encargamos de analizar, evaluar y definir guías, directrices y estándares deUsabilidad y de DCU (Diseño Centrado en el Usuario) de productos de desarrollo, es impor-tante garantizar por medio de metodologías y prácticas la satisfacción de los usuarios,midiendo su percepción al usar los productos. El aplicar controles de Usabilidad en las dife-rentes fases de desarrollo de un producto nos da la ventaja de lograr soluciones robustasque cuenten entre otras cosas con: una mayor rapidez de adopción; una fácil transmisiónde conocimiento del sistema a la cultura diaria de trabajo; una eliminación de los riesgos depercepción del producto; y un aumento de credibilidad sobre el valor del producto.

Las metodologías de Usabilidad y DCU que cubren el desa-rrollo del producto van desde la concepción hasta la entre-ga final y el uso del producto frente al usuario. Por logeneral éstas inician con el análisis de los objetivos de laorganización a través de tareas, y terminan evaluando lasatisfacción del usuario. Algunos ejemplos de técnicassimples son las evaluaciones heurísticas y cuestionarioscomo Computer System Usability Questionnaire o AfterScenario Questionnaire; otras más complejas incluyen losestándares de iure o de facto, que intervienen mayormen-te en la definición del producto o en la evaluación de losRecorridos por Expertos de Usabilidad.

Usabilidad

40 > OCT-DIC 2004 > www.softwareguru.com.mx

En México el nivel de madurez de los productos de softwareen cuestión de diseño de Usabilidad y DCU es limitado, yaque la mayoría de los productos no cuentan con un análisisformal realizado por un experto. La mayoría de las veces estaespecialidad la cubren parcialmente los analistas, líderes deproyecto, administradores, diseñadores o encargados delmarketing que aisladamente conciben la realización de pro-ductos bajo la visión limitada de sus respectivas áreas, comofuncionalidad, efectos visuales, mensajes etc. y no a satis-facción de la percepción del producto.

Actualmente en algunos productos se pueden ver deste-llos iniciales de una preocupación por garantizar estasatisfacción. Con esto quiero dividir la satisfacción funcio-nal del producto con la satisfacción de percepción delusuario. Podemos asegurar que la mayoría de los produc-tos mexicanos cuentan para su realización con equipossofisticados para analizar, diseñar y evaluar funcionalidad,pero esto sólo cubre la mitad del producto, la otra mitad,y no por ello menos importante, es la percepción del usua-rio. Esta mitad es la que garantiza la permanencia de losproductos en las organizaciones; de nada sirve tener unsistema con todas las capacidades requeridas para laorganización si el producto es percibido como un produc-to inconsistente, inestable o inútil debido a la percepcióny expectativas que se tengan de él.

Por lo general no se analiza la percepción del usuariodesde las fases iniciales del desarrollo de los productos ycomienzan los problemas cuando ya entregado el produc-to empiezan a notarse las inconformidades que, muchasveces, no se pueden detectar o son filtradas por el pocointerés ocasionado por la primera impresión del producto.Algunos expertos de Usabilidad, como Loren Burke, seconcentran principalmente en el factor de la PrimeraImpresión, ya que es determinante controlar La Ventanade Juicio en la que se enfrenta el usuario al producto, por-que así se asegura una primera reacción de satisfacciónfavorable, que sucede en los primeros segundos, dondese acepta o rechaza definitivamente un producto.

La percepción delusuario garantiza la

por Dámaso Canales

permanencia de losproductos en lasorganizaciones.

Page 43: EN SUS MARCAS - desquer.ens.uabc.mx

efectos vs EfectosHablando de sistemas Web que fácilmente están accesibles a muchos y muy distintos perfiles deusuario, podemos notar que en México tienden a los efectos y no a los Efectos. Por efectos debe-mos entender los elementos inherentes al producto, como la funcionalidad, la complejidad visual,Mensajes y Marketing. Por otro lado, los Efectos son reacciones y cambios ocasionados sobre elusuario: expectativas, percepción, satisfacción, memoria y eficiencia.

Actualmente son pocos los sitios Web que alcanzan a satisfacer y a facilitar el uso de la información.Se enfocan más en cumplir con los requerimientos funcionales, estéticos y de marketing que en faci-litar el entendimiento de acceso y control que pueda tener el usuario sobre la navegación, valor yservicios que ofrece el sitio Web.

FRUSTRACIÓNPara los usuarios, que son quienes determinan el éxito o fracaso de un sistema, es importante sen-tir la confianza y control. Cuando no se domina al sistema, el usuario comienza a sentir frustraciónpor no poder desplazarse en él o por no poder cumplir con las tareas, esto conlleva al malestar y alrechazo de usarlo, o a suplirlo por otro que tengan a la mano. Cuando el uso del sistema es obliga-torio y no hay métodos alternativos, termina desgastando además su productividad y reduce la efi-ciencia y eficacia sobre los resultados de la organización.

A pesar de las ventajas que ofrece el análisis y diseño basado en Usabilidad, en México se siguendesarrollando productos sin considerar, de manera profesional, este importante factor. La calidadde un software de clase mundial se verifica en lo que los usuarios perciben de él, y esta percepciónradica en la forma de usar el sistema. Los usuarios son parte integral de un Sistema de Información.Ya va siendo hora de que los involucremos en el desarrollo de los mismos, para que los sistemasdejen de ser cuerpos extraños y pasen a formar parte integral de la vida organizacional desde el pri-mer momento en que el usuario tiene contacto con él.

Referencia:

Krug, Steve & Roger Black. Don't Make Me Think: A Common

Sense Approach to Web Usability. New Riders, 2000.

Recursos en línea “Usability First”

www.usabilityfirst.com

Software Guru

Dámaso Canales es consultor especializado en identidad corporativa ydiseño centrado en el usuario. Ha participado en el desarrollo de aplica-ciones para clientes como IBM, Sun, Banorte y PEMEX. Actualmentees Director de Intuisystems, empresa dedicada al desarrollo de solucionestecnológicas centradas en la experiencia del usuario.

www.softwareguru.com.mx > OCT-DIC 2004 > 41

Page 44: EN SUS MARCAS - desquer.ens.uabc.mx

El ambiente global de la actualidad trae consi-go grandes retos de competencia. Ésta no

sólo se da entre compañías, sino también entrenaciones y bloques de ellas. En el pasado, lasposibilidades de un país para desarrollar su eco-nomía se basaban en factores como abundanciade recursos, posición geográfica o mano de obrabarata, pero estas ventajas ya no resultan deter-minantes. La abundancia de recursos pierde fuer-za conforme las transacciones económicas deservicios se imponen sobre la base de manufac-tura; la baja en los costos de distribución minimi-zan las ventajas geográficas; y la mano de obrabarata presenta una ventaja mínima para atraerinversión extranjera de maquila. En medida que lasociedad basa sus actividades en el conocimien-to, el capital intelectual cobra una mayor impor-tancia como ventaja competitiva nacional.

Esto nos lleva a la reflexión sobre la posición deMéxico ante el mundo y los retos que debeenfrentar para buscar un desarrollo sustentable.Tradicionalmente, este país ha dependido de suabundancia de recursos, como el petróleo, paraposicionarse en el mercado global. Igualmente,ha atraído de manera volátil a la industriamaquiladora al ofrecer la frágil ventaja de lamano de obra barata, y su posición geográfica leha servido como puente entre América Latina yEstados Unidos.

Sin embargo, nuestro país ha perdido vertigino-samente su competitividad al no poder compa-rarse en costo con otras economías emergentes,como China; provocando que los productosnacionales sean desplazados por aquellos pro-ducidos en países con condiciones de menorcosto. ¿Qué rumbo debe entonces tomar nuestropaís? ¿Por qué no hemos podido consolidarnuestra economía siendo que tenemos las venta-jas antes citadas? Las respuestas pueden sermuchas, pero es en estos momentos donde nosconviene analizar casos de éxito en transforma-ción de competitividad nacional por parte de paí-ses que tenían condiciones inferiores decompetencia a las de nuestro país.

Un ejemplo es Singapur, país que hasta hace unasdécadas se caracterizaba por ser sólo una coloniacon un puerto. Su geografía no le representabaventaja alguna, al ser una isla pequeña y monta-ñosa sin recursos naturales considerables. Sudemografía tampoco se podría considerar unaventaja, ya que su población está compuesta portres etnias diferentes: india, malaya y china, que

hablan lenguajes distintos y profesan religionesdiferentes. Estas condiciones hacen pensar queexistían los elementos esenciales para un cóctelmolotov, ya que se trataba de un país dividido yjoven, sin experiencia para gobernarse por símismo. ¿Cómo entonces llegó esta nación a cons-tituirse en la potencia económica que es hoy? Larespuesta radica en el establecimiento de unaestrategia nacional para lograr competitividad pormedio de tecnologías de información en su únicorecurso: el manejo portuario.

También es digna de mencionar la transforma-ción de Irlanda de una economía agraria a unapotencia de la industria de software. Igualmentepodemos observar el surgimiento de Finlandiacomo potencia en tecnologías móviles. Pareceser que en México por fin nos “ha caído el vein-te”. Ahora vemos que no podremos mantener lascondiciones de vida de nuestra gente si conti-nuamos con un pensamiento competitivo basadoen factores tradicionales. Un esfuerzo loable eneste rubro es el programa ProSoft, cuyo fin últimoes desarrollar en México una nueva ventaja com-petitiva, basada en capital intelectual de alta cali-dad, capaz de competir con las naciones líderesen esta industria.

Pero, ¿será un paquete de buenas intenciones orealmente logrará su objetivo? Lo cierto es que noes cuestión únicamente de generar un programacon buenas ideas, sino de crear el entorno quegarantice su desempeño exitoso. En Singapur nosólo crearon un programa que automatizara losprocesos del puerto marítimo; el éxito del sistemaTradeNet© de Singapur es el resultado de unaestrategia de años, donde se identificaron lascondiciones necesarias y se apostó todo a gene-rarlas. Así, el sistema educativo se transformóradicalmente; se declaró al inglés como el idiomaoficial comercial y se le enseñó a toda la pobla-ción; se transformaron los procesos burocráticos

COLU

MN

ACátedra y Más

Industria de Software en México…

¿PODRÁ PROSOFT?

El Dr. Guillermo Rodríguez es Director del Departamento deSistemas de Información en el Tecnológico de Monterrey, CampusEstado de México, donde se especializa en temas como SistemasEstratégicos, Administración del Conocimiento y Transferencia deTecnología. Guillermo participa de manera continua en conferen-cias internacionales, y en 1999 recibió el reconocimiento a la mejorconferencia en el Americas Conference on Information Systems. Espresidente fundador de la Asociación de Sistemas de Informaciónde América Latina y el Caribe y miembro activo de la Associationfor Information Systems.

42 > OCT-DIC 2004 > www.softwareguru.com.mx

para hacerlos más eficientes. Esto se acompañóde incentivos fiscales apropiados y alianzas conmiembros clave de la industria de Tecnología deInformación (TI).

El programa ProSoft tiene consideraciones encuanto a la formación del capital intelectualnecesario. Igualmente, maneja provisiones paraincentivar la participación de miembros clave enla industria de TI. Sin embargo, sin una apropia-da articulación y facilitación de los procesos, elesfuerzo del programa puede perder todo sumomento y convertirse en un juego de sumacero, donde todos los participantes se quedencon las manos vacías al intentar obtener benefi-cios máximos inmediatos, sin tener una visión alargo plazo.

Organizaciones como la Asociación Nacional deInstituciones de Educación en Informática (ANIEI),el Instituto Latinoamericano de la ComunicaciónEducativa (ILCE) y la Asociación Mexicana de laIndustria de las Tecnologías de Información(AMITI), han presentado iniciativas ante laSecretaría de Economía para impulsar la vincula-ción entre los sectores educativo, empresarial ygubernamental. Dicha vinculación es un factorclave para que las empresas de tecnología enMéxico se conviertan en productores en vez dedistribuidores. También ayudaría a disminuir elcosto de capacitación, para generar mejores pro-fesionistas. Pero lograr una relación efectiva entrelos sectores requiere simplificación administrati-va, poner los intereses inmediatos a un lado sinsacrificar los de largo plazo y aprender a vivir encomunicación y coordinación. Nuestra corta his-toria democrática nos ha mostrado que aún nosabemos hacer eso, lo malo es que se nos estáacabando el tiempo porque nuestros competido-res no nos tendrán tregua. ¿Aprenderemos? Yoespero que sí. ¿Y usted, estimado lector?

Guillermo Rodríguez

Page 45: EN SUS MARCAS - desquer.ens.uabc.mx

HP

Apple

iMac G5El rediseño de la popular iMac va más allá de

lo estético. La innovadora arquitectura delprocesador G5 se incorpora a un diseño queintegra el CPU a un monitor LCD de pantalla

plana y formato 16:9 (widescreen). Los mode-los disponibles por el momento cuentan con

procesadores a 1.6 ó 1.8GHz, 256MB en RAM,discos duros de 80 y hasta 160GB, unidad

DVD-ROM/CD-RW o Superdrive (DVD-R/CD-RW), tres puertos USB, dos Firewire y uno

mini-VGA. Con un precio inicial de $1,299.00dólares, esta nueva iMac es ideal para disfru-tar de toda la gama de programas de utilidady entretenimiento que ofrece Apple, además

es una excelente opción para desarrolladores.

GADGETS

www.softwareguru.com.mx > OCT-DIC 2004 > 43

iPaq 4150Ligera, elegante y accesible sería una definición ade-cuada para la iPaq 4150 de HP. Su rendimiento ha sidomodificado por los ingenieros de Hewlett-Packard paragarantizar la productividad del usuario en cualquiercondición. El sistema Windows Mobile, puertos Wi-Fi yBluetooth garantizan su conectividad, y la ranura paratarjetas Secure Digital, la hace escalable y permite res-paldar la información.

Software Guru

Lexar

4 GigabyteLos medios de almacenamiento siguen rom-piendo los cánones reduciendo su tamaño eincrementando drásticamente su capacidad.La nueva Compact Flash II con 4GB es idealpara almacenar todo tipo de archivos, desdelas fotografías tomadas con una cámara digi-tal hasta documentos generados en unahandheld. Un pequeño disco duro que cabeen la palma de la mano y que permite trasla-dar información de un dispositivo a otro sinestorbosos cables ni complicaciones.

Canon

Digital RebelImágenes nítidas, colores excelentes y un fácilmanejo es lo que busca toda persona que tenga porhobby la fotografía. La Canon Digital Rebel brinda lacalidad que la empresa dio a sus modelos Rebel de35 mm con todas las bondades de la tecnologíadigital. Viene con un sensor óptico de 6.3 megapixe-les, procesador de imagen DIGIC y la compatibilidadcon más de 50 lentes EF de Canon. Trae consigouna unidad para tarjetas Compact Flash y varios sis-temas de enfoque y exposición. Tan fácil de usarque no habrá límites para la creatividad.

Page 46: EN SUS MARCAS - desquer.ens.uabc.mx

BTPMB

IBLI

OTE

CA

BREAKTHROUGH TECHNOLOGYPROJECT MANAGEMENT

Bennet P. Lientz y Kathryn P. Rea

Academic Press, Enero 2001

Tal vez les resulte sorprendente que reseñemos unlibro presentado al mercado hace tres años, lo cualen nuestra industria acostumbra ser toda una eter-nidad. Sin embargo, el contenido de BreakthroughTechnology Project Management permanece vigen-te y es de gran utilidad.

Existen diversas referencias sobre administración deproyectos, pero hay pocas específicas para proyectosde sistemas. Además, la mayoría se quedan en la teo-ría y sólo mencionan qué es lo que hay que hacer, perono brindan ayuda de cómo hacerlo. Este libro es laexcepción, ya que su gran valor reside en los tips, line-amientos y lecciones aprendidas, enfocadas específi-camente a proyectos de sistemas.

El libro está dividido en cuatro partes. La primeraexplica diferentes estrategias para administrar proyec-tos y cómo lidiar con la administración de varios pro-yectos simultáneos. En la segunda parte los autoresexplican cómo arrancar proyectos y abundan sobretodo lo que esto conlleva, desde cómo hacer una pla-neación efectiva hasta cómo conseguir al personaladecuado. La tercera parte lidia con la ejecución de losproyectos. Hay un capítulo para proyectos de desarro-llo de aplicaciones nuevas, otro para la operación ymantenimiento de aplicaciones existentes, y uno mássobre implantación de paquetes configurables, comoes el caso de los ERPs. Por último, la cuarta parte esuna lista de problemas comunes en proyectos de sis-temas, y recomendaciones para resolverlos. Por ejem-plo, ¿qué hacer cuando el área de negocio cambia losrequerimientos frecuentemente? ¿Cómo lidiar conpersonal que se resiste a aprender nuevas habilida-des? ¿Qué hacer cuando el proyecto depende comple-tamente de un proveedor externo?

El autor principal es Bennet Lientz, uno de los líderesde proyecto del desarrollo de ARPANET, la base de loque hoy es el Internet, así que es alguien que real-mente sabe de lo que habla.

Recomendamos ampliamente este libro a cualquieraque administre proyectos de sistemas. Es de especialayuda para quienes ya cuentan con conocimientosgenerales de administración de proyectos y quierenaprender a administrar proyectos de tecnología.

44> OCT-DIC 2004> www.softwareguru.com.mx

CC2

CODE COMPLETE 2SEGUNDA EDICIÓN

Steve McConnell

Microsoft Press, Junio 2004

Steve McConnell es una de esas escasas personas capaces de poner en práctica conceptoscomplejos y al mismo tiempo explicarlos de manera sencillapara nosotros los mortales. En 1993 publicó Code Complete,que es reconocido como una de las biblias en desarrollo desoftware. Ahora, este clásico ha sido revisado y actualizado,e incluye prácticas y tecnologías modernas. Es de esperarseque esta nueva edición mantenga al libro como el estándaren el campo.

Algunos de los temas que se abordan en Code Complete 2:• Administración de requerimientos de software.• Elementos comunes de la arquitectura de software.• Retos comunes en el diseño de software y técnicas

para superarlos.• Uso adecuado de la orientación a objetos.• Mejores prácticas para programación.• Técnicas para mejorar la calidad del software.• Consideraciones para administrar proyectos de software.• Herramientas para desarrollo de software.

El siguiente comentario de Richard Mateosian describeadecuadamente este documento:

“Para quienes aspiran a ser programadores

profesionales, este libro puede ser la mejor inversión que

hagan. McConnell se propone reducir la brecha entre el

conocimiento de los gurús de la industria y las prácticas

diarias de la mayoría de los desarrolladores. Para

lograrlo, pretende explicar todas las cosas importantes

que estos gurús saben sobre construcción de software.

Y sorprendentemente… lo logra.”

En conclusión, Code Complete 2 debe ser una parte esen-cial de tu biblioteca personal. Tanto si eres un novato quecomienza su carrera en el desarrollo de software, como sieres un venerable anciano que asesora y enseña a otros.En ambos casos, CC2 pone a tu disposición un sinfín demejores prácticas para desarrollo de software. Como decíaun compañero de la universidad: “¡aquí está la ciencia!”

*enter

Page 47: EN SUS MARCAS - desquer.ens.uabc.mx
Page 48: EN SUS MARCAS - desquer.ens.uabc.mx

46> OCT-DIC 2004> www.softwareguru.com.mx

FUNDAMENTOS

A l obtener y capturar los requerimientos deun sistema es difícil saber si ya se tienen

contemplados todos los requerimientos nece-sarios, así como poder agruparlos en categoríasque simplifiquen su administración. Un modelopara categorizar los requerimientos nos permitetener requerimientos más completos y mejororganizados.

Típicamente se manejan dos grandes grupos derequerimientos:• Funcionales.- Especifican servicios que el sis-tema debe proveer a sus usuarios.• No funcionales.- Restricciones de ejecución uotros atributos en el ambiente del sistema.

No obstante, esta categorización se queda bas-tante corta y no es suficientemente útil. Es poreso que hay otros modelos más completos. Tales el caso del modelo FURPS+, cuyo nombre esun acrónimo en inglés de las diferentes catego-rías (Functionality, Usability, Reliability,

Performance, Supportability). Este modelo fuedesarrollado por Robert B. Grady de Hewlett-Packard hace más de diez años, y en la actuali-dad es uno de los más utilizados.

Revisemos las distintas categorías:• Funcionalidad.- Estos requerimientos repre-sentan las características centrales del produc-to. Describen qué es lo que un usuario debe sercapaz de hacer a través del sistema de softwa-re; por ejemplo, agregar un cliente nuevo oregistrar una orden de compra. En esta catego-ría también se incluyen capacidades comoimpresión, reporteo y seguridad.

• Usabilidad.- Es posible que cierto softwareposea toda la funcionalidad requerida, pero sies una pesadilla usarlo entonces no va a servirde mucho. La facilidad de uso o “usabilidad”,incluye todos aquellos atributos que facilitan lainteracción de un usuario con el sistema.Ejemplos de requerimientos de usabilidad pue-den ser la organización de los elementos visua-les para facilitar su legibilidad, ventanas dediálogo explicando los campos de las formas,ayuda en línea, mapas de sitio, etc.

• Confiabilidad.- Esta categoría agrupa losrequerimientos que tienen que ver con la soli-dez de un sistema durante su ejecución.Algunos ejemplos son: frecuencia de fallas

aceptable, porcentaje de tiempo que el sistemadebe estar funcionando, capacidad de recupe-ración de fallas.

• Rendimiento.- El rendimiento se refiere a lavelocidad del sistema y su eficiencia en utiliza-ción de recursos. Estos típicamente se definenen términos de tiempo de respuesta esperado ycarga de usuarios concurrentes que debe sersoportada.

• Soporte.- Los requerimientos de soporteincluyen requisitos de instalación y configura-ción, así como facilidades para mantener yadministrar la operación del sistema.

Con esto abarcamos los FURPS, sin embargo elmodelo menciona un '+' que no hemos cubierto.El signo '+' en FURPS+ se utiliza para identificarrequerimientos adicionales que típicamente serefieren a restricciones como:

• Restricciones de diseño.- Limitan las posibili-dades para diseñar un sistema. Por ejemplo,puede ser necesario tener que usar una base dedatos relacional.

• Restricciones de implementación.- Estas serefieren a reglas para la programación, como lautilización de una versión específica de un len-guaje, o apegarse a ciertos estándares.

• Restricciones de interfase.- Indican elementosexternos con los que el sistema debe interac-tuar; pueden ser otros sistemas o dispositivoscomo lectores de código de barras.

• Restricciones físicas.- Se refieren a indicacio-nes para el hardware, por ejemplo que sea decierta forma, tamaño o peso.

Con esto cubrimos todas las categorías definidaspor el modelo FURPS+. Este modelo también sepuede utilizar para representar las categorías odimensiones de calidad de un sistema de softwa-re. A fin de cuentas, la calidad de un sistema radi-ca en el cumplimiento de sus requerimientos, asíque las categorías de requerimientos y calidaddeben estar estrechamente ligadas.

Les recomendamos que en su próximo proyectoutilicen este modelo, ya que facilitará la laborde administración de requerimientos.

Clasificandolos requerimientos de software

Page 49: EN SUS MARCAS - desquer.ens.uabc.mx

IND

EX

Anunciante Páginas urlAMCIS 19 www.amcis.org.mx

AMITI 11 www.amiti.org.mx

Avantare 39 www.avantare.com

Bea Systems F3 mx.bea.com

Deintec 15 www.deintec.com

Global Book 45 www.globalbook.com.mx

Impulsare 29 www.impulsare.com

Intuisystems 7 www.intuisystems.com

Itera 9 www.itera.com.mx

Microsoft F2-1 www.microsoft.com/spanish/msdn

Oracle F4 www.oracle.com/global/mx

Sieena Software 46 www.sieena.com

Software Guru 47 www.softwareguru.com.mx

Tecnológico de Monterrey 37 www.itesm.mx

TI Américas 5 www.tiamericas.com

Ultrasist 41 www.ultrasist.com.mx

Directorio

TENEMOS UN ESPACIO RESERVADO PARA TISi deseas anunciarte contáctanos en el ((5555)) 55223399--55550022o en vveennttaass@@ssooffttwwaarreegguurruu..ccoomm..mmxx

www.softwareguru.com.mx > OCT-DIC 2004 > 47

Page 50: EN SUS MARCAS - desquer.ens.uabc.mx

Dada la complejidad y escala de los proyectosactuales de TI, las compañías que basan su

estructura en el desarrollo vertical de sus emple-ados se enfrentan constantemente con el reto deencontrar y formar nuevos líderes de proyecto,capaces de lidiar con todos los procesos involu-crados en el desarrollo e integración de solucio-nes tecnológicas.

El rol de líder de proyecto no depende exclusiva-mente de un perfil, sino que requiere de un balan-ce de habilidad, experiencia y personalidad. Unbuen líder de proyecto necesita contar con lassiguientes características:

1. Habilidad para resolver problemas. Sin duda,el mayor atributo de un líder de proyecto es sucapacidad para identificar, replantear y dar solu-ción a los problemas. Esta capacidad requiere deconocimientos técnicos, administrativos y de per-sonal, así como la experiencia adecuada para eva-luar correctamente un problema.

2. Capacidad de aprendizaje. Un líder de proyec-to debe ser capaz de entender un sinfín de pro-blemas tanto técnicos como de negocio. Así quees imprescindible demostrar haber pasado por unproceso de aprendizaje que compruebe sus avan-ces en todos los ámbitos.

3. Supervisar el proyecto hasta su conclusión.Aunque demuestre excelentes característicaspara consolidarse como un líder, uno de los pun-tos trascendentales para este rol es contar con laenergía y enfoque necesarios para mantenersefirme durante todo el proyecto, desde su lanza-miento hasta el cierre.

4. Capacidad para trabajar con otros. Esto serefiere a la habilidad para laborar y entenderse nosólo con el equipo técnico, sino también con clien-tes, usuarios y alta gerencia, manteniendo unacorrecta línea de comunicación con los distintos

partícipes del proyecto, incluso con personal tra-bajando en proyectos relacionados. Un líder deproyecto requiere continuamente hacer presenta-ciones de avance, y debe ser capaz de hacerlo deuna manera convincente.

5. Experiencia de negocios. Resulta de suma uti-lidad para una organización moderna que un líderde proyecto se pueda desempeñar en el dominiodel negocio. Los líderes de proyecto deben mane-jar procesos de negocios, así como personal deestas unidades.

6. Experiencia técnica. Esta característica no serefiere específicamente a la capacidad para pro-gramar, sino a la aplicación del conocimiento téc-nico. El líder debe ser capaz de entender losproblemas relacionados con el equipo y el soft-ware, además de lograr una integración con losmiembros responsables de esta área trabajandocon ellos, demostrando así sus conocimientos yganando el reconocimiento de sus subalternos.

7. Experiencia en proyectos. Esta experiencia nonecesita ser exclusivamente como líder. Al contra-rio, contar con experiencia en distintos roles per-mite lograr un mayor conocimiento de losdiferentes aspectos relacionados con el desarro-llo de soluciones tecnológicas. Los puntos a resal-tar en este renglón: los proyectos más largos ycortos en los que se ha participado y las diferen-cias entre éstos; cuál fue el proyecto más intere-sante y el menos satisfactorio, y porqué; cuálesfueron los retos más complejos que se enfrenta-ron durante el proyecto.

8. Habilidades administrativas. Todo buen líderdebe contar con esta característica, que acompa-ña el conocimiento del software y otras herra-mientas; se trata de la habilidad para organizar,planear y coordinar actividades. También aquíentra la capacidad para preparar presupuestos, yadministrar los gastos del proyecto.

Conocer estos fundamentos puedendarle ventaja competitiva al aplicar paraun puesto de líder de proyecto, o lo ayu-darán para desarrollarse en este rol. Heaquí algunas recomendaciones para losinteresados en formarse como líderes deproyecto:

• Es importante para quienes cuentencon poca experiencia, que al trabajar enun proyecto se ofrezcan como volunta-rios para resolver problemas, esto prove-erá la práctica necesaria.

• También resulta útil tomar notas y rea-lizar el análisis del proyecto, su posteriorestudio dará la pauta para mejorar enfuturos trabajos.

• Desarrollar ideas para futuros proyectos,o incluso plantear proyectos a un gerenteamigable, que haga notar los errores yaciertos en estas presentaciones, resultaun ejercicio benéfico para mejorar la capa-cidad de trabajo entre áreas. Hay quetomar en cuenta el riesgo de que la ideapueda ser tomada por alguien más sinbrindar el crédito apropiado.

• Una característica que puede resultardefinitiva al solicitar el puesto de líder deproyecto, es conocer el proceso de admi-nistración de proyectos en su organiza-ción. En la mayoría de las empresas esteproceso está basado en el ProjectManagement Body of Knowledge(PMBOK) del Project ManagementInstitute (PMI), así que es vital estarcuando menos familiarizado con éste.

• Aunque parezca irrelevante, es funda-mental recolectar información relaciona-da con los problemas que se presentandurante un proyecto, así como sus res-pectivas soluciones; esto puede resultarmuy valioso en futuros proyectos.

• Por último, un ejercicio definitivo: ela-borar diferentes versiones de su currícu-lum, divididos en línea gerencial yasignaciones de proyecto. La diferenciaentre ambos radica en que el primero seenfoca en el proceso de negocios y elnúmero de personas bajo su línea demando; el segundo se enfoca en losbeneficios, tamaño y problemas resueltosdurante el proyecto. Es más fácil para unaorganización identificar a un futuro líderde proyecto con este tipo de currículum.

El mayor atributo de un líder de proyecto es su capacidadpara identificar, replantear y dar solución a los problemas.

48 > OCT-DIC 2004 > www.softwareguru.com.mx

Formando al líderde proyecto idealD

ESA

RR

OLL

O P

RO

FES

ION

AL

Software Guru

Page 51: EN SUS MARCAS - desquer.ens.uabc.mx
Page 52: EN SUS MARCAS - desquer.ens.uabc.mx

No.

0

ww

w.s

oftw

are

guru

.com

.mx

>

Oct

ubre

-Dic

iem

bre

2004

SO

FTW

AR

EG

UR

U C

ON

OCI

MIE

NTO

EN

PR

ÁCT

ICA