Está en la página 1de 14

LasMetodologasdeDesarrollogilcomounaOportunidad

paralaIngenieradelSoftwareEducativo

TheMethodologiesofAgileDevelopmentlikeanOpportunity
fortheEngineeringofEducativeSoftware
AilinOrjuelaDuarte,MSc.,MauricioRojasC.,MSc.
GrupodeinvestigacinCICOM,UniversidaddePamplona,Colombia
aorjuela@unipamplona.edu.co,mrojas@unipamplona.edu.co

Recibidopararevisin3deAbrilde2008,Aceptado19deMayode2008,Versinnal24deMayode2008

Resu men L a in gen ier a d el soft wa r e ed u ca t ivo se vien e I.INTRODUCCIN


convir tiendoenunreadeestudioconaltosnivelesdeaplicacin
debido aquecadavezlospr ocesosde desar rollodesistemasde
softwar eeducativosellevanacaboempleandometodologasdela
E ste trabajo tiene como prospectiva dos objetivos, el
primero de ellos pretende brindar una descripcin del
marcotericodereferenciadelasmetodologasdedesarrollo
Ingenier adelsoftwar e.
Las aplicaciones de softwar e educativo desar r olladas en pocas gil presentando algunas como: XP, CRYSTAL, SCRUM.
pasadasenlagr anmayor adeloscasossur gandeesfuer zosde El segundo objetivo busca analizar algunas caractersticas
docentesconalgunosconocimientoseninfor mticaoensudefecto esencialesdeestasmetodologasparaadaptarlasalcontexto
deingenier osconalgunosinter esesenelsectoreducativo. delaingenieradelsoftwareeducativo.
Otrofactorimpor tanteaanalizaresquelasmetodologasofrecidas
porlaingenier adelsoftwareeducativosondemasiadopesadas, Enlacomunidaddelaingenieradelsoftware,seestviviendo
entonces debido a este ar gumento en el pr esente documento se con intensidad un debate abierto entre los partidarios de las
estudianlosenfoquestr adicionales,losenfoquesmoder nosylas metodologas tradicionales (referidas como metodologas
metodologas giles par a ofr ecer una pr opuesta metodolgica pesadas) y aquellos que apoyan las ideas emanadas del
menospesadapar alaingenier adelsoftwareeducativo. Maniestogil[1].

Palabrasclave: Ingenier adelSoftwar e,Metodologagil,Modelo Por un lado, para muchos equipos de desarrollo el uso de
Pedaggico,DiseoEducativo,DiseoComputacional. metodologastradicionaleslesresultamuylejanoasuformade
trabajoactualconsiderandolasdicultadesdesuintroduccin
Ab str act Edu cat iona l softwa r e en gin eer ing is b ecomin g a e inversin asociada en trminos de formacin y compra de
r esear cheldwithhighlevelsofapplicationduetothefactthat herramientas. Por otro, las caractersticas de los proyectos
thedevelopmentprocessesofeducationalcomputer softwareare paraloscualeslasmetodologasgileshansidoespecialmente
increasinglyapplyingsoftwar eengineer ingmethodologies. pensadasseajustanaunampliorangodeproyectosdedesarrollo
Mostpr eviouseducationalsoftwareapplicationsarosefromeither
desoftwareaquellosenloscualeslosequiposdedesarrolloson
the effor ts of teacher s with some knowledge of computing or
systemsengineer swithinter estsintheeducationalsector. pequeos,conplazosreducidos,requisitosvoltiles,basadosen
Anotherimpor tantissuewhichneedstobeanalyzedisthefactthat, nuevastecnologas.
inthepast,educationalsoftwar eengineer ingmethodologieswere Estas metodologas estn especialmente orientadas para
tooheavy.Duetothisar gument,inthiswor kbothtr aditionaland
proyectosquenecesitandeunasolucinalamedida,conuna
moder nmethodologiesaswellasfastandeffectivemethodologies
will b e st udied in or der to pu t for war d a m or e ma nagea ble
elevadasimplicacinsindejardeladoelaseguramientoenla
methodologicalpr oposalforeducationalsoftwar eengineer ing. calidaddelproducto.Lasmetodologasgilessecentranenel
factorhumanoyelproductosoftwareesdecir,ellasledanmayor
Keywords: Softwar eEngineer ing,FastMethodology,Pedagogical valoralindividuo,alacolaboracindelclienteyaldesarrollo
Model,EducationalDesign,ComputerDesign. incrementaldelsoftwareconiteracionesmuycortas.
En cuantoa losobjetivos, la investigacindocumentalse
orienthacialaidenticacindemetodologasdediseo,que
contienenlosmtodos,lasherramientasylosprocedimientos
especficos para la construccin de software. Despus de

RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663
160
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

esta fase se articulan las caractersticasde lasmetodologas Losintegrantesdelareuninresumieronlosprincipiossobre


gilesparaproponeralgunasorientacionesparaelprocesode losquesebasanlosmtodosalternativosencuatropostulados,
desarrollodesoftwareeducativo. loquehaquedadodenominadocomoManiestogil[5].
Elrestodelpresentedocumentoestorganizadocomosigue. El manifiesto gil est fundamentado en los siguientes
Enlaseccin2seintroducenlasprincipalescaractersticasde valores:
lasmetodologasgiles,recogidasenelManiestoysehace
Alindividuoylasinteraccionesdelequipodedesarrollo
unacomparacinconlastradicionales.Laseccin3secentra
sobre el proceso y las herramientas. Las personas son el
eneXtremeProgramming(XP),presentandosuscaractersticas
principal factor de xito de un proyecto software. Es ms
particulares, el proceso que se sigue y las prcticas que
importanteconstruirunbuenequipodetrabajoqueconstruirel
proponeysecitanotrasmetodologasgiles,enumerndose
entorno.Muchasvecessecometeelerrordeconstruirprimero
susprincipalescaractersticas.Laseccin4presentaalgunas
elentornoyesperarqueelequiposeadapteautomticamente.
caractersticasdelasmetodologasdedesarrollogilaplicadas
Esmejorcrearelequipoyquesteconguresupropioentorno
al proceso de desarrollo de software educativo. Finalmente
dedesarrolloenbaseasusnecesidades.
aparecenlasconclusionesyreferencias.
Desarrollar software que funciona ms que conseguir
unabuenadocumentacin.Lareglaaseguiresnoproducir
II.METODOLOGASDEDESARROLLOGIL documentosamenosqueseannecesariosdeformainmediata
En este segmento del artculo se presentan los aspectos paratomarundecisinimportante.Estosdocumentosdeben
ms relevantes de las metodologas de desarrollo gil, sercortosycentrarseenlofundamental.
entre losapartes que sedescribenestn los antecedentes, el
Lacolaboracinconelclientemsquelanegociacinde
maniesto gil, comparacin entre metodologas giles vs.
uncontrato.Seproponequeexistaunainteraccinconstante
Tradicionales.
entre elcliente y el equipo dedesarrollo.Esta colaboracin
A.Antecedentes entre ambos ser la que marque la marcha del proyecto y
aseguresuxito.
En febrero de 2001, tras una reunin celebrada en Utah
EEUU,naceeltrminogilaplicadoaldesarrollodesoftware. Responderaloscambiosmsqueseguirestrictamenteun
Suobjetivofueesbozarlosvaloresyprincipiosquedeberan plan.Lahabilidadderesponderaloscambiosquepuedansurgir
permitir a los equipos desarrollar software rpidamente y alolargodelproyecto(enlosrequisitos,enlatecnologa,en
respondiendoaloscambiosquepuedansurgiralolargodel elequipo)esotrofactorquedeterminaelxitoofracasodel
proyecto[3]. mismo.Porlotanto,laplanicacinnodebeserestrictasino
exibleyabierta[5].
Se pretenda ofrecer una alternativa a los procesos de
desarrollo de software tradicionales, caracterizados por ser Los valores anteriores inspiran los doce principios del
rgidosydirigidosporladocumentacinquesegeneraencada maniesto.Soncaractersticasquediferencianunprocesogil
unadelasactividades. deunotradicional.Losdosprimerosprincipiossongenerales
yresumengranpartedelespritugil.Elrestotienenquever
Tras esta reunin se cre TheAgile Alliance [8], una conelprocesoaseguiryconelequipodedesarrollo,encuanto
organizacin, sin nimo de lucro, dedicada a promover los metasalograryorganizacindelmismo.
conceptos relacionados con el desarrollo gil de software y
ayudaralasorganizacionesparaqueadoptendichosconceptos. Losprincipiosdelmaniestogilson:
ElpuntodepartidafueelManiestogil,undocumentoque 1. Laprioridadessatisfaceralclientemediantetempranas
resumelalosofagil[5]. ycontinuasentregasdesoftwarequeleaporteunvalor.
B.Maniestogil 2. Dar la bienvenida a los cambios. Se capturan los
Enmarzode2001diecisietecrticosdelosmodelosdemejora cambiosparaqueelclientetengaunaventajacompetitiva.
deldesarrollodesoftwarebasadosenprocesos,convocadospor 3. Entregarfrecuentementesoftwarequefuncionedesde
KentBeck,quienhabapublicadounpardeaosantesExtreme unpardesemanasaunpardemeses,conelmenorintervalo
ProgrammingExplained,libroenelqueexponaunanueva detiempoposibleentreentregas.
metodologadenominadaExtremeProgramming,sereunieron
enSalt LakeCitypara tratarsobretcnicasyprocesospara 4. La gente del negocio y los desarrolladores deben
desarrollarsoftware.EnlareuninseacueltrminoMtodos trabajarjuntosalolargodelproyecto.
gilesparadeniralosmtodosqueestabansurgiendocomo 5. Construirelproyectoentornoaindividuosmotivados.
alternativaalasmetodologasformales(CMMI,SPICE)alas Darleselentornoyelapoyoquenecesitanyconarenellos
que consideraban excesivamente pesadas y rgidas por su paraconseguirnalizareltrabajo.
carcter normativo y fuerte dependencia de planicaciones
6. Eldilogocaraacaraeselmtodomsecientey
detalladaspreviasaldesarrollo.
efectivoparacomunicarinformacindentrodeunequipode
161
LasMetodologasdeDesarrollogilcomounaOportunidadparalaIngenieradelSoftwareEducativoOrjuelayRojas

