Metodología Crystal

5
METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE CRYSTAL Introducción Crystal es una metodología de desarrollo de Software ágil, más que una metolodogí familia de metodologías, debido a que se subdivide en varios tipos de metodología de persona que vayan a estar en el proyecto. Es una metodología que ha sido cread particular !listair Coc"burn # el cuál llego la creó en base al análisis de dis S$ y su propia e%periencia, lo cuál fusionando ambos aspectos dio luga interesante, la cual se presenta a continuación. Desarrollo de la metodología Antecedentes En los inicios de &''(, en un estudio reali)ado en *+ se llegó a los siguientes os equipos e%itosos enfati)aban que no habían seguido m/todos formales ni herram habían estimulado la comunicación y los test. os equipos con problemas no entendían sus fallas o si habían cumplido con los m/ Qué es Crystal Clear Crystal Clear no es una metodología en si misma sino una familia de metodologías código genético” com1n. El nombre Crystal deriva de la caracteri)ación de los proyectos seg1n - dimension como en los minerales, color y dure)a#. 4or e3emplo. Clear es para equipos de hasta 5 personas o menos. !marillo para equipos entre &( a -( personas. 6aran3a para equipos entre -( a 7( persona. 8o3a para equipos entre 7( a &(( personas. !)ul para equipos entre &(( a -(( personas. CC puede ser usado en proyectos peque2os y como casi todos los otros m/todos, CC t/cnicas y procesos. En primera instancia se especi9can los antecedentes de la metodología, continuand ayudan a estructurar la fundamentación teórica y se termina con las característic tipos de Crystal. La conclusión: enos /nfasis en la documentación e%haustiva y más en versiones que corran y pued primero son promesas, lo segundo hechos. Cada proyecto necesita sus propios m/to lugar de partir solamente de su e%periencia personal para construir una teoría de complementa su e%periencia directa con la b1squeda activa de proyectos para ver c :l ha e%plorado a fondo los m/todos ágiles, haciendo /nfasis en la familia de me familia porque cree que los diferentes tipos de proyectos requieren diferentes ti esta variación a lo largo de dos e3es; el n1mero de personas en el proyecto, y la

description

Modelo ágil para ingeniería de software

Transcript of Metodología Crystal

METODOLOGA GIL DE DESARROLLO DE SOFTWARECRYSTAL

Introduccin

Crystal es una metodologa de desarrollo de Software gil, ms que una metolodoga se la considera una familia de metodologas, debido a que se subdivide en varios tipos de metodologas en funcin a la cantidad de persona que vayan a estar en el proyecto. Es una metodologa que ha sido creada por una persona en particular (AlistairCockburn) el cul llego la cre en base al anlisis de distintos proyectos de desarrollo de SW y su propia experiencia, lo cul fusionando ambos aspectos dio lugar a una metodologa bastante interesante, la cual se presenta a continuacin.

Desarrollo de la metodologa

Antecedentes

Enlosiniciosde1990,enunestudiorealizadoenIBMsellegalossiguientesacuerdos(Cockburn,2001). LosequiposexitososenfatizabanquenohabanseguidomtodosformalesniherramientasCASEyque habanestimuladolacomunicacinylostest.Losequiposconproblemasnoentendansusfallasosihabancumplidoconlosmtodosformales.

Qu es Crystal Clear

Crystal Clear no es una metodologa en si misma sino una familia de metodologas con un cdigo gentico comn.El nombre Crystal deriva de la caracterizacin de los proyectos segn 2 dimensiones, tamao y complejidad (como en los minerales, color y dureza).

Por ejemplo. Clear es para equipos de hasta 8 personas o menos. Amarillo para equipos entre 10 a 20 personas. Naranja para equipos entre 20 a 50 persona. Roja para equipos entre 50 a 100 personas. Azul para equipos entre 100 a 200 personas.

CC puede ser usado en proyectos pequeos y como casi todos los otros mtodos, CC consiste en valores, tcnicas y procesos.

Enprimerainstanciaseespecicanlosantecedentesdelametodologa,continuandocondenicionesque ayudanaestructurarlafundamentacintericayseterminaconlascaractersticasesencialesdelosdiferentestiposdeCrystal.

