Metodología Crystal

Post on 04-Oct-2015

213 views 0 download

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.