desarrollo. 12. Enintervalosregulares,elequiporeexionarespecto


a cmo llegar a ser ms efectivo, y segn esto ajusta su
7. El softwarequefunciona eslamedidaprincipalde
comportamiento[5].
progreso.
8. Los procesos giles promueven un desarrollo C. Compa r a cin entre metodologa s giles y
sostenible. metodologastradicionales
9. Laatencincontinuaalacalidadtcnicayalbuen Enlatabla1semuestranlasprincipalesdiferenciasdelas
diseomejoralaagilidad. metodologas giles con respecto a las tradicionales. Estas
diferencias hacen referencia de igual manera a aspectos
10. Lasimplicidadesesencial. organizacionalesyalprocesodedesarrollo[5].
11. Lasmejoresarquitecturas,requisitosydiseossurgen
delosequiposorganizadosporsmismos.

Tabla1.Comparacindelasmetodologastradicionalesylasgiles

Deacuerdoalatabla1sepuedeobservarquelasmetodologas Control: Por su capacidad de adaptacin el proceso se


dedesarrollogilsonmsorientadasaprocesosdedesarrollo hacemenoscontroladoqueenlasmetodologastradicionales
desoftwaredepocassemanasdedesarrolloyconbajosniveles que ejercen mayor control en el proceso por su nivel de
deformalizacinenladocumentacinrequerida. formalizacin.
Acontinuacinsedescribenconmayorniveldeespecicacin Documentacin:Enlasmetodologasgilesnosehacenfasis
lasprincipalessemejanzasydiferenciasdelasmetodologas en la documentacin ni en los artefactos adiferencia de las
gilesylasmetodologaspesadas: metodologaspesadas.
Prcticasdedesarrollo:Enlasmetodologasdedesarrollo Equipo de trabajo: En las metodologas giles existen
gilseprocurarealizarlosprocesosdesoftwaredeacuerdo bajonmerodeparticipantesyroles,porelcontrarioenlas
a las prcticas que le han dado resultados al grupo. En las metodologaspesadassesugierenlosrolesqueproporcionan
metodologaspesadassedesarrolladeacuerdoalasnormas lasnormas.
sugeridasporlosestndaresdedesarrollo.
Enconclusindeacuerdoalatablasedaprioridad:alos
Adaptacin al cambio: En las metodologas giles por la individuos y las interacciones ms que a los procesos y a
mismacapacidaddereaccinsonmsadaptablesaloscambios, las herramientas, a los sistemas funcionando antes que a la
porelcontrarioenlasmetodologaspesadasporelnivelde documentacin detallada, a la colaboracin con el cliente
formalidadenlafasederequerimientossonmsresistentes antes que la negociacin de contratos, a la respuesta al
alcambio. cambioantesqueseguirelplan.
162
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