Laconclusin:

Menosnfasisenladocumentacinexhaustivaymsenversionesquecorranypuedanserprobadas.Lo primerosonpromesas,losegundohechos.Cadaproyectonecesitasuspropiosmtodos.AlistairCockburnenlugardepartirsolamentedesuexperienciapersonalparaconstruirunateoradecmodebenhacerselascosas complementasuexperienciadirectaconlabsquedaactivadeproyectosparavercmotrabajan.

lhaexploradoafondolosmtodosgiles,haciendonfasisenlafamiliademetodologasCrystal.Esuna familiaporquecreequelosdiferentestiposdeproyectosrequierendiferentestiposdemetodologas.lmira estavariacinalolargodedosejes:elnmerodepersonasenelproyecto,ylasconsecuenciasdeloserrores.

Cadametodologaencajaenunapartediferente,demodoqueparaunproyectode40personasquepuede perderdinerodiscrecionalmentetieneunametodologadiferentealadeunproyectovitaldeseispersonas.

LafamiliademetodologasCrystalcompartenconlaXPunaorientacinhumana,peroestacentralizacinenlagentesehacedeunamaneradiferente.Alistairconsideraquelaspersonasencuentrandifcilseguirun procesodisciplinado,asquemsqueseguirlaaltadisciplinadelaXP,Alistairexploralametodologamenosdisciplinadaqueaunpodratenerxito,intercambiandoconscientementeproductividadporfacilidadde ejecucin.lconsideraqueaunqueCrystalesmenosproductivoquelaXP,mspersonasserncapacesde seguirlo.

Alistairtambinponemuchopesoenlasrevisionesalnaldelaiteracin,animandoalprocesoaaplicar tcnicasdemejoramientocontinuoenformaautomtica.Suasercinesqueeldesarrolloiterativoestpara encontrarlosproblemastemprano,yentoncespermitircorregirlos.Estoponemsnfasisenlagente supervisandosuprocesoyanndoloconformedesarrollan.

Deniciones

Setratadeunconjuntodemetodologasparaeldesarrollodesoftwarecaracterizadasporestarcentradasen laspersonasquecomponenelequipoylareduccinalmximodelnmerodeartefactosproducidos.

Eldesarrollodesoftwareseconsideraunjuegocooperativodeinvencinycomunicacin,limitadoporlos recursosautilizar.Elequipodedesarrolloesunfactorclave,porloquesedebeninvertiresfuerzosen mejorarsushabilidadesydestrezas,ascomotenerpolticasdetrabajoenequipodenidas.

Estaspolticasdependerndeltamaodelequipo,establecindoseunaclasicacinporcolores,porejemploCrystalClear(3a8miembros)yCrystalOrange(25a50miembros).

Caractersticas

Laspersonas,comodispositivosactivos,tienenmodosdexitoymodosdefallo.Lossiguientessonlos principales:

Cuandoelnmerodepersonasaumenta,tambinaumentalanecesidaddecoordinar. Cuandoelpotencialdedaosseincrementa,latoleranciaavariacionesseveafectada. Lasensibilidaddeltiempoenquesedebeestarenelmercadovara:avecesestetiempodebe acortarsealmximoysetolerandefectos,otrasseenfatizalaauditoria,conabilidad,proteccin legal,entreotros. Laspersonassecomunicanmejorcaraacara,conlapreguntaylarespuestaenelmismoespaciode tiempo. Elfactormssignicativoescomunicacin.

LosmtodossellamanCrystalevocandolasfacetasdeunagema:cadafacetaesotraversindelproceso,y todassesitanentornoaunncleoidntico.Haycuatrovariantesdemetodologas:CrystalClearpara equiposde8omenosintegrantesAmarillo,para8a20Naranja,para20a50Rojo,para50a100.

LamsexhaustivamentedocumentadaesCrystalClear(CC),yeslaquesehadedescribiracontinuacin.CCpuedeserusadoenproyectospequeos.ElotromtodoelaboradoenprofundidadeselNaranja,aptoparaproyectosdeduracinestimadaen2aos.Losotrosdosanseestndesarrollando.Comocasitodoslosotrosmtodos,CCconsisteenvalores,tcnicasyprocesos.LossietevaloresopropiedadesdeCCson:

1) Entregafrecuente.Consisteenentregarsoftwarealosclientesconfrecuencia,nosolamenteen compilarelcdigo.Lafrecuenciadependerdelproyecto,peropuedeserdiaria,semanalomensual.2) Comunicacinosmtica.Todosjuntosenelmismocuarto.Unavarianteespecialesdisponerenla saladeunexpertodiseadorseniorydiscutirrespectodeltemaquesetrate.3) Mejorareexiva.Tomarseunpequeotiempo(unaspocashorascadaounavezalmes)parapensarbienquseesthaciendo,cotejarnotas,reexionar,discutir.4) Seguridadpersonal.Hablarconloscompaeroscuandoalgomolestadentrodelgrupo.5) Foco.Saberloqueseesthaciendoytenerlatranquilidadyeltiempoparahacerlo.6) Fcilaccesoausuariosexpertos.Teneralgunacomunicacinconexpertosdesarrolladores.

CrystalClearnorequiereningunaestrategiaotcnica,perosiempreestiltenerunascuantasamanopara empezar.LasestrategiascomunesaotrasMetodologasgiles,son:

1) Exploracinde360.Vericarotomarunamuestradelvalordenegociosdelproyecto,los requerimientos,elmodelodedominio,latecnologa,elplandelproyectoyelproceso.2) Victoriatemprana.Esmejorbuscarpequeostriunfosinicialesqueaspiraraunagranvictoriatarda3) Esqueletoambulante.Esunatransaccinquedebesersimpleperocompleta.4) Rearquitecturaincremental.Sehademostradoquenoesconvenienteinterrumpireldesarrollopara corregirlaarquitectura.Msbienlaarquitecturadebeevolucionarenetapas,manteniendoelsistemaenejecucinmientrasellasemodica.5) Radiadoresdeinformacin.Esunalminapegadaenalgnlugarqueelequipopuedaobservar mientrastrabajaocamina.Tienequesercomprensibleparaelobservadorcasual,entendidadeun vistazoyrenovadaperidicamenteparaquevalgalapenavisitarla.

Encuantoalastcnicas,sefavorecen:

a) Entrevistasdeproyectos.Sesueleentrevistaramsdeunresponsableparatenervisionesmsricas.b) Talleresdereexin.Elequipodebedetenersetreintaminutosounahoraparareexionarsobresusconvencionesdetrabajo,discutirinconvenientesymejorasyplanearparaelperodosiguiente.c) PlaneamientoBlitz.UnatcnicapuedeserelJuegodePlaneamientodeXP.Enestejuego,seponen tarjetasindexadasenunamesa,conunahistoriadeusuarioofuncinvisibleencadauna.Elgrupo ngequenohaydependenciasentretarjetas,ylasalineaensecuenciasdedesarrollopreferidas.Losprogramadoresescribenencadatarjetaeltiempoestimadoparadesarrollarcadafuncin.El patrocinadordelusuarioescribelasecuenciadeprioridades,teniendoencuentalostiemposreferidosyelvalordenegociodecadafuncin.Lastarjetasseagrupanenperodosdetressemanasllamadositeracionesqueseagrupanenentregas,usualmentenomslargasdetresmeses.d) EstimacinDelphiconestimacionesdepericia.EnelprocesoDelphiserenenlosexpertos responsablesyprocedencomoenunremateparaproponereltamaodelsistema,sutiempode ejecucin,lafechadelasentregassegndependenciastcnicasydenegociosyparaequilibrarlasentregasenpaquetesdeigualtamao.e) Encuentrosdiariosdepie.Lapalabraclaveesbrevedad,cincoadiezminutoscomomximo. Nosetratadediscutirproblemas,sinodeidenticarlos.f) Miniaturadeprocesos.UnaformadepresentarCrystalClearpuedeconsumirentre90minutosyunda.Laideaesquelagentepuedadegustarlanuevametodologa.g) Grcosdequemado.Sunombrevienedelosgrcosdequemadodecalorasdelosregmenes dietticosseusantambinenScrum.Setratadeunatcnicadegracacinparadescubrirdemorasyproblemastempranamenteenelproceso,evitandoquesedescubrademasiadotardequetodavano sesabecuntofalta.Paraellosehaceunaestimacindeltiempofaltanteparaprogramarloquerestaalritmoactual,locualsirveparatenerdominiodeproyectosenloscualeslasprioridadescambian bruscamenteyconfrecuencia.Estatcnicaseasociaconalgunosrecursosingeniosos,comolaListaTmpana,llamadaasporquesereerealagregadodetemsconaltaprioridadeneltopedelaslistasdetrabajospendientes,esperandoquelosdemselementossehundanbajolalneadeotacinloselementosqueestnsobrelalneaseentregarnenlaiteracinsiguiente,losqueestnpordebajoenlasrestantes.EnotrasMetodologasgileslaListaTmpananoesotracosaqueungrcode retraso.Losgrcosdequemadoilustranlavelocidaddelproceso,analizandoladiferenciaentrelaslneasproyectadasyefectivasdecadaentrega.h) Programacinladoalado.MuchagentesientequelaprogramacinenparesdeXPinvolucrauna presinexcesivalaversindeCrystalClearestableceproximidad,perocadaquienseenfocaasu trabajoasignado,prestandounojoaloquehacesucompaero,quientienesupropiamquina.Esta esunaampliacindelaComunicacinOsmticaalcontextodelaprogramacin.

