Sei sulla pagina 1di 107

Mtodos de Desarrollo de Software

(o bien, como desarrollar software sin morir en el intento...)

Universidad de los Andes


Demin Gutierrez ulio !"##

$mtodo%

Mtodos / Metodologas Mtodo: &s un conjunto de herramientas, tcnicas ' procesos (ue brindan so)orte ' facilitan el lo*ro u obtenci+n de una meta

$,+mo ,onstruir un -eactor .uclear%

Mtodos / Metodologas Mtodo: (ue /acer, a lo largo de todo el ciclo de vida del software, )ara construir un )roducto bueno, de calidad, dentro del )resu)uesto ' a tiem)o

$,+mo ,onstruir un -eactor .uclear software%

software

$ciclo de vida% $ciclo de desarrollo%

Ciclo de Vida / Ciclo de Desarrollo

Describe la vida de un )roducto de software desde su definicin, )asando )or su dise0o, im)lementaci+n, verificaci+n, validaci+n, entre*a, ' hasta su operacin y mantenimiento

$)or (u es necesario un mtodo )ara desarrollar software%

Ciclo de Vida / Ciclo de Desarrollo

por lo complejo que resulta desarrollar software

Ciclo de Vida / Ciclo de Desarrollo

por el costo del cambio, la naturaleza del software y otras razones

,osto del ,ambio


-e(uerimientos 1 Anlisis 1 Dise0o 1 2m)lementaci+n 1 3ruebas 1 3roducci+n (aunque los mtodos giles pueden cambiar esta visin)
Fuente: Ada)tado de 4ent 5ec6 1 &7treme 3ro*rammin* &7)lained, &mbrace t/e ,/an*e

$(u a)orta un mtodo%

Mtodos / Metodologas
3roductos, Sub)roductos, 2nsumos, &ntre*able (definici+n)

Actividades -oles, Actores

(definici+n)

3rocesos ;areas (Genrico)


(definici+n)

Gu<as, :erramientas

5uenas 3rcticas

y otros elementos adicionales...


Fuente: &cli)se 3rocess 8ramewor6 ,om)oser 1 A)ril !""9 1 3eter :aumer 1 25M -ational Software

Mtodos / Metodologas (Herramientas) Casos de Uso, Plantillas de Documentos, UML Dia!ramas de Clases, de Casos de Uso, de "cti#idades, de $ecuencia, etc%tera. &rafos de na#e!aci'n, len!uajes de pro!ramaci'n, bibliotecas, armazones de aplicaci'n (framewor)s*, entornos inte!rados de desarrollo (+D,s*, armazones de pruebas, etc%tera. $oftware de !esti'n, herramientas de !esti'n, etc%tera
y muchas otras...

Mtodos / Metodologas (Buenas Prcticas)


-$u empresa usa control de c'di!o fuente. -Control de #ersiones. -$e hacen /compilaciones0 (builds* e inte!raciones diarias. -$e tiene al!1n tipo de base de datos de defectos (bu!s*. -"rre!lan los defectos e2istentes antes de escribir c'di!o nue#o. -$e mantiene un calendario de proyecto actualizado. -3rabajan en base a especificaciones de al!1n tipo. -Los pro!ramadores tienen condiciones adecuadas y tranquilas de trabajo. -$e utilizan las mejores herramientas que el dinero puede comprar. -$e tienen probadores. -$e tienen probadores dedicados s'lo a las pruebas. -Los nue#os candidatos a pro!ramadores escriben c'di!o durante su entre#ista de trabajo. -$e realizan pruebas de usabilidad.

entre otras, y no necesariamente en este orden...


Fuente: oel on !oft"are # http:##"""$joelonsoft"are$com#articles#fog%%%%%%%%&'$html

$)roceso% $modelo de )roceso%

Mtodos / Metodologas Qu es el Proceso? Un )roceso define (uien est /aciendo (u, cundo ' c+mo lo*rar cierta meta. (he three )*migos+ Un )roceso es =una serie de )asos (ue involucra actividades, restricciones ' recursos (ue )roducen una salida de al*>n ti)o= ,fleeger

...

Mtodos / Metodologas Qu es el Proceso?

?os "procesos de desarrollo de software" )oseen reglas preestablecidas, ' deben ser a)licados en la creaci+n del software de mediano ' *ran )orte, 'a (ue en caso contrario lo ms se*uro es (ue el )ro'ecto o no lo*re concluir o termine sin cum)lir los ob@etivos )revistos, ' con variedad de fallos inace)tables (fracasan, en )ocas )alabras).
;omado deA/tt)A11es.wi6i)edia.or*1wi6i1Software

...en realidad, esta definici'n se refiere a un /modelo de proceso0...