III.PRINCIPALESMETODOLOGASGILES buenclimadetrabajo.XPsebasaenrealimentacincontinua
Lasmetodologasgilesresuelvenlosproblemassurgidos, entreelclienteyelequipodedesarrollo,comunicacinuida
posteriormente, a la masicacin del uso del computador entre todos los participantes, simplicidad en las soluciones
personal,dadoquelasexpectativasynecesidadesporpartede implementadasycorajeparaenfrentarloscambios.XPsedene
losusuariossehicieronmsurgentesyfrecuentes.Fueascomo comoespecialmenteadecuadaparaproyectos conrequisitos
acomienzodelos90surgieronpropuestasmetodolgicaspara imprecisosymuycambiantes[2].
lograrresultadosmsrpidoseneldesarrollodesoftwaresin Car acter sticas
disminuirsucalidad.
Acontinuacinsedescribenlascaractersticasesencialesde
Enestesegmentodelartculosedescribenlascaractersticas XPorganizadasenlosapartadossiguientes:historiasdeusuario,
esencialesdelasmetodologasgilesmsutilizadascomoson roles,procesoyprcticas.
XP,CRYSTALySCRUM.
LasHistor iasdeUsuar io
Corresponden a la tcnica utilizada para especicar los
Antecedentes requisitosdelsoftware.Setratadeformatosenloscualesel
En pocas anteriores en las cuales slo haba pantallas clientedescribebrevementelascaractersticasqueelsistema
de texto, no haba entornos de ventanas, las aplicaciones debe poseer, sean requisitos funcionales o no funcionales.
eranmssencillasquelasactuales.Erasucienteunoodos El tratamiento de las historias de usuario es muy dinmico
programadores,quedeacuerdoasusconocimientosyenun y exible. Cada historia de usuario es lo sucientemente
plazorazonabledetiempoerancapacesdehacerprogramas comprensibleydelimitadaparaquelosprogramadorespuedan
tiles.Elprogramadoreraunaespeciedemagoquehacasu implementarlaenunassemanas[2].
aplicacinyslolsabacmofuncionaba.Siacaso,despus Aefectosdeplanicacin,lashistoriaspuedenserdeuna
dehacerelprogramahacaunujogramadelosantiguos,no atressemanasdetiempo deprogramacin(parano superar
habaUML,orientacinaobjetosnicosasporelestilo. el tamao de una iteracin). Las historias de usuario son
Con el paso de los aos las aplicaciones fueron cada vez descompuestas en tareas de programacin (Task Card) y
msexigentes,loscomputadoresdisponandemsmemoriay asignadasalosprogramadoresparaserimplementadasdurante
aparecieronlosentornosdeventanas. unaiteracin[2].
Lo anterior origin que los programas aumentaran su Una historia de usuario en forma general puede contener
tamao y se complicaran enormemente, requiriendo varios los siguientes tems, los cuales pueden variar de acuerdo al
desarrolladoresytiemposmslargos.Todoestollevconsigo equipo de desarrollo.Estos aspectos puedenser:fecha, tipo
lanecesidaddemsorganizacinydocumentacin.Eneste de actividad (nueva, correccin, mejora), prueba funcional,
contexto,aparecieronlasmetodologasdedesarrollopesadas nmerodehistoria,prioridadtcnicaydelcliente,referencia
(lasquesebasanenescribirmuchadocumentacin).Antesde aotrahistoriaprevia,riesgo,estimacintcnica,descripcin,
hacerunprograma,fuenecesarioescribirquesequerahacer, notasyunalistadeseguimientoconlafecha,estado,cosaspor
deformaqueseasegurabaunacuerdoentreelclienteylos terminarycomentarios.
desarrolladoresacercadeloquesequerahacer. RolesXP
Luego se escriba lo qu se iba a hacer, para que los LapropuestaoriginaldeBeckincluyelossiguientesroles
programadores trabajaran con un objetivo comn y [2]:
organizado.
Programador.Elprogramadorescribelaspruebasunitarias
Dealgunaforma,todaestaorganizacinydocumentacin yproduceelcdigodelsistema.
quitpartedelencantodelaprogramacin.Losprogramadores,
envezdededicarsealoquesesuponequelesgusta:programar Cliente. Escribe las historias de usuario y las pruebas
deban dedicar gran parte de su tiempo a hacer y leer funcionalesparavalidarsuimplementacin.Adems,asigna
documentos,reuniones,entreotros. la prioridad a las historias de usuario y decide cules se
implementanencadaiteracincentrndoseenaportarmayor
Tratando un poco de recuperar los viejos tiempos, en el valoralnegocio.
quehabamenospapeleo,lascosaseranmssencillasylos
programadores hacan lo que les gustaba, naci una nueva Encar gadodepr uebas(Tester ).Ayudaalclienteaescribir
metodologadedesarrollo,laprogramacinextrema[2]. las pruebas funcionales. Ejecuta las pruebas regularmente,
difunde los resultados en el equipo y es responsable de las
Denicin herramientasdesoporteparapruebas.
XP es una metodologa gil centrada en potenciar las Encar gado de seguimiento (Tr acker ). Proporciona
relacionesinterpersonalescomoclaveparaelxitoendesarrollo realimentacinalequipo.Vericaelgradodeaciertoentrelas
desoftware,promoviendoeltrabajoenequipo,preocupndose estimacionesrealizadasyeltiemporealdedicado,paramejorar
por el aprendizaje de los programadores, y propiciando un futurasestimaciones.Realizaelseguimientodelprogresode
163
LasMetodologasdeDesarrollogilcomounaOportunidadparalaIngenieradelSoftwareEducativoOrjuelayRojas

cadaiteracin. 2. El programador estima el esfuerzo necesario para su


implementacin.
Entrenador(Coach).Esresponsabledelprocesoglobal.
Debe proveer guas al equipo de forma que se apliquen las 3. El cliente seleccionaqu construir, de acuerdo con sus
prcticasXPysesigaelprocesocorrectamente. prioridadesylasrestriccionesdetiempo.
Consultor . Es un miembro externo del equipo con un 4.Elprogramadorconstruyeesevalordenegocio.
conocimiento especfico en algn tema necesario para el
5.Vuelvealpaso1.
proyecto.
Entodaslasiteracionesdeesteciclotantoelclientecomoel
G est or (Big b oss). Es el vnculo entre clientes y
programadoraprenden.Nosedebepresionaralprogramadora
programadores,ayudaaqueelequipotrabajeefectivamente
realizarmstrabajoqueelestimado,yaqueseperdercalidad
creando las condiciones adecuadas. Su labor esencial es de
enelsoftwareonosecumplirnlosplazos.
coordinacin.
Delamismaformaelclientetienelaobligacindemanejarel
ProcesoXP
mbitodeentregadelproducto,paraasegurarsequeelsistema
Elciclodedesarrolloconsisteenlossiguientespasos: tengaelmayorvalordenegocioposibleconcadaiteracin.
1.Elclientedeneelvalordenegocioaimplementar.

Figur a1.ProcesoXP

El ciclo de vida ideal de XP consiste de seis fases [2]: la funcionalidad del sistema. Esta versin ya constituye un
Exploracin,PlanicacindelaEntrega(Release),Iteraciones, resultado de valor para el negocio. Una entrega no debera
Produccin,MantenimientoyMuertedelProyecto. tardarmsde3meses.
Pr cticasXP Metfor a.Elsistemaesdenidomedianteunametfora
o un conjunto de metforas compartidas por el cliente y el
LaprincipalsuposicinqueserealizaenXPeslaposibilidad
equipodedesarrollo.Unametforaesunahistoriacompartida
dedisminuirlamticacurvaexponencialdelcostodelcambioa
quedescribecmodeberafuncionarelsistema(conjuntode
lolargodelproyecto,losucienteparaqueeldiseoevolutivo
nombres que acten como vocabulario para hablar sobre el
funcione.Estoseconsiguegraciasalastecnologasdisponibles
dominiodelproblema,ayudandoalanomenclaturadeclases
para ayudar en el desarrollo de software y a la aplicacin
ymtodosdelsistema).
disciplinadadelassiguientesprcticas[2]:
Diseo simple. Se debe disear la solucin ms simple
El juego de la planicacin. Hay una comunicacin
que pueda funcionar y ser implementada en un momento
frecuente entre el cliente y los programadores. El equipo
determinadodelproyecto.
tcnicorealizaunaestimacindelesfuerzorequeridoparala
implementacindelashistoriasdeusuarioylosclientesdeciden Pr uebas. La produccin de cdigo est dirigida por las
sobreelmbitoytiempodelasentregasydecadaiteracin. pruebasunitarias.stassonestablecidasporelclienteantesde
escribirseelcdigoysonejecutadasconstantementeantecada
Entregaspequeas.Producirrpidamenteversionesdel
modicacindelsistema.
sistema que sean operativas, aunque no cuenten con toda
164
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

Refactorizacin(Refactor ing).Esunaactividadconstante mtodos formales ni herramientas CASE y que haban


