Professional Documents
Culture Documents
$os sistemas no responden a las e+pectativas de los usuarios. $os pro&ramas ,fallan- con cierta frecuencia. $os costes del software son dif.ciles de prever y normalmente superan las estimaciones. $a modificacin del software es una tarea dif.cil y costosa. l software se suele presentar fuera del pla"o esta#lecido y con menos prestaciones de las consideradas inicialmente. /ormalmente! es dif.cil cam#iar de entorno hardware usando el mismo software. l aprovechamiento ptimo de los recursos 0personas! tiempo! dinero! herramientas! etc.1 no suele cumplirse.
Se&2n el Centro +perimental de In&enier.a de Software 0C IS1 (! el estudio de mercado The Chaos Report reali"ado por Standish 3roup Internactional 4 en (556! concluy %ue slo un (67 de los proyectos de software son e+itosos 0terminan dentro de pla"os y costos y cumplen los re%uerimientos acordados1. 8tro 9:7 so#repasa costos y pla"os y cumple parcialmente los re%uerimientos. l resto ni si%uiera lle&a al trmino. ;l&unas deficiencias comunes en el desarrollo de software son*
scasa o tard.a validacin con el cliente. Inadecuada &estin de los re%uisitos. /o e+iste medicin del proceso ni re&istro de datos histricos. stimaciones imprevistas de pla"os y costos. +cesiva e irracional presin en los pla"os. scaso o deficiente control en el pro&reso del proceso de desarrollo. /o se hace &estin de ries&os formalmente. /o se reali"a un proceso formal de prue#as. /o se reali"an revisiones tcnicas formales e inspecciones de cdi&o.
l primer reconocimiento p2#lico de la e+istencia de pro#lemas en la produccin de software tuvo lu&ar en la conferencia or&ani"ada en (56< por la Comisin de Ciencias de la 8=;/ en 3armisch 0;lemania1! dicha situacin pro#lemtica se denomin crisis del software. n esta conferencia! as. como en la si&uiente reali"ada en >oma en (565! se estipul el inters hacia los aspectos tcnicos y administrativos en el desarrollo y mantenimiento de productos software. Se pretend.a acordar las #ases para una in&enier.a de construccin de software. Se&2n ?rit" @auer '4) lo %ue se necesita#a era , establecer y usar principios de ingeniera orientados a obtener software de manera econmica, que sea fiable y funcione eficientemente sobre mquinas reales-. sta definicin marca#a posi#les cuestiones tales como* ACules son los principios ro#ustos de la in&enier.a aplica#les al desarrollo de software de computadoraB ACmo construimos el software econmicamente para %ue sea fia#leB ACu se necesita para crear pro&ramas de computadora %ue funcionen eficientemente no en una m%uina sino en diferentes m%uinas realesB. Sin em#ar&o! dicho planteamiento adems de#.a incluir otros aspectos! tales como* meDora de la calidad del software! satisfaccin del cliente! mediciones y mtricas! etc.
( 4
G P.$etelier
l ,IEEE tandard !lossary of oftware Engineering Terminology - 0Stad. 6(F.(4H(55F1 ha desarrollado una definicin ms completa para in&enier.a del software '()* ,0(1 $a aplicacin de un enfo%ue sistemtico! disciplinado y cuantifica#le para el desarrollo! operacin y mantenimiento del softwareI es decir! la aplicacin de in&enier.a al software. 041 l estudio de enfo%ues en 0(1-. Pressman '() caracteri"a la In&enier.a de Software como ,una tecnolo&.a multicapa-! ilustrada en la ?i&ura (.
Cual%uier disciplina de in&enier.a 0incluida la in&enier.a del software1 de#e descansar so#re un esfuer"o de or&ani"acin de calidad. $a &estin total de la calidad y las filosof.as similares fomentan una cultura continua de meDoras de procesos %ue conduce al desarrollo de enfo%ues cada ve" ms ro#ustos para la in&enier.a del software. l fundamento de la in&enier.a de software es la capa proceso. l proceso define un marco de tra#aDo para un conDunto de reas clave! las cuales forman la #ase del control de &estin de proyectos de software y esta#lecen el conte+to en el cual* se aplican los mtodos tcnicos! se producen resultados de tra#aDo! se esta#lecen hitos! se ase&ura la calidad y el cam#io se &estiona adecuadamente. $os mtodos de la in&enier.a de software indican cmo construir tcnicamente el software. $os mtodos a#arcan una &ran &ama de tareas %ue incluyen anlisis de re%uisitos! diseJo! construccin de pro&ramas! prue#as y mantenimiento. stos mtodos dependen de un conDunto de principios #sicos %ue &o#iernan cada rea de la tecnolo&.a e incluyen actividades de modelado y otras tcnicas descriptivas. $as herramientas de la in&enier.a del software proporcionan un soporte automtico o semiHautomtico para el proceso y los mtodos! a estas herramientas se les llama herramientas C;S 0C omputer&'ided oftware Engineering1.
Dado lo anterior! el o#Detivo de la in&enier.a de software es lo&rar productos de software de calidad 0tanto en su forma final como durante su ela#oracin1! mediante un proceso apoyado por mtodos y herramientas. ; continuacin nos enfocaremos en el proceso necesario para ela#orar un producto de software.
inevita#les! no slo despus de entre&ado en producto sino tam#in durante el proceso de desarrollo. ;dems! de las dos anteriores! siempre puede seJalarse la inmadure" de la in&enier.a del software como disciplina! Dustificada por su corta vida comparada con otras disciplinas de la in&enier.a. Sin em#ar&o! esto no es ms %ue un in2til consuelo.
"igura ($ proceso de desarrollo de software% l proceso de desarrollo de software no es 2nico. /o e+iste un proceso de software universal %ue sea efectivo para todos los conte+tos de proyectos de desarrollo. De#ido a esta diversidad! es dif.cil automati"ar todo un proceso de desarrollo de software. ; pesar de la variedad de propuestas de proceso de software! e+iste un conDunto de actividades fundamentales %ue se encuentran presentes en todos ellos 'K)* (. Especificacin de software* Se de#e definir la funcionalidad y restricciones operacionales %ue de#e cumplir el software. 4. Diseo e Implementacin * Se diseJa y construye el software de acuerdo a la especificacin. :. Validacin * l software de#e validarse! para ase&urar %ue cumpla con lo %ue %uiere el cliente. K. Evolucin * l software de#e evolucionar! para adaptarse a las necesidades del cliente. ;dems de estas actividades fundamentales! Pressman '() menciona un conDunto de ,actividades protectoras-! %ue se aplican a lo lar&o de todo el proceso del software. llas se seJalan a continuacin*
Se&uimiento y control de proyecto de software. >evisiones tcnicas formales. 3arant.a de calidad del software. 3estin de confi&uracin del software. Preparacin y produccin de documentos. 3estin de reutili"acin. Lediciones. 3estin de ries&os.
Pressman '() caracteri"a un proceso de desarrollo de software como se muestra en la ?i&ura :. $os elementos involucrados se descri#en a continuacin*
Un marco comn del proceso! definiendo un pe%ueJo n2mero de actividades del marco de tra#aDo %ue son aplica#les a todos los proyectos de software! con independencia del tamaJo o compleDidad. Un conjunto de tareas! cada uno es una coleccin de tareas de in&enier.a del software! hitos de proyectos! entre&as y productos de tra#aDo del software! y puntos de &arant.a de calidad! %ue permiten %ue las actividades del marco de tra#aDo se adapten a las caracter.sticas del proyecto de software y los re%uisitos del e%uipo del proyecto. Las actividades de proteccin ! tales como &arant.a de calidad del software! &estin de confi&uracin del software y medicin! a#arcan el modelo del proceso. $as actividades de proteccin son independientes de cual%uier actividad del marco de tra#aDo y aparecen durante todo el proceso.
G P.$etelier
"igura )$ Elementos del proceso del software 8tra perspectiva utili"ada para determinar los elementos del proceso de desarrollo de software es esta#lecer las relaciones entre elementos %ue permitan responder uin de#e hacer u! !u"ndo y !mo de#e hacerlo '9).
"igura *$ Relacin entre elementos del proceso del software n la ?i&ura K se muestran los elementos de un proceso de desarrollo de software y sus relaciones. ;s. las interro&antes se responden de la si&uiente forma*
uin# $as Personas participantes en el proyecto de desarrollo desempeJando uno o ms >oles espec.ficos. u# Un ;rtefacto: es producido por un >ol en una de sus ;ctividades. $os ;rtefactos se especifican utili"ando /otaciones espec.ficas. $as Merramientas apoyan la ela#oracin de ;rtefactos soportando ciertas /otaciones. !mo $ !u"ndo# $as ;ctividades son una serie de pasos %ue lleva a ca#o un >ol durante el proceso de desarrollo. l avance del proyecto est controlado mediante hitos %ue esta#lecen un determinado estado de terminacin de ciertos ;rtefactos.
Un artefacto es una pie"a de informacin %ue 0(1 es producida! modificada o usada por el proceso! 041 define un rea de responsa#ilidad para un rol y 0:1 est suDeta a control de versiones. Un artefacto puede ser un modelo! un elemento de modelo o un documento. K
G P.$etelier
$a composicin y sincron.a de las actividades est #asada en un conDunto de Principios y Prcticas. $as Prcticas y Principios enfati"an ciertas actividades yEo la forma como de#en reali"arse! por eDemplo* desarrollar iterativamente! &estionar re%uisitos! desarrollo #asado en componentes! modelar visualmente! verificar continuamente la calidad! &estionar los cam#ios! etc.
Codificar y corre&ir Lodelo en cascada Desarrollo evolutivo Desarrollo formal de sistemas Desarrollo #asado en reutili"acin Desarrollo incremental Desarrollo en espiral
Se trata de primero implementar al&o de cdi&o y lue&o pensar acerca de re%uisitos! diseJo! validacin! y mantenimiento. ste modelo tiene tres pro#lemas principales 'N)*
Despus de un n2mero de correcciones! el cdi&o puede tener una muy mala estructura! hace %ue los arre&los sean muy costosos. ?recuentemente! a2n el software #ien diseJado! no se aDusta a las necesidades del usuario! por lo %ue es recha"ado o su reconstruccin es muy cara. l cdi&o es dif.cil de reparar por su po#re preparacin para pro#ar y modificar.
%odelo en cascada
l primer modelo de desarrollo de software %ue se pu#lic se deriv de otros procesos de in&enier.a '<). Oste toma las actividades fundamentales del proceso de especificacin! desarrollo! validacin y evolucin y las representa como fases separadas del proceso. l modelo en cascada consta de las si&uientes fases* (. Definicin de los re%uisitos* $os servicios! restricciones y o#Detivos son esta#lecidos con los usuarios del sistema. Se #usca hacer esta definicin en detalle. 4. DiseJo de software* Se particiona el sistema en sistemas de software o hardware. Se esta#lece la ar%uitectura total del sistema. Se identifican y descri#en las a#stracciones y relaciones de los componentes del sistema. :. Implementacin y prue#as unitarias* Construccin de los mdulos y unidades de software. Se reali"an prue#as de cada unidad.
G P.$etelier
K. Inte&racin y prue#as del sistema* Se inte&ran todas las unidades. Se prue#an en conDunto. Se entre&a el conDunto pro#ado al cliente. 9. 8peracin y mantenimiento* 3eneralmente es la fase ms lar&a. l sistema es puesto en marcha y se reali"a la correccin de errores descu#iertos. Se reali"an meDoras de implementacin. Se identifican nuevos re%uisitos. $a interaccin entre fases puede o#servarse en la ?i&ura 9. Cada fase tiene como resultado documentos %ue de#en ser apro#ados por el usuario. Una fase no comien"a hasta %ue termine la fase anterior y &eneralmente se incluye la correccin de los pro#lemas encontrados en fases previas.
"igura +$ ,odelo de desarrollo en cascada% n la prctica! este modelo no es lineal! e involucra varias iteraciones e interaccin entre las distintas fases de desarrollo. ;l&unos pro#lemas %ue se o#servan en el modelo de cascada son*
$as iteraciones son costosas e implican rehacer tra#aDo de#ido a la produccin y apro#acin de documentos. ;un%ue son pocas iteraciones! es normal con&elar parte del desarrollo y continuar con las si&uientes fases. $os pro#lemas se deDan para su posterior resolucin! lo %ue lleva a %ue estos sean i&norados o corre&idos de una forma poco ele&ante. +iste una alta pro#a#ilidad de %ue el software no cumpla con los re%uisitos del usuario por el lar&o tiempo de entre&a del producto. s infle+i#le a la hora de evolucionar para incorporar nuevos re%uisitos. cam#ios en los re%uisitos. s dif.cil responder a
ste modelo slo de#e usarse si se entienden a plenitud los re%uisitos. ;2n se utili"a como parte de proyectos &randes.
Desarrollo evolutivo
$a idea detrs de este modelo es el desarrollo de una implantacin del sistema inicial! e+ponerla a los comentarios del usuario! refinarla en / versiones hasta %ue se desarrolle el sistema adecuado. n la ?i&ura 6 se o#serva cmo las actividades concurrentes* especificacin! desarrollo y validacin! se reali"an durante el desarrollo de las versiones hasta lle&ar al producto final. Una ventaDa de este modelo es %ue se o#tiene una rpida realimentacin del usuario! ya %ue las actividades de especificacin! desarrollo y prue#as se eDecutan en cada iteracin.
G P.$etelier
Desarrollo +ploratorio* l o#Detivo de este enfo%ue es e+plorar con el usuario los re%uisitos hasta lle&ar a un sistema final. l desarrollo comien"a con las partes %ue se tiene ms claras. l sistema evoluciona conforme se aJaden nuevas caracter.sticas propuestas por el usuario. nfo%ue utili"ando prototipos* l o#Detivo es entender los re%uisitos del usuario y tra#aDar para meDorar la calidad de los re%uisitos. ; diferencia del desarrollo e+ploratorio! se comien"a por definir los re%uisitos %ue no estn claros para el usuario y se utili"a un prototipo para e+perimentar con ellos. l prototipo ayuda a terminar de definir estos re%uisitos. $a especificacin puede desarrollarse de forma creciente. $os usuarios y desarrolladores lo&ran un meDor entendimiento del sistema. meDora de la calidad del software. sto se refleDa en una
s ms efectivo %ue el modelo de cascada! ya %ue cumple con las necesidades inmediatas del cliente. Proceso no Visi#le* $os administradores necesitan entre&as para medir el pro&reso. Si el sistema se necesita desarrollar rpido! no es efectivo producir documentos %ue refleDen cada versin del sistema. Sistemas po#remente estructurados* $os cam#ios continuos pueden ser perDudiciales para la estructura del software haciendo costoso el mantenimiento. Se re%uieren tcnicas y herramientas* Para el rpido desarrollo se necesitan herramientas %ue pueden ser incompati#les con otras o %ue poca &ente sa#e utili"ar.
ste modelo es efectivo en proyectos pe%ueJos 0menos de (FF.FFF l.neas de cdi&o1 o medianos 0hasta 9FF.FFF l.neas de cdi&o1 con poco tiempo para su desarrollo y sin &enerar documentacin para cada versin. Para proyectos lar&os es meDor com#inar lo meDor del modelo de cascada y evolutivo* se puede hacer un prototipo &lo#al del sistema y posteriormente reimplementarlo con un acercamiento ms estructurado. $os su#sistemas con re%uisitos #ien definidos y esta#les se pueden pro&ramar utili"ando cascada y la interfa" de usuario se puede especificar utili"ando un enfo%ue e+ploratorio.
G P.$etelier
"igura /$ 0aradigma de programacin automtica% $a ?i&ura N 0o#tenida desde '4F)1 ilustra un paradi&ma ideal de pro&ramacin automtica. Se distin&uen dos fases &lo#ales* especificacin 0incluyendo validacin1 y transformacin. $as caracter.sticas principales de este paradi&ma son* la especificacin es formal y eDecuta#le constituye el primer prototipo del sistema1! la especificacin es validada mediante prototipacin. Posteriormente! a travs de transformaciones formales la especificacin se convierte en la implementacin del sistema! en el 2ltimo paso de transformacin se o#tiene una implementacin en un len&uaDe de pro&ramacin determinado. ! el mantenimiento se reali"a so#re la especificacin 0no so#re el cdi&o fuente1! la documentacin es &enerada automticamente y el mantenimiento es reali"ado por repeticin del proceso 0no mediante parches so#re la implementacin1. 8#servaciones so#re el desarrollo formal de sistemas*
Permite demostrar la correccin del sistema durante el proceso de transformacin. ;s.! las prue#as %ue verifican la correspondencia con la especificacin no son necesarias. s atractivo so#re todo para sistemas donde hay re%uisitos de se&uridad y confia#ilidad importantes. >e%uiere desarrolladores especiali"ados y e+perimentados en este proceso para llevarse a ca#o.
(. ;nlisis de componentes* Se determina %u componentes pueden ser utili"ados para el sistema en cuestin. Casi siempre hay %ue hacer aDustes para adecuarlos. 4. Lodificacin de re%uisitos* Se adaptan 0en lo posi#le1 los re%uisitos para concordar con los componentes de la etapa anterior. Si no se puede reali"ar modificaciones en los re%uisitos! hay %ue se&uir #uscando componentes ms adecuados 0fase (1. :. DiseJo del sistema con reutili"acin* Se diseJa o reutili"a el marco de tra#aDo para el sistema. Se de#e tener en cuenta los componentes locali"ados en la fase 4 para diseJar o determinar este marco. K. Desarrollo e inte&racin* l software %ue no puede comprarse! se desarrolla. Se inte&ran los componentes y su#sistemas. $a inte&racin es parte del desarrollo en lu&ar de una actividad separada.
G P.$etelier
<
Disminuye el costo y esfuer"o de desarrollo. >educe el tiempo de entre&a. Disminuye los ries&os durante el desarrollo.
$os ,compromisos- en los re%uisitos son inevita#les! por lo cual puede %ue el software no cumpla las e+pectativas del cliente. $as actuali"aciones de los componentes ad%uiridos no estn en manos de los desarrolladores del sistema.
Procesos iterativos
; continuacin se e+pondrn dos enfo%ues h.#ridos! especialmente diseJados para el soporte de las iteraciones*
Desarrollo incremental
Lills '5) su&iri el enfo%ue incremental de desarrollo como una forma de reducir la repeticin del tra#aDo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los re%uisitos hasta ad%uirir e+periencia con el sistema 0ver ?i&ura (F1. s una com#inacin del Lodelo de Cascada y Lodelo volutivo. >educe el rehacer tra#aDo durante el proceso de desarrollo y da oportunidad para retrasar las decisiones hasta tener e+periencia en el sistema. Durante el desarrollo de cada incremento se puede utili"ar el modelo de cascada o evolutivo! dependiendo del conocimiento %ue se ten&a so#re los re%uisitos a implementar. Si se tiene un #uen conocimiento! se puede optar por cascada! si es dudoso! evolutivo.
G P.$etelier
$os clientes no esperan hasta el fin del desarrollo para utili"ar el sistema. Pueden empe"ar a usarlo desde el primer incremento. $os clientes pueden aclarar los re%uisitos %ue no ten&an claros conforme ven las entre&as del sistema. Se disminuye el ries&o de fracaso de todo el proyecto! ya %ue se puede distri#uir en cada incremento. $as partes ms importantes del sistema son entre&adas primero! por lo cual se reali"an ms prue#as en estos mdulos y se disminuye el ries&o de fallos. Cada incremento de#e ser pe%ueJo para limitar el ries&o 0menos de 4F.FFF l.neas1. Cada incremento de#e aumentar la funcionalidad. s dif.cil esta#lecer las correspondencias de los re%uisitos contra los incrementos. s dif.cil detectar las unidades o servicios &enricos para todo el sistema.
Desarrollo en espiral
l modelo de desarrollo en espiral 0ver ?i&ura ((1 es actualmente uno de los ms conocidos y fue propuesto por @oehm 'N). l ciclo de desarrollo se representa como una espiral! en lu&ar de una serie de actividades sucesivas con retrospectiva de una actividad a otra. Cada ciclo de desarrollo se divide en cuatro fases* (. Definicin de o#Detivos* Se definen los o#Detivos. Se definen las restricciones del proceso y del producto. Se reali"a un diseJo detallado del plan administrativo. Se identifican los ries&os y se ela#oran estrate&ias alternativas dependiendo de estos. 4. valuacin y reduccin de ries&os* Se reali"a un anlisis detallado de cada ries&o identificado. Pueden desarrollarse prototipos para disminuir el ries&o de re%uisitos dudosos. Se llevan a ca#o los pasos para reducir los ries&os.
:. Desarrollo y validacin* Se esco&e el modelo de desarrollo despus de la evaluacin del ries&o. l modelo %ue se utili"ar 0cascada! sistemas formales! evolutivo! etc.1 depende del ries&o identificado para esa fase. K. Planificacin* Se determina si continuar con otro ciclo. Se planea la si&uiente fase del proyecto. ste modelo a diferencia de los otros toma en consideracin e+pl.citamente el ries&o! esta es una actividad importante en la administracin del proyecto. l ciclo de vida inicia con la definicin de los o#Detivos. De acuerdo a las restricciones se determinan distintas alternativas. Se identifican los ries&os al sopesar los o#Detivos contra las alternativas. Se eval2an los ries&os con actividades como anlisis detallado! simulacin! prototipos! etc. Se desarrolla un poco el sistema. Se planifica la si&uiente fase.
G P.$etelier
(F
G P.$etelier
((
%odelo de proceso
1estin de ries&os
!odificar $ corre&ir !ascada Evolutivo e*ploratorio Evolutivo prototipado Desarrollo formal de sistemas Desarrollo orientado a reutili-acin Incremental Espiral
@aDo
@aDo
@aDo
;lto
Ledio
@aDo
;lto
@aDo
@aDo
@aDo
Ledio o ;lto
Ledio o ;lto
Ledio
Ledio o ;lto
Ledio o ;lto
;lto
Ledio
Ledio
;lto
;lto
@aDo
;lto
@aDo a Ledio
@aDo
@aDo
Ledio
@aDo a ;lto
@aDo a Ledio
;lto
;lto
@aDo ;lto
;lto ;lto
Ledio ;lto
@aDo Ledio
@aDo Ledio
G P.$etelier
(4
%etodolo&3as estructuradas
$os mtodos estructurados comen"aron a desarrollarse a fines de los NFQs con la Pro&ramacin structurada! lue&o a mediados de los NFQs aparecieron tcnicas para el DiseJo 0por eDemplo* el dia&rama de structura1 primero y posteriormente para el ;nlisis 0por eDemplo* Dia&ramas de ?luDo de Datos1. stas metodolo&.as son particularmente apropiadas en proyectos %ue utili"an para la implementacin len&uaDes de :ra y Kta &eneracin. Demplos de metodolo&.as estructuradas de m#ito &u#ernamental* L >IS K 0?rancia1! LO=>IC; 9 0 spaJa1! SS;DL6 0>eino Unido1. Demplos de propuestas de mtodos estructurados en el m#ito acadmico* 3ane R SarsonN! Sard R Lellor<! Tourdon R DeLarco5 e Information n&ineerin&(F.
;l&unas metodolo&.as orientadas a o#Detos %ue utili"an la notacin UL$ son* >ational Unified Process 0>UP1(:! 8P /(K! LO=>IC; 0%ue tam#in soporta la notacin estructurada1.
K 9 6 N < 5 (F (( (4 (: (K
http*EEperso.clu#Hinternet.frE#rouardfES3@D>merise.htm 0N.9.4FF41 http*EEwww.map.esEcsiEmetrica:E 0N.9.4FF:1 http*EEwww.comp.&lam.ac.uUEpa&esEstaffEtdhutchin&sEchapterK.html 0N.9.4FF:1 http*EEportal.newman.wa.edu.auEtechnolo&yE(4infsysEhtmlEdfdnotes.doc 045.<.4FF:1 http*EEwww.yourdon.comE#ooUsEcool#ooUsEnotesEwardmellor.html 045.<.4FF:1 http*EEwom#at.doc.ic.ac.uUEfoldocEfoldoc.c&iBTourdon74?Demarco 045.<.4FF:1 http*EE&antthead.comE3anttheadEprocessEprocessLainE(!(4<5!4H(4FF5H4!FF.html 045.<.4FF:1 http*EEDava.sun.comE 0N.9.4FF:1 http*EEwww.uml.or&E 0N.9.4FF:1 http*EEwww.rational.comEproductsErupEinde+.Dsp 0N.9.4FF:1 http*EEwww.open.or&.auE 0(N.5.4FF:1
(:
G P.$etelier
%etodolo&3as "&iles
Un proceso es &il cuando el desarrollo de software es incremental 0entre&as pe%ueJas de software! con ciclos rpidos1! cooperativo 0cliente y desarrolladores tra#aDan Duntos constantemente con una cercana comunicacin1! sencillo 0el mtodo en s. mismo es fcil de aprender y modificar! #ien documentado1! y adapta,le 0permite reali"ar cam#ios de 2ltimo momento1 '((). ntre las metodolo&.as &iles identificadas en '(()*
+treme Pro&rammin& '6). Scrum 0'(4)! '(:)1. ?amilia de Letodolo&.as Crystal '(K). ?eature Driven Development '(9). Proceso Unificado >ational! una confi&uracin &il 0'(6)1. Dynamic Systems Development Lethod '(N). ;daptive Software Development '(<). 8pen Source Software Development '(5).
4eferencias
'4F) @al"er >. ' #+ 6ear 0erspecti.e on 'utomatic 0rogramming . I =ransactions on Software n&ineerin&! vol.((! n2m.((! p&inas (49NH(46<! /oviem#re (5<9.
G P.$etelier
(K