Mtodos / Metodologas (Di erencia entre Proceso ! Modelo de Proceso) Un modelo de )roceso de software es una representacin abstracta de un )roceso de software. !ommerville
Modelo de 3roceso (lo (ue deber<a ocurrir)

3!

3#

...

3n

... 3roceso -eal (lo (ue ocurre)

"lgunas Caractersticas de los Procesos (Modelos de###) .laridad: $&s fcil de com)render% Fiabilidad: 3robabilidad de 5uen 8uncionamiento Facilidad de !oporte *ceptacin: $Se vende% $?os DUsuariosE lo ,onsideran Biable% .onveniencia: $&s el mtodo conveniente )ara lo (ue vamos a /acer% -isibilidad: $3uedo Ber lo (ue Ccurre en el 3roceso% /obuste0: $&s Dif<cil de 3erturbar% Facilidad de Mantenimiento /apide0: $3ermite &ntre*ar -)ido el 3roducto% *daptabilidad: $?o )uedo cambiar se*>n las necesidades%

Procesos $i%ianos %s Pesados

3rocesos ?ivianos (C de D)eso livianoE) 3rocesos 3esados (C de D)eso )esadoE)

entre*ables, sub)roductos, /itos, etc

Mtodos / Metodologas (Hitos)


&studio de Biabilidad 3erfilar -e(uisitos Desarrollo de 3rototi)os &s)ecificaci+n de -e(uisitos

2nforme de Biabilidad

Definici+n de -e(uisitos

&s)ecificaci+n de -e(uisitos 2nforme de &valuaci+n de 3rototi)os

La definici'n y #erificaci'n de ;itos es una forma de darle /#isibilidad0 al proceso

3rototi)os

4uente "daptado de ,P$ +nform5tica U"M (36 7897:*

Mtodos / Metodologas (Hitos) 3roducto intermedio Dense0ableE Se consi*ue un /ito cuando se /a revisado la calidad de uno o ms )roductos ' se /an ace)tado ;ras cada /ito se deber<a *enerar un informe de )ro*reso del )ro'ecto Definir Fu, Fuin, ,undo ' ,+mo se va a evaluar ,oincidiendo con el final de una fase (al menos) Definir los )roductos corres)ondientes a cada /ito
4uente ,P$ +nform5tica U"M (36 7897:*

roles actores

Mtodos / Metodologas (&oles)

Los roles sir#en para definir qui%n hace que (y probablemente cuando*, son una forma de asi!nar y definir responsabilidades a personas, sin tener que nombrar a las personas en particular

Mtodos / Metodologas (&oles)


Un cerdo ' un )ollo van caminando )or la carretera. &l )ollo le dice al cerdoA< -Oye, por qu no abrimos un restaurante? &l cerdo se vuelve ' le res)ondeA -Buena idea, cmo quieres que lo llamemos? &l )ollo se lo )iensa ' )ro)oneA - or qu no lo llamamos !"uevos con #amn$% /ol: ?as acciones o actividades asi*nadas o re(ueridas de una )ersona o *ru)o (D?a funci+n del maestroE, D&l *obierno debe de...E) /ol: Un )ersona@e o )arte escenificada )or un actorG &l com)ortamiento es)erado de un individuo en la sociedad. ?a funci+n o )osici+n de al*o. -&o cuentes conmigo -responde el cerdo-% 'n ese caso, t( slo estar)as 2M,32.*45, mientras que yo estar)a realmente .5M,/5M6(245%
1 Fuente: ;omado de S,-UM

Mtodos / Metodologas (&oles)

importante
=o confundir los roles en los procesos de desarrollo con los actores o roles del sistema o con los interesados o )sta7eholders+ >$on dos cosas totalmente distintas? ,j Describir al /desarrollador0 como actor del sistema en el documento de casos de uso probablemente ser5 un error en la mayor@a de los casos

$modelos bsicos de )rocesos%


...modelos de )rocesos mu' *enerales (al*unas veces llamados )aradi*mas de )roceso) ... &sto es, vemos el marco de traba@o del )roceso, )ero no los detalles de actividades es)ecHficas. &stos modelos *enerales no son descripciones definitivas de los )rocesos del software. Ms bien, son abstracciones de los procesos (ue se )ueden usar )ara e7)licar diferentes enfo(ues del desarrollo de software... 2an !ommerville

lo (ue al*unas veces )asa (' no deber<a)

Ciclo de Vida / Ciclo de Desarrollo ($o 'ue usualmente (asa) ! no de*e (asar)

Anlisis

Dise0o

3ruebas

,odificaci+n

)roceso en cascada

Proceso en Cascada?
Definici+n de -e(uerimientos

Dise0o de Sistema ' de Software ,liente...

-se parece al proceso de soluci'n de problemas en in!enier@a.

$Fue vo' a /acer%

2m)lementaci+n ' 3ruebas de Unidades 2nte*raci+n ' 3rueba del Sistema

$,+mo lo vo' a /acer%

Se /acen com)romisos en las eta)as iniciales &l resultado de cada eta)a son documentos firmados ' a)robados )or las )artes involucradas Altos costos, es)ecialmente si se re(uieren cambios

$,+mo se ve com)leto% $?o /ice bien%