de reestructuracin del cdigo con el objetivo de remover estimuladolacomunicacinylostest.
duplicacin de cdigo, mejorar su legibilidad, simplicarlo
Losequipos con problemas no entendan susfallas osi
yhacerlomsexibleparafacilitarlosposteriorescambios.
habancumplidoconlosmtodosformales.
Se mejora la estructura interna del cdigo sin alterar su
comportamientoexterno[13]. Laconclusin:Menosnfasisenladocumentacinexhaustiva
y ms en versiones que corran y puedan ser probadas. Lo
Progr amacinenparejas.Todalaproduccindecdigo
primero son promesas, lo segundo hechos. Cada proyecto
deberealizarsecontrabajoenparejasdeprogramadores.Esto
necesitasuspropiosmtodos.
conlleva ventajas implcitas (menor tasa de errores, mejor
diseo,mayorsatisfaccindelosprogramadores). Alistair Cockburn en lugar de partir solamente de su
experienciapersonalparaconstruirunateoradecmodeben
Propiedad colectiva del cdigo. Cualquier programador
hacerselascosas,complementasuexperienciadirectaconla
puede cambiar cualquier parte del cdigo en cualquier
bsquedaactivadeproyectosparavercmotrabajan.
momento.
lhaexploradoafondolosmtodosgiles,haciendonfasis
Integr acincontinua.Cadapiezadecdigoesintegrada
enlafamiliademetodologasCrystal.Esunafamiliaporque
enelsistemaunavezqueestlista.As,elsistemapuedellegar
creequelosdiferentestiposdeproyectosrequierendiferentes
aserintegradoyconstruidovariasvecesenunmismoda.
tiposdemetodologas.lmiraestavariacinalolargodedos
40hor asporsemana.Sedebetrabajarunmximode40 ejes:elnmerodepersonasenelproyecto,ylasconsecuencias
horasporsemana.Nosetrabajanhorasextrasendossemanas deloserrores.Cadametodologaencajaenunapartediferente,
seguidas. Si esto ocurre, probablemente est ocurriendo un demodoqueparaunproyectode40personasquepuedeperder
problemaquedebe corregirse.Eltrabajo extradesmotiva al dinerodiscrecionalmentetieneunametodologadiferenteala
equipo. deunproyectovitaldeseispersonas[8].
Cliente insitu. El cliente tiene que estar presente y
disponibletodoeltiempoparaelequipo.steesunodelos
principalesfactoresdexitodelproyectoXP.Elclienteconduce
constantementeeltrabajohacialoqueaportarmayorvalor
de negocio y losprogramadores pueden resolver de manera
inmediatacualquierdudaasociada.Lacomunicacinorales
msefectivaquelaescrita.
Estndaresdeprogramacin.XPenfatizaquelacomunicacin
de los programadoreses atravs del cdigo, con lo cual es
indispensablequesesiganciertosesquemasdeprogramacin
paramantenerelcdigolegible.
El mayor benecio de las prcticas se consigue con su
aplicacinconjuntayequilibradapuestoqueseapoyanunas
enotras.LamayoradelasprcticaspropuestasporXPnoson
novedosassinoqueenalgunaformayahabansidopropuestas
eningenieradelsoftwareeinclusodemostradosuvalorenla Figur a2.ClasicacindelasdiferentesmetodologasCristal[8]
prctica.ElmritodeXPesintegrarlasdeunaformaefectiva
y complementarlas con otras ideas desde la perspectiva del
negocio,losvaloreshumanosyeltrabajoenequipo. La familia de metodologas Crystal comparten con la XP
B.Crystal unaorientacinhumana,peroestacentralizacinenlagente
se hace de una manera diferente.Alistair considera que las
En este segmento del artculo se describen los aspectos personasencuentrandifcilseguirunprocesodisciplinado,as
principalesdelametodologaCrystal.Enprimerainstanciase quemsqueseguirlaaltadisciplinadelaXP,Alistairexplora
especicanlosantecedentesdelametodologa,continuando lametodologamenosdisciplinadaqueaunpodratenerxito,
condenicionesqueayudanaestructurarlafundamentacin intercambiandoconscientementeproductividadporfacilidadde
tericayseterminacon lascaractersticas esencialesdelos ejecucin.lconsideraqueaunqueCrystalesmenosproductivo
diferentestiposdeCrystal. quelaXP,mspersonasserncapacesdeseguirlo.
Antecedentes Alistairtambinponemuchopesoenlasrevisionesalnal
Enlosiniciosde1990,enunestudiorealizadoenIBMse de la iteracin, animando al proceso a aplicar tcnicas de
llegalossiguientesacuerdos(Cockburn,2001): mejoramientocontinuoenformaautomtica.Suasercines
queeldesarrolloiterativoestparaencontrarlosproblemas
Losequiposexitososenfatizabanquenohabanseguido
165
LasMetodologasdeDesarrollogilcomounaOportunidadparalaIngenieradelSoftwareEducativoOrjuelayRojas

temprano, y entonces permitir corregirlos. Esto pone ms 3.Mejorareexiva.Tomarseunpequeotiempo(unaspocas


nfasis en la gente supervisando su proceso y anndolo horas cada o una vez al mes) para pensar bien qu se est
conformedesarrollan[8]. haciendo,cotejarnotas,reexionar,discutir.
Deniciones 4.Seguridadpersonal.Hablarconloscompaeroscuando
algomolestadentrodelgrupo.
Setratadeunconjuntodemetodologasparaeldesarrollode
softwarecaracterizadasporestarcentradasenlaspersonasque 5.Foco.Saberloqueseesthaciendoytenerlatranquilidad
componenelequipoylareduccinalmximodelnmerode yeltiempoparahacerlo.
artefactosproducidos.Eldesarrollodesoftwareseconsidera
6.Fcilaccesoausuariosexpertos.Teneralgunacomunicacin
unjuegocooperativodeinvencinycomunicacin,limitado
conexpertosdesarrolladores.
porlosrecursosautilizar.Elequipodedesarrolloesunfactor
clave,porloquesedebeninvertiresfuerzosenmejorarsus CrystalClearnorequiereningunaestrategiaotcnica,pero
habilidades y destrezas, as como tener polticas de trabajo siempreestiltenerunascuantasamanoparaempezar.Las
en equipo denidas. Estas polticas dependern del tamao estrategiascomunesaotrasMetodologasgiles,son:
delequipo,establecindoseunaclasicacinporcolores,por 1.Exploracinde360.Vericarotomarunamuestradel
ejemploCrystalClear(3a8miembros)yCrystalOrange(25 valordenegociosdelproyecto,losrequerimientos,elmodelo
a50miembros)[9]. dedominio,latecnologa,elplandelproyectoyelproceso.
Car acter sticas 2. Victoria temprana. Es mejor buscar pequeos triunfos
Laspersonas,comodispositivosactivos,tienen modosde inicialesqueaspiraraunagranvictoriatarda.
xito y modos de fallo. Los siguientes son los principales 3. Esqueleto ambulante. Es una transaccin que debe ser
[10]:
simpleperocompleta.
Cuandoelnmerodepersonasaumenta,tambinaumenta
lanecesidaddecoordinar. 4. Rearquitectura incremental. Se ha demostrado que no
es conveniente interrumpir el desarrollo para corregir la
Cuandoelpotencialdedaosseincrementa,latolerancia arquitectura. Ms bien la arquitectura debe evolucionar en
avariacionesseveafectada. etapas,manteniendoelsistemaenejecucinmientrasellase
Lasensibilidaddeltiempoenquesedebeestarenelmercado modica.
vara:avecesestetiempodebeacortarsealmximoysetoleran 5. Radiadores de informacin. Es una lmina pegada en
defectos,otrasseenfatizalaauditoria,conabilidad,proteccin algnlugarqueelequipopuedaobservarmientrastrabajao
legal,entreotros. camina.Tienequesercomprensibleparaelobservadorcasual,
Las personas se comunican mejor cara a cara, con la entendidadeunvistazoyrenovadaperidicamenteparaque
preguntaylarespuestaenelmismoespaciodetiempo. valgalapenavisitarla.

Elfactormssignicativoescomunicacin. Encuantoalastcnicas,sefavorecen:

Los mtodos se llaman Crystal evocando las facetas de 1.Entrevistasdeproyectos.Sesueleentrevistaramsdeun


