¿Por qué?
|
|
|
¿Qué?
Proceso de Desarrollo del Software
Definición | Sinónimos |
---|---|
Proceso de Desarrollo Software: el conjunto total de actividades necesarias llevadas a cabo por distintos roles para transformar los requerimientos del cliente en un conjunto consistente de artefactos que representan un producto software y, en un momento posterior, para transformar los cambios de estos requerimientos en una nueva versión del producto software
— Booch
1985 |
|
Unidad | Definición | Ejemplo | Características |
---|---|---|---|
Actividad |
|
|
|
Rol |
|
|
|
Artefacto |
|
|
|
|
|
El software no se muere, se convierte en un zombi!!! |
¿Para qué?
|
|
|
¿Cómo?
|
|
|
Cascada | RUP, Rationale Unified Process | XP, eXtreme Programming |
---|---|---|
|
|
|
Cronología | Popularidad |
---|---|
|
Metodo-logía en Cascada
Año | Autores | Publicación | Referencia |
---|---|---|---|
1911 |
F.W. Taylor |
Producción en Cadena |
|
1970 |
W.W. Royce |
Managing the development of large Software Systems |
IEEE WESCON Proceedings, pp. 1-9 |
|
|
Ventajas | Desventajas |
---|---|
Si el 90% o más de los requisitos de tu sistema se espera que sean estables a lo largo de la vida del proyecto, entonces aplicar una política dirigida por los requisitos es una oportunidad apropiada de dar razonablemente una solución óptima
— Booch
Object Solutions |
Otros grados menores de estabilidad en los requisitos requieren un enfoque de desarrollo diferente para dar un valor tolerable del coste total
— Booch
Object Solutions |
Aportaciones: | Excesos: |
---|---|
|
|
Desarrollo Iterativo
Leyes del Cambio Continuo | |
---|---|
Ley del Cambio Continuo: Un programa que se usa en un ámbito del mundo real, necesariamente debe cambiar o convertirse cada vez en menos útil y menos satisfactorio para el usuario.
— Lehman y Belady
|
Ley del Crecimiento continuado: La funcionalidad ofrecida por los sistemas tiene que crecer continuamente para mantener la satisfacción de los usuarios.
— Lehman y Belady
|
Ley de la Complejidad Creciente: Debido a que los programas cambian por evolución, su estructura se convierte en más compleja a menos que se hagan esfuerzos activos para evitar este fenómeno
— Lehman y Belady
|
Ley del Decremento de la calidad: La calidad de los sistemas software comenzará a disminuir a menos que dichos sistemas se adapten a los cambios de su entorno de funcionamiento.
— Lehman y Belady
|
Año | Autores | Publicación | Referencia |
---|---|---|---|
1950 |
W A. Shewhart, W.E. Deming |
Ciclos de Demming-Shewhart |
|
1960 |
NASA |
Proyecto Mercury |
primer programa de vuelo espacial humano de los Estados Unidos |
1965~ |
Taichi Ohno |
Kanban |
|
1986 |
H. Takeuchi y I. Nonaka |
The New Product Development Game |
|
1988 |
B.W. Boehm |
A Spiral Model of Software Development and Enhancement |
IEEE, vol. 21, nº 5, pp. 61-72 |
1990 |
A. Cockburn |
Crystal, marco metodológico |
IBM |
1991 |
J. Martin |
Rapid Application Development (RAD) |
|
1997 |
J.De Luca, P. Coad |
Feature-driven development |
Java modelling in Color with UML |
1999 |
J. Highsmith |
Adaptative Software Development |
Press New York: Dorset House |
2003 |
J. Stapleton |
DSDM: The Method in Practice |
Addison-Wesley |
Iteración, Sprint | Incremento | ||
---|---|---|---|
|
|
||
|
|
||
|
Planificar de un poco. Especificar, diseñar e implementar un poco. Integrar, probar y ejecutar un poco en cada iteración
— Booch
|
||
|
|
Ventajas | Desventajas |
---|---|
|
|
Rational Unified Process
Año | Autor | Publicación | Referencia |
---|---|---|---|
1967 |
I.H. Jacobson |
Ericsson approach |
Ericsson |
1992 |
I.H. Jacobson |
Object-Oriented Software Engineering: A Use Case Driven Approach |
ACM Press Addison-Wesley |
1995 |
G. Booch |
Rational Approach |
Rational Softare |
2001 |
G. Booch, I. Jacobson, J. Rumbaugh |
Rational Unified Process |
Rational Software |
2007 |
Eclipse |
OpenUP de IBM Corp, Telelogic AB, Armstrong Process Group Inc., Number Six Software Inc. y Xansa |
|
2011 |
S. Ambler |
Agile Unified Process |
RUP es un marco de procesos que tiene que ser configurado e instanciado según el contexto del proyecto, basado en componentes, dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental
— IBM
|
|
Scrum
Año | Autor | Publicación | Referencia |
---|---|---|---|
1995 |
K. Schwaber |
The Scrum development process |
OOPSLA ’95 Workshop on Business Object Design and Implementation, Austin |
Scrum es un marco ligero que ayuda a las personas, equipos y organizaciones a generar valor a través de soluciones adaptables para problemas complejos.
— Ken Schwaber & Jeff Sutherland
La Guía Scrum
|
|
eXtreme Programming
Año | Autor | Publicación | Referencia |
---|---|---|---|
1999 |
Kent Beck |
Extreme Programming Explained: Embrace Change: xUnit, refactoring, test-driven development, … |
Addison-Wesley |
1999 |
Martin Fowler |
Refactoring: Improving the Design of Existing Code |
Addison-Wesley |
2000 |
Ron Jeffries |
Extreme Programming Installed |
Addison-Wesley |
2000 |
Kent Beck |
Planning Extreme Programming |
Addison-Wesley |
2002 |
Kent Beck |
Test Driven Development: by example |
Addison-Wesley |
Es un método ligero, eficiente, de bajo riesgo, predecible, científico y divertido para que equipos de tamaño mediano a pequeño (de 10 a 2 programadores) desarrollen software frente a requisitos imprecisos y muy cambiantes
— Kent Beck
|
|
Comparativa entre RUP vs Scrum+XP
RUP | Scrum+XP | ||
---|---|---|---|
|
|
|
|
|
|
Fases de RUP | Fases de Scrum/XP |
---|---|
|
|
Disciplinas en RUP | Actividades en Scrum/XP | ||
---|---|---|---|
|
|
||
|
|
||
|
|
Actividades RUP | Concepto Ágil | Fuente Ágil |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Enfasis de RUP | Enfasis de Scrum+XP |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Etiquetar RUP como peso pesado y XP como liviano sin más calificaciones perjudica a ambos al oscurecer lo que cada uno es y lo que cada uno pretendía hacer. Y, cuando se hace de manera peyorativa, es simplemente una postura sin sentido. Son las implementaciones de estos procesos las que serán "pesadas" o "livianas", y deberían ser tan pesadas o livianas como las circunstancias lo requieran
— John Smith
A Comparison of the IBM Rational Unified Process and eXtreme Programming |
XP no está libre forma, no todo vale: se enfoca estrictamente en un aspecto particular del desarrollo de software y una forma de entregar valor, y es bastante prescriptivo sobre la forma en que se debe lograr.
— John Smith
A Comparison of the IBM Rational Unified Process and eXtreme Programming |
La cobertura de RUP es mucho más amplia e igual de profunda, lo que explica su aparente "tamaño". Sin embargo, en el nivel micro del proceso, RUP ocasionalmente permite y ofrece alternativas igualmente válidas, donde XP no lo hace; por ejemplo, la práctica de la programación en pareja. Esto no pretende ser una crítica de XP; simplemente una ilustración de cómo XP, como su nombre lo indica, ha reducido su enfoque.
— John Smith
A Comparison of the IBM Rational Unified Process and eXtreme Programming |
Síntesis
|
Bibliografía
Obra, Autor y Edición | Portada | Obra, Autor y Edición | Portada |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ponente
|
|
|