C)eraci+n ' Mantenimiento

Modelo en V
C)eraci+n ' Mantenimiento

Balida -e(uerimientos

Definici+n de -e(uerimientos

Berifica Dise0o

3ruebas de Ace)taci+n

Dise0o de Sistema ' de Software

Berifica Dise0o

3ruebas de Sistema

Dise0o de 3ro*rama

3ruebas de unidades e inte*raci+n

,odificaci+n

&s una variacin del modelo de cascada (ue /ace e7)l<cito el proceso de Aerificaci'n (A* en las fases de anlisis ' dise0o

Proceso en Cascada?

Definici+n de -e(uerimientos

Dise0o de Sistema ' de Software

C)eraci+n ' Mantenimiento

2m)lementaci+n ' 3ruebas de Unidades

-Por qu% falla el proceso en cascada.

2nte*raci+n ' 3rueba del Sistema

Lo que sucede en realidad...

Proceso en Cascada?
&s el modelo ms sim)le, conocido &l )roducto 1 resultado s+lo se ve al final ()ara el cliente). Si e7iste al*>n error (diferencia) sto tiene un resultado catastr+fico Suele ser dif<cil )ara el cliente establecer (545! los re(uisitos de manera e7)licita (' al )rinci)io del )roceso). .aturaleza del softwareA ,ambio Suele ser dif<cil )ara el cliente establecer (54* las ar(uitectura del software de manera e7)licita al )rinci)io del )roceso. Se )roducen estados de blo(ueo, en los (ue al*unos miembros del e(ui)o deben es)erar a otros )ara terminar tareas de)endientes

)roceso 1 modelo en es)iral

Modelo de &iesgos o de +s(iral

&n *eneral se )uede asociar cada *iro a una fase del )roceso de desarrollo. &@. #er *iroA ob@etivos, alternativas restriccionesG !do *iroA es)ecificaci+n de re(uisitosG Jer *iroA dise0oG Kto *iroA im)lementaci+n, etctera.
Fuente8 /tt)A11es.wi6i)edia.or*1wi6i1&s)iralIdeI5oe/m

Modelo de &iesgos o de +s(iral

Fuente8 /tt)A11en.wi6i)edia.or*1wi6i1S)iralImodel

Modelo de &iesgos o de +s(iral

2nclu'e de forma e7)l<cita en cada *iro la es)ecificaci+n de ob@etivos, definici+n de alternativas ' restricciones ' evaluaci+n de ries*os (verdaderamente im)ortante) &n cada *iro se constru'e un nuevo modelo del sistema. :asta los momentos, se considera el me@or modelo )ara el desarrollo de sistemas *randes (&l ms fiable) .o es aconse@able )ara sistemas )e(ue0os debido a su alta com)le@idad

)rocesos iterativos incrementales

Modelos ,ncrementales (Modelo ,ncremental)

-qu% es un incremento. (incrementar al!o* -qu% es una iteraci'n. (iterar*

Modelos ,ncrementales (Modelo ,ncremental)


2ncrementos

...
2ncremento # 2ncremento ! 2ncremento J 2ncremento .

?as fases se dividen en incrementos, en cada incremento se desarrolla una )arte de la funcionalidad ' se validan los )roductos resultantes

,liente

&n *eneral, una vez los )roductos de una fase se consideran listos, estos no se modifican ms a lo lar*o de las si*uientes fases

Modelos ,ncrementales (Modelo ,ncremental)


,U

2ncremento #
,U
actor

,U ,U

2ncremento ! 2ncremento J 2ncremento K

,U ,U
actor

,U ,U
actor

,U

,U ,U ,U
actor

&n *eneral, cada incremento a0ade funcionalidad nueva al sistema, de manera (ue el usuario )uede ir utilizando (validando) la funcionalidad antes de terminar el sistema com)leto

Modelos ,ncrementales (Modelo ,ncremental)


&l sistema se desarrolla como una secuencia de )asos e iteraciones una vez establecida la ar(uitectura *lobal ?os usuarios )ueden e7)erimentar con los )roductos resultantes de cada iteraci+n, ' usualmente el e(ui)o de desarrollo )uede continuar con el traba@o mientras (ue los usuarios e7)erimentan con el sistema &n *eneral, la idea es combinar lo me@or de las estrate*ias orientadas a )rototi)os con una buena *esti+n &n *eneral, lue*o de (ue se valida ' se termina un com)onente, este no se cambia (o se )rocura no cambiarlo) a menos (ue se encuentren errores (5u*s)

Modelos ,ncrementales (Modelo ,terati%o)


2teraciones

...
2teraci+n # 2teraci+n ! 2teraci+n J 2teraci+n .

,ada iteraci+n refina lo realizado en la iteraci+n anterior. De esta forma se )roduce una dinmica en la (ue se van me@orando los )roductos (entre*ables) obtenidos en la iteraci+n anterior. &ventualmente se realizarn todas las iteraciones )lanificadas, o se lle*ar al nivel de refinamiento deseado