una gema: cada faceta es otra versin del proceso, y todas responsableparatenervisionesmsricas.
sesitanentornoaunncleoidntico.Haycuatrovariantes 2. Talleres de reexin. El equipo debe detenerse treinta
de metodologas: Crystal Clear para equipos de 8 o menos minutosounahoraparareexionarsobresusconvenciones
integrantesAmarillo, para 8 a 20 Naranja, para 20 a 50 detrabajo,discutirinconvenientesymejorasyplanearparael
Rojo,para50a100.Lamsexhaustivamentedocumentadaes perodosiguiente.
CrystalClear(CC),yeslaquesehadedescribiracontinuacin.
CCpuedeserusadoenproyectospequeos.Elotromtodo 3. Planeamiento Blitz. Una tcnica puede ser el Juego de
elaboradoenprofundidadeselNaranja,aptoparaproyectos PlaneamientodeXP.Enestejuego,seponentarjetasindexadas
de duracin estimadaen 2aos.Losotros dos anse estn en una mesa, con una historia de usuario o funcin visible
desarrollando.Comocasitodoslosotrosmtodos,CCconsiste en cada una. El grupo nge que no hay dependencias entre
envalores,tcnicasyprocesos.Lossietevaloresopropiedades tarjetas,ylasalineaensecuenciasdedesarrollopreferidas.Los
deCCson: programadoresescribenencadatarjetaeltiempoestimadopara
desarrollarcadafuncin.Elpatrocinadordelusuarioescribe
1. Entrega frecuente. Consiste en entregar software a los la secuencia de prioridades, teniendo en cuenta los tiempos
clientesconfrecuencia,nosolamenteencompilarelcdigo. referidosyelvalordenegociodecadafuncin.Lastarjetasse
Lafrecuenciadependerdelproyecto,peropuedeserdiaria, agrupanenperodosdetressemanasllamadositeracionesquese
semanalomensual. agrupanenentregas,usualmentenomslargasdetresmeses.
2.Comunicacinosmtica.Todosjuntosenelmismocuarto. 4. Estimacin Delphi con estimaciones de pericia. En el
Una variante especial es disponer en la sala de un experto procesoDelphiserenenlosexpertosresponsablesyproceden
diseadorseniorydiscutirrespectodeltemaquesetrate. comoenunremateparaproponereltamaodelsistema,su
166
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

tiempodeejecucin,lafechadelasentregassegndependencias SesuponequedebeseralmenosunprofesionaldeNivel3.
tcnicasydenegociosyparaequilibrarlasentregasenpaquetes (EnMetodologasgilessedenentresnivelesdeexperiencia:
deigualtamao. Nivel 1 es capaz de seguir los procedimientos Nivel 2
es capaz de apartarse de los procedimientos especcos y
5.Encuentrosdiariosdepie.Lapalabraclaveesbrevedad,
encontrar otros distintos Nivel 3 es capaz de manejar con
cincoa diezminutos comomximo. No se tratadediscutir
uidez, mezclar e inventar procedimientos). El Diseador
problemas,sinodeidenticarlos.
Principal tiene roles de coordinador, arquitecto, mentor y
6. Miniaturade procesos.Unaforma depresentarCrystal programadormsexperto.
Clearpuedeconsumirentre90minutosyunda.Laideaesque
4.DiseadorProgramador.Produce,juntoconelDiseador
lagentepuedadegustarlanuevametodologa.
Principal,losBorradoresdePantallas,elModeloComnde
7. Grcos de quemado. Sunombre vienedelos grcos Dominio,lasNotasyDiagramasdeDiseo,elCdigoFuente,
dequemadodecalorasdelosregmenesdietticosseusan elCdigodeMigracin,lasPruebasyelSistemaEmpaquetado.
tambinenScrum.Setratadeunatcnicadegracacinpara UnprogramaenCCesdiseoyprogramasusprogramadores
descubrirdemorasyproblemastempranamenteenelproceso, sondiseadoresprogramadores.EnCCundiseadorqueno
evitando que se descubra demasiado tarde que todava no programenotienecabida.
se sabe cunto falta. Para ello se hace una estimacin del
5. Experto en Negocios. Junto con el Usuario Experto
tiempo faltante para programar lo que resta al ritmo actual,
producelaListadeActoresObjetivosyelArchivodeCasos
lo cual sirve para tener dominio de proyectos en los cuales
deUsoyRequerimientos.Debeconocerlasreglasypolticas
las prioridadescambianbruscamente y con frecuencia. Esta
delnegocio.
tcnicaseasociaconalgunosrecursosingeniosos,comolaLista
Tmpana,llamadaasporquesereerealagregadodetems 6.Coordinador.Conlaayudadelequipo,produceelMapa
conaltaprioridadeneltopedelaslistasdetrabajospendientes, de Proyecto, el Plan de Entrega, el Estado del Proyecto, la
esperandoquelosdemselementossehundanbajolalneade ListadeRiesgos,elPlanyEstadodeIteracinylaAgendade
otacinloselementosqueestnsobrelalneaseentregarnen Visualizacin.
laiteracinsiguiente,losqueestnpordebajoenlasrestantes.
7. Verificador. Produce el Reporte de Bugs. Puede ser
EnotrasMetodologasgileslaListaTmpananoesotracosa
un programador en tiempo parcial, o un equipo de varias
queungrcoderetraso.Losgrcosdequemadoilustranla
personas.
velocidaddelproceso,analizandoladiferenciaentrelaslneas
proyectadasyefectivasdecadaentrega. 8.Escritor.ProduceelManualdeUsuario.ElEquipocomo
GrupoesresponsabledeproducirlaEstructurayConvenciones
8. Programacin lado a lado. Mucha gente siente que la
delEquipoylosResultadosdelTallerdeReexin[10].
programacinenparesdeXPinvolucraunapresinexcesiva
la versindeCrystal Clear establece proximidad,pero cada C. SCRUM
quienseenfocaasutrabajoasignado,prestandounojoalo Define un marco para la gestin de proyectos, que se
quehacesucompaero,quientienesupropiamquina.Esta ha utilizado con xito durante los ltimos 10 aos. Est
esunaampliacindelaComunicacinOsmticaalcontexto especialmenteindicadaparaproyectosconunrpidocambiode
delaprogramacin[10]. requisitos.Susprincipalescaractersticassepuedenresumiren
Hay ocho roles nominados en CC: Patrocinador, Usuario dos.Eldesarrollodesoftwareserealizamedianteiteraciones,
Experto, Diseador Principal, DiseadorProgramador, denominadasSprint,conunaduracinde30das.Elresultado
Experto enNegocios,Coordinador,Vericador,Escritor. En decadaSprintesunincrementoejecutablequesemuestraal
Crystal Naranjaseagreganaunms roles:DiseadordeIU cliente.Lasegundacaractersticaimportantesonlasreuniones
(Interfaz deUsuario), DiseadordeBasede Datos, Experto a lo largo del proyecto,entre ellas destacalareunin diaria
enUso,FacilitadorTcnico,Analista/DiseadordeNegocios, de 15 minutos del equipodedesarrollo para coordinacin e
Arquitecto, Mentor de Diseo, Punto de Reutilizacin. integracin[10].
A continuacin se describen los artefactos de los que son
Antecedentes
responsableslosrolesdeCC:
Estametodologatomasunombredeunaposicinentrelazada
1. Patrocinador. Produce la Declaracin de Misin con encrculoquetomanlosintegrantesdelosequiposderugbypara
PrioridadesdeCompromiso(Tradeoff).Consiguelosrecursos tomardecisionessobreeljuego.Susprincipiosfundamentales
ydenelatotalidaddelproyecto. fuerondesarrolladosenprocesosdereingenieraporGoldratt,
2.UsuarioExperto.JuntoconelExpertoenNegociosproduce TakeuchiyNonakaenladcadade1980yaplicadosalproceso
laListadeActoresObjetivosyelArchivodeCasosdeUsoy dedesarrollodesoftwareporJeffSutherlanden1993,siendo
Requerimientos.Debefamiliarizarseconeluso delsistema, formalizado con la colaboracin de Ken Schwaber en una
sugeriratajosdeteclado,modosdeoperacin,informacina presentacin en OOSPLA 96. Los principios de la misma
visualizarsimultneamente,navegacin. han evolucionado con las contribuciones de varios autores
fundamentalmenteCohn,BeedleySchwaber[10].
3.DiseadorPrincipal.ProducelaDescripcinArquitectnica.
167
LasMetodologasdeDesarrollogilcomounaOportunidadparalaIngenieradelSoftwareEducativoOrjuelayRojas

