Professional Documents
Culture Documents
pag. 10
Casos de Uso
pag. 42
NO.
39
Tutorial
Notiicaciones
Push en
WP8
CONOCIMIENTO EN PRCTICA
Project Management
Moderno
CERTIFICACIONES
Y NORMAS
Mxico, $65.00
www.sg.com.mx |
Especial
Software Guru
Febrero-Abril 2013
www.sg.com.mx
www.sg.com.mx |
Software Guru
39
CONOCIMIENTO EN PRCTICA
PG.
22
.CONTENIDO
En Portada
Certiicaciones, Normas y Modelos de TI
22
Gracias a las normas y modelos de TI, podemos ser capaces de identificar los
puntos fuertes que debemos explotar como individuos y como empresas para
desarrollar proyectos de gran alcance, as como tambin detectar las debilidades que nos pueden frenar la adaptacin de los cambios del mercado, reducir
la calidad. Conoce las tendencias y recomendaciones de este importante tema.
Especial
Project Management Moderno
Ideologas renovadas en el horizonte
16
18
Columnas
Tejiendo nuestra red
06
Tendencias en Software
09
Columna Invitada
33
Cdigo Innovare
48
02
50
.CONTENIDO
PG.
Herramientas y
Novedades
10
Lo que viene
08
Tutorial
Windows Phone
12
Fundamentos
Como distinguir entre un riesgo
y un problema
52
Carrera
Escala para determinar el nivel de
un profesionista de TI
54
En Cada Nmero
Software Guru
42
Prueba de Software
Hablando de pruebas de software, debo certiicar procesos,
personas o productos?
44
Procesos
Aceptando o refutando? nuestras creencias
-- experimentacin en ingeniera del software
Por Omar Snchez
03
05
www.sg.com.mx |
Prcticas
Calidad
Casos y Cosas de Casos de Uso
Noticias
40
Arquitectura
Certiicaciones en arquitectura de software
04
10
Emprendiendo
Opciones de inversin para Startups en Mxico
Editorial
46
.EDITORIAL
BIENVENIDA
.
Ya somos vistos
como parte del
negocio en lugar
de vernos como
un rea de apoyo
al negocio.
El Ineludible Protagonismo
Equipo Editorial
SOFTWARE GURU
DIRECTORIO SG
Direccin Editorial Pedro Galvn / Direccin de Operaciones Mara Ruvalcaba
Coordinacin Editorial Vanessa Amaya / Arte y Diseo Oscar Smano / Suscripciones Karina Saad
Consejo Editorial Jorge Valds - PMI / Luis Cullar - Softtek / Luis D. Soto - Microsoft / Hanna Oktaba - UNAM / Emilio Osorio - Sistemas Humanos /
Luis Vinicio Len - e-Quallity / Gloria Quintanilla
Colaboradores
Aarn Moreno, Amin Espinoza, Berenice Ruiz Eguino, Carlos Gutirrez, Celeste North, Efran Cordero, Elsa Ramrez Hernndez, Fernando Rueda Tllez,
Gabriel Almeida, Gunnar Wolf, Hctor Cuesta-Arvizu, Hctor Santa Mara, Humberto Cervantes, Ivn Rivera Gonzlez, Karen Mariel Njera , Masa K Maeda,
Rodrigo Torres Garibay y Sergio Ruiz-Castilla
Ventas Claudia Perea / Alianzas Daniel Velazquez / Webmaster Karen Rodrguez / Luis Snchez /
SGCampus Ana Karen Rosales
Contacto info@sg.com.mx
SG Software Guru es una publicacin trimestral editada por Brainworx, S.A. de C.V., San Francisco 238 Altos. Col. Del Valle. Los contenidos de esta publicacin son propiedad intelectual de los autores
y estn licenciados bajo Creative Commons Atribucin-No comercial 2.5 Mxico. Todos los artculos son responsabilidad de sus propios autores y no necesariamente reflejan el punto de vista de la
editorial. Reserva de Derechos al Uso Exclusivo: En trmite. ISSN: 1870-0888. Registro Postal: PP15-5106. Distribuido por Sepomex. Se imprimi en marzo de 2013 en EDAMSA Impresiones S.A. de C.V.
04
.NOTICIAS
.Hackathon:
Desarrollando
Amrica Latina
(DAL 2012)
. BugCON Security
.CANISOFT
El pasado 24 de enero se realiz la primera reunin de la Camara Nacional de la Industria del Software (CANISOFT) la cual reuni presencialmente alrededor de 100 representantes de empresas desarrolladoras de software a las cuales se sumaron ms empresarios que asistieron
a la reunin de manera virtual. La reunin tuvo como objetivo convocar al registro y envo de la carta de intencin para poder tramitar la
creacin de este Organismo Promotor. Este esfuerzo no comenz en la reunin, para sensibilizar a la audiencia, se habl de todos los esfuerzos tanto de difusin, alianzas y trmites que han realizado los emprendedores detrs de la iniciativa. Jaime Jurez del ngel, Presidente
de CANISOFT invit a todos los fabricantes de software a unirse para poder llegar a la meta y poder hacer este Organismo una realidad.
http://canisoft.org/
Para mayor informacin, noticias al da y actualizaciones de la industria visita: www.sg.com.mx
05
www.sg.com.mx |
Software Guru
.COLUMNA
TEJIENDO
NUESTRA RED
La Dra. Hanna
Oktaba es profesora de la UNAM,
miembro del IPRC,
y directora tcnica
del proyecto
COMPATISOFT.
hanna.oktaba@
ciencias.unam.mx
06
CURIOSAMENTE EL VALOR
DE
MOPROSOFT EN MXICO
Referencias
[1] Miguel Morales Trujillo, Teresa Ventura, Hanna
Oktaba and Rodrigo Torres, From MoProSoft Level 2
to ISO/IEC 29110 Basic Proile: Bridging the Gap, el
artculo fue aceptado para ser publicado en el CLEI
Electronic Journal en abril de 2013.
www.sg.com.mx |
Software Guru
.HERRAMIENTAS Y TECNOLOGAS
LO QUE
VIENE
Amazon Redshift
Data warehouse
as-a-service
Windows Azure Mobile Services es un servicio de backend en la nube diseado para aplicaciones
de nueva generacin. Su objetivo es facilitar el manejo de datos estructurados en la nube que
puedan ser accedidos desde aplicaciones que puedan estar corriendo ya sea en computadoras personales, smartphones, smart TVs u otro tipo de dispositivos de cmputo. Entre las ventajas de usar
un servicio como Azure Mobile Services est el poder apoyarse en servicios como autenticacin
o notiicaciones. En el momento de su lanzamiento en agosto del 2012, Azure Mobile Services
solamente soportaba aplicaciones Windows 8, lo cual era un gran limitante. Sin embargo, desde
entonces ha ido agregando soporte a ms plataformas y actualmente ya se puede utilizar tambin
para aplicaciones iOS y Android, lo cual le da una perspectiva mucho ms atractiva.
http://www.windowsazure.com/en-us/develop/mobile
Hudson
Se grada de la
incubacin
Xamarin liber la versin 2.0 de su plataforma que permite desarrollar aplicaciones nativas para
iOS, Android y Mac utilizando el lenguaje de programacin C#. Esta versin introduce el IDE
Xamarin Studio, as como un add-in para Visual Studio y el Xamarin Component Store. El add-in
para Visual Studio permite que los desarrolladores de .NET pueden crear aplicaciones nativas iOS
y Android desde Visual Studio. El Component Store, es una tienda en lnea donde los desarrolladores pueden comprar y vender elementos como libreras, temas de diseo o controles visuales que
incorporen en sus aplicaciones.
http://xamarin.com
08
Azure Mobile
Services
Xamarin
Nuevo IDE y tienda de
componentes
.COLUMNA
TENDENCIAS EN
SOFTWARE
SE HA HECHO
Mini PC
Hardware dedicado
REALIDAD LA ERA DE
LA
PC DESECHABLE.
M2M
La salud mvil (mHealth) se reiere a dispositivos que miden una serie de variables
biolgicas, las almacenan y las transmiten. Estamos en un proceso de estandarizacin
de las comunicaciones (Bluetooth Smart Ready). El nmero de dispositivos y parmetros de medicin crecer dramticamente, en 5 aos la coleccin de datos ser
enorme. Se mover del dispositivo, al telfono, a redes ms amplias, se combinar
con videocmaras y sensores en la ciudad. La comunicacin mquina a mquina
superar el trico de interacciones humanas en internet (Internet of hings).
Post-PC
Hacia el futuro cercano, el software empresarial continuar en su forma existente. Pero antes de 10 a 15 aos ser inminente la migracin de soluciones a
la nube, aunque hoy contine la resistencia y lucha de mantener el poder. En
el escritorio, las apps han aniquilado al software como modelo de negocio.
El futuro del modelo de negocio son los servicios y dispositivos por medio
de suscripciones.
Microsoft se reinventa
TV
Hoy existe una gran fragmentacin entre el contenido
en vivo y el contenido bajo demanda, acceso en web de
temporadas pasadas vs. nuevas, derechos que varan mucho por cada dispositivo. Estn surgiendo servicios que
llevan la experiencia social a la TV, tales como Matcha,
Fanhattan o Zeebox. DLNA permite la integracin de
contenido entre dispositivos conectados. La PC de teatro
en casa ha evolucionado a nueva funcionalidad como Video Gateways (HomeBase) y amplio acceso remoto (Plex
Media Center). La convergencia avanza.
La automatizacin total de los servidores y el acceso a la informacin por cualquier persona en cualquier lugar contina siendo una ambicin. En una reciente entrevista, Steve
Ballmer (CEO de Microsoft) enumer sus apuestas tecnolgicas: nuevos dispositivos
con interfaces naturales, la nube y el aprendizaje automatizado (machine learning). La
reinvencin est en proceso.
Personas
En general, la forma de trabajar y aprender ha cambiado. Las
herramientas sociales permiten que ahora ms que educacin
a distancia, se pueda localizar al talento que resuelva problemas especicos. El acceso a la tecnologa es generalizado, he
escuchado la frase: la gente de negocios es el siguiente departamento de sistemas. Conforme los servicios de software
sean verdaderamente inteligentes, esto podra suceder.
En el pasado mi columna ha tratado sobre posibles rumbos
de la tecnologa, cambios graduales. En ocasiones, al abrir los
ojos, no es evidente que el mundo ha cambiado tanto.
Software Guru
Software
www.sg.com.mx |
.EMPRESAS
EMPRENDIENDO
na de las preguntas ms comunes que se hace un nuevo emprendedor en nuestra regin es: dnde puedo encontrar opciones de
inversin y cmo elegir la mejor opcin? (ok, son dos preguntas pero
entienden a qu me reiero). Aunque hay diversas opciones para fondear
un startup (inanciamiento, fondos gubernamentales, etc.), en este artculo
me enfocar en las opciones de inversin en modalidad de capital de riesgo.
La inversin de capital de riesgo bsicamente consiste en que un
inversionista adquiere una parte de tu empresa con miras a que el valor
de sta aumente, y obtener una ganancia en un futuro al vender su
parte (ya sea que la empresa sea comprada por un tercero, reciba una
nueva ronda de inversin, o comience a cotizar en la bolsa de valores).
Dependiendo de la etapa en la que te encuentres, puedes acceder
a distintos inversionistas independientes o fondos dedicados especicamente a esto. En el caso de capital semilla (inversiones que van desde $50
hasta $500 mil dlares) en Mxico hemos visto un lorecimiento de opciones en los ltimos dos aos, muchos en modalidad de aceleradoras de
negocios. Comparto a continuacin una breve resea de los principales:
Wayra - http://mx.wayra.org
La aceleradora de Telefnica. Invierten entre $30 y $70 mil dlares de
acuerdo a la valoracin que se haga de tu empresa, en relacin a esto se
determina el porcentaje que adquieren. Ofrecen un espacio de trabajo,
soporte tecnolgico, mentores y acercamiento a una red de inversionistas. Opera en diversas ciudades tales como Cd. de Mxico, Bogot, Lima,
Buenos Aires, Santiago, Sao Paulo, Barcelona y Madrid entre otras.
www.sg.com.mx |
Software Guru
.TUTORIAL
Notificaciones y Mosaicos en
Windows Phone
Por Amn Espinoza
in temor a equivocarme puedo decir que el principal distintivo de la plataforma Windows Phone son sus mosaicos; esos recuadros que no solo son accesos directos a aplicaciones sino que muestran informacin sin tener que acceder a
la aplicacin.
En este artculo mostrar cmo implementar notiicaciones en
Windows Phone. Adems de considerar las notiicaciones de mosaico (tile), tambin mostrar como implementar notiicaciones
Toast (como por ejemplo las que se muestran al recibir un mensaje
SMS) y notiicaciones Raw (mensajes de texto simple).
El servicio de notificaciones
Lo primero que haremos ser crear un servicio WCF que enve las
notiicaciones. Para ello creamos un proyecto en Visual Studio de tipo
Aplicacin de servicios WCF, bautizando nuestro proyecto como
Servicio Notiicacin. Veremos el archivo Service1.svc.cs, podemos
abrirlo y eliminar los mtodos GetData() y GetDataUsingDataContract() que esencialmente funcionan slo como ejemplos.
El listado 1 muestra nuestro cdigo inicial. Como coment,
hay tres tipos de notiicaciones: Tile, Toast y Raw. Utilizaremos un
enumerador pblico IntervalosDeValores para identiicar el tipo
de notiicacin. Tambin creamos un diccionario esttico URISucripcin para registrar a los telfonos suscritos a nuestro servicio.
Como llave usamos un Guid (identiicador global nico) y como
valor un Uri que establece un canal de comunicacin entre el servicio web y el dispositivo.
escritorXML.WriteEndElement();
TileInmediato = 1,
escritorXML.WriteEndElement();
ToastInmediato = 2,
escritorXML.WriteEndDocument();
RawInmediato = 3,
escritorXML.Flush();
InsertarInformacionURLSuscritas(miStream.ToArray(), toast);
}
if (URISuscripcion.ContainsKey(IdTelefono)) {
URISuscripcion[IdTelefono] = direccionLocal;
} else {
URISuscripcion.Add(IdTelefono, direccionLocal);
}
12
.TUTORIAL
Habiendo implementado la lgica de nuestro web service, vamos a deinir los contratos necesarios para que los mtodos puedan ser accesibles
por clientes externos. El listado 7 muestra el cdigo que debe tener la
clase IService.cs para deinir los contratos de servicio correspondientes.
escritorXML.WriteValue(contadorTile);
escritorXML.WriteEndElement();
using System;
using System.ServiceModel;
escritorXML.WriteValue(tituloTile);
namespace Servicio_Notiicacion {
escritorXML.WriteEndElement();
[ServiceContract]
escritorXML.WriteEndElement();
escritorXML.WriteEndDocument();
[OperationContract]
escritorXML.Flush();
InsertarInformacionURLSuscritas(miStream.ToArray(), tile);
[OperationContract]
[OperationContract]
void InsertaInformacionTile(string tileTitle, int tileCount, string tileImageURI);
Como ya notamos anteriormente, todos los mtodos terminan invocando InsertarInformacionURLSuscritas(). Este mtodo se encarga
de distribuir la informacin deseada hacia los dispositivos suscritos. El
listado 6 muestra el cdigo de este mtodo. A grandes rasgos, lo que
hace este mtodo es 1) crear una solicitud de tipo HttpWebRequest, 2)
agregarle el header correspondiente al tipo de notiicacin, 3) escribir
la informacin deseada y enviarla, 4) Recibir la respuesta. Esto se repite
dentro de un ciclo por cada dispositivo suscrito.
private static void InsertarInformacionURLSuscritas(byte[] informacionRecibida, string
tipoNotiicacion) {
foreach (var direccion in URISuscripcion.Values) {
[OperationContract]
void InsertaToast(string ToastTitle, string ToastMessage);
}
}
Listado 7. Contrato de servicios
Una vez hecho esto, podemos compilar nuestro proyecto y publicarlo. Luego podemos veriicar que est accesible utilizando el cliente
de pruebas WcfTestClient (C:\Program Files (x86)\Microsoft Visual
Studio 11.0\Common7\IDE\WcfTestClient.exe). Seleccionamos la
opcin Agregar servicio del men Archivo y alimentamos la referencia a nuestro servicio WCF.
solicitud.ContentLength = informacionRecibida.Length;
solicitud.Headers.Add(X-MessageID, Guid.NewGuid().ToString());
switch (tipoNotiicacion) {
case toast:
solicitud.Headers[X-WindowsPhone-Target] = toast;
solicitud.Headers.Add(X-NotiicationClass,
((int)IntervalosDeValores.ToastInmediato).ToString());
break;
case tile:
solicitud.Headers[X-WindowsPhone-Target] = token;
solicitud.Headers.Add(X-NotiicationClass,
((int)IntervalosDeValores.TileInmediato).ToString());
break;
case raw:
solicitud.Headers.Add(X-NotiicationClass,
((int)IntervalosDeValores.RawInmediato).ToString());
break;
}
using (var streamSolicitud = solicitud.GetRequestStream()) {
streamSolicitud.Write( informacionRecibida, 0,
informacionRecibida.Length);
Figura 1. Agregar referencia de servicio
}
var respuesta = (HttpWebResponse)solicitud.GetResponse();
}
}
Listado 6. Envo de solicitud
13
Para desplegar la informacin en nuestra app, en la pgina principal de sta colocaremos tres cajas de texto que desplieguen la informacin recibida. El cdigo para esto se ve en el listado 8.
Software Guru
solicitud.ContentType = text/xml;
www.sg.com.mx |
solicitud.Method = WebRequestMethods.Http.Post;
.TUTORIAL
la comunicacin por medio del canal; SuscribirMiTelefonoCompleted que se dispara cuando la suscripcin del telfono al servicio de
notiicaciones haya sido exitosa, el ChannelUriUpdated que se dispara cuando la direccin del canal haya sido obtenida (o actualizada);
yHttpNotiicationReceived que se dispara cuando la aplicacin reciba
informacin pero sin ser formateada. El listado 10 muestra el cdigo
de este mtodo.
</Grid>
Listado 8. Cajas de texto para desplegar informacin
void adjuntarFuncionesManejadores() {
miCanalPush.ErrorOccurred += myPushChannel_ErrorOccurred;
Pasemos ahora al cdigo C#. Por simplicidad, pondremos en nuestro constructor el cdigo para disparar los eventos. El listado 9 muestra
el cdigo para el constructor. Estas acciones tambin se podran disparar desde el mtodo OnNavigatedTo().
miCliente.SuscribirMiTelefonoCompleted += miCliente_SuscribirMiTelefonoCompleted;
miCanalPush.ChannelUriUpdated += myPushChannel_ChannelUriUpdated;
miCanalPush.HttpNotiicationReceived += myPushChannel_HttpNotiicationReceived;
}
Listado 10. Definicin de manejadores
Guid phoneID;
ServicioNotiicaciones.Service1Client miCliente = new ServicioNotiicaciones.Service1Client();
El listado 11 tiene el manejador para el evento miCanalPush.ErrorOcurred. Este simplemente muestra en pantalla el mensaje de error.
HttpNotiicationChannel miCanalPush;
public MainPage() {
InitializeComponent();
txtEstadoSuscripcion.Text = e.Message;
if(IsolatedStorageSettings.ApplicationSettings.Contains(IdDispositivo)) {
}
Listado 11. Manejo de error
phoneID =
(Guid)IsolatedStorageSettings.ApplicationSettings[IdDispositivo];
} else {
phoneID = Guid.NewGuid();
IsolatedStorageSettings.ApplicationSettings[IdDispositivo] = phoneID;
El listado 12 tiene el manejador del evento miClient.SuscribirMiTelefonoCompleted. Consiste en desplegar un mensaje de error o xito segn
sea el caso, as como el contenido del canal de comunicacin utilizado.
}
miCanalPush = HttpNotiicationChannel.Find(miCanal);
if (miCanalPush == null) {
AsyncCompletedEventArgs e) {
if (e.Error == null) {
txtEstadoSuscripcion.Text = Suscrito!;
adjuntarFuncionesManejadores();
} else {
miCanalPush.Open();
txtEstadoSuscripcion.Text = e.Error.Message;
} else {
txtCanalUri.Text = miCanalPush.ChannelUri.ToString();
adjuntarFuncionesManejadores();
miCliente.SuscribirMiTelefonoAsync(phoneID,
miCanalPush.ChannelUri.ToString());
}
}
Listado 9. Constructor de la aplicacin Windows Phone
.TUTORIAL
new Uri(@http://192.168.0.46)
};
miCanalPush.BindToShellTile(ListOfAllowedDomains);
}
if (miCanalPush.IsShellToastBound == false) {
miCanalPush.BindToShellToast();
}
txtMensajeRaw.Text = uri actualizada;
miCliente.SuscribirMiTelefonoAsync(phoneID,
miCanalPush.ChannelUri.ToString());
}
Figura 3. Parmetros
al invocar Insertar
Conclusin
Con esto terminamos este tutorial donde mostramos como crear
notificaciones y desplegar notificaciones en Windows Phone.
Este es un recurso muy til y que le da gran interactividad a
nuestras aplicaciones. Por otro lado, tambin debemos tener
cuidado de no abusar de las notificaciones, ya que podemos terminar agobiando a nuestros usuarios.
Referencias
[1] Push notiications for Windows Phone. MSDN. http://swgu.ru/r6
[2] Sending push notiications for Windows Phone. MSDN. http://swgu.ru/sg39r7
.BIO
Amn Espinoza (@aminespinoza) es un desarrollador de software
especializado en las plataformas Windows Phone, Windows 8 y Silverlight. Es un apasionado de la historia, y fan de las luchas, los comics, el
caf y la msica. http://aminespinoza.com
Figura 2. Despliegue de notificacin toast
15
www.sg.com.mx |
Software Guru
InformacionTile
El listado 14 muestra el manejador de eventos para HttpNotiicationReceived. Consiste en recibir el cuerpo del mensaje en un objeto
de tipo StreamReader y desplegarlo en pantalla.
.ESPECIAL
PROJECT MANAGEMENT
MODERNO
LIDERAZGO COMPARTIDO
NFASIS EN LA MOTIVACIN
La administracin de proyectos de software moderna reconoce la importancia de las personas. El xito de un proyecto est ligado a la motivacin de sus miembros. Esta motivacin no solo radica en echar
porras, sino en mantener una buena comunicacin, lograr que realmente haya un objetivo comn, que es ms importante que el desempeo individual de cada integrante.
.BIO
INCORPORACIN DE
PRCTICAS GILES
Los mtodos giles han afectado signiicativamente la forma en que construimos software, desde la adopcin
de modelos iterativos e incrementales, hasta la forma en que programamos o probamos (ej. test driven development). Sin embargo, debemos
recordar que la gestin gil de pro16
.ESPECIAL
Planning Poker
Por Hctor Cuesta-Arvizu y Sergio Ruiz-Castilla
EL PROCESO
Referencias
[1] N. Haugen. An empirical Study Planning for user
story estimation. Proceedings of AGILE 2006 Confe-
X+Y
BRE =
Min(x,y)
Donde X = real y Y = estimado
CONSIDERACIONES
Esta tcnica requiere de un moderador
con gran pericia para lograr que rpidamente haya convergencia en las estima-
.BIO
A continuacin mostramos el proceso en mayor detalle que se realiza para cada historia de
usuario a estimar.
1. El moderador lee y explica una historia o
requerimiento ante los miembros del equipo.
Se podrn hacer preguntas para dejar claro
qu se desea alcanzar.
17
Hctor Cuesta-Arvizu (@hmcuesta) es Lic. en Informtica y actualmente cursa la maestra en ciencias de la computacin en la UAEM Texcoco. Cuenta con seis aos de experiencia desarrollando y
administrando proyectos de software. Adicionalmente se desempea como instructor para Nyce en
el rea de base de datos e ingeniera de software.
Jos Sergio Ruz Castilla es Profesor Investigador de la Universidad Autnoma del Estado de
Mxico, estudia el Doctorado en Ingeniera de Software y trabaja en proyectos de Ingeniera de
Software y Sistemas de Gestin del Conocimiento.
Software Guru
LA TCNICA
www.sg.com.mx |
.ESPECIAL
PROJECT MANAGEMENT
MODERNO
Gestin
gil de Equipos
Por Pablo Cceres Ferreira
radicionalmente, los equipos de desarrollo de software tienen una estructura jerrquica, con la fuerte presencia del
jefe de proyecto y alto nfasis en la asignacin de roles y
especializaciones a personas, que solo se dedican a efectuar
el trabajo de su rol o especializacin. Este tipo de estructura restringe la interaccin entre los miembros del equipo.
La utilizacin de Kanban & Lean se orienta a generar equipos auto-organizados, en donde se alinea el alto empoderamiento con el alineamiento de objetivos comunes: alta flexibilidad,
sin tendencia al caos.
La gestin tradicional de los equipos visualizados como recursos
intercambiables y renovables, puede lograr resultados a cierto grado,
pero tiene un alto costo humano, la motivacin y autovaloracin del
desarrollador van mermando, generando un alto riesgo de abandono
laboral y la incapacidad de generar equipos fuertemente de alto rendimiento, debido a que nunca se genera un equipo fuerte y permanente,
slo personas que vienen y van.
UN INTENTO FALLIDO
Alguna vez colabor en un proyecto con una empresa dedicada
a las microinanzas. El proyecto era de gran relevancia, y mi jefe
directo tena una fuerte intencin de utilizar metodologas giles.
Al ingresar detect en los miembros del equipo un alto inters
en aprender y trabajar de forma diferente. Les expliqu que utilizaramos Kanban, que con sus principios bsicos era suiciente
para partir e iniciar el proceso de
.BIO
mejora continua (Kaizen).
Aprovechamos cuando el jefe
Pablo Cceres Ferreira es Project
Manager en Rhiscom S.A Chile. Se
de proyectos se fue de vacaciones
especializa en el desarrollo y gespara hacer un tablero Kanban.
tin de proyectos tecnolgicos y de
innovacin utilizando metodologas
Nuestro tablero contaba con cogiles. Su prximo objetivo es por
lumnas para agrupar los elementos
medio de BPM lograr la alineacin
estratgica de la tecnologa al servien Pila, Seleccionado, En curso,
cio de los negocios y los procesos.
Listo para revisin, Revisin y Terminado. Iniciamos las Stand-Up
18
Meeting diarias. Si bien exista una Gantt como gua de actividades y tiempos, debido a los altos cambios que sufra el proyecto,
la stand-up meeting nos permitan organizarnos da a da balanceando las cargas de trabajo, aumentando el rendimiento de
equipo y lo ms importante, el nimo y cohesin generado al ser
los nicos trabajando en forma distinta al resto de los equipos.
Al regresar nuestro jefe, en un inicio se interes bastante en la forma de trabajar. Sin embargo, conforme pas el tiempo el inters fue
mermando, haciendo ms hincapi en el seguimiento y re-planiicacin de la Gantt que posea. El equipo no se juntaba si nuestro jefe
no participaba o no invocaba, el tablero se dej de actualizar y dej de
tener sentido utilizarlo.
.ESPECIAL
PROJECT MANAGEMENT MODERNO
TIMEBOXING
Lo primero que se realiz fue la creacin del tablero Kanban (ver igura
1) para el equipo completo, con las siguientes columnas: Pila, Seleccionado, Anlisis, Desarrollo (restriccin de WIP, que puede tener el
estado de en progreso o listo), Revisin y Terminado.
HITOS Y DOCUMENTACIN
Se deinieron ciertos criterios e hitos a cumplir en la transicin de cada
tarea en el tablero, que incluan la generacin de documentacin simple. A continuacin la documentacin que acordamos generar:
19
www.sg.com.mx |
Software Guru
.ESPECIAL
PROJECT MANAGEMENT
MODERNO
ENTREGA CONTINUA
CONCLUSIONES
La entrega continua de los desarrollos permiti inmediatamente alinearlos con las necesidades del cliente y recuperar su conianza. Deinimos dos tipos de entregas:
Entrega parcial: Nos permite informar al cliente de un avance en
ambiente de revisin interna, pero con riesgos de mal funcionamiento
o problemas de escritura en los desarrollos. El objetivo de una entrega parcial es montar un ambiente de integracin, rectiicacin de un
requerimiento completo o netamente para disminuir la angustia del
cliente ante cortos tiempos de desarrollo.
Entrega total: Es la entrega de una funcionalidad completa en los
tiempos planiicados, con documento de evidencia de funcionamiento
y entrega. Esto quiere decir que con el visto bueno del cliente, se proceda a la instalacin de esa funcionalidad o de otras.
El uso de Kanban, sumado con conceptos de gestin gil, nos ha permitido aumentar la calidad de nuestros desarrollos, permitiendo el retorno de conianza de nuestros clientes. Gracias a esto, uno de nuestros
clientes recientemente nos evalu como una de las empresas proveedoras Top Ten en conianza, calidad y responsabilidad.
Por otra parte, el trabajar con una metodologa gil, limitar
el trabajo en curso, deinir hitos o explicitar el proceso, y llevar
a cabo las reuniones deinidas (stand-Up meeting, planiicacin
semanal y anlisis en conjunto) ha permitido al equipo conformar una identidad nica en la empresa, mejorando su nimo,
motivacin y empoderamiento, ya que se ha logrado con una
simple gua y polticas puntuales, una auto-organizacin fuerte,
entendida y compartida por todo el equipo. Los miembros del
equipo no nos sentimos como recursos genricos, sino como una
fuente de mejora, innovacin y orgullo por las metas conseguidas
en conjunto: calidad de los desarrollos, optimizacin de nuestro
trabajo, retorno de la conianza del cliente, y lo mejor, motivacin
y compromiso por parte del equipo.
STAND UP MEETING
Se iniciaron las reuniones diarias, en donde se presentaba la tarea asignada y el progreso que se tena de esta, adems de los impedimentos
(qu estoy haciendo, qu har y qu problemas he tenido) poco a poco
se va barriendo el tablero de derecha a izquierda, iniciando por las
tareas inconclusas, hasta las que se planean efectuar (para de iniciar,
empieza a terminar).
PLANIFICACIONES SEMANALES
www.sg.com.mx |
Software Guru
Certificaciones,
Normas y Modelos de TI
La voz de la industria
Trabajar regidos por un modelo o norma es una red de seguridad que debe ayudarnos a controlar y mejorar los resultados
de nuestros proyectos de software. Pero el control y garantas no slo son requeridas hacia el interior sino tambin hacia el
exterior, y es aqu cuando las certiicaciones adquieren un valor ms all del control. En el afn de conseguir reconocimiento
como un jugador destacado en la industria internacional de TI, en Mxico en los ltimos aos se le ha dado gran importancia
y apoyo a las certiicaciones, tanto a nivel de profesionistas como de organizaciones y productos. Gracias a ello hoy en da
contamos con una masa crtica de profesionistas certiicados en las tecnologas ms utilizadas a nivel internacional, as como
un nmero signiicativo de empresas acreditadas en modelos de calidad como CMMI y MoProSoft.
Aunque mucho se puede discutir sobre si una certiicacin realmente garantiza la calidad del trabajo de una persona o empresa, lo que s debemos reconocer es que la masa crtica de personas y empresas certiicadas es uno de los elementos que ms
puede contribuir a mejorar el posicionamiento de un pas en la industria global de TI. Es as que hemos dedicado el reportaje
principal de esta edicin de SG para platicar sobre certiicaciones profesionales y modelos de calidad organizacionales. A lo
largo de los siguientes artculos conocers tendencias, modelos y recomendaciones para conseguir las certiicaciones de mayor
demanda en la industria de TI actualmente.
22
Estudio SOBRE
CERTIFICACIONES
1. Obtener mejores resultados en sus proyectos.
2. Incrementar competencias y habilidades.
3. Mejorar la calidad de los productos de trabajo.
Un tema que va de la mano con los programas de adopcin de modelos y certiicacin
organizacional es la consultora de procesos.
As que preguntamos a los encuestados sobre
el rol que debe de asumir el consultor dentro
de este tipo de programas. Dentro de los tres
primeros lugares se encuentra:
Certificaciones
personales
La tabla 1 muestra los la lista de certiicaciones personales ms buscadas entre los encuestados. Las de mayor inters fueron las de
PMP, ITIL y SCRUM Master. Un porcentaje
considerable tambin indic inters en certiicaciones en lenguajes o plataformas tecnolgicas especicas, sin embargo no se obtuvo el
detalle de stas ya que el enfoque del estudio
fue hacia normas y modelos de TI.
1. Aumento de la productividad.
2. Cooperacin entre individuos, equipos y reas.
3. Mejora de la calidad y satisfaccin de
los clientes.
4. Cuando toda la organizacin conoce los procesos definidos y se entiende su razn de existir.
5. Cuando hay cambio positivo en la cultura
organizacional.
Acreditaciones
organizacionales
Objetivos
En cuanto a las principales razones para
adoptar estos modelos, se encuentran:
Beneficios
Para conocer los beneiciones econmicos que
obtienen los profesionistas al certiicarse recurrimos a un estudio realizado recientemente
por Select para Mexico FIRST. De acuerdo
con dicho estudio, los profesionistas de TI en
promedio obtienen un aumento de 36% en su
compensacin econmica en un periodo de 18
meses despus de conseguir una certiicacin.
23
Software Guru
1. Facilitador
2. Coach
3. Agente de cambio
Obtener una certiicacin es un logro,
mas no es un indicador de una implantacin
exitosa a largo plazo, para asegurar que un
modelo o norma ha permeado en una organizacin, nuestros encuestados sealan como
indicadores principales los siguientes:
www.sg.com.mx |
n SG recientemente realizamos un
estudio para conocer los objetivos de
certiicacin de nuestra audiencia.
Para ello aplicamos una encuesta entre cerca
de 300 profesionistas de TI. En el siguiente
artculo compartimos un breve resumen sobre los aspectos ms relevantes.
El objetivo del estudio fue brindar un panorama actual de los intereses que mueven a
profesionistas y empresas para buscar una certiicacin o para alinearse a la implantacin de
procesos basados en normas y modelos (aunque
no busquen una acreditacin o certiicacin).
Dentro de la muestra se contemplaron todos
los periles que intervienen en un desarrollo de
software: Directivos, Gerentes, Lderes de Proyecto, Desarrolladores, Arquitectos, Auditores,
Consultores, Ing. De Procesos, Testers, Ejecutivos de venta, seguridad e Infraestructura.
Certificaciones
sobre
Anlisis de Negocio
Una tendencia necesaria
Por Gabriel Almeida
Tendencias de la industria
Actualmente existen ms de 2 millones de posiciones de analistas
de negocio en el mundo. Estudios realizados por el IIBA en 2010,
dieron como resultado que la composicin de analistas de negocio
24
En Mxico se ha notado un
incremento en la demanda de este
rol principalmente en las empresas
financieras, de TI y de retail.
Figura 1. Requisitos de
certificacin
[BIO]
Gabriel Almeida, CBAP es Socio Fundador, Primer Presidente y VP de Desarrollo Profesional IIBA Mexico City Chapter. Estudi
Licenciatura en Informtica en UPIICSA y tiene 35 aos de experiencia en la industria de TI. Ha ocupado puestos directivos como
Subdirector de Ingeniera Sistemas; Subdirector de Ingeniera Procesos; Director de Innovacin y Tecnologa en distintas empresas. Actualmente imparte cursos, conferencias y talleres sobre Business Analysis. galmeida@seanmexico.com
25
Software Guru
Escenario futuro
www.sg.com.mx |
Las
Certificaciones
que Todo Tester
debe Conocer
Por Gerson Garca y David Aguilar
eguramente como Ingeniero de Pruebas te has preguntado algo como qu certiicaciones existen en el
mercado?, cul tiene mayor validez?, por qu me debera de certiicar con un ente extranjero y no con un
representante nacional? o si vivo en Mxico por qu el
ASTQB y no el HASTQB?, si al inal del da existe un representante
en Mxico por qu hacerlo con un extranjero?
En este artculo analizaremos algunas de las opciones ms populares para certiicacin en testing.
26
profesin y difciles de medir de forma concreta. Es por eso que se requiere de una formacin estructurada y especializada que pueda ser
validada para garantizar los conocimientos bsicos y la experiencia.
Al da de hoy, la mayora de los ingenieros de pruebas han aprendido a desarrollar su profesin de forma emprica. Si bien algunos
cuentan con mayor o menor formacin formal en trminos de sistemas de software y una carrera universitaria afn al rea de TI, pocos
han sido los que han tenido entrenamiento formal y han logrado
acreditar certiicaciones en la disciplina. Esta disciplina ha tomado
una gran relevancia en las ltimas 3 dcadas y al da de hoy ya se
considera una profesin madura que cuenta con diferentes ofertas
para validar los conocimientos de sus practicantes. A continuacin
describiremos las principales certiicaciones disponibles y comentaremos sus principales diferencias y puntos clave.
Principales organizaciones
certificadoras y su oferta
El International Software Testing Qualiications Board es una organizacin basada en Alemania pero con representacin en distintas regiones del mundo. En el caso de Amrica est el ASTQB (American
Software Testing Qualiications Board) para Estados Unidos, CSTB
(Canadian Software Testing Board) para Canada y HASTQB (Hispanic America Software Testing Qualiications Board) para pases
de habla hispana. Estos son los niveles y opciones de especializacin
para las certiicaciones que ofrece ISTQB:
Nivel de fundamentos (Foundation).
Nivel avanzado (Advanced) con 3 opciones de especializacin: Test
Manager, Test Analyst, Technical Test Analyst.
Nivel experto con 4 opciones de especializacin: Improving Test Process, Test Management, Test Automation, Security Testing.
Asmismo, el IIST (International Institute for Software Testing) de
Estados Unidos ofrece los programas:
Certiied Software Test Professional (Associate, Practitioner,
Master Levels).
Certiied Agile Software Test Professional.
Certiied Test Manager.
Certiied Software Quality Manager.
Certiied Software Test Automation Specialist.
La American Society for Quality (ASQ) es un organismo bastante
importante en Estados Unidos, que ofrece programas de formacin y
certiicacin para roles de gestin de calidad en distintos dominios. En
el caso especico del software, ofrece el programa CSQE (Certiied
Software Quality Engineer).
Conclusin
La actitud respecto a
Puntos importantes
al decidir sobre una
certificacin
Presencia a nivel mundial y reconocimiento. Es recomendable contar una certiicacin por parte de una organizacin con
presencia mundial a travs de captulos o coordinaciones regionales. Aqu vale la pena revisar
las organizaciones que tienen ms tiempo en la
industria y que han logrado formar vnculos
con entidades gubernamentales u otras asociaciones similares.
Tipo de Acreditacin. Bsicamente hay
dos tipos, las que son basadas en exmenes y
las que son basadas en entrenamientos. Para
las primeras, nicamente se requiere acreditar
un examen y pagar su costo. Para las segundas,
[BIO]
Gerson Garca es Gerente de Tecnologa en Testing IT y David Aguilar es Gerente de Operaciones en la misma empresa. Han participado en proyectos de pruebas de software para empresas de diversos sectores y cuentan con certificaciones del ISTQB (Foundation & Advanced Level) y en IREB (Ingeniera de Requisistos). www.testingit.com.mx
27
Software Guru
www.sg.com.mx |
Uso de
Tcnicas giles
en Modelos de
Calidad
Mejorando Resultados de Negocio
Por Elsa Ramrez Hernndez y Fernando Rueda Tllez
[BIO]
Elsa Ramrez Hernndez es Directora de Innovacin en Praxis. Es experta en implantacin de CMMI habiendo dirigido esfuerzos
para la acreditacin en CMM 3, CMMI 4, CMMI 5 y CMMI 5 con giles para una empresa de desarrollo.
Fernando Rueda Tllez es consultor CMMI en Praxis. Es experto en procesos de administracin, desarrollo y soporte. SEPG Manager y particip en SCAMPIs para CMM 3, CMMI 4, CMMI 5 y CMMI 5 con giles para una empresa de desarrollo.
29
Software Guru
Buscando en Internet podemos encontrar diversas propuestas de mapeos de correspondencia entre modelos de procesos y metodologas
de software. Lo interesante no es esta descripcin, sino la adaptacin
que cada organizacin hace de su proceso estndar para la adopcin de
nuevas tcnicas o procesos. En el caso de mtodos giles, considerando
que se ha contado con experiencia en la implementacin de un modelo
como CMMI, se pueden aprovechar las actividades relacionadas con la
eiciencia de los recursos y la estrecha colaboracin con el cliente simplemente ajustando el ciclo de vida tradicional para incorporar prcticas giles en aquellas actividades donde tenga sentido. Generalmente
los procesos ms afectados son los de las categora de administracin
de proyectos, ingeniera y soporte. La igura 1 muestra un panorama
de esta arquitectura de procesos modiicada.
www.sg.com.mx |
Mapeo de procesos
CMMI vs. mtodos giles
Qu Tan
gil Puede Ser
Mi Modelo de
Procesos?
Por Rodrigo Torres Garibay
stos y muchos otros cuestionamientos similares solemos encontrar quienes nos dedicamos a mejorar procesos de software; por
un lado la nocin de que los modelos de procesos clsicos (CMMi, MoProSoft, PMBOK, ITIL, etc) van a entorpecer o hacer
ms lentas las actividades del da a da y por otro lado esta percepcin de que los modelos de procesos giles (SCRUM, Lean,
Kanban, etc.) signiican no documentar. Pero son realmente los modelos clsicos unos modelos lentos? O es ms bien una
inadecuada interpretacin de un consultor con poco conocimiento o un evaluador o Lead Appraiser con poco criterio para
enfocarse a las necesidades de la organizacin y no solamente a que cubran el modelo/norma o estndar.
Todos los modelos de procesos se pueden convertir en la peor pesadilla para cualquier organizacin sino se saben interpretar o si se quiere seguir
al pie de la letra lo que dicen. Ningn modelo es lo suicientemente completo para cualquier organizacin, por lo tanto se debe de revisar qu es lo
que nos ofrece cada modelo y enfocarlo principalmente a las necesidades de la organizacin en la que se quiera implementar. Recordemos que los
modelos de procesos nos marcan el Qu y la organizacin decide el Cmo. Por ejemplo, un modelo nunca te pide que generes tres minutas
y que stas sean irmadas con sangre por todos los involucrados, lo que el modelo pide es que notiiques los planes de trabajo a tus involucrados.
Queda a criterio de cada organizacin decidir la mejor forma de implementar esto de acuerdo a su contexto y necesidades.
30
[BIO]
Rodrigo Torres Garibay (@garicorp) es Consultor de Calidad en la firma Innevo, donde ha logrado llevar a varias empresas a niveles
1, 2 y 3 de MoProSoft; niveles 2, 3, 4 y 5 de CMMI en las constelaciones de DEV ySVC, as como en proyectos de mejora con el marco
de referencia de ITIL. rtorres@innevo.com
31
Software Guru
Cul es la clave?
www.sg.com.mx |
Lo que Pocos
Saben sobre CMMI 5
En la definicin est la clave
Por Carlos Augusto Gutirrez
ctualmente existen 8 empresas en Mxico reconocidas por el SEI con nivel 5 de CMMI implementado
satisfactoriamente y 2 empresas con nivel 4 (slo
el 10% de las organizaciones evaluadas en todo el
pas). Este resultado se debe a que la mayora de las
compaas ven complicada la implementacin de estos niveles debido al poco entendimiento e interpretacin de lo que se requiere para
deinirlos, lo que se releja en el nmero de empresas acreditadas.
Entre los principales factores que auspician la creencia de la diicultad en la implementacin de los niveles de alta madurez de
CMMI, se encuentran los modelos predictivos. Sin embargo, con
una gua adecuada, es posible adoptarlos de forma satisfactoria.
Los niveles de alta madurez de CMMI consideran la implementacin de cuatro reas de proceso que corresponden a la administracin cuantitativa y a la optimizacin de los procesos. Para llegar
a estos niveles, es importante que las empresas cuenten con una
base bien deinida de los niveles 2 y 3.
En el nivel 3 de CMMI se deinen los procesos y la organizacin cuenta con un conjunto estndar de procesos que
establecen la forma en que opera y que pueden ser ejecutados
bajo determinadas condiciones. Por su parte, en el nivel 4, se
administra cuantitativamente la organizacin y controla los
procesos mediante estadsticas y otras tcnicas cuantitativas
con dos reas de proceso fundamentales: Organizational Process Performance (OPP) y Quantitative Project Management
(QPM). Ya en el nivel 5 se optimizan los procesos y la organizacin mejora continuamente, considerando las causas comunes de variacin con las siguientes reas de proceso: Organizational Performance Management (OPM) y Causal Analysis
and Resolution (CAR).
Estrategia organizacional
Los niveles de alta madurez buscan alinear las actividades estratgicas
de la organizacin con las actividades y mediciones de proceso de los
proyectos, para lograr una sinergia entre las diferentes reas y proyectos de una organizacin. Con base en esa alineacin con la estrategia
de negocio, la organizacin aplica esfuerzos de medicin estadsticos
a los elementos crticos (los denominados subprocesos).
Uno de los principales retos para las organizaciones que buscan niveles altos de madurez es el tema de la adecuacin o reestructuracin de parte o todo su sistema de medicin debido a
que en la mayora de los casos el sistema actual no soporta adecuadamente los requerimientos de administracin cuantitativa
de subprocesos crticos de la organizacin.
Beneficios
Algunas de las empresas mexicanas que han alcanzado los niveles
altos de madurez han demostrado:
Un mejor control sobre los proyectos que ejecutan, al igual que
los gerentes y directores cuentan con ms elementos para la toma
de decisiones informada.
Un mayor sentido a las estrategias de negocio de la organizacin y con ello, se ha mejorado la participacin en las
diferentes iniciativas.
Mejoras cuantitativas que representan para la organizacin
ahorros substanciales tanto en tiempo, esfuerzo y/o costo. Apoyando de esa manera al logro de los objetivos de negocio y estratgicos de la organizacin.
Otro de los beneicios que se obtienen de una implementacin
de procesos de alta madurez es la generacin de un lenguaje comn
en trminos numricos (cuantitativos) ms que en trminos cualitativos. Esto permite un mayor entendimiento entre las reas de la
organizacin.
Es importante considerar tambin los beneficios a nivel
individual respecto a la madurez que adquieren los administradores de proyectos es importante, ya que muchas de
las actividades ejecutadas en nivel 4 son enfocadas a ese rol,
pues la experiencia y el uso de datos cuantificables para la
administracin integrada del proyecto brinda las herramientas a los administradores para controlar y evitar problemas
de manera objetiva.
Finalmente, el resultado de implementar procesos de alta madurez ha ayudado a las empresas a ser puntos de referencia en
la industria, y por lo mismo tener mayor participacin en el
mercado debido a la madurez alcanzada.
Recomiendo que las empresas evaluadas en CMMI Nivel 2 y
3 continen su camino hacia la mejora continua, hasta llegar a la
institucionalizacin de los procesos. Contar con una masa crtica
de empresas en estos niveles releja una industria fuerte, lo que
puede ser una plataforma para posicionarnos mejor como pas en
el mercado global.
[BIO]
Carlos Augusto Gutirrez Prez actualmente trabaja en Avantare Consultores en donde se especializa en la implementacin de procesos de CMMI en niveles de alta madurez (4 y 5). Tambin ha participado en la implementacin de marcos de
medicin basado en el Acuerdo de Niveles de Servicio (SLA). http://www.avantare.com
32
.COLUMNA
COLUMNA
INVITADA
CON
ACTUALMENTE EN MXICO NO SE CUENTA
UNA BASE DE DATOS COMPLETA Y CONace ya algunos meses se constituy en Mxico el Laboratorio Nacional de Prueba de Software (LNPS). La misin
del LNPS es proveer a la industria mexicana servicios de clase
mundial que por un lado permitan otorgar objetivamente reconocimientos a productos, a probadores de software y a organizaciones de prueba por su alta calidad; y que por otro generen
informacin objetiva y confiable en forma de mtricas, estadsticas y registros que faciliten elevar la confianza en los productos
de software en Mxico.
Actualmente en Mxico no se cuenta con una base de datos
completa y confiable de empresas y personas con alguna certificacin en prueba de software. En el LNPS estamos desarrollando un sistema que estar a disposicin de la comunidad, que
permitir por un lado que las empresas que cuenten con una
certificacin o con un producto certificado, puedan enviar la
informacin y evidencia de la certificacin para que pueda ser
accesible para algn interesado; y por otro tambin ser posible
que personas enven evidencia de alguna certificacin en prueba
de software otorgada por algn organismo nacional o internacional, lo cual permitir generar estadsticas sobre las capacidades actuales de prueba de software en nuestro pas y facilitar
acciones que puedan incrementarlas.
El LNPS tiene tambin entre sus objetivos generar y compartir
mtricas de calidad. Conforme se vayan obteniendo estas mtricas
se darn a conocer. Entre las mtricas que planeamos recolectar y
compartir con la comunidad estn:
Efectividad de pruebas unitarias. Como los lectores de SG saben, las pruebas unitarias ayudan a identiicar defectos conforme el
software se va implementando. En el LNPS realizaremos una clasiicacin que identiique claramente los defectos unitarios (o que
debieran ser detectados en pruebas unitarias). Con esto podremos
medir la efectividad de dicha prueba, y basados en esto implementar
acciones encaminadas a mejorarla.
Densidad de defectos. Esta mtrica bsicamente trata de la
cantidad de defectos que un sistema tiene por unidad de tamao. El reto es encontrar la unidad de tamao que pueda ser
estandarizada. Existen varios esquemas para realizar estas mediciones: lneas de cdigo y puntos de funcin son algunos de
los ms conocidos. En nuestra experiencia ambos tiene grados
importantes de imprecisin, por esto es altamente probable que
dos organizaciones diferentes obtengan un tamao distinto del
mismo producto. Debido a esto, la densidad de defectos la calcularemos basados en una medicin estndar de tamao, con la
que ya contamos en la actualidad y que permitir realizar comparaciones entre productos que hayan sido probado en el LNPS
Conclusin
Las mtricas que mencion aqu son las que considero ms relevantes, sin embargo en el laboratorio recolectaremos muchas otras que
tambin estaremos publicando. Estas mtricas, adems de aquellas
que se obtengan de las evaluaciones de empresas y de personas, nos
permitirn tener una buena radiografa de la calidad en la industria
del software en Mxico.
Tenemos altas expectativas de que esta informacin contribuya a la mejora de nuestro sector. Para mayor informacin visita www.lnps.mx
33
www.sg.com.mx |
Software Guru
.SECCIN PATROCINADA
Lo ms relevante:
PRAXIS innova su servicio de desarrollo de software combinando lo mejor del
modelo CMMI con lo mejor de las metodologas giles.
En nuestros das se habla mucho sobre certiicaciones de calidad para empresas y personal; ambas son referencia de ventajas competitivas que
logren marcar la diferencia ante la competencia.
Dentro del mundo de las TI, las organizaciones
cada da buscan que sus productos o desarrollos
tengan esa calidad que los lleve a contar con un
gran diferenciador en los mercados globales,
donde la certiicacin de los procesos de fabricacin es garanta y aval de calidad.
El modelo CMMI es aceptado a nivel internacional como sinnimo de calidad, con
adopcin en los cinco continentes, ayuda
a integrar funciones, establecer objetivos y
prioridades de procesos, proveer guas de calidad, brindar puntos de referencia y mejores
prcticas probadas en la industria que brindan efectividad a los procesos, y por lo tanto,
a los productos resultantes. Tpicamente el
modelo para desarrollo aplica sobre metodologas tradicionales probadas y que cumplen
con cada uno de los procesos deinidos.
ACERCA DE PRAXIS
PRAXIS, empresa 100% mexicana, lder en proyectos con metodologas y herramientas
especializadas, con un enfoque estratgico en consultora, integracin, Solution Center
y desarrollo de sistemas, busca fortalecer el desarrollo de las empresas a travs del uso
adecuado de las tecnologas de informacin. Con ms de 15 aos en el mercado, PRAXIS
garantiza soluciones en Tecnologa de Informacin con compromiso ilimitado para sus
clientes, con altos estndares de calidad y asesora en tecnologa de punta.
Cuenta con oicinas en Monterrey, Quertaro, D.F., Miami, Dallas, Madrid, Argentina, Puerto Rico y Panam, adems forma parte del cluster de Tecnologa InteQsoft en
Quertaro; del cluster Prosoftware del DF; y tambin forma parte del cluster AETI en
Monterrey Nuevo Len.
34
.SECCIN PATROCINADA
Concluyendo: Es un excelente momento para voltear a ver la certiicacin PMP, hay ms demanda que oferta, esta posicionada la necesidad, y
en TI representa crecimiento a la persona de manera inmediata, as como
beneicios incalculables a las empresas en tiempos, costos y satisfaccin al
cliente. Si te interesa la certiicacin PMP y te interesa en que te asesore a
disear tu plan de estudio sin costo, contctame y te ayudo a que t equipo
y t se certiiquen. xito!
35
www.sg.com.mx |
Software Guru
.SECCIN PATROCINADA
JPE Consultores
Ofrece
Experiencia a travs de su trayectoria obtenida
en la ejecucin de una gran cantidad de proyectos exitosos, seguridad y conianza a la hora
de iniciar un esfuerzo de certiicacin organizacional bajo un estndar de calidad.
.SECCIN PATROCINADA
www.sg.com.mx |
Software Guru
Programa de certiicaciones en
.SECCIN PATROCINADA
CAPACTESE EN
RED HAT ENTERPRISE
LINUX Y GANE MS
Grandes empresas y entidades de gobierno en Mxico, como el Instituto Federal Electoral, han apostado por la tecnologa de Cdigo Abierto
Red Hat y han decidido seguir invirtiendo en aos futuros.
Correo: training-mx@redhat.com
Tel en Mxico: +52 (55) 8851-6400
Visite: mx.redhat.com
39
Software Guru
www.sg.com.mx |
.PRCTICAS
ARQUITECTURA
Software
Engineering
Institute
El SEI cuenta con varios programas
de educacin que permiten obtener
certiicados en el tema de arquitectura de software. Estos incluyen:
Software Architecture Profes-
.PRCTICAS
ARQUITECTURA
Otros
IASA
IASA es la asociacin global de arquitectos de TI. Originalmente solo se enfocaba en arquitectura de software pero posterior-
Existe una gran variedad de programas de certiicacin relacionados con la arquitectura de software. A pesar de que las certiicaciones no son una garanta de que quien las posea es un arquitecto
competente, al menos implican que sta persona tuvo contacto
con una capacitacin y tuvo que estudiar los conceptos que ah se
impartieron con el in de aprobar el examen asociado (si lo hay).
Las certificaciones asociadas a una plataforma especfica tienen la ventaja de que tienden a ser ms valoradas en la industria,
pero tienen la desventaja de que el conocimiento asociado puede
volverse obsoleto ms rpidamente. Las certificaciones que no
estn asociadas a una plataforma especfica tienden a ser menos
valoradas en la industria, pero tienen la ventaja de que pueden
aplicarse a distintas plataformas y el conocimiento asociado tiene menos riesgo de volverse obsoleto. Por lo anterior, es importante evaluar qu es lo que uno busca obtener de una certificacin, y elegir la que sea ms adecuada a nuestras necesidades.
En nuestra experiencia consideramos que la obtencin de
certificaciones relacionadas con arquitectura de software es una
inversin que vale la pena realizar.
Referencias
[1] Clements, P., Certified Software Architects, IEEE Software, Vol. 27, Issue 6,
pp 6-8, Noviembre / Diciembre 2010
[2] H. Cervantes. El Valor de la Arquitectura de Software. Revista Software
Guru # 31, Marzo-Abril 2011.
41
Software Guru
Conclusin
www.sg.com.mx |
.PRCTICAS
REQUERIMIENTOS
Casos de Uso
A ritmo de copy-paste
Imaginemos un caso de uso de registro de elementos en un catlogo,
que tendra un lujo bsico similar al siguiente:
1. El actor X indica al sistema que desea registrar un elemento X.
2. El sistema despliega la forma de registro para un elemento X.
3. El actor X llena la forma de registro e indica al sistema que desea
proceder con el registro.
4. El sistema revisa que la informacin proporcionada sea vlida.
5. El sistema registra el elemento X.
Es muy posible que para todos los catlogos simples el proceso de insercin sea muy similar al descrito, por lo que el equipo
seguramente tomar la decisin de usarlo como plantilla base.
Por tanto, si el sistema comprende 50 catlogos, se generarn 49
clones donde lo nico que diiere es el nombre del elemento X.
42
.PRCTICAS
REQUERIMIENTOS
En un proyecto en el que particip algunos aos, nos encontramos con que a pesar de que los desarrolladores eran buenos,
estaban teniendo problemas para implementar correctamente el
sistema. El problema era que los desarrolladores desconocan
la operacin del negocio, as que no entendan cmo los casos
de uso soportaban el proceso de negocio y por lo tanto no les
era obvio el orden en el que se deban realizar las interacciones
indicadas en los casos de uso. A pesar de que los casos de uso
manejan relaciones de inclusin y extensin, as como el manejo de precondiciones en las narrativas, stas no son suficientes
para establecer el orden de ejecucin de escenarios para la consecucin de flujos completos. Por ende, cuando un desarrollador
trabajaba con un caso de uso, tena que descubrir como funcionaba el proceso completo haciendo ingeniera inversa. Esto,
adems de ser propenso a errores, consuma demasiado tiempo.
Para corregir esta situacin realizamos las siguientes acciones:
Brindar induccin a los nuevos integrantes del equipo en aspectos
de negocio.
Documentar los lujos a travs de diagramas de proceso de negocio, y registrar la rastreabilidad procesos - casos de uso.
Asignar a recursos experimentados como coaches de negocio.
Manejar matrices de rastreabilidad que documenten qu partes
del cdigo corresponden a qu caso de uso, para detectar elementos
compartidos.
Disear bateras reutilizables de datos de prueba para consumo
de todo el equipo.
Implementar esquemas de integracin continua para detectar impactos laterales lo ms rpido posible.
Conclusiones
Los casos de uso son y seguirn siendo una muy buena herramienta
para documentar y comunicar requerimientos. Sin embargo, es fcil
dejarse llevar por la idea de que su uso es trivial y que son adecuados
para capturar todo tipo de requerimientos. Una adecuada comprensin de sus limitaciones junto al conocimiento de otras herramientas
de levantamiento de requerimientos, aunado a la aplicacin de estrategias simples de organizacin y distribucin, traer como consecuencia requerimientos mejor plasmados, ms completos y ms
sencillos, en beneicio tanto de los equipos de desarrollo como de los
usuarios inales y el resto de las reas involucradas.
Referencias
[1] S. Ferg. Whats Wrong with Use Cases? http://swgu.ru/sg39r2
[2] E. Gottesdiener. Top Ten Ways Project Teams Misuse Use Cases - and How
to Correct Them. http://swgu.ru/sg39r3
[3] I. Jacobson et al, Object-Oriented Software Engineering - A Use Case Driven Approach. Addison-Wesley, 1992.
43
Software Guru
Perdidos en el espacio
www.sg.com.mx |
.PRCTICAS
PRUEBA DE
SOFTWARE
Diagnstico
Para tomar una decisin acertada
sobre la mejor estrategia para nuestra organizacin, un buen comienzo
es contestar las siguientes preguntas:
.PRCTICAS
PRUEBA DE
SOFTWARE
CERTIFICARSE NO DEBIERA SER PECADO,
TAMPOCO MERA PRESUNCIN.
Atributos a considerar al
certiicar software
En el caso de querer evaluar la calidad de uno o ms productos de
software, qu aspectos son los que debemos tomar en cuenta?
En el artculo previamente publicado en SG titulado Priorizacin
de Atributos de Calidad en Sistemas Modulares Integrados [5], se
explican los atributos de calidad interna y externa del software que
considera el estndar internacional ISO-IEC-9126 (NMX-I-9126-1NYCE en Mxico). Dichos atributos son agrupados en seis caractersticas bsicas de calidad que debieran estar presentes en un producto de
software. A continuacin listo dichas caractersticas y atributos.
Funcionalidad: Adaptabilidad, exactitud, interoperabilidad, seguridad de acceso.
Coniabilidad: Madurez, tolerancia a fallas, recuperacin, conformidad de funcionalidad.
Usabilidad: Facilidad de comprensin, facilidad para aprender,
operatividad, atractivo.
Eiciencia: Tiempo de respuesta, utilizacin de los recursos.
Para evaluar dichos atributos de calidad, se contempla la aplicacin de una gran cantidad y variedad de mtricas, que ayudarn
a conocer el nivel de cumplimiento y con ello, el nivel de calidad
alcanzado por dicho sistema.
En deinitiva, para conocer el nivel general de calidad logrado en los
productos de software evaluados, la organizacin que provea un servicio
tal de Certiicacin de Productos de Software deber tener desarrollado,
implantado y sistematizado un modelo para aplicar dichos criterios y
mtricas, de modo que con bases fundamentadas pueda emitir un juicio
de valor respecto a las evaluaciones que realice, y por cuyos resultados
estar en condiciones o no, de emitir una certiicacin o sello.
Conclusin
La decisin sobre apostarle a una certiicacin de Proceso de Pruebas, o a
una de Personas (Testers) o a una de Producto, deinitivamente est en sus
manos. Ante limitaciones en presupuesto, tal vez resulte conveniente concentrar gradualmente los esfuerzos en alcanzar primero alguna de ellas y
posteriormente ir buscando alguna otra, solo si realmente es relevante para
el negocio invertir en ms de una de ellas. Y por supuesto, dicha decisin
tambin debiera sustentarse en un inminente retorno de la inversin.
Referencias
[1] Len Carrillo, Luis Vinicio y Ruiz Eguino, Sandra Berenice. Modelos de
Calidad para Prueba de Software, Software Gur, Dic 2008.
[2] Ruiz Eguino, Sandra Berenice y Silva, Armando. TMMi: Un modelo especializado en pruebas,
[3] Ruiz Eguino, Sandra Berenice. El Modelo de Calidad Europeo TPI. Software Gur, Mayo 2009.
[4] Len Carrillo, Luis Vinicio y Ruiz Eguino, Sandra Berenice. Certificaciones
Internacionales para Testers I y II, Software Gur, Sep 2009 y Nov 2009.
[5] Gonzlez lvarez, Larisa, Martn Cruaes, Roberkys y Rivero lvarez, Tahir.
Priorizacin de Atributos de Calidad en Sistemas Modulares Integrados,
Software Gur, Oct 2012.
45
Software Guru
www.sg.com.mx |
.PRCTICAS
PROCESOS
Aplicando
Experimentacin
Cientfica
Proceso de experimentacin
As como en nuestra disciplina contamos con un proceso para construir software, en la experimentacin se cuenta con un proceso para
hacer experimentos. Este proceso consta bsicamente de las siguientes fases: Idea, Deinicin, Diseo, Ejecucin y Anlisis.
Una de las doce prcticas de la programacin extrema (XP) [1]
consiste en programar por pares. Bsicamente, esto consiste en que
dos programadores trabajan juntos en una misma tarea usando una
computadora. Uno de los programadores quien toma el rol de controlador escribe el cdigo mientras que el otro programador identiicado como observador revisa de
.BIO
manera activa el trabajo realizado por
el controlador con el in de detectar
Omar S. Gmez es Ingeniero en
Computacin por la Universidad de
posibles defectos. El observador
Guadalajara, Maestro en Ingeniera de Software por el Centro de
puede hacer anotaciones o deinir
Investigacin en Matemticas y
estrategias para llevar a cabo la tarea
Doctor en Software y Sistemas por
la Universidad Politcnica de Madrid.
a realizar, tambin puede buscar refeActualmente es profesor en la Licenciatura en Ingeniera de Software
rencias para ayudar a resolver alguna
de la Universidad Autnoma de
Yucatn. omar.gomez@uady.mx
cuestin que se presente durante la
realizacin de la tarea.
Idea
Dada la informacin que acabamos de leer sobre programacin por
pares, nos viene a la mente contrastar con hechos esta prctica para
conocer de manera ms coniable en qu medida se cumplen las bondades que de ella se mencionan.
Deinicin
El objetivo del experimento es evaluar la productividad al programar
por pares, comparado con la programacin individual. El estudio se
realiza en el contexto de un aula con computadoras donde alumnos
de la carrera en Ingeniera de Software de la Universidad Autnoma
de Yucatn (UADY) realizarn dos programas ya sea por pares o de
manera individual.
Diseo
Bsicamente se especiica cmo se asignan los tratamientos a los sujetos, el tipo de sujetos a emplear as como la preparacin de instrumentos o materiales para ejecutar el experimento.
En este experimento participaron 21 sujeto-estudiantes: 14 de
ellos trabajaron en pares (siete pares) y 7 de manera individual. El
experimento se dividi en dos sesiones, en cada sesin los sujetos
codiicaron un programa diferente (variable de bloque). En la primera sesin los sujetos que trabajaron individualmente utilizaron el
46
.PRCTICAS
PROCESOS
Anlisis
En esta fase se emplean diferentes tcnicas estadsticas para analizar
e interpretar las mtricas generadas. Usualmente en el diseo de experimentos se emplea el anlisis de la varianza (en ingls ANOVA).
Bsicamente el ANOVA se basa en examinar la variabilidad de las
mtricas recabadas y la variabilidad de otros elementos como pueden
ser otras variables as como el error experimental. La Tabla 1 muestra
de manera resumida los resultados tras aplicar dos ANOVAS, una
por cada mtrica.
La Tabla 2 muestra las diferencias obtenidas (pares y solos) en minutos con respecto a la duracin y esfuerzo. Como se observa en esta
tabla, se obtuvo una diferencia de 36 minutos a favor de la programacin por pares, lo cual signiica un ahorro del 28%. Con un nivel
de conianza del 95%, esta diferencia puede variar de 6 a 66 minutos
(ahorro del 4% al 51%). A pesar del ahorro en tiempo obtenido en
la programacin por pares, al tomar en cuenta el esfuerzo medido en
minutos-persona, la programacin individual tiene una ventaja de
56 minutos (30% menor) sobre la programacin en pares. Este valor
puede variar de 8 a 104 minutos (decremento de 4% a 55%).
Conclusiones
En este artculo mostramos un ejemplo de cmo aplicar experimentacin cientfica para evaluar prcticas de ingeniera de software. Las organizaciones desarrolladoras de software podran
aplicar experimentos como este para sustentar decisiones sobre
prcticas que quieran institucionalizar o tecnologas que deseen
evaluar antes de institucionalizarlas. Para concluir, en palabras
de Pfleeger, llevar a cabo experimentos en IS nos permitir aumentar la comprensin de qu hace ser a un software bueno y
cmo construir software bien.
Referencias
[1] K. Beck. Extreme Programming Explained: Embrace Change. Addison Wesley
Professional, 1999.
[2] G.E.P. Box et al. Statistics for Experimenters: An Introduction to Design, Data
Analysis, and Model Building. John Wiley & Sons, 1978.
47
Software Guru
Los sujetos registraron el tiempo de inicio y inal que les llev codiicar el programa. La diferencia de estos tiempos (calculada en minutos) se us como mtrica para obtener la duracin y el esfuerzo.
Respecto a la mtrica de esfuerzo, que mide la cantidad de trabajo
gastado para realizar una tarea (en este caso persona-minuto), se duplic el tiempo usado por los pares.
Figura 1. Resultados
www.sg.com.mx |
Ejecucin
.COLUMNA
CDIGO
INNOVARE
El
Desarrollo Dirigido
Dentro de las ventajas de MDD se encuentra la generacin automtica de cdigo, mayor calidad en implementacin (menos defectos), desarrollo gil: aplicacin de cambios rpido y fcil, permitiendo la evolucin y el mantenimiento del sistema de una forma ms
simple; reso de cdigo y/o modelos.
El proyecto de modelado de Eclipse [2] se enfoca en la evolucin y promocin de tecnologas de desarrollo basadas en modelos dentro de la comunidad de Eclipse. Utiliza como base la
48
.COLUMNA
CDIGO
INNOVARE
Conclusin
En conclusin, el desarrollo dirigido por modelos es un paradigma
visto, por muchos, como la mejor opcin para incrementar el nivel
de abstraccin en el cual construimos, mantenemos y razonamos sobre el software. Su aplicacin se encuentra en constante crecimiento
debido a las ventajas que ofrece al ciclo de vida del software principalmente la automatizacin del desarrollo de sistemas y la reutilizacin
de componentes desde los niveles de abstraccin ms altos hasta la
codiicacin de la solucin.
El uso de ontologas como punto de partida para el desarrollo
de software permite la representacin de la informacin contenida
en el sistema en un formato deinido por un lenguaje formal que
puede ser interpretado y procesado por personas y/o sistemas. Por
lo tanto, es posible aplicar tcnicas de inferencia a los datos para por
ejemplo, generar nuevo conocimiento y obtener predicciones, tiles para toma de decisiones. Adems, se pueden aplicar mecanismos
Web para exponer la informacin del sistema en la Web Semntica,
y explotar los datos con los nuevos paradigmas de la Web Semntica
como Linked Data.
Referencias
[1] B. Anda, et al. Experiences from Introducing UML-based Development in a Large
Safety-Critical Project. Emprical Software Engineering, vol. 11, pp. 555-581, 2006.
[2] Eclipse Modeling Project. http://www.eclipse.org/modeling
[3] OMG MDA. http://www.omg.org/mda
[5] SemanticWebBuilder. http://www.webbuilder.com.mx
49
Software Guru
La plataforma SWB ha servido de base para la construccin de sistemas de diferentes dominios. Entre los productos creados con SWB
estn:
SWBPortal, un sistema de gestin de contenidos con licencia de
cdigo abierto para desarrollar y administrar portales de internet
con tecnologa semntica.
SWBProcess, un sistema de gestin de procesos de negocio semntico que parte de modelos de procesos descritos con el estndar BPMN 2.0 y a travs de transformaciones de BPMN 2.0 a
ontologas y de ontologas a cdigo en lenguaje Java proporciona la
implementacin necesaria para la ejecucin de los procesos.
www.sg.com.mx |
.COLUMNA
PROGRAMAR ES UN
ESTILO DE VIDA
Dentro de su lucha por la puesta a disposicin irrestricta de la informacin pblica, entre 2010 y 2011 descarg cerca de cuatro millones de
artculos acadmicos del repositorio JSTOR, aprovechando la poltica de
campus abierto[1] que sostena el MIT. Los artculos en cuestin provenan mayormente de investigaciones realizadas con fondos pblicos, por lo
que deberan ser para beneicio de la sociedad entera, pero por las diversas
distorsiones que sufre la publicacin cientica formal, para tener un factor
de impacto deseable para sus autores, tienen que ser publicadas en revistas
especializadas que (cada vez menos, pero an por regla general) ejercen
una poltica intransigente de control de derechos de autor. En julio de
2011 fue acusado formalmente por esta descarga de actividad criminal.
Si bien JSTOR retir su demanda, las autoridades
judiciales continuaron persiguindolo de oicio
La iscal Carmen Ortiz busc repetidamente incarle una sentencia de hasta 35 aos de crcel y una
multa de hasta un milln de dlares, equiparando
sus acciones con actos terroristas. Ante esta presin
(y con antecedentes de depresin severa), el pasado
11 de enero Aaron Swartz se suicid.
Gunnar Wolf es
administrador de
sistemas para el
Instituto de Investigaciones Econmicas de la UNAM
y desarrollador del
proyecto Debian
GNU/Linux.
http://gwolf.org
plazo del conocimiento. Para muchos de nosotros, el movimiento del conocimiento libre es sencillamente la consecuencia lgica del movimiento
del software libre, y surge naturalmente (y con las mismas premisas) una
vez que el acceso a Internet llega a toda la sociedad. A in de cuentas,
el cdigo es slo una herramienta de expresin y comunicacin humana
(aunque tenga la restriccin de un lenguaje formal, de ser interpretable
por una computadora). El ideario completo de la Fundacin del Software
Libre puede aplicarse a cualquier otra rea del conocimiento y tenemos
hoy las herramientas para que la circulacin del conocimiento no slo resulte irrestricta, sino que a un costo de reproduccin prcticamente nulo.
En sus 26 aos de vida, Swartz contribuy con buena parte de la
implementacin tcnica y activismo social necesarios para impulsar al
movimiento del Acceso Abierto (Open Access) [2]. Los diversos protocolos y sitios con los cuales l contribuy quedan no slo como legado,
sino como indicador de cmo y hacia dnde un joven brillante vio que
podramos, y deberamos, avanzar.
Referencias
[1] Poltica que permita a cualquier usuario externo
conectar una computadora de su propiedad en la red
universitaria y aprovechar los convenios que sta tena
subscritos. Podemos encontrar polticas similares en
todas las principales universidades, partiendo de la premisa de facilitar la labor acadmica y reducir trmites.
[2] Por si se van perdiendo en la sopa de letras de
movimientos libertarios, Open Access busca el libre
acceso a publicaciones acadmicas.
[3] Dublin Core Metadata Initiative. http://dublincore.org
[4] Open Access Initiative Protocol for Metadata
Harvesting. http://www.openarchives.org/OAI/
openarchivesprotocol.htm
[5] Repositorio Institucional RAD-UNAM
http://rad.unam.mx
Software Guru
www.sg.com.mx |
Software Guru va ms all de ser una revista El cuerpo de noticias del ramo, whitepapers y congresos presenciales y virtuales
podran sumarse al cuerpo de conocimiento disponible y sistematizado publicado en
nuestro pas, impulsando de este modo su
visibilidad y el impacto de lo aqu publicado.
Del mismo modo, otras revistas (sean ms
formales o menos formales, impresas o en lnea), boletines, congresos y dems actividades
de nuestra rea de conocimiento podran beneiciarse de adoptar estos estndares.
Un repositorio correctamente descrito
puede ser cosechado enfatizando en diferentes facetas. El esfuerzo para lograrlo, cierto,
no es despreciable, Pero tengo la certeza de
que Software Gur tendra mucho por ganar.
Y ms que nuestra revista: S que muchos
de quienes aqu escribimos, y quienes trabajan
con dedicacin brindndonos este espacio, ms
que por ganancia personal, lo hacemos en un
afn de contribuir con nuestro granito de arena
a la sociedad, y si bien la revista tiene su carga
tcnica, muchos de nosotros aspiramos a contribuir a la profesionalizacin de nuestro gremio, a
una introspeccin acerca del rol y la responsabilidad social que cargamos.
A los pocos das de la muerte de Aaron
Swartz, cientos de acadmicos hicieron pblicas copias de sus artculos secuestrados por las
editoriales cienticas restrictivas como un tributo al trabajo de este joven idealista y activista. En una especie de paralelo, espero poder
impulsar un poco ms a travs de este texto el
conocimiento de las herramientas (y no slo
los principios ticos) que puedan permitir
que el acceso abierto y pleno al cuerpo de conocimiento generado por los especialistas sea
puesto al servicio de la humanidad toda de
forma ms efectiva.
.FUNDAMENTOS
RIESGO
PROBLEMA
el proyecto a la mitad de su
renunciado a la compaa. Su
ejecucin.
rn sus vacaciones.
del proyecto.
Podran ocurrir cambios en los
sido anticipados.
de entrega.
de entrega de proyecto.
La organizacin ejecutante es
productividad disminuya si el
nizacin matricial.
.BIO
Ivn Carlos Rivera Gonzlez tiene una Maestra en Administracin de TI por el Tecnolgico
de Monterrey, es SCPM (Stanford Certified
Project Manager), certificado como PMP. Su
experiencia incluye administracin de proyectos, planeacin estratgica, desarrollo de aplicaciones, administracin de redes y telecomunicaciones. Se dedica a dirigir proyectos para
sus clientes, comunicar y coordinar equipos de
trabajo. http://ivanrivera-pmp.com
www.sg.com.mx |
CONCLUSIN
Software Guru
.PERSONAS
CARRERA
Certificaciones Profesionales
VALOR Y LIMITANTES
n esta edicin de SG hemos platicado ampliamente sobre certiicaciones profesionales. Este es un tema que
tiende a generar polaridad, con algunos fuertemente a favor y otros
fuertemente en contra. Por ser del inters de la industria, la mayora
de los artculos publicados en estas pginas promueven las certiicaciones como algo positivo. Sin embargo, estamos conscientes de
que tambin hay muchas personas que ven a las certiicaciones como
algo negativo. A continuacin comparto mi anlisis personal sobre el
valor y limitaciones de las certiicaciones profesionales.
La necesidad
Habiendo dicho que las certiicaciones profesionales tienen su utilidad, tambin debemos reconocer que tienen varias limitantes. Aqu
algunas de ellas:
No todas las personas tienen acceso a certiicaciones, debido al
costo que involucran (aunque al menos en Mxico esto es mitigado
en cierto grado con programas como Mexico FIRST).
A pesar de que parezca haber una gran variedad, la realidad es que
solo existen programas de certiicacin para un conjunto reducido
de tecnologas/especialidades. Por ejemplo, a pesar de su popularidad, al dia de hoy no existe un programa oicial de certiicacin
para desarrollo en iOS.
El nivel de rigor entre programas de certiicacin vara. Por un
lado tenemos programas como el de Scrum Master (que hasta
hace poco consista en tomar un curso de 2 das y con eso estabas certiicado) y por otro programas como el de PMP que involucran comprobar experiencia previa, capacitacin, pasar un
examen y luego realizar actividades de aprendizaje de manera
continua para mantener tu estatus.
Para explicar mi percepcin sobre las certiicaciones, primero les platicar sobre cmo escojo una botella de vino. S que esto parece no
estar relacionado, pero pido su paciencia.
Personalmente, aunque disfruto tomar una copa de vino de vez
en cuando, la verdad es que conozco muy poco sobre la calidad de los
vinos; es decir, conozco algunas cosas bsicas sobre los tipos de uvas
y sus sabores, pero no sabra decir si cierta regin produce mejores
vinos que tal otra, y mucho menos si cierto ao fue bueno o no.
Adicionalmente, no me gusta estar tomando siempre el mismo vino,
me gusta experimentar. Esto presenta un reto cada que compro una
botella de vino: Cmo puedo maximizar la probabilidad de escoger
una botella que me guste? No soy un experto en el tema que pueda
identiicar un buen vino simplemente viendo de qu regin y ao
es. Tampoco es posible estar abriendo y probando todas las botellas
para ver cual me gusta. Es as que mi proceso de decisin tpicamente
consiste en: 1) Elegir el rango de precio que estoy dispuesto a pagar,
y 2) Seleccionar alguno de los vinos en ese rango que tenga algn
comentario especial de parte de un tercero, tal como Seleccin de
nuestro catador, o Vino del mes por la revista X.
Un proceso similar es el que deben realizar los reclutadores de TI:
necesitan reclutar profesionistas en temas altamente especializados,
sin ser ellos expertos en dichos temas. No pueden entrevistar a todos
los candidatos posibles porque no sera prctico. A partir de cientos,
o miles de candidatos, deben generar una lista corta de candidatos
con mayores probabilidades de cumplir las expectativas del cliente
(ya sea interno o externo). As que recurren a la validacin de un
tercero, es decir una certiicacin.
Entonces, creo que debemos reconocer que si las certiicaciones
profesionales existen y son usadas, es porque resuelven una necesidad. La necesidad es darle a los reclutadores un mecanismo para
conocer de manera rpida y comparable el nivel de conocimientos
de una persona en cierto dominio.
Es cierto que un profesionista experimentado puede reconocer a
otros profesionistas talentosos rpidamente, tan solo platicando con
ste unos minutos o simplemente leyendo algunas de las entradas
en su blog. El problema con este mecanismo de deteccin es que los
Limitaciones
Conclusin
En esencia las certiicaciones son tan solo un mecanismo para que
las personas que carecen de reputacin o experiencia comprobable,
puedan demostrar un nivel de conocimiento bsico en cierta rea.
En s, las certiicaciones profesionales no son algo negativo, el
error ha sido pretender que sean una medida absoluta e inequvoca
sobre la capacidad de un profesionista.
.BIO
Pedro Galvn (@pedrogk) es cofundador y editor de SG Software Guru.
54
Directorio
ALPHA CONSULTORIA
55
www.alpha-consultoria.com
ATL
56
www.atl-capacitacion.com.mx
Cutter Consortium
2F
56
37
Testing IT
53
SG Buzz
3F
SG Campus
21
www.sgcampus.com.mx
07
www.innevo.com
JPE Consultores
35
sg.com.mx
www.infotec.com.mx
Innevo
Stratominds
www.testingit.com.mx
www.ithink.mx
Infotec
56
www.stratominds.com
www.cutter.com.mx/eventos
I Think Soluciones
SEAN
www.seanmexico.com
SG Eventos
11
sg.com.mx/eventos-sg
36
www.jpeconsultores.com
Mxico First
51
www.mexico-first.org
NYCE
38
www.nyce.org.mx
Pronatura
4F
www.pronatura.org.mx
RedHat
39
mx.redhat.com
Software Guru
34
www.praxis.com.mx
www.sg.com.mx |
Praxis
.SG MARKET
ANNCIATE AQU
SG MARKET
Excelente oportunidad para llegar a ms
de 20mil lectores a nivel habla hispana.
No la dejes pasar!
Contctanos:
publicidad@sg.com.mx
www.sg.com.mx |
Software Guru