Modelos ,ncrementales (Modelo ,ncremental)

-un proceso puede ser iterati#o e incremental. ... !eneralmente si

Modelos ,ncrementales (Modelo ,terati%o)

,ada fase se re)ite cierta cantidad de veces

Modelo ,terati%o-,ncremental
Bjo con los t%rminos y las confusiones en relaci'n a la concepci'n de los modelos iterati#os, incremetales y e#oluti#os

3ambi%n se puede iterar sobre todo el proceso de desarrollo, aunque esto est5 mas asociado a los procesos e#oluti#os que a los procesos iterati#os

Modelos ,ncrementales (Modelo ,ncremental / .P)

2teraciones )ara cada una de las fases

La #isi'n de UP (Unified Process*

/0ite /atc0) ,terati%o o ,ncremental?

Modelos ,ncrementales (Modelo ,ncremental)

,2celente art@culo de "listair Coc)burn sobre desarrollo incremental y desarrollo iterati#o


/tt)A11alistair.coc6burn.us12ncrementalLversusLiterativeLdevelo)ment

C5sicamente aclara bastante la confusi'n e2istente entre los dos t%rminos

Modelos ,ncrementales (Modelo ,ncremental)


+ncremental de#elopment defined
MN5' Dincremental develo)mentE, 2 s)ecificall' mean aNN staging and scheduling strategy MNin w/ic/ t/e various parts of t*e system are developed at different times or rates, and integrated as t*ey are completed%NN MN2t neither implies9 requires nor precludes iterative development or "aterfall development O bot/ of t/ose are rewor6 strate*ies. ;/e alternative to incremental develo)ment is to develo) t/e entire s'stem wit/ a Dbi* ban*E inte*ration.NM P MN2ncrementalNN develo)ment /el)s 'ou im)rove 'our )rocess. &ac/ time around t/e )rocess, 'ou *et to c/an*e and im)rove 'our wor6 /abits.
"listair Coc)burn /tt)A11alistair.coc6burn.us12ncrementalLversusLiterativeLdevelo)ment

Modelos ,ncrementales (Modelo ,ncremental)


+terati#e de#elopment defined
MN5' Diterative develo)mentE, 2 s)ecificall' wis/ to mean aNN rewor) schedulin! strate!y MNin w/ic/ time is set aside to revise and im)rove )arts of t/e s'stem.NN MN2t does not presuppose incremental development9 but "or7s very "ell "ith it$ As s/own in t/e fi*ures, t/e difference is t/at an increment ma' actuall' s/i), w/ereas an iteration is e7amined for modification.NM P MN2terativeNN develo)ment /el)s 'ou im)rove 'our )roduct. &ac/ time around t/e )rocess 'ou *et to c/an*e and im)rove t/e )roduct itself (and ma'be some of 'our wor6 /abits)
"listair Coc)burn /tt)A11alistair.coc6burn.us12ncrementalLversusLiterativeLdevelo)ment

)rocesos evolutivos ' basados en )rototi)os

Modelos +%oluti%os
?a definici+n ' es)ecificaci+n de re(uerimientos ' el desarrollo de software es un )roceso evolutivo (ue demanda la e7)erimentaci+n )revia con al*>n com)onente (o la totalidad) del Sistema 3ro*ramado (&@. 2nterfaz UQS, funci+n o subsistema) antes de desarrollar la totalidad del sistema.

-qu% es e#olucionar.

Modelos +%oluti%os
?o*ran su ob@etivo )or medio del desarrollo de una serie de )rototi)os (ue van evolucionando a medida (ue se tiene realimentaci+n del cliente

&s)ecificaci+n Dise0o

Bersi+n 2nicial

5os(ue@o 2nicial

Desarrollo

Bersiones 2ntermedias

Balidaci+n 3retende vencer las limitaciones del modelo en cascada debidas a la deficiente realimentaci+n entre sus fases
Fuente8 Sommerville 1 2n*enier<a del Software

Bersi+n 8inal

Modelos +%oluti%os

-qu% es un prototipo.

Modelos Basados en Prototi(os

,rototipos 6volutivos
3oner un sistema a dis)osici+n de los usuarios finales. &l )roceso comienza con una serie de re(uisitos, se desarrollan una serie de )rototi)os, se e7)onen al usuario ' se van refinando )aso a )aso

,rototipos 6:perimentales ,rototipos 4esechables # 6:ploratorios


Se desarrollan )rototi)os ((ue lue*o se desec/aran) )ara aclarar as)ectos )articulares de los re(uerimientos del usuario. &ste conocimiento se utilizar )ara es)ecificar1dise0ar1desarrollar la a)licaci+n

Modelos Basados en Prototi(os


&sta estrate*ia suele ser >til ' )rctica )ara sistemas )e(ue0os (R#""4 ?,) ' medianos (RS""4 ?,)

3rototi)os &volutivo

Sistema