El Scrum se ha desarrollado teniendo como principios paraplanicarunaentregadelproductoymanejarlasvariables


fundamentales: enelprogresodelproyecto.Estopermitelaorganizacinpara
cambiar el proyecto y las entregas en cualquier punto del
ElprincipiodeincertidumbredeZivenlaingeniera
desarrollo,entregandolaversinmsapropiada.
delsoftware:laincertidumbreesinherenteeinevitableenel
procesodedesarrollodeproductosdesoftware[16]. LametodologaScrumliberaalosdesarrolladoresainventar
las ms ingeniosas soluciones durante elproyecto, mientras
PrincipioderequisitosindenidosdeHumphrey:para
aprendenyelambientecambia.Losequiposdedesarrolladores
un nuevo sistema de software, los requerimientos no sern
(idealmentealrededorde7miembros)puedenintercambiarlos
totalmenteconocidoshastaque el usuarionolohayausado
conocimientosacercadelosprocesosdedesarrollo,siendoesto
[12].
unamagnicaoportunidaddeentrenamientoenelambiente.
EnScruminicialmenteplaneanelcontextoyunestimado
Fases
ampliodelaentrega. Despusdesarrollan elestimadode la
entrega basndose en desarrollo del ambiente del proyecto. LasdiferentesfasesdelScrumconsistenen:
ElprocesodeciclodevidadeScrumreconocequeelproceso
Prejuego
de desarrollo fundamental est completamente indenido y
usamecanismosdecontrolparaperfeccionarlaexibilidad, Planicacin: denicin de una nueva entrega basndose
manipularloimpredecibleyelcontroldelriesgo[15]. en un Backlog conocido junto a un costo y cronograma
estimados.Siunnuevosistemaempiezaadesarrollarse,esta
Car acter sticasdelproceso
faseconsisteenconceptualizacinyanlisis.
LascaractersticasesencialesdelprocesodeScrumson:
Arquitectura: Disea cmo los artculos del Backlog son
Laprimerayltimafase(planicacinyclausura)consisten implementados.Estafaseincluyelacreacinmodicacin
en procesos denidos, donde todos los procesos, entradas y delaarquitecturadelsistemayeldiseodealtonivel.
salidasestnbiendenidas.Elconocimientodecmohacer
Juego
estosprocesosesexplcitoysetratadehacerunrepositoriode
todaslasactividadesarealizar(BacklogSystem). DesarrollodelosSprints:desarrollodeunanuevafuncionalidad
enconstantemiraalasvariablestiempo,requerimientoscalidad,
SedesarrollaniteracionesmensualesllamadasSprint.El
costoycompetencia.Lainteraccinconestasvariablesdeneel
equipodedesarrollodecidequefuncionalidadincluironoen
naldeestafase.SonmltipleslosSprintsociclosusadospara
cadaiteracinestimndoseeltiemponecesarioparaterminar
desarrollarelsistema.DentrodelSprintlaretroalimentacinse
lastareas.LafasedelSprintesunprocesoemprico.Muchos
obtieneconlasreunionesdiarias(ScrumMeetings)yelcontrol
de losprocesosen estafasenoestnidenticadoso noson
delacurvadeprogreso.
controlados.
Postjuego
LosSprintssonnolinealesyexibles.Puedenserusados
procesosdeconocimientoexplcito.Cuandonoexistenestos Clausura: preparacin para la entrega, incluyendo la
conocimientos explcitos dentro del equipo, los errores y documentacinnal,pruebayentrega.
pruebasseusanparacrearprocesosdeconocimiento.
DentrodelosSprintsserealizanreunionesdiariasde15 IV.ORIENTACIONESPARALAINGENIERADESOFTWARE
minutos(ScrumMeetings)enloscualescadadesarrollador EDUCATIVOAPARTIRDEALGUNASCARACTERSTICASDE
darepuestaatrespreguntas: LASMETODOLOGASDEDESARROLLOGIL

1. Quhizodesdelaltimareunin?. Estaseccintienecomoobjetivoarticulardiferentestpicos
delaingenieradelsoftwarecomosonelenfoqueclsico,los
2. Qudicultadesconcretastieneeneldesarrollode enfoquesmodernosylasmetodologasdedesarrollogilpara
latarea? proponeralgunasorientacionesparaelprocesodedesarrollo
3. Quvaahacerhastalaprximareunindiaria? desoftwareeducativo.Paracumplirconelobjetivoseplantean
una serie de fases o etapas por las cuales debe transitar el
Elproyectoesabiertohastalafasedeclausura.Laentrega procesodedesarrollodesoftwareeducativo,entrelascuales
puedeser replanicadaen cualquieradelas fasesanteriores proponemos:
mantenindose abierto a la complejidad del ambiente, la
competencia,tiempo,calidadypresionesnancieras,durante 1.Planeacin
eldesarrollodedichasfases. 2.Obtencinderequerimientos
Laentregadelproyectoescalculadasobrelainuenciadel 3.Anlisis
ambiente.
4.Diseo
LametodologaScrumestdiseadaparaserexibledurante
eldesarrollodelossistemas.Proveedemecanismosdecontrol 5.Implementacin
168
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

6.Pruebas especicarlosnivelesdearticulacinentrelosdiferentespilares
comosemuestraenlagura7:
7.Evaluacin
Planeacin
Durantelaplaneacinseproponelaconformacindelequipo
detrabajoyelestablecimientodelaspolticasdetrabajodel
proyecto, estas polticas deben estar enmarcadas en su gran
porcentajealfortalecimientodelosprocesosdeenseanzay
aprendizajeyalaincorporacindelasnuevastecnologasen
losambienteseducativos.Esdevitalimportanciaestablecer
polticasencuantoaltrabajodelequipocomoson:elnfasisen
lacomunicacindelequipo,elnfasisenlaincorporacincasi
permanentedeldocentey/oestudianteenelequipo,elnfasis
eneldesarrolloincrementalatravsdeiteracionescortas.Es
deespecialimportanciaelfactordecolaboracinconelcliente
queenestecasoserialainstitucineducativa,eldocentey/o
elestudiante.Paralaconformacindelequipodetrabajose Figur a3.Pilaresconceptualesfaseplaneacin.
proponenlossiguientesperles:
Entre los aspectos educativos se deben contemplar tems
Ungerentedeproyecto:Eselencargadodeestablecer, como el modelo pedaggico que debe soportar el software
operacionalizarycontrolarlaspolticasdelproyecto. educativoarticuladoconelusodelasnuevastecnologas.Enla
especicacindeestepilarconceptualesdonderadicalamayor
Unanalista:Eslapersonaencargadadeconstruirel
diferenciaconunametodologautilizadaparaeldesarrollode
modelodeanlisis(funcional,datosydinmico)delsistema
unsoftwaretradicional.
desoftware.
Deigualforma,enestesegmentosedebenespecicarlas
Unexpertoenrequerimientos:Eslapersonaencargada
estrategiasdidcticasalascualesdeberesponderelsoftware
deidenticarlasfuncionalidadesquenecesitaelclienteenel
educativo.
sistema.
Entre los aspectos tecnolgicos se deben describir los
Undiseador:Eslapersonaencargadadeconstruir
componentes de hardware, software y comunicaciones que
laarquitecturadelsistemajuntoconsusrespectivasmaquetas
soportanlaimplementacindelsoftwareeducativo.
yrutasdenavegacin.
Entre los aspectos conceptuales se deben especicar los
UnexpertoenInformticaeducativa:Eslapersona
contenidosquesepretendentransmitiratravsdelsoftware
encargadadeemitirconceptosrelacionadosconlosmodelos
educativo.
pedaggicos apropiados para la construccin de software
educativo. Entrelosaspectosmetodolgicossedebendescribirtodas
aquellas actividades y estrategias que deben acompaar
Un desarrollador o varios dependiendo del tamao
el uso del software educativo en el proceso de enseanza
delproyecto:Sonlaspersonasencargadasdeimplementarlas
aprendizaje.
funcionalidadesdelsistema.
Losaspectosorganizacionalesdebendetallartodasaquellas
Elcliente(docenteoestudiante):Sonlaspersonasque
actividades relacionadas con la gestin que garanticen el
vanautilizaryprobarelsistema.
correctoprocesodedesarrolloeimplementacindelsoftware
Entre la denicin de las polticas se puede empezar por educativo.
denirlospilaresconceptualesfundamentalessobreloscuales
Obtencinderequerimientos
se deben construir los procesos de desarrollo de software
educativo.Amaneradepropuestasesugierenlossiguientes Un requerimiento es una caracterstica que debe tener el
pilares: sistema o una restriccin que debe satisfacer para que sea
aceptado por el cliente. En esta fase nos enfocamos en la
Aspectoseducativos.
obtencinderequerimientosbasadosenescenariosycasosde
Aspectostecnolgicos. uso.Losdesarrolladoresobtienenlosrequerimientosapartir
de entrevistas con los usuarios que en este caso pueden ser
Aspectosconceptuales.
losdocentesy estudiantesquevanutilizarelsistema,luego
Aspectosmetodolgicos. desarrollan escenarios visionarios en donde se describe la
Aspectosorganizacionales. funcionalidadqueproporcionarelsistemafuturo.Elcliente
ylosusuariosvalidanladescripcindelsistemarevisandolos
Esimportanteresaltarqueenlafasedeplaneacinsedeben escenarios y probando prototipos pequeos proporcionados
169
LasMetodologasdeDesarrollogilcomounaOportunidadparalaIngenieradelSoftwareEducativoOrjuelayRojas