HayochorolesnominadosenCC:Patrocinador,UsuarioExperto,DiseadorPrincipal,Diseador Programador,ExpertoenNegocios,Coordinador,Vericador,Escritor.EnCrystalNaranjaseagreganaun msroles:DiseadordeIU(InterfazdeUsuario),DiseadordeBasedeDatos,ExpertoenUso,Facilitador Tcnico,Analista/DiseadordeNegocios,Arquitecto,MentordeDiseo,PuntodeReutilizacin.A continuacinsedescribenlosartefactosdelosquesonresponsableslosrolesdeCC:

Patrocinador.ProducelaDeclaracindeMisinconPrioridadesdeCompromiso(Tradeoff). Consiguelosrecursosydenelatotalidaddelproyecto. UsuarioExperto.JuntoconelExpertoenNegociosproducelaListadeActoresObjetivosyel ArchivodeCasosdeUsoyRequerimientos.Debefamiliarizarseconelusodelsistema,sugerir atajosdeteclado,modosdeoperacin,informacinavisualizarsimultneamente,navegacin. DiseadorPrincipal.ProducelaDescripcinArquitectnica.Sesuponequedebeseralmenosun profesionaldeNivel3. EnMetodologasgilessedenentresnivelesdeexperiencia:Nivel1escapazdeseguirlosprocedimientos.Nivel2escapazdeapartarsedelosprocedimientosespeccosyencontrarotrosdistintosNivel3escapazdemanejarconuidez,mezclareinventarprocedimientos.ElDiseadorPrincipal tienerolesdecoordinador,arquitecto,mentoryprogramadormsexperto. DiseadorProgramador.Produce,juntoconelDiseadorPrincipal,losBorradoresdePantallas,elModeloComndeDominio,lasNotasyDiagramasdeDiseo,elCdigoFuente,elCdigode Migracin,lasPruebasyelSistemaEmpaquetado.UnprogramaenCCesdiseoyprograma susprogramadoressondiseadoresprogramadores.EnCCundiseadorquenoprogramenotiene cabida. ExpertoenNegocios.JuntoconelUsuarioExpertoproducelaListadeActoresObjetivosyel ArchivodeCasosdeUsoyRequerimientos.Debeconocerlasreglasypolticasdelnegocio. Coordinador.Conlaayudadelequipo,produceelMapadeProyecto,elPlandeEntrega,elEstado delProyecto,laListadeRiesgos,elPlanyEstadodeIteracinylaAgendadeVisualizacin. Verificador.ProduceelReportedeBugs.Puedeserunprogramadorentiempoparcial,ounequipo devariaspersonas. Escritor.ProduceelManualdeUsuario.ElEquipocomoGrupoesresponsabledeproducirla EstructurayConvencionesdelEquipoylosResultadosdelTallerdeReexin.