-e(uisitos (Bersi+n 2nicial) aun(ue esto es mu', mu' relativo tambin

Un )rototi)o se )uede ver como una es)ecificaci+n de lo (ue se desea desarrollar...

Desarrollo

3rototi)os &7)erimental

3rototi)os &@ecutables L &s)ecificaci+n Definitiva

Modelos Basados en Prototi(os (1o desec0a*le)

.ecesidades 1 Balidaci+n

&s)ecificaci+n Abstracta

,onstruir 3rototi)o del Sistema .C

Usar 3rototi)o del Sistema

&ntre*ar el Sistema

S2

$Sistema es Adecuado%

,ntegraci2n del Proceso en Cascada ! el Desarrollo Basado en Prototi(os


Anlisis de -e(uerimientos Dise0o de Sistema Dise0o de 3ro*rama

Los Prototipos tambi%n se pueden utilizar para minimizar o cuantificar ries!os...

,odificaci+n

Desarrollo de 3rototi)os

3ruebas

C)eraci+n ' Mantenimiento

2nte*raci+n del modelo de )rototi)os con el modelo de cascada


(Ada)tado de 3flee*er, #TTU)

Modelos Basados en Prototi(os


Vtiles en sistemas (C as)ectos de un sistema) en los (ue no es )osible inicialmente (o es dif<cil) desarrollar una es)ecificaci+n. &@A Sistemas de 2nteli*encia artificial, 2nterfaces de Usuario, etctera Usualmente se basan en tcnicas (ue )ermiten obtener versiones r)idas del sistema, (ue se )ueden )oner en o)eraci+n tan r)ido como sea )osibleA -a)id A))lication Develo)ment (-AD) ?os re(uisitos no funcionales no se )rueban 1 determinan adecuadamente en el )rototi)o (&@. se*uridad, rendimiento, u otros 3rctica *eneralmente )ara sistemas )e(ue0os 1 medianos (R#""4 o RS""4 l<neas de c+di*o)

Modelos Basados en Prototi(os


&l 3roceso, la evoluci+n, el avance, es dif<cil de medir. .o siem)re es fcil res)onder a la )re*untaA $,uanto falta )ara terminar el sistema% ('l proceso no siempre es visible) ?os cambios continuos )ueden )rovocar la destrucci+n de la estructura del sistema &s )osible (ue no se )uedan realizar verificaciones formales, debido a (ue es )osible (ue no e7ista una es)ecificaci+n formal '1o documentaci+n bien definida &s dif<cil establecer contratos, una im)lementaci+n no tiene carcter de contrato W&7celentes )ara miti*ar ries*os ' /acer una ne*ociaci+n @usta con el clienteX

...por cierto...

Modelo de &iesgos o de +s(iral

$Ser el )roceso en es)iral incremental, iterativo, evolutivo, etc%

)rocesos basados en la reutilizaci+n de com)onentes

Desarrollo Basado en &eutili3aci2n (Com(onentes)


DAlmacn1,atlo*o de ,om)onentes -eutilizables
5uscar ,om)onentes -eutilizables (,C;S) (&@. A)licaciones ?istas o ,asi ?istas)

5os(ue@ar los -e(uerimientos del Sistema

Modificar -e(uerimientos Acorde a los ,om)onentes &ncontrados

Modificar ,om)onentes &ncontrados

Dise0o Ar(uitect+nico

5uscar ,om)onentes -eutilizables (,C;S) (&@. ?ibrer<as, 8ramewor6s u otros)

Dise0ar el Sistema Utilizando los ,om)onentes -eutilizados

Modificar ,om)onentes &ncontrados

CB3$ ,ommercial Cff t/e S/elf Fuente8 Sommerville 1 2n*enier<a del Software (&7ce)to lo ro@o)

Desarrollo Basado en &eutili3aci2n (Com(onentes)

&l costo del sistema se )uede reducir notablemente debido a la reutilizaci+n &l sistema se constru'e DuniendoE com)onentes e7istentes Se est limitado a los com)onentes e7istentes, es necesario ne*ociar los re(uerimientos en base a estos, o modificar los com)onentes (lo (ue no siem)re es fcil) )ara lo*rar satisfacerlos (o ambas cosas) Se necesita todo un Darmaz+nE o un Dlen*ua@eE )ara )oder unir los com)onentes

im)ortancia de involucrar al usuario 1 cliente en el )roceso de desarrollo

Proceso en Cascada?

Diferencia entre las e7)ectativas del usuario ' los resultados )roducidos

el precio que se pa!a si no se in#olucra al usuario en el proceso de desarrollo

Modelos Basados en Prototi(os (4 en general) modelos iterati%os)

Diferencia entre las e7)ectativas del usuario ' los resultados )roducidos (muc/os mtodos *iles lo*ran esto tambin involucrando al cliente lo ms (ue sea )osible)

modelos *iles (Y3)


/tt)A11www.a*ileQsoftwareQdevelo)ment.com1!""91"S1beaut'QofQnotQdoin*Qa*ileQdevelo)ment./tml