por los desarrolladores. Conforme madurayse estabiliza la almacenamientodedatospersistentes,elujodecontrolglobal,


denicindelsistema,losdesarrolladoresyelclienteseponen la polticadecontrol de acceso y el manejo de condiciones
deacuerdoenunaespecicacindelsistemaenformadecasos defrontera.Elresultadodeldiseodelsistemaesunmodelo
deuso.Paracadacasodeusosedebenespecicarlosujos que incluye una descripcin clara de cada una de estas
bsicosyujosalternativosenformasencilla. estrategias,unadescomposicinensubsistemasyundiagrama
de organizacin que representa la correspondencia entre el
Laobtencinderequerimientosseenfocaenladescripcin
hardwareyelsoftwaredelsistema.
delpropsitodelsistema.Elcliente,losdesarrolladoresylos
usuariosidenticanunreaproblemaydenenunsistemaque Enformaespeccaenestaetapasedebegenerarunmodelo
atacaelproblema.Ataldenicinselellamaespecicacin dearquitecturaenformageneralyunalistaderequerimientos
delsistema. nofuncionalesuobjetivosdediseo.
Como producto de esta fase se debe producir un modelo Enestaetapadediseosedebehacernfasisentrestiposde
de casos de uso acompaado de un documento donde se diseoadicionalquesonlossiguientes:
especiquenlosrequerimientosnofuncionales.
1. Diseoeducativo
En metodologas tradicionales se trata de cumplir con
2. Diseodecomunicacin
requerimientos no funcionales sin que lleguen a convertirse
enelejecentraldelproductosoftware.Paralaingenieradel 3. Diseocomputacional
softwareeducativoesderelevanteimportancialadeterminacin Diseoeducativo
derequerimientosdeescenariosypersonajesdebidoaqueestos
elementossonlosmediosatravsdeloscualeselniovaa Debe resolverlos interrogantesquesereerenalalcance,
adquirirloscontenidosdelaprendizaje. contenidoytratamientoquedebesercapazdeapoyarelsistema.
En este tipo de diseo se debe prestar especial atencin al
Anlisis modelo pedaggico para disear las actividades del sistema
El anlisis da como resultado un modelo del sistema que deacuerdoalmodeloofusindemodelossobreloscualesse
pretende ser correcto, completo, consistente y vericable. quiereimplementarelsistema.
El cliente y el usuario estn involucrados, por lo general, Apartirdelasnecesidadesdelosusuariosnalesdelsistema
en esta actividad, en especial cuando se necesita cambiar se debe implementar el sistema que responda a ellas y al
la especicacin del sistema y cuando se necesita recopilar contextoenelquesedesenvuelveelusuarional.
informacinadicional.
Sedebeutilizarunapropuestademodelopedaggicoquesirva
El anlisis se enfoca en la produccin de un modelo del comoejetransversalenelprocesodeenseanzaaprendizaje
sistema, llamada el modelo de anlisis, que es correcto, quesevaasoportarconelsistemadesoftware.Estemodelo
completo, consistenteyvericable.El anlisisse diferencia pedaggicodebeservircomomedioparaincorporaralusuario
delaobtencinderequerimientosenquelosdesarrolladores nalloscontenidosquenecesitaparaalcanzarelperlquese
se enfocan en la estructuracin y formalizacin de los
buscaenuneducando.
requerimientosobtenidosdelosusuarios.Aunquepuedeser
queelmodelodeanlisisnoseacomprensibleparalosusuarios Elmodelopedaggicoautilizarenlaimplementacindel
y el cliente, ayuda a que los desarrolladores veriquen la software educativo debe estar articulado con aspectos de
especicacindelsistemaproducidadurantelaobtencinde relevante importancia como los contenidos, el ambiente o
requerimientos. contextoenelcualsedebendesarrollarloscontenidos.
Comoproductodeestafasesedebeproducirunmodelode Enformageneral,sepuedenvisualizarlosaspectosquese
clasessiesnecesarioacompaadodelrenamientodelmodelo debentenerencuentaeneldiseoeducativodelasiguiente
de casos de usogeneradoen lafaseanterior,estosmodelos manera:
deben ser desarrollados solo a nivel de diagramas de UML
solosedebenespecicarconmayordetalleencasodequelos
clienteslorequieren.
Diseo
Eldiseo desistemas esla transformacindelmodelode
anlisisenunmodelodediseodelsistema.Duranteeldiseo
delsistemalosdesarrolladoresdenenlosobjetivosdediseo
delproyectoydescomponen elsistema ensubsistemas ms
pequeosquepuedenserrealizadosporequiposindividuales.
Los desarrolladores tambin seleccionan estrategias para la
construccin del sistema, como la plataforma de hardware
Figur a4.Elementosdeldiseoeducativo.
ysoftwareenlaqueseejecutarelsistema,laestrategiade
170
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

Como se puede observar en la gura anterior el diseo Enlaguraseobservaqueparaeldiseocomputacionalse


