Escolar Documentos
Profissional Documentos
Cultura Documentos
Adaptar el proceso
El proceso deber adaptarse a las necesidades del cliente ya que es muy importante
interactuar con l. Las caractersticas propias del proyecto u organizacin. El tamao del
mismo, as como su tipo o las regulaciones que lo condicionen, influirn en su diseo
especfico. Tambin se deber tener en cuenta el alcance del proyecto en un rea subformal.
Equilibrar prioridades
Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada
iteracin se analiza la opinin de los inversores, la estabilidad y calidad del producto, y se
refina la direccin del proyecto as como tambin los riesgos involucrados
El desarrollo de software no lo hace una nica persona sino mltiples equipos. Debe haber
una comunicacin fluida para coordinar requisitos, desarrollo, evaluaciones, planes,
resultados, etc.
Este principio dominante motiva el uso de conceptos reutilizables tales como patrn del
software, lenguajes 4GL o marcos de referencia (frameworks) por nombrar algunos. Esto
evita que los ingenieros de software vayan directamente de los requisitos a la codificacin de
software a la medida del cliente, sin saber con certeza qu codificar para satisfacer de la mejor
manera los requisitos y sin comenzar desde un principio pensando en la reutilizacin del
cdigo. Un alto nivel de abstraccin tambin permite discusiones sobre diversos niveles y
soluciones arquitectnicas. stas se pueden acompaar por las representaciones visuales de
la arquitectura, por ejemplo con el lenguaje UML.
Enfocarse en la calidad
El control de calidad no debe realizarse al final de cada iteracin, sino en todos los aspectos
de la produccin. El aseguramiento de la calidad forma parte del proceso de desarrollo y no
de un grupo independiente.
METODOLOGIA RUP
Editar 1 69
METODOLOGA PURA
Es una metodologa cuyo fin es entregar un producto de software. Se estructura todos los
procesos y se mide la eficiencia de la organizacin.
Es un proceso de desarrollo de software el cual utiliza el lenguaje unificado de modelado UML,
constituye la metodologa estndar ms utilizada para el anlisis, implementacin y
documentacin de sistemas orientados a objetos.
El RUP es un conjunto de metodologas adaptables al contexto y necesidades de cada
organizacin.
Describe como aplicar enfoques para el desarrollo del software, llevando a cabo unos pasos
para su realizacin.
Se centra en la produccin y mantenimiento de modelos del sistema.
Principales caractersticas
Forma disciplinada de asignar tareas y responsabilidades (quin hace qu, cundo y cmo)
Pretende implementar las mejores prcticas en Ingeniera de Software.
Desarrollo iterativo
Administracin de requisitos
Uso de arquitectura basada en componentes
Control de cambios
Modelado visual del software
Verificacin de la calidad del software
El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar
centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los
productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el cdigo
fuente, etc.) y roles (papel que desempea una persona en un determinado momento, una
persona puede desempear distintos roles a lo largo del proceso).
4. Fase de Cierre: El propsito de esta fase es asegurar que el software est disponible para
los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptacin,
capacitar a los usuarios y proveer el soporte tcnico necesario. Se debe verificar que el
producto cumpla con las especificaciones entregadas por las personas involucradas en el
proyecto.
La metodologa RUP tiene 6 principios clave:
2. Balancear prioridades: Debe encontrarse un balance que satisfaga a todos los inversores
del proyecto.
3. Colaboracin entre equipos: Debe haber una comunicacin fluida para coordinar
requerimientos, desarrollo, evaluaciones, planes, resultados, entre otros.
4. Demostrar valor iterativamente: Los proyectos se entregan, aunque sea de una forma
interna, en etapas iteradas. En cada iteracin se evaluar la calidad y estabilidad del producto y
analizar la opinin y sugerencias de los inversores .
Ingeniera o modelado del negocio: Analizar y entender las necesidades del negocio para el
cual se est desarrollando el software.
Requisitos: Proveer una base para estimar los costos y tiempo de desarrollo del sistema.
Anlisis y diseo: Trasladar los requisitos analizados anteriormente a un sistema
automatizado y desarrollar una arquitectura para el sistema.
Implementacin: Crear software que se ajuste a la arquitectura diseada y que tenga el
comportamiento deseado.
Pruebas: Asegurarse de que el comportamiento requerido es correcto y que todo lo solicitado
est presente.
Despliegue: Producir distribuciones del producto y distribuirlo a los usuarios.
Artefactos
RUP en cada una de sus fases (pertenecientes a la estructura esttica) realiza una serie de
artefactos que sirven para comprender mejor tanto el anlisis como el diseo del sistema (entre
otros). Estos artefactos (entre otros) son los siguientes:
Inicio:
Documento Visin
Especificacin de Requerimientos
Elaboracin:
Construccin:
VISTA LOGICA:
Diagrama de clases
Modelo E-R (Si el sistema as lo requiere)
VISTA DE IMPLEMENTACION:
Diagrama de Secuencia
Diagrama de estados
Diagrama de Colaboracin
VISTA CONCEPTUAL
Modelo de dominio
VISTA FISICA
Metodologa Scrum
Qu es?
Scrum es una metodologa gil y flexible para gestionar el desarrollo de software, cuyo
principal objetivo es maximizar el retorno de la inversin para su empresa (ROI). Se basa en
construir primero la funcionalidad de mayor valor para el cliente y en los principios de
inspeccin continua, adaptacin, auto-gestin e innovacin.
Cundo se utiliza?
Esta metdica de trabajo promueve la innovacin, motivacin y compromiso del equipo que
forma parte del proyecto, por lo que los profesionales encuentran un mbito propicio para
desarrollar sus capacidades.
Beneficios
Roles
Metodologas giles
Con el paso del tiempo, estaba claro que las metodologas
tradicionales, simplemente no se iban a acoplar con las nuevas
tecnologas, los nuevos lenguajes y sobretodo los
programadores modernos. Es por eso que desde principios del
Siglo, se han desarrollado lo que son las metodologas
giles. Una metodologa gil, consiste principalmente en
trabajar con menos documentacin de la que, como vimos, las
metodologas tradicionales utilizan en todo momento.
Existen una gran cantidad de metodologas giles de
desarrollo de software y todas las vamos a ver a continuacin.
Sin embargo antes hay que comprender en que consiste
detenidamente la metodologa gil, para lo cual contamos con
el manifiesto gil. Un documento en el cul se resume la
filosofa de este enfoque de desarrollo, as seguramente
despus de leer esos puntos, nos quedar an mas clara la idea
de hacia donde se pretende llegar y principalmente Cmo se
pretende llegar a los objetivos.
Manifiesto gil
Metodologa Scrum
Para que tengas una idea rpida, para que un proyecto ingrese
al marco de lo que es el modelo Scrum, debe contar con las
siguientes caractersticas:
Desarrollo Incremental. Una metodologa gil sin desarrollo
incremental, no puede ser considerada Scrum. Con incremental
hago nfasis a olvidarnos de la planeacin y de la ejecucin de
las lineas sin salirnos de lo pre establecido, pues con una
metodologa Scrum, el desarrollo se ir incrementando poco a
poco, sin importar el orden en el cual se lleven a cabo los
procesos.
Calidad de las personas. Bsicamente la calidad de un
producto, no ser analizada en base a la calidad de cada uno de
los procesos llevados a cabo. Al contrario, la calidad depender
de las personas, la auto organizacin y el conocimiento de los
equipos de trabajo.
Adis al Secuencial y Cascada. Aqu en el modelo Scrum,
hay algo a lo que se le denomina, solapamiento. Esto consiste
en que no importa en que proceso te encuentres, si un proceso
necesita ser trabajado, vuelves a el para realizar lo que tienes
que hacer, a diferencia de las metodologas cascada o
secuencial, donde no haba vuelta atrs. Ac afortunadamente
no hay ningn problema con eso y la ventaja es que se ahorran
tiempos.
La comunicacin es Fundamental. Una de las cosas que se
realizan, son los equipos de trabajo, sin embargo ac la ventaja
que tendrs es que podrs estar en constante comunicacin con
los otros equipos de trabajo, nadie est envuelto en su propia
burbuja y toda la informacin que se maneje o lleve a cabo,
ser comunicada sin problema.
Como funcionan los Procesos Scrum?
Metodologa Kanban
Conclusiones
As que ahora ya sabes muy bien como funciona cada una de
las metodologas bsicas y de los procesos o fases que
conlleva cada una de ellas, as como las metodologas giles
y las ventajas de utilizarlas, por supuesto que hoy en da
son las ms usadas. Sin embargo algunas metodologas
existentes actualmente que no son tan famosas, estn basadas
en estas principalmente, razn por la cual no se les hace mucha
mencin. De cualquier forma, al final del da, tanto tu, como tu
equipo de desarrollo de sistema, debern hacer el anlisis
inicial y determinar bajo que esquema quieren empezar a
desarrollar. Si formas parte de una agencia de desarrollo de
software, todo depender del tipo y tamao de software que el
cliente requiera, si no es as, entonces solamente debers elegir
uno para establecer cierto orden en tus procesos o tomar fases
de varios procesos como el de cascada y prototipos y crear tu
propia metodologa, pues esto es precisamente lo que muchos
hacen.
Una estrategia eficaz para este modelo es definir un plazo para obtener el
prototipo final, con varios prototipos previos, y despus establecer los plazos
para el desarrollo de la solucin, que suele ser aplicando un modelo en
cascada.
Metodologas giles
Cuando se habla de metodologas giles suele referirse a metodologas que
suscriben el manifiesto gil: estamos descubriendo formas mejores de
desarrollar software tanto por nuestra propia experiencia como ayudando a
terceros. A travs de este trabajo hemos aprendido a valorar:
Individuos e interacciones sobre procesos y herramientas Software
funcionando sobre documentacin extensiva Colaboracin con el cliente sobre
negociacin contractual Respuesta ante el cambio sobre seguir un plan. Esto
es, aunque valoramos los elementos de la derecha, valoramos ms los de la
izquierda. Hay variosmodelos que destacan dentro de las metodologas
gil, como son Scrum y Kanban.
Scrum es un modelo que define perodos dentro del desarrollo, reuniones y
roles, as como una documentacin propia. Se centra en lo que el equipo de
trabajo es capaz de hacer y no en crear una gran documentacin la cual hay
que seguir al pie de la letra.
Kanban, por otra parte, tiene elementos similares, pero es una estrategia de
trabajo visual, que se centra en seguir la evolucin de las tareas
individualmente hasta que finalizan, pasando por distintos estados y siendo
asignadas a miembros del equipo.
Para utilizar estas metodologas, el cliente debe ser participativo, as como el
equipo de desarrollo, que debe ser unido, y hacer participar al cliente de forma
activa.
Conclusiones
De este resumen podemos deducir que no hay metodologas mejores o peores,
sino que cada una se adapta a un proyecto por sus propias caractersticas.
Tambin hay que tener en cuenta que en todo el proceso, es muy importante el
cliente, que participa de distinta forma segn la metodologa, por lo que trabajar
con un profesional o empresa, sabiendo qu proceso de desarrollo utiliza es
beneficioso para obtener un buen resultado.
En esto tambin incluye a quin se contrate, pues las dos partes deben tener
en cuenta que se trabaja con personas, y su gestin dentro de las
metodologas es muy importante, porque son ellas las que pueden tener
errores y las capacitadas para corregirlos que, como acabamos de ver, es algo
que los ciclos de vida tienen muy en cuenta.