Modelos giles (5P)


;, (e;treme ,rograming): &s una estrat*ia de desarrollo de software creada /ace a)ro7imadamente unos diez a0os (ue /a causado un *ran revuelo entre el colectivo de )ro*ramadores del mundo <ent =ec7, su autor, es un )ro*ramador (ue /a traba@ado en m>lti)les em)resas. Actualmente traba@a en la conocida em)resa automovil<stica Daimler,/r'sler ,on sus teor<as /a conse*uido el respaldo de *ran )arte de la industria del software ' el recha0o de otra )arte
/tt)A11www.e7treme)ro*rammin*.or*

Modelos giles (5P)

:istoria (cuento) de usuario

Generacin de Factura
Bersi+n inicial de la ar(uitectura

El usuario introduce la informacin del cliente. Si el cliente ya est registrado con slo introducir la cdula se 3rototi)o, )rueba deben cargar sus datos. Luego se ingresan los elementos a o e7)erimento r)ido )ensado facturar y las cantidades de cada elemento. )ara reducir el Finalmente el sistema registra la factura y es capaz de ries*o imprimirla en la impresora local asociada al terminal del usuario

Modelos giles (5P / Caractersticas)


>) 6l desarrollo del plan: Determinar r)idamente el alcance de la si*uiente iteraci+n 1 entre*a en base a las )rioridades del ne*ocio (cliente) ' los estimados tcnicos. &star dis)uestos a cambiar el )lan a medida (ue es necesario. ?) 3iberar mucho9 en incrementos peque@os: 3oner el sistema en )roducci+n los ms r)ido )osible (el m<nimo necesario) ' desarrollar las si*uientes versiones con el ciclo lo mas corto )osible. ') 4ise@o simple: Mantener el dise0o lo ms sim)le )osible (42SSA 4ee) it Sim)le Stu)Z[\id), concentrarse en el )resente ' no en el futuro (]AG.2A ]ou ain^t *oin* to need it)

Modelos giles (5P / Caractersticas)


&) ,ruebas unitarias continuas: Sirven )ara evitar (ue los )ro*ramadores se e(uivo(uen, )ara evitar las D)arcelasE de c+di*o ' )ara validar constantemente la a)licaci+n. ?os clientes tambin )ueden escribir )ruebas )ara validar 1 demostrar ciertas caracter<sticas del sistema. A) ,rogramacin en parejas: ;odo el c+di*o a )onerse en )roducci+n es escrito en )are@as. B!abe usted por queC D) ,ropiedad colectiva: .adie es due0o de nin*una clase, de nin*>n artefacto, de nin*una )arte del c+di*o. E) 2ntegracin continua: ?as caracter<sticas del sistema se desarrollan ' se inte*ran a diario. ?ue*o se corren las )ruebas ' se verifica (ue la a)licaci+n corra correctamente.

Modelos giles (5P / Caractersticas)

F) &% horas a la semana: .adie. W.AD2&X ;raba@a /oras e7tra. B!abe usted porqueC G) 6l cliente involucrado en el ambiente de desarrollo: &l cliente (o un re)resentante) es un miembro ms del e(ui)o de desarrollo. >%)6stndares de codificacin: Se definen estndares adecuados de codificaci+n ' se res)etan. Sobre todo a(uellos (ue enfatizan la DautoQdocumentaci+nE ' adecuada documentaci+n del c+di*o.

Modelos giles (5P / Caractersticas)

Modelos giles (5P / Valores)


!implicidad: &s la base de la )ro*ramaci+n e7trema. ?a idea es sim)lificar el dise0o lo ms )osible )ara a*ilizar el desarrollo ' facilitar el mantenimiento. .omunicacin: Se realiza de diferentes formasA
#) 3ara los )ro*ramadores el c+di*o comunica me@or. ?a simplicidad del cdigo /ace (ue este sea le*ible. &s me@or tener )cdigo autodocumentado+ (ue c+di*o con *randes cantidades de documentaci+n, 'a (ue la documentacin corre el ries*o de (uedar desfasada con el c+di*o a medida (ue este es modificado. !) 3as pruebas unitarias comunican, 'a (ue describen el dise0o de las clases ' mtodos al mostrar e@em)los concretos de como usar su funcionalidad. J) ?os )ro*ramadores se comunican constantemente *racias a la )ro*ramaci+n en )are@as. K) ?a comunicaci+n con el cliente es fluida 'a (ue el cliente es )arte del e(ui)o.

Modelos giles (5P / Valores)


