Vous êtes sur la page 1sur 8

La Esencia de la Ingeniera de Software:

El Ncleo de Semat

Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Traduccin de: Carlos Mario Zapata Jaramillo
Spence y Svante Lidman Facultad de Minas
Integrantes de la iniciativa Semat (Mtodo y Teora de la Universidad Nacional de Colombia
Ingeniera de Software) Medelln, Colombia
cmzapata@unal.edu.co

Artculo publicado originalmente en Communications of the ACM, vol. 55, no. 12, december 2012, pp. 42-49. El traductor
declara tener autorizacin de los autores para difundir la versin en espaol en la Revista Latinoamericana de Ingeniera de
Software, sin que ello presente incompatibilidades o vulnere los derechos de Communications of the ACM.

Resumen Esta es una traduccin del artculo que se public que la gente trabaja con mtodos de desarrollo de software [3,
en Communications of the ACM en Diciembre de 2012 bajo el 4, 8]. Ellos escribieron una declaracin del llamado a la accin,
ttulo The Essence of Software Engineering: The SEMAT que en pocas lneas identifica una cantidad de problemas
Kernel y se realiza debido a la importancia que adquiere el tema crticos, explica por qu se necesita actuar y sugiere qu se
para la audiencia de hispanoparlantes, de forma que se pueda
generar un acceso a lo que constituye uno de los ltimos
necesita para hacerlo. El llamado a la accin es:
adelantos en Ingeniera de Software. Algunas reas de la ingeniera de software hoy en da
sufren prcticas inmaduras. Los problemas especficos
Palabras clave Ncleo, alfa, espacio de actividad, estado, incluyen:
Semat La prevalencia de bogas ms tpicas en la industria de la
moda que en una disciplina ingenieril.
I. INTRODUCCIN La carencia de una base terica sonora y ampliamente
aceptada.
La gran cantidad de mtodos y variantes de mtodos, con
Todo aquel que desarrolla software sabe que es un negocio diferencias que poco se entienden y que se magnifican
complejo y riesgoso y que sus participantes siempre buscan artificialmente.
nuevas ideas que los conduzcan a desarrollar mejor software.
La carencia de evaluacin y validacin experimentales y
Por fortuna, la ingeniera de software es an una profesin
crebles.
joven y creciente que mira las innovaciones y mejoras en las
La separacin entre la prctica industrial y la investigacin
mejores prcticas cada ao. Por ejemplo, basta mirar las
acadmica.
mejoras y beneficios que el pensamiento lean y gil tuvo sobre
los equipos de desarrollo de software. La afirmacin del llamado a la accin de Semat de que la
industria de software es propensa a bogas y modas hace que la
Los equipos exitosos de desarrollo de software necesitan
gente asuma que Semat se opone a las nuevas ideas. Esto no
establecer un balance entre las entregas rpidas de sistemas de
podra estar ms lejos de la verdad. Como usted podr ver en
software que trabajen bien, la satisfaccin de sus interesados, el
este artculo y en el libro que pronto se publicar, llamado La
tratamiento de sus riesgos y la mejora de sus formas de trabajo.
esencia de la ingeniera de software: aplicando el ncleo de
Para eso, ellos necesitan un marco de pensamiento efectivo que
Semat [6], los partidarios de Semat son muy entusiastas con
cierre la brecha entre su actual forma de trabajo y cualquier
las nuevas ideas. Ellos estn en contra del comportamiento
idea nueva que quieran adoptar. Este artculo presenta ese
contrario a lo lean y a lo gil. Este comportamiento proviene de
marco de pensamiento en forma de un ncleo accionable, que
gente que adopta soluciones inapropiadas porque creen que
podra beneficiar cualquier equipo que desee balancear sus
esas soluciones estn de moda o porque los presionan sus pares
riesgos y mejorar su forma de trabajo.
o la correccin poltica.
El trabajo en el ncleo, la esencia de la ingeniera de
Semat apoya un proceso para redefinir la ingeniera de
software, se inspir y es una respuesta directa al llamado a la
software, basado en una teora slida, principios probados y
accin de los Mtodos y Teora de la Ingeniera de Software
mejores prcticas que:
(Semat, por sus iniciales en ingls; nota del traductor: si bien el
origen de la palabra Semat lo constituyen las iniciales de las Incluyan un ncleo de elementos ampliamente aceptados y
palabras que conforman la sigla, acogiendo el espritu de la que se pueda extender a usos especficos.
iniciativa, se prefiere colocarlo con mayscula inicial, pues se Traten asuntos tecnolgicos y humanos.
pretende que, ms que un acrnimo, se convierta en un Los apoyen la industria, la academia, los investigadores y
sustantivo), el cual es, a su modo, un pequeo paso hacia la los usuarios.
redefinicin de la ingeniera de software. Apoyen la extensin ante los requisitos cambiantes y la
Ivar Jacobson, Bertrand Meyer y Richard Soley fundaron tecnologa.
Semat en septiembre de 2009, cuando sintieron que haba El llamado a la accin de Semat recibi un amplio apoyo,
llegado el momento de cambiar fundamentalmente la forma en incluyendo una lista creciente de signatarios y partidarios

Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la 71
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
(http://www.semat.org). En febrero de 2010, los fundadores de Un marco de pensamiento para que los equipos razonen
Semat desarrollaron el llamado a la accin por medio de una sobre el progreso que estn haciendo y la salud de sus
declaracin de visin [5]. De acuerdo con esta visin, Semat se esfuerzos.
enfoca en dos objetivos principales: encontrar un ncleo de Un terreno comn para la discusin, mejoramiento,
elementos ampliamente aceptados y la definicin de una base comparacin e intercambio de mtodos y prcticas de
terica slida. ingeniera de software.
En gran medida, esas dos tareas son independientes una de Un marco para que los equipos ensamblen y mejoren
otra. Encontrar el ncleo y sus elementos es un ejercicio continuamente su forma de trabajo, mediante la
pragmtico que requiere desarrolladores experimentados de composicin de prcticas definidas por separado y de
software con conocimiento de muchos de los mtodos diverso origen.
existentes. Definir la base terica es una investigacin Un fundamento para la definicin de medidas que no
acadmica y podra tomar muchos aos para conseguir un dependan de las prcticas, para evaluar la calidad del
resultado exitoso. software producido y los mtodos que se usan para
II. EL PODER DE UN TERRENO COMN producirlo.
Ms importante an, una forma de ayudarle a los equipos a
El primer paso de Semat era identificar un terreno comn comprender dnde estn, qu deberan hacer luego y
para la ingeniera de software. Este terreno comn se dnde necesitan mejorar.
manifestaba como un ncleo de elementos esenciales que son
universales a todos los esfuerzos de desarrollo de software y un III. LA IDEA GENERAL
lenguaje sencillo para describir mtodos y prcticas. El ncleo
se public inicialmente en la entrega [2, 9] que hizo Semat al Qu hace del ncleo algo ms que slo un modelo
OMG (Grupo de Gestin de Objetos, por sus siglas en ingls). conceptual de la ingeniera de software? Qu es lo realmente
Como se muestra en las figuras 1 y 2, el ncleo contiene un nuevo ac? Esto se puede resumir en sus principios
pequeo nmero de cosas con las que siempre trabajamos y fundamentales (vase la Figura 3), que realmente suministran
cosas que siempre hacemos cuando se desarrollan sistemas tres caractersticas nicas del ncleo: es accionable, es
de software. Tambin se est adelantando trabajo para definir extensible y es prctico.
las habilidades que siempre necesitamos tener, pero esto
tendr que esperar hasta futuras versiones del ncleo.
Ms que un modelo conceptual, el ncleo provee:

Fig. 1. Cosas con las que siempre trabajamos.

72 Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
Fig. 2. Cosas que siempre hacemos.

El ncleo no presenta el desarrollo de software como un


proceso lineal, sino como una red de elementos que colaboran
y que se deben balancear y mantener, de modo que los equipos
puedan hacer progresos efectivos y eficientes, eliminar
desperdicios y desarrollar muy buen software. Los alfas en el
ncleo proveen un marco general para dirigir y hacer progresar
los esfuerzos de desarrollo de software, sin importar las
prcticas que se apliquen o la filosofa que se siga.
A medida que se agregan prcticas al ncleo, se agregarn
nuevos alfas para representar las cosas que dirijan o inhiban el
progreso de los alfas del ncleo. Por ejemplo, el alfa
requisitos no se tratar en conjunto, sino que avanzar tem
por tem. El progreso de los tems individuales de requisitos
conducir o inhibir el progreso y salud del alfa requisitos.
Los tems de requisitos pueden ser de diferentes tipos, por
ejemplo, caractersticas, historias de usuario o porciones de
Fig. 3. Principios fundamentales que apoyan el ncleo. casos de uso. Cada tipo se puede representar como un alfa y
tener unos estados a seguir. El beneficio de relacionar esos
El ncleo es accionable. Una caracterstica nica del
tems pequeos con el ncleo de granularidad ms gruesa
ncleo es la forma en que maneja las cosas con qu trabajar.
radica en que permite seguir la salud del esfuerzo en conjunto.
Ellas se capturan como alfas en lugar de productos de trabajo
Esto proporciona un balance necesario al seguimiento de bajo
(tales como documentos). Un alfa es un elemento esencial del
nivel de los tems individuales, permitiendo a los equipos
esfuerzo de ingeniera de software, el cual es relevante para
entender y optimizar sus formas de trabajo.
una evaluacin de su progreso y salud. Como se muestra en la
El ncleo es extensible. Otra caracterstica nica del
Figura 1, Semat identific siete alfas: oportunidad, interesados,
ncleo es la manera en que se puede extender para apoyar
requisitos, sistema de software, trabajo, forma de trabajo y
diferentes proyectos (por ejemplo, nuevos desarrollos, mejoras
equipo.
a sistemas legados, desarrollos internos, desarrollos externos,
Los alfas se caracterizan por un simple conjunto de estados
lneas de productos de software, etc.). El ncleo le ayuda a
que representan su progreso y salud. Por ejemplo, el sistema de
agregar prcticas, tales como historias de usuario, casos de uso,
software se mueve entre los estados con arquitectura
desarrollo basado en componentes, arquitectura, programacin
seleccionada, demostrable, usable, listo, operacional
por pares, reuniones diarias de pie, equipos auto organizados y
y retirado. Cada estado tiene una lista de chequeo que
otras. Se buscan prcticas para construir los mtodos que usted
especifica los criterios necesarios para alcanzar un estado. Esos
necesita. Por ejemplo, diferentes mtodos se podran ensamblar
estados hacen que el ncleo sea accionable y lo habilitan para
para desarrollo interno y subcontratado o para el desarrollo de
guiar el comportamiento de los equipos de desarrollo de
sistemas embebidos de seguridad crtica y sistemas de reporte
software.
de asistencia administrativa.

Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la 73
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
La separacin de prcticas es la idea clave aqu. Ya que el Correr el desarrollo completo, desde la idea hasta el
trmino prctica se us ampliamente en la industria por producto.
muchos aos, el ncleo tiene un enfoque especfico en el Escalar hacia grandes organizaciones y esfuerzos
manejo e intercambio de prcticas. Las prcticas se representan complejos de desarrollo de software.
como unidades modulares separadas y distintas, que un equipo
La primera aplicacin, la planeacin de una iteracin, se
puede escoger usar o no. Esto contrasta con los enfoques
usa ac como un ejemplo de lo que un equipo puede hacer con
tradicionales que tratan el desarrollo de software como una
el ncleo. Las otras se cubren completamente en La Esencia de
sopa de prcticas que no se diferencian y conduce a los equipos
la Ingeniera de Software: aplicando el ncleo de Semat.
a deshacerse de lo bueno y lo malo cuando se mueven de un
mtodo a otro. El ejemplo que se presenta ac asume que una compaa
El ncleo es prctico. Quiz la caracterstica ms tiene muy poco en cuanto a procesos formales. En el pasado, se
importante del ncleo es la manera en que se usa en la prctica. crea en tener individuos creativos y habilidosos en los equipos
Los enfoques tradicionales de los mtodos de desarrollo de experimentados, pero la compaa no creca ni tena muchas
software tienden a enfocarse en apoyar a los ingenieros de nuevas contrataciones. Esos nuevos empleados, la mayora
procesos o los ingenieros de calidad. El ncleo, en contraste, es recin salidos de la universidad, tienen buenas habilidades
un marco de pensamiento tangible y prctico que apoya a los tcnicas (por ejemplo en lenguajes de programacin), pero no
profesionales de software a medida que realizan su trabajo. son tan habilidosos en otros aspectos del desarrollo de
Por ejemplo, el ncleo se puede tocar y usar [7, 10] software, como el trabajo con los interesados para lograr
empleando tarjetas (vase la figura 4). Las tarjetas acuerdos en los requisitos.
proporcionan recordatorios concisos y seales para los Esta compaa tiene un equipo de desarrollo que es
miembros del equipo, a medida que realizan sus tareas diarias. responsable por hacer una aplicacin mvil para redes sociales
Al proporcionar listas de chequeo y sugerencias prcticas, en que permita a los usuarios compartir ideas, fotos y comentarios
lugar de discusiones conceptuales, el ncleo se convierte en y navegar por ellos. El equipo comenz con slo dos
algo que el equipo usa diariamente. Esta es una diferencia desarrolladores, Smith (el lder del equipo) y Tom, los cuales
fundamental con los enfoques tradicionales, que tienden a tenan familiaridad con el ncleo. Luego, se les unieron otros
exagerar el nfasis en las descripciones de los mtodos, en dos desarrolladores, Dick y Harriet, que eran nuevos en el
lugar del uso de los mtodos y, por ello, slo los suele trabajo y no tenan experiencia previa en el ncleo. Para Smith,
consultar gente nueva del equipo. el lder del equipo, el xito significaba ms que funcionalidad,
Las tarjetas proporcionan una descripcin concisa que sirve cronograma y calidad. Este equipo corra el desarrollo de forma
como recordatorios para los miembros del equipo. Ellos iterativa. Usted puede pensar en planear una iteracin de la
pueden mantener el ncleo como un pequeo mazo de tarjetas manera siguiente:
en sus bolsillos, que fcilmente pueden extraer para discutir el 1. Determine dnde est: resuelva el estado actual del
estado actual del desarrollo, la asignacin de trabajo y la esfuerzo
colaboracin entre los miembros del equipo. Los equipos
2. Determine a dnde ir: decida en qu enfocarse luego y
tambin pueden discutir reas de mejoramiento refirindose a
cules sern los objetivos de la prxima iteracin.
las tarjetas. As, el ncleo no es slo una descripcin pesada de
lo que un equipo necesita hacer. En su lugar, forma una parte
esencial de lo que hacen cada da. 3. Determine cmo llegar all: pngase de acuerdo en las
tareas que el equipo necesita para lograr los objetivos.
El ncleo en accin. El ncleo tiene muchas aplicaciones
en las vidas diarias de los profesionales de software. Algunas
de ellas son:
Correr una iteracin o un sprint.

Fig. 4. Las tarjetas hacen tangible el ncleo.

74 Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
IV. DETERMINE DNDE EST EL EQUIPO UTILIZANDO EL El nombre del estado del alfa suministra una pista para
NCLEO comprender lo que se necesita lograr para alcanzar un estado.
Los miembros del equipo pueden encontrar ms al leer y
Supongamos que Smith y su equipo llevan seis semanas en comprender las listas de chequeo de los estados de los alfas. Al
el desarrollo. Ellos proporcionaron una demostracin temprana recorrer los estados de cada alfa uno a uno, un equipo se puede
del sistema a sus interesados, quienes se sintieron satisfechos y familiarizar rpidamente con lo que se requiere para lograr
proporcionaron una valiosa retroalimentacin. Sin embargo, el cada estado. De esta manera, el equipo aprende sobre los alfas
sistema an no lo pueden correr los usuarios finales. Usted del ncleo al mismo tiempo que determina el estado actual de
puede usar el ncleo para hacer esto de varias formas. Si usted su desarrollo y sus estados objetivo siguientes.
est empleando tarjetas de estado de los alfas, entonces usted Determine cmo llegar all con el ncleo. Smith y su
puede hacer un tutorial como sigue: equipo buscan los prximos estados objetivo y se ponen de
1. Coloque las tarjetas de cada alfa en una fila de una tabla acuerdo en lo que necesitan para establecer algunas
con el primer estado a la izquierda y el ltimo estado a la prioridades. Primero, ellos necesitan determinar su forma de
derecha. trabajo: trabajando bien, luego su sistema de software: usable
2. Detngase en cada estado y pregunte a su equipo si se y, finalmente, sus requisitos: tratados. La razn es simple: si no
logr ese estado. se tiene la forma de trabajo trabajando bien, se impediran sus
3. Si se logr el estado, mueva la tarjeta hacia la izquierda. intentos de tener el sistema de software usable. Adems, ellos
Contine con la siguiente tarjeta hasta que logre el estado se pusieron de acuerdo en la prioridad para los tems de
que su equipo an no logra. requisitos perdidos necesarios para lograr el estado requisitos:
4. Mueva esta tarjeta de estado y el resto de las tarjetas tratados.
pendientes de estado hacia la derecha.
Smith y su equipo luego discutieron lo que necesitaban
La Figura 5 muestra los estados que el equipo de Smith hacer para lograr esos estados, como se muestra en la Tabla 1.
logr a la izquierda y aquellos que an no logr a la derecha. Al recorrer los estados objetivo de los alfas, Smith es capaz de
Por simplicidad, la Figura 5 muestra slo tres de los alfas del determinar un conjunto de objetivos y tareas para la prxima
ncleo. iteracin.
Determine a dnde ir con el ncleo. Una vez el equipo se Cmo el ncleo ayuda a planear iteraciones. Un buen plan
pone de acuerdo en los estados de los alfas, los miembros debe ser inclusivo, lo que significa que debe incluir todos los
discuten los prximos estados objetivo deseados, que guan tems esenciales y cubrir el equipo como un todo. Tambin,
su planeacin. El equipo se pone de acuerdo para usar los debe ser concreto, de modo que el equipo lo pueda accionar. El
inmediatamente prximos estados de los alfas para ayudar a equipo debera, tambin, tener una manera de monitorear su
establecer los objetivos de la prxima iteracin, como se progreso contra el plan.
muestra en la Figura 6.

Fig. 5. El equipo usa los alfas para determinar los estados actuales.

Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la 75
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
Estado objetivo Cmo el equipo planea alcanzarlo

Tanto Dick como Harriet estuvieron de acuerdo en que tenan dificultades para aplicar las
pruebas automticas. Ellos necesitaban ayuda para progresar. Tom estuvo de acuerdo en que
l tena que invertir tiempo ensendoles.
Se agreg una tarea a la lista de pendientes de la iteracin para que Tom condujera un
entrenamiento en pruebas automticas para Dick y Harriet.
Tarea 1. Conducir entrenamiento en pruebas automticas.

Este estado nos recuerda que el sistema de software debe mostrar que es de la calidad y
funcionalidad suficientes para ser til para los usuarios. Hasta ac, el equipo de Smith estuvo
haciendo pruebas dentro de su entorno de desarrollo. Ahora, se deberan conducir pruebas
dentro de un entorno de aceptacin de pruebas, que deban preparar. Esto gener las siguientes
tareas:
Tarea 2: Preparar el entorno de pruebas de aceptacin. El equipo de Smith tena que lograr
que todos los tems de requisitos fueran actualmente demostrables en el sistema para
completarlos. Esto significaba que cada tem de requisitos se deba probar completamente
dentro del entorno de aceptacin de pruebas.
Tarea 3: Completar el tem de requisitos A: Navegar en lnea y fuera de lnea.
Tarea 4: Completar el tem de requisitos B: Publicar comentarios (en lnea y fuera de
lnea).
Tarea 5: Completar el tem de requisitos C: Navegar lbumes.

Este estado nos recuerda la necesidad de trabajar con los interesados para asegurar que ellos
estn felices con el sistema producido. En nuestra historia, Smith tena que trabajar con
Angela, la representante del cliente, para determinar cules tems de requisitos adicionales se
necesitaba implementar. Esto gener la siguiente tarea adicional:
Tarea 6: Hablar con Angela y acordar con ella los tems de requisitos, dentro de la
iteracin, que harn que el sistema sea digno de considerarse operativo.

Fig. 6. Los prximos pasos seleccionados y la manera como los alcanzar el equipo.

El ncleo le ayuda a lograr esto de la manera siguiente: casos, ellos usan el ncleo y las prcticas que se desarrollaron
en Ivar Jacobson International [1, 10]. Entre los primeros en
Inclusivo. Los alfas del ncleo sirven como recordatorios adoptar la idea del ncleo se cuentan:
de las diferentes dimensiones del desarrollo de software, MunichRe, la compaa lder en seguros del mundo, donde
ayudando a crear un plan que trate todas las dimensiones de una familia de modelos de colaboracin se ensambl
manera balanceada. para cubrir el espectro completo del software y el trabajo
Concreto. Las listas de chequeo para cada estado de alfa de aplicacin. Cuatro modelos de colaboracin
suministran pistas sobre lo que se necesita hacer en la iteracin. (exploratorio, estndar, mantenimiento y soporte) se
Las listas de chequeo mismas ayudan a determinar su progreso, construyeron en el ncleo mismo desde el mismo conjunto
haciendo claro lo que usted tiene que hacer y comparando esto de doce prcticas.
con lo que se supone que usted hace. Fujitsu Services, donde el paquete Apt se construy sobre
una versin previa del ncleo de la ingeniera de software,
V. EL NCLEO EN EL MUNDO REAL incluyendo formas de trabajo giles y en cascada [1].
Si bien las ideas que aqu se presentan sern nuevas para Una de las mayores compaas japonesas de electrnica de
muchos de ustedes, la academia y la industria las vienen consumo, donde los procesos de software se definieron
aplicando de forma exitosa en el mundo real. En todos los sobre una versin previa del ncleo, ayudando a los

76 Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
equipos a aplicar nuevas prcticas y a gestionar un Cmo se relaciona el ncleo con lo gil y otros
proveedor de desarrollo externo. paradigmas. El ncleo se puede usar con todas las prcticas
KPN, donde un proceso basado en el ncleo se adapt para tcnicas y administrativas populares, incluyendo Scrum,
ms de 300 proyectos a lo largo de trece programas como Kanban, iteraciones basadas en riesgos, cascada, desarrollo
parte de un movimiento hacia el desarrollo iterativo. El dirigido por casos de uso, desarrollo dirigido por pruebas de
ncleo tambin suministr la base para un nuevo proceso aceptacin, integracin continua y desarrollo dirigido por
de aseguramiento de la calidad enfocado en los resultados, pruebas. Esto ayudar a los grupos a embarcarse en el
que se podra aplicar a todos los proyectos sin importar el desarrollo de productos de software nuevos e innovadores, y
mtodo o las prcticas que se empleen. aquellos involucrados en mejorar y mantener productos de
El mayor departamento de gobierno del Reino Unido, software establecidos. Esto ayudar, tambin, a equipos de
donde un paquete gil basado en el ncleo se introdujo todos los tamaos, desde equipos individuales hasta programas
para habilitar la agilidad disciplinada y el seguimiento del fuertes de ingeniera de software de ms de 1000 personas.
progreso y salud de los proyectos de forma independiente Por ejemplo, el ncleo apoya los valores del Manifiesto
a las prcticas. gil. Con su enfoque en listas de chequeo y resultados y su
El ncleo ya se usa en cursos de ingeniera de software de inherente independencia de las prcticas, el ncleo valora los
primero y segundo ao en el Instituto Real de Tecnologa KTH individuos y las interacciones por encima de los procesos y las
en Suecia. Despus de que los estudiantes de los cursos de herramientas. Con su enfoque en las necesidades de los
primer ao dirigieron sus proyectos, se adentraron en los alfas equipos profesionales de desarrollo de software, el ncleo
de Semat y compararon los resultados de sus proyectos, bajo la valora la forma de trabajo y privilegia las responsabilidades del
direccin de Anders Sjgren. Los estudiantes tuvieron la equipo por encima de los mtodos.
oportunidad de familiarizarse con los alfas y evaluarlos para El ncleo no compite de ninguna manera con los mtodos
obtener una visin del progreso y salud de los proyectos. En los existentes, sean ellos giles o de otro tipo. Por el contrario, el
cursos de segundo ao que condujo Mira Kajko-Mattsson, a los ncleo es agnstico para el mtodo que elija el equipo. An si
estudiantes se les pregunt el uso del ncleo de Semat cuando su equipo est usando un mtodo particular, el ncleo an
corran sus proyectos sin importar el mtodo que siguieran. puede ayudar. Sin importar el mtodo que se use, como Robert
Como se muestra en la Figura 3, Kajko-Mattsson cre un Martin seala en su prefacio a La esencia de la ingeniera de
escenario de desarrollo de software y lo evalu para cada alfa, software, los proyectos, an los giles, se pueden desordenar y,
sus estados y los tems de la lista de chequeo de estados. A los cuando lo hacen, los equipos necesitan saber ms. Ah es
estudiantes se les pidi, luego, hacer lo mismo cuando dirigan donde yace el verdadero valor del ncleo, pues puede guiar un
y evaluaban sus proyectos. equipo a las acciones que necesitan realizar para regresar a la
Las experiencias de esos cursos proporcionaron lecciones senda, para extender su mtodo o para tratar un vaco crtico en
muy valiosas. Por ejemplo, el ncleo asegura que todos los su forma de trabajo. Se enfoca en las necesidades del
aspectos esenciales de la ingeniera de software se consideran profesional de software y los valores del uso de los mtodos
en un proyecto. Al emparejar los resultados contra los alfas del por encima de la descripcin de las definiciones de los
ncleo, los estudiantes pudieron identificar fcilmente los lados mtodos (como era normal en el pasado).
bueno y malo de sus mtodos de desarrollo. El ncleo tambin El ncleo no slo apoya las mejores prcticas modernas,
prepar a los estudiantes para los futuros esfuerzos de sino que tambin reconoce que una gran cantidad de software
desarrollo de software con un mnimo de esfuerzo en ya se desarroll y necesita que lo mantengan. Este software
enseanza. Siguiendo los alfas del ncleo, los estudiantes vivir por dcadas y lo tendrn que mantener de manera
pudieron aprender el alcance total del esfuerzo en ingeniera de eficiente. Esto significa que la forma como trabaje este
software y, as, vieron lo que se requera de ellos en su futuro software tendr que evolucionar a lo largo del software mismo.
como profesionales (vase la Figura 7).

Fig. 7. Visualizacin del enfoque pedaggico cuando se ensea con el ncleo de Semat.

Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la 77
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642
Nuevas prcticas se tendrn que introducir de manera que [4] Jacobson, I., Meyer, B. and Soley, R. Call for action: The
complementen las que ya estn en uso. El ncleo proporciona SEMAT initiative. Dr. Dobbs Journal, (2009).
los mecanismos para migrar los mtodos legados desde los [5] Jacobson, I., Meyer, B. and Soley, R. The SEMAT vision
monolticos enfoques en cascada hasta los ms modernos statement, (2009).
mtodos giles y ms all, de forma evolucionaria. Esto le [6] Jacobson, I., Pan-Wei Ng, McMahon, P., Spence, I. and Lidman
permite cambiar sus mtodos legados prctica a prctica, S. The Essence of Software EngineeringApplying the
mientras mantiene y mejora la habilidad del equipo para hacer SEMAT Kernel. Addison-Wesley. (Forthcoming in Jan. 2013
entregas. but available in a prepublication version on
safaribooksonline.com.)
Cmo le ayuda el ncleo. El uso del ncleo tiene muchos [7] Jacobson, I., Pan-Wei Ng and Spence, I. Enough of process
beneficios para los profesionales de software, ya sean lets do practices. Journal of Object Technology 6, 6 (2007), 41-
experimentados o novatos, y para los equipos en que trabajan. 67.
Por ejemplo, el ncleo ayuda a evaluar el progreso y salud de [8] Jacobson, I. and Spence, I. Why we need a theory for software
los esfuerzos de desarrollo de software, evaluar las prcticas engineering. Dr. Dobbs Journal, (2009).
actuales y mejorar la forma de trabajo. Tambin, ayuda a [9] Object Management Group (OMG). RFP: A foundation for the
mejorar la comunicacin, a moverse ms fcilmente entre Agile creation and enactment of software engineering methods,
equipos y a adoptar nuevas ideas. El ncleo ayudar a la (2012).
industria en conjunto, al mejorar la interoperabilidad entre los [10] Pan-Wei Ng and Magee, M. Lightweight application lifecycle
equipos, los proveedores y las organizaciones de desarrollo. management using state cards. Agile Journal (Oct. 2010)
Al proporcionar un fundamento independiente de las
prcticas para la definicin de los mtodos de software, el Ivar Jacobson, el presidente de Ivar Jacobson International,
es uno de los padres de los componentes y de la
ncleo tiene tambin el poder de transformar completamente la artuite3ctura de componentes, los casos de uso, el lenguaje
forma en que se definen los mtodos y se intercambian las unificado de modelado y el proceso unificado racional. Ha
prcticas. Por ejemplo, al permitir a los equipos mezclar y contribuido al modelado de negocios moderno y al
emparejar prcticas de diferentes fuentes para construir y desarrollo de software orientado a aspectos.
mejorar la forma de trabajo, el ncleo trata dos de los Pan-Wei Ng entrena el desarrollo de sistemas a gran escala
problemas metodolgicos clave que enfrenta la industria: que involucran muchos millones de lneas de cdigo y
cientos de personas por cada versin, ayudndoles a la
Los equipos no se encuentran ya atrapados en sus transicin hacia una forma de trabajo lean y gil, sin olvidar
mtodos. Ellos pueden mejorar continuamente su forma de el mejoramiento de su cdigo y arquitectura y las pruebas
trabajo al agregar o remover prcticas cuando la situacin por medio de casos de uso y aspectos. Es coautor, con Ivar
lo exija. Jacobson, del libro Desarrollo de software orientado a
aspectos con casos de uso.
Los metodlogos no necesitan ms gastar tiempo en
describir los mtodos completos. Ellos pueden fcilmente Paul McMahon es un consultor independiente que se
enfoca en el entrenamiento de gerentes de proyectos, lderes
describir sus nuevas ideas de manera concisa y de proyectos y profesionales de software en el uso prctico
reutilizable. de las tcnicas lean y giles en entornos restringidos. Ha sido
lder de la iniciativa Semat desde sus inicios.
Finalmente, el ncleo beneficia la academia. El ncleo
proporciona la base para la creacin de cursos fundamentales Ian Spence es oficial de tecnologa en jefe en Ivar Jacobson
de la ingeniera de software, que se pueden luego International y el lder del equipo para el desarrollo del
complementar con cursos adicionales sobre prcticas ncleo de Semat. Introdujo cientos de proyectos a las
prcticas iterativas y giles y tambin lider numerosos
especficas (ya sea parte del currculum educativo inicial o proyectos exitosos de transformacin a gran escala
despus durante el desarrollo profesional de los estudiantes). trabajando con organizaciones de ms de 5000 personas.
Igualmente importante es la habilidad del ncleo para actuar
como un modelo de referencia compartido y habilitar la Svante Lidman tiene una amplia experiencia en la
construccin de equipos de desarrollo de software en
investigacin y experimentacin adicional. empresas de alto rendimiento. Ha ocupado cargos en Hansoft
AB, Ivar Jacobson International, Microsoft, Rational
REFERENCIAS Software y Objectory, entre otras. Desde mediados de 2010,
[1] Azoff, M. Apt Methods and Tools, Fujitsu. Ovum Technology Lidman es el agente de cambio que lidera la ms grande
Report. Reference Code O100032-002 (Jan. 2011). transicin lean/gil de todos los tiempos en Escandinavia.

[2] Fujitsu, Ivar Jacobson Internat ional AB, Model Driven Carlos Mario Zapata se desempea actualmente como
Solutions. Essencekernel and language for software Profesor Asociado del Departamento de Ciencias de la
engineering. Initial submission, 2012, version 1.0. Computacin y de la Decisin de la Universidad Nacional de
[3] Jacobson, I. and Meyer, B. Methods need theory. Dr. Dobbs Colombia, Sede Medelln. Es, adems, presidente del Comit
Ejecutivo del Captulo Latinoamericano de Semat y tambin
Journal, (2009). es uno de los traductores oficiales del libro La Esencia de la
Ingeniera de Software: aplicando el ncleo de Semat.

78 Carlos Mario Zapata Jaramillo (Traductor), Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. 2013. La Esencia de la
Ingeniera de Software: El Ncleo de Semat. Revista Latinoamericana de Ingeniera de Software, 1(3): 71-78, ISSN 2314-2642

Vous aimerez peut-être aussi