educativo est basado fundamentalmente en el modelo debenmaterializarlasfuncionalidadesdetodoslosusuariosa
pedaggico a emplear o definido para la situacin de travsdediagramasdecasosdeuso,deigualformasedeben
aprendizaje. especicar el modelo de datos del sistema si es necesario y
por ltimo el modelo dinmico por medio de diagramas de
Diseodecomunicacin
secuencia.
Enestaseseccinsepretendeespecicarlaformacomose
Implementacin
comunicaelusuarioconelprograma,estableciendodispositivos
ycdigosomensajes.Bsicamenteestafasecorrespondealo Durantelaimplementacinsepretendetraducirlosdiferentes
quecomnmentesedenominadiseodeinterfaces. modelosdiseadosenlasetapasanterioresencdigofuente.En
formaparalelasedebenintegrarcadaunodelossubsistemas
Enlagurasedescribenlosaspectosquesedebenteneren
desarrolladosenformasegmentada.
cuentaeneldiseodecomunicacin:
Pr uebas
Laspruebassonelprocesodeencontrardiferenciasentreel
comportamiento esperado, especicado por los modelos del
sistema,yelcomportamientoobservadodelsistema.
Las pruebas son el proceso de anlisis de un sistema, o
componentedeunsistema,paradetectarlasdiferenciasentre
el comportamiento especicado (requerido) y el observado
(existente). El objetivo de las pruebas es aumentar la
conabilidaddelsistema.
Entrminoseducativosserecomiendarealizarpruebaspilotos
ypruebasdecampoconpotencialesusuariosdelsistemaycon
Figur a5.Elementosdiseodecomunicacin otrosdesarrolladoresdiferentesalasdelequipo.
Evaluacin
Diseocomputacional
Es de vital importancia para los procesos de enseanza
Tomando como punto de partida las necesidades de los aprendizajedeterminarenlafasederequerimientosinstrumentos
usuarios se establece qu funcionalidades debe cumplir el deevaluacinquepuedenseractividadesdentrodelsistema
sistemadesoftwareeducativo.Enestesegmentotambinse conloscualessepuedanmedirelniveldecumplimientode
deben materializar los requerimientos no funcionalidades losobjetivosparacadaunodeloscontenidosquesepretenden
que surgen de los clientes, usuarios y del propio modelo desarrollarenelsistema.
pedaggico.
CONCLUSIONES
Eneldiseocomputacionalsedebendescribirlosusuarios Losmtodosgilessonunareaccinalasformastradicionales
del sistema complementados con las funcionalidades a las de desarrollo de software, admitiendo la necesidad de
cuales tienen acceso, para luego implementar mdulos de una alternativa al desarrollo de software orientado a la
acuerdoaldiseomsapropiadoquesoportelosrequerimientos documentacinycentradosenelproceso.
funcionalesynofuncionalesdelsistema.
Losmtodos gilesdedesarrollodesoftware han surgido
En forma general, en el diseo computacional se deben muyrecientementecomotendenciasnoampliamenteaceptadas
materializarlosmodelosfuncional,declasesydinmico. aun, pero con buena probabilidad de lograr interesantes
Enlagurasedescribenlosaspectosquesedebenteneren aportesencuantoametodologasdedesarrollodesoftware.
cuentaeneldiseocomputacional: Estas tendencias se conocen tambin con el nombre de
mtodoslivianosysonapropiadosparapequeosequiposde
desarrollo.
Laagilidadsepuededenircondoscaracterizaciones[11]:
Agilidad es la habilidad para crear y responder a
cambiosdeacuerdoalosbeneciosenunambientedenegocios
turbulento.
Agilidadeslahabilidadparabalancearexibilidady
estabilidad.
En este sentido la agilidad de los mtodos de desarrollo
Figur a6.Elementosdiseocomputacional softwaresepuedesintetizarenlacapacidadpararesponderal
171
LasMetodologasdeDesarrollogilcomounaOportunidadparalaIngenieradelSoftwareEducativoOrjuelayRojas

cambioyparasimplicarlosprocesos. REFERENCIAS
[1]Abrahamsson,P.,Salo,O.,Ronkainen,J.,Warsta,J..Agilesoftware
La propuesta metodolgica para el desarrollo de software
developmentmethodsReviewandanalysis..VTTPublications.
educativodescribe un conjunto defases que permiten guiar 2002.
el proceso de desarrollo de productos software que apoyen [2]Beck,K..ExtremeProgrammingExplained.EmbraceChange,
el proceso enseanzaaprendizaje. Esta propuesta tiene la Pearson Education, 1999. Traducido al espaol como: Una
particularidad que permite articular aspectos educativos, explicacin de la programacin extrema.Aceptar el cambio,
tecnolgicos,conceptuales,metodolgicosyorganizacionales AddisonWesley,2000.
deunamanerarpidasincaerenprincipiosdelasmetodologas [3]Boehm,B.Turner,R.BalancingAgilityanddiscipline.Aguide
tradicionalescomoeslaorientacinalproceso. forthePerplexed.AddisonWesley.2003.
[4]Bruegge,B.,Dutoit,A.Ingenieradesoftwareorientadaaobjetos.
De igual forma, la propuesta permite adaptar procesos PearsonEducacin.Mxico,2002.
de desarrollo que requieran altos niveles de documentacin [5]Cans,J.,Letelier,P.yPenads,M.Metodologasgilesenel
y orientacin al proceso, adicionalmente tambin permite desarrollo de Software. Universidad Politcnica de Valencia,
adaptarseaproyectosdedesarrollodesoftwareeducativode Valencia,2003.
grantamao. [6]Caro,G.Agilemaniestoyexperiencias personales.Memorias
JornadasdeGerencia.ACIS.Bogot2004.
De acuerdo a las caractersticas de las metodologas de [7]Cockburn,A.SelectingaProjectsMethodology,,Humansand
desarrollo gil como son el avance iterativo e incremental, Technology,IEEESOFTWAREJuly/August2000.
permitetenerrpidamenteprototiposfuncionalesquepueden [8] Cockbun,A. .Agile Software Development..AddisonWesley.
ser probados y evaluados en forma conjunta por un equipo 2001.
[9]Fowler,M.,Beck,K.,Brant,J.Refactoring:ImprovingtheDesign
conformadoporclientesydesarrolladores.
ofExistingCode.AddisonWesley.1999.
La propuesta metodolgica esta orientada a la generacin [10]Gutierrez,Joaquin.Metodologasgiles.UniversidadPablode
de prototipos funcionales en cada iteracin y no tanto a la Olavide.2007.
produccindeartefactos.Sinembargo,sepuedeadaptarala [11]Highsmith,J.AgileProjectManagement,2003
generacindeartefactos segn exijan los requerimientos de [12] Humphrey, W.S., Managing the Software Process,Addison
Wesley,Reading,MA,1989.
losclientes. [13]PoppendieckM.,PoppendieckT.LeanSoftwareDevelopment:
En forma general se puede afirmar que la propuesta AnAgileToolkitforSoftwareDevelopmentManagers.Addison
metodolgicapermite adaptarse aprocesos de desarrollo de Wesley.2003.
software educativo de diferentes tamaos, requerimientos y [14]Pressman,R.SoftwareEngineering:APractitionersApproach.
McGrawHill.2005.
nivelesdecomplejidad.
[15]Schwaber,k.AgileProjectManagementwithScrum(Microsoft
Professional).Mar10,2004.
[16]Ziv,H.yD.J.Richardson:,ICSE97,XIXInternationalConference
Lapropuestametodolgicaoconjuntodefasesdedesarrollo onSoftwareEngineering,23deagostode1996.
ofreceunaalternativadesolucinalproblemadescritoenel
hechodequemuchosproyectosdesoftwareeducativosellevan
acabosinningnejeconductorquepermitaorientarelproceso
dedesarrollo,enotrassituacionesestosproyectossondeun
tamaopequeoquenopermitenlautilizacindemetodologas
tradicionales que son muy orientadas a la generacin de
artefactosylospresupuestosdetiemponosontanlargos.
La propuesta en mencin tiene como uno de sus valores
agregados la capacidad de adaptarse a diferentes tipos de
proyectos de desarrollo de software educativo, es decir, a
proyectos de diferentes tamaos, caractersticas, nivel de
educacin y de diferente tipo (multimedia, micromundo,
videojuego,animacin,dilogosanimados).
Enmetodologastradicionalesempleadasporlaingeniera
del software educativo no se le da el valor necesario a los
aspectos educativos y/o didcticos, en caractersticas tales
como el modelo pedaggico que deba soportar el producto
desoftwareeducativo.Enotrostrabajossesugierenalgunos
macroalgoritmosquepuedenguiarelprocesodedesarrollode
softwareeducativobasadosendiferentesmodelospedaggicos
lo cual se convierte en un conjunto de alternativas para los
educadoresyparalosdesarrolladores.
172
RevistaAvancesenSistemaseInformtica,Vol.5No.2,Juniode2008,Medelln,ISSN16577663

También podría gustarte