/etroalimentacin (feedbac7): &l cliente est inte*rado en el )ro'ecto de modo (ue su o)ini+n sobre el estado del )ro'ecto se conoce en tiem)o real. ,omo las iteraciones son mu' cortas (!QK semanas) se minimiza el tener (ue re/acer )artes (ue no cum)len con los re(uisitos ' a'uda a los )ro*ramadores a centrarse en lo (ue es ms im)ortante /espeto: ;odo el mundo recibe ' siente el res)eto (ue merece como miembro valioso del e(ui)o de desarrollo. ;odos en el e(ui)o a)ortan valor, aun si es sim)le entusiasmo. ?os desarrolladores res)etan la e7)eriencia de sus clientes ' viceversa. ?a *erencia res)eta el derec/o del e(ui)o de ace)tar la res)onsabilidad ' recibir la autoridad sobre su )ro)io traba@o .oraje o -alentHa: 3ara los *erentes, muc/as de las )rcticas de Y3 )ueden )arecer )oco intuitivas o inclusive erradas ()ro*ramaci+n en )are@as, sim)licidad, no )ensar en la fle7ibilidad a futuro, entre otras). &s necesario muc/o Dcora@eE )ara ace)tarlas ' vencer este )re@uicio

Modelos ,ncrementales (Modelo ,ncremental)

ad#ertencia
La Pro!ramaci'n ,2trema (EP* y otros m%todos no si!nifican desarrollar /sin m%todo0 Los m%todos 5!iles requieren en el fondo mucha disciplina para poder ejecutarlos y mantener el orden de forma satisfactoria

modelos *iles (scrum)


/tt)A11www.a*ileQsoftwareQdevelo)ment.com1!""91"S1beaut'QofQnotQdoin*Qa*ileQdevelo)ment./tml

Modelos ,ncrementales (Modelo ,ncremental)

ad#ertencia
las si!uientes transparencias han sido tomadas (-mutiladas.* de la clase de scrum que #imos al comienzo del semestre, lo que #iene es un simple resumen

Modelos 6giles (7C&.M / Proceso)


re(uisitos DfeaturesE de la a)licaci+n reuni+n diaria resultado ()roducto) (entre*as frecuentes)

tareas de R #_ /oras

re(uisitos )ara el s)rint (iteraci+n)

s)rints (iteraciones) (cortos)

Historias de .suarios (7C&.M / &e'uisitos)


?os re(uisitos del )roducto se ca)turan teniendo en cuenta la visi+n del cliente ' del usuario 3ara ello se utilizan historias de usuario, (ue son unas sencillas tar@etas en las (ue se reco*e de forma es(uemtica, sencilla ' en un len*ua@e claro una interacci+n entre el usuario ' el sistema
Generacin de Factura El usuario introduce la informacin del cliente. Si el cliente ya est registrado con slo introducir la cdula se deben cargar sus datos. Luego se ingresan los elementos a facturar y las cantidades de cada elemento. Finalmente el sistema registra la factura y es capaz de imprimirla en la impresora local asociada al terminal del usuario

Historias de .suarios (7C&.M / &e'uisitos)


Generacin de Factura El usuario introduce la informacin del cliente. Si el cliente ya est registrado con slo introducir la cdula se deben cargar sus datos. Luego se ingresan los elementos a facturar y las cantidades de cada elemento. Finalmente el sistema registra la factura y es capaz de imprimirla en la impresora local asociada al terminal del usuario

?as /istorias de usuario sirven de DrecordatorioE de un *ru)o de caracter<sticas (ue es necesario im)lementar en el sistema. Antes de im)lementar una caracter<stica se )roduce una discusi+n con el usuario ' se refina y e:tiende la informacin de la historia de usuario

Modelos 6giles (7C&.M / &e'uisitos)

?os re(uisitos del product bac)lo! se )riorizan ' se asi*nan a los distintos s)rints )lanificados, es decir, al sprint bac)lo! de cada s)rint

7C&.M (&oles)

ese cuento ha sido inmortalizado de muchas formas

7C&.M (&oles)

cerdos (realmente comprometidos*

pollos (in#olucrados*

Modelos 6giles (8esti2n ! 7eguimiento / &euni2n Diaria) /eunin 4iaria: &s una fi*ura fundamental en S,-UM. ;iene (ue reunirse (545 el e(ui)o ' debe /acerse se*>n ciertas re*las

Modelos 6giles (8esti2n ! 7eguimiento / 7crum Burn Do9n)

,F, G ;raba@o restante, /oras, )untos de funci+n u otra unidad de medida ,F, E D<a o fec/a del s)rint

,sto es responsabilidad del $crum Master

Modelos 6giles (8esti2n ! 7eguimiento / :as; Boards)

/tt)A11www.mountain*oatsoftware.com1scrum1tas6Qboards

$(u mtodo o )roceso de desarrollo de software debo utilizar%

bien... )ero...

Qu Mtodo o Proceso de desarrollo de so t9are de*o utili3ar?

-ecuerde (ue no todos los )ro'ectos ' ti)os de a)licaciones a desarrollar son i*uales. Use el mtodo (ue ms se ada)te a sus necesidades o al )ro'ecto a enfrentarA .o e7isten mtodos )erfectos o soluciones universales... &vite caer en el DfanatismoE de mtodosA Y3 fans vs -U3 fans vs Scrum fans etc... (de /ec/o, evite caer en cual(uier ti)o de fanatismo) Si 'a /a usado un mtodo anteriormente en )ro'ectos similares a los (ue debe desarrollar ' /a tenido resultados adecuados entonces vuelva a utilizar ese mtodo...

