Documentos de Académico
Documentos de Profesional
Documentos de Cultura
[METODOLOGÍAS ÁGILES Y EL
CUERPO DE CONOCIMIENTO
(PMBOK)]
El presente trabajo muestra los acuerdos y desacuerdos entre el PMBOK y las metodologías ágiles
Resumen (Abstract)
Desde hace unos años el uso de metodologías ágiles para el desarrollo de proyectos se fue
incorporando como una herramienta estándar para la creación de software. Sin embargo, estas no
parecen estar incluidas como una parte del manejo del proyecto descripto como cuerpo de
conocimiento o pmbok por estar íntimamente ligadas al proceso de desarrollo en sí mismo. Este
documento analiza las diferentes posturas respecto a la convivencia que estas dos herramientas
tienen en la actualidad y analiza cómo una metodología ágil en particular, Iconix, utilizada en conjunto
con otra herramienta llamada Léxico Extendido del Lenguaje pueden incluirse como parte del ciclo de
vida de un proyecto a partir del análisis de los requerimientos.
Introducción
A medida que se leen diferentes publicaciones es fácil distinguir dos posturas bien enfrentadas,
aquellos que apoyan las metodologías ágiles y los que lo hacen con la guías del pmbok. Es notorio
que se fuerce una comparación entre ambas ya que no son equiparables puesto que el pmbok es una
guía, en el sentido amplio de la palabra, de cómo llevar adelante proyectos, no una metodología de
cómo hacerlo. Esto queda claro cuando las guías del pmbok se aplican a proyectos que no tiene nada
que ver con el software, como los de la industria de la construcción [1]. Otra notoria asociación es la
de considerar al pmbok relacionado directamente con proyectos en cascada, cuando en el apartado
2.2 del mismo se define la interacción con los stakeholders y la el formato iterativo que tiene el
desarrollo de un proyecto [2]. Más aún, desde hace más de diez años se tiene en consideración
metodologías “ágiles” como “Rapid Throwaway Prototypes”, “Incremental Development” o
“Evolutionary Prototypes”, para citar algunos, que se comparan con los proyectos en cascada [3]. Por
otra parte, es en este punto también donde se enfatiza la colaboración con los stakeholders, su
participación constante y las iteraciones a partir de dicha colaboración [4]. Se pueden citar más
ejemplos que apoyen que las comparaciones entre ambos no son muy acertadas y la razón de esto
es que el pmbok es un framework y no una metodología. Entonces la pregunta que nace
inmediatamente es ¿las metodologías ágiles tienen lugar dentro de este framework?, y si es así,
¿cómo lo tienen?
Estas metodologías, notablemente, promueven técnicas de gestión muy diferentes a las tradicionales,
como ser:
Sin embargo a pesar que los números favorecen a las metodologías ágiles las membrecías al PMI se
incrementa un 20% anual [5]. Esto se debe a
que el cuerpo de conocimientos incorpora en su
framework la experiencia de campo de muchos
profesionales y su “correcta aplicación” en un
proyecto garantiza el éxito. Esta última frase es
la clave, ¿qué se entiende por correcta
aplicación?
¿Si las metodologías ágiles tiene en evidencia de ser tan eficientes por qué insistir en compararlas
con las tradicionales utilizando como argumento el PMBOK? La respuesta es bastante simple: al ser
un framework sólo indica que se puede utilizar en el desarrollo de un proyecto, pero no implica el uso
obligatorio de todos sus componentes y las metodologías ágiles parecen no ajustarse a muchas
partes del framework. La razón de esto es que gran parte de la gestión del proyecto de estas últimas
se basan en la refactorización y la reingeniería localizada.
Como se puede apreciar, la forma de documentar es muy pobre, pero favorece el brainstorming de
los integrantes de todo el equipo. Esto además se apoya en la distribución del trabajo
descomponiéndolo y asignándolo a equipos con funcionalidades recíprocas donde todos participan en
la evolución del proyecto [10].
Sin embargo, el PMBOK tiene su propia respuesta, como siempre, apoyada en las experiencias
llamada “Practice Standard for Earned Value Management” para “agilizar” una gestión correcta del
proyecto. Esta, a diferencia de la anterior, se basa en organizarse a través de la metodología
necesaria para integrar la gestión del alcance, tiempos y costos del proyecto y juega un rol crucial en
responder preguntas críticas para el éxito del mismo, como ser:
La respuesta es nuevamente simple: la tiene, sólo que al comparar una metodología con un
framework las diferencias parecen mayores a las similitudes. En el capítulo 2 (Ciclo de Vida del
Proyecto y Organización) del PMBOK se puede leer acerca de las fases, específicamente de las
relaciones de fase a fase y, aún más específico, la relación iterativa
“…sólo una fase está planificada en un momento dado y la planificación para la próxima se
lleva a cabo a medida que el trabajo avanza en la fase actual y los resultados finales. Este
enfoque es útil en entornos indefinidos, inciertos, o cambiantes rápidamente en gran medida,
como la investigación, pero puede reducir la capacidad de proporcionar planificación a largo
plazo. El alcance es entonces administrado por brindar de manera permanente los
incrementos del producto y dar prioridad a ciertos requerimientos para reducir al mínimo los
riesgos del proyecto y maximizar el valor del producto del negocio. También puede implicar
que todos los miembros del equipo de proyecto (por ejemplo, los diseñadores,
desarrolladores, etc) estén disponibles en todo el proyecto o, como mínimo, de dos fases
consecutivas.”
Tal vez la respuesta se encuentra en un punto medio, donde la metodología es en parte ágil y en
parte tradicional, permitiendo documentar, pero no mucho, gestionar riesgos y mantener formas de
comunicación con los equipos de desarrollo sin necesidad de pegar papeles con ideas sobre un
pizarrón, que pueda plasmar rápidamente los requerimientos y hacer ingeniería y análisis con ellos.
En pro de encontrar dicho punto medio, se comenzará con una propuesta de solución que arranca de
los documentos de especificación de requerimientos, conocidos como “system/software requirements
specification (SRS)”
Una metodología ágil indica moverse rápidamente hacia delante y no invertir meses o años en
producir largas especificaciones de un proyecto para conseguir cumplir con los requerimientos del
producto planteado por el usuario. Sin embargo, moverse directamente desde los escenarios o casos
de uso al desarrollo de código provoca inevitablemente una refactorización o inclusive una
reingeniería constante en el ciclo de vida de un proyecto.
Se puede adaptar una metodología ágil para reducir la refactorización y la reingeniería. Esto tan sólo
agrega un poco más de documentación y se logra a cambio una mejora notable en los procesos de
análisis de requerimientos. Este documento propone una forma de realizar dicha mejora.
LEL [18]
El LEL (Léxico Extendido del Lenguaje y Escenarios) se introduce
como una herramienta para la creación y análisis de los escenarios
Figura 7 - - Elementos Iconix para
a partir de descripciones parciales del comportamiento del sistema. interacción de los requerimientos
Esta herramienta permite construir correctamente escenarios y determinará el dominio de un sistema
apoyándose en modelos (templates) pre diseñados. A partir de un análisis de componentes estándar
dentro de la narración de los requerimientos por parte del usuario, como ser el sujeto, objeto, verbo y
estado se descubren la noción (lo que representa cada uno de estos elementos) y el impacto (cómo
influye cada uno de ellos en el análisis). Esto permite determinar los elementos estándar de los
escenarios como el nombre, objetivo, contexto, recursos, actores y episodios.
•Validar el LEL
Template de escenarios
Nombre Identifica al escenario.
Escenarios
Descripción parcial del comportamiento del sistema
Formas de representación:
– narrativa textual,
– storyboards,
– vídeo mock-ups,
– prototipos escritos o situaciones físicas.
– No son formales
Las siguientes tablas muestran cómo influyen los elementos del LEL en los templates de escenarios:
Impacto (¿cómo Escenarios
Elemento Noción (¿qué es?) influye?) Nombre 3,9
1-Sujeto 5-¿quién es? 9-¿qué hace? Objetivo 7
2-Objeto 6-¿qué es? 10-¿qué le hacen? Contexto 4
3-Verbos 7-¿cuál es el fin? 11-¿cómo se hace? Recursos 2,6
8-¿cómo se encuentra 1,5
4-Estado ahora? 12-¿transición? Actores
Episodios 8,10,11,12
Replanteando estas dos tablas por claridad, se puede ver la influencia en la
creación de escenarios desde otro punto de vista:
Es en este punto cuando se puede echar mano a una teoría existente para realizar la parte gráfica y
es donde interviene Iconix. Se puede tomar algunos elementos gráficos del mismo para generar una
representación simple de los requerimientos que no pierda información. La propuesta con las
respectivas equivalencias se muestra en una tabla comparativa respecto de LEL.
En el siguiente ejemplo se muestra un análisis simple utilizando LEL para un sistema que permite la
obtención del pasaporte
Ejemplo:
Análisis LEL
-Solicitante -Solicitante
Sujeto -Cobrar trámite
-Cajero -Cajero
-Formulario
-Máquina -Formulario -Presentación del importe
Objeto
timbradora -Máquina timbradora -Formulario aprobado
-Pago
-Cobrar trámite
-Controlar -Formulario controlado
-Cobrar el trámite al
Verbos formulario -Formulario cobrado
solicitante.
-Timbrar -Formulario timbrado
formulario
-Trámite sin
cobrar
-Presentar formulario en caja
-Trámite pagado -Formulario presentado en caja
para pagarlo
Estado -Formulario sin -El formulario debe tener los datos del
-Pagar el trámite
timbrar solicitante y la marca del tipo de trámite.
-Colocar timbre en formulario
-Formulario
timbrado
Escenario
Nombre: COBRAR TRAMITE
Recursos:
formulario
máquina timbradora
Actores:
Solicitante
Cajero
Set de Episodios:
Casos Alternativos:
Máquina timbradora falla.
Entidades Solicitante
Cajero
Formulario
Máquina timbradora
Requerimiento no Máquina timbradora
funcional
Límites Recepción de formulario
Recepción de Pago
Iconix Análisis LEL
Cambio de Estado de Formulario sin presentar
Entidades Formulario presentado
Formulario sin cobrar
Formulario cobrado
Formulario sin timbrar
Formulario timbrado
Formulario entregado
Formulario presentado
Recepción de
formulario
Controlar formulario Solicitante
Formulario entregado
Entregar formulario
Formulario cobrado
Cobrar trámite
Formulario
Colocar timbre en formulario
Pagar el trámite
Formulario sin timbrar
Recepción de Pago
Solicitante Timbrar formulario
Cajero
Se debe tener en cuenta que el diagrama permite verificar, seguir y validar los requerimientos y
plantea un análisis inicial del problema del dominio que puede refinarse iterativamente.
Esta combinación de técnicas de ingeniería de requerimientos y análisis del dominio nos permite
plantear el problema principal, ¿cómo se incluiría una herramienta semejante dentro del esquema del
cuerpo de conocimiento? La respuesta es nuevamente simple. Esta combinación permite el desarrollo
de planes y su concreción con un mínimo esfuerzo incluyendo constantemente al stakeholder en el
proceso mediante un lenguaje gráfico simple.
Conclusión
La alternativa presentada permite ajustarse mejor a la guía del PMBOK que otras metodologías
La metodología ágil propuesta cumple con los 12 puntos establecidos en el Agile Manifesto.
Posee la documentación suficiente para cambiar los equipos de trabajo o solucionar problemas si
algo anda mal.
Se demostró que pueden existir alternativos ágiles que se ajusten al framework del PMBOK
Referencias
[1]Building Better Software › What about Agile? - Andrew Stellman, Jennifer Greene -
http://www.stellman-greene.com/2007/04/27/what-about-agile/
[3] A Strategy for Comparing Alternative Software Development Life Cycle Models - Alan M. Davis,
Edward H. Bersoff, and Edward R. Comer
[4] Building Better Software › Some great questions about PMP and Agile development- Andrew
Stellman, Jennifer Greene - http://www.stellman-greene.com/2007/12/06/some-great-questions-about-
pmp-and-agile-development/
[6] Agile Project Management: PMBOK vs. Agile - Neil Chaudhuri - Natalia Vainshtein
[7] Mapping the PMBOK Knowledge Areas to Agile Practices - Michele Sliger
[9] Communicating Risk Information in Agile and Traditional Environments - Jaana Nyfjord and Mira
Kajko-Mattsson
[10] Distributed Scrum: Agile Project Management with Outsourced Development Teams - Jeff
Sutherland, Anton Viktorov and Jack Blount
[11] Practice Standard for Earned Value Management - Project Management Institute
[15] On Requirements Visualization - Orlena C.Z. Gotel, Francis T. Marchese, Stephen J. Morris
[16] Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example
[17] Agile Development with Iconix Process - Doug Rosenberg, Matt Stephens and Marl Collins-Cope
[18] Enhancing a Requirements Baseline with Scenarios - Julio Cesar Sampaio do Prado Leite,
Gustavo Rossi, Federico Balaguer, Vanesa Maiorana, Gladys Kaplan, Graciela Hadad and Alejandro
Oliveros