Qu Mtodo o Proceso de desarrollo de so t9are de*o utili3ar?


&n )ro'ectos )e(ue0os 1 medianos los mtodos *iles )ueden ser adecuados &n *randes a)licaciones em)resariales el )roceso unificado )uede *enerar los resultados adecuados &n )ro'ectos con muc/o )ersonal los mtodos *iles )ueden no ser el enfo(ue adecuado -ecuerde (ue en el fondo el mtodo I5 es lo im)ortante, el mtodo no es el fin. &l mtodo es s+lo una /erramienta )ara lo*rar el verdadero objetivo: terminar el )ro'ecto a tiem)o, dentro del )resu)uesto ' con las caracter<sticas re(ueridas. JMantenga siempre la mira y la concentracin en el producto9 que es el verdadero objetivoK

$c+mo se describe un mtodo o )roceso%


/a' muc/as formas, )ero...

Mtodos / Metodologas (Descri(ci2n de Procesos)

3roceso ;cnico #

3roceso ;cnico !

...

3roceso ;cnico .

3rocesos fundamentales del desarrollo de software

3roceso de *esti+n o de so)orte #

3roceso de *esti+n o de so)orte !

...
3roceso de *esti+n o de so)orte M

3rocesos de a)o'o al desarrollo de software

Fuente: L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F

Mtodos / Metodologas (Descri(ci2n de Procesos)


Gru)o de 3rocesos

3roceso A

...

3roceso 5

...

3roceso ,

...

Sub)roceso A.#

...

Sub)roceso A.n

...

Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F

Mtodos / Metodologas (Descri(ci2n de Procesos)


RRre*la`` RRactor`` RRob@etivo``

-e*las del .e*ocio


RRre*ula``
RRrecurso``

,oordinador del 3roceso


RRcontrola``

Cb@etivo del 3roceso


RR)ersi*ue``
RR)roducto``

2nsumo o Material -e(uerido

Salida 3roceso Y

...

...
2nformaci+n 3roducida
RRa)o'a``
RRre)ositorio``

RR)roducto``

&ntrada
RRe@ecuta``
RRrecurso``

RRa)o'a``

Gru)o o Actor

2nformaci+n -e(uerida

Datos

Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F

Mtodos / Metodologas (Descri(ci2n de Procesos)


RRdocumento`` Documento de 2nicio del 3ro'ecto

RR)roceso`` Planificaci'n de "lcance

RRdocumento`` 3lan 2nte*ral del 3ro'ecto Actualizado

3lanificar la Gesti+n del Alcance del 3ro'ecto

Definir el Alcance del 3ro'ecto

,rear la &structura de Des*lose de ;raba@o

Actualizar el 3lan del 3ro'ecto

RRdocumento`` &nunciado del Alcance del 3ro'ecto RRdocumento`` 3lan de Gesti+n de Alcance RRdocumento`` &structura de Des*lose de ;raba@o

Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F

Mtodos / Metodologas (Descri(ci2n de Procesos)

Los modelos de Productos describen todos los productos que se utilizan o se producen en el m%todo

Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F

Mtodos / Metodologas (Descri(ci2n de Procesos)

,l modelo de actores especifica los actores 9 roles que participan en el proceso de desarrollo y sus respecti#as responsabilidades
Fuente: *daptado de L/*M N*(.O MP(545 46 46!*//5335 46 !5F(N*/6 ,*/* *,32.*.25I6! 6M,/6!*/2*36! # Ioviembre ?%%F

$al*unos mtodos de desarrollo%

"lgunos Mtodos de Desarrollo

,2treme Pro!rammin! (EP*


/tt)A11www.e7treme)ro*rammin*.or*1

!crum
/tt)A11www.scrumalliance.or*1

"lgunos Mtodos de Desarrollo

HUP (+CM Hational Unified Process*


/tt)A11wwwQ"#.ibm.com1software1awdtools1ru)1

BpenUP (Bpen Unified Process* (Muy =uena /eferencia)


/tt)A11e)f.ecli)se.or*1wi6is1o)enu)1

"!ileUP ("!ile Unified Process*


/tt)A11www.amb'soft.com1unified)rocess1a*ileU3./tml

otros...

"lgunos Mtodos de Desarrollo

&ray Iatch J Ihite Iatch


(desarrollados aqu@ en la UL"*

&e le<i2n =inal

refle2i'n final
Pase lo que pase, siempre procure que el m%todo de desarrollo que use trabaje a su fa#or. $i el m%todo que est5 usando trabaja en su contra >entonces cambie el m%todo? Hecuerde, el m%todo no es importante, lo importante es el cliente, el producto y las personas in#olucradas en su desarrollo

8racias

JLraciasK

Potrebbero piacerti anche