Anda di halaman 1dari 6

capa_

Adotando
Arquitetura
gil
em seu processo de
desenvolvimento de software
Veja como adotar, modelar e documentar a
arquitetura, de maneira gil, em seu processo de
desenvolvimento de software.
Sabendo que os aspectos arquiteturais so fato- $/!) 0) "#4') #9($#') #') 2#84#.;(') %() ('1!9!) %() -")
res que podem afetar todo um software em desen- projeto, mas sim se a arquitetura para atender a
volvimento, e no somente uma funcionalidade. 984"(48#) ($+8(B#) '(8A) '-D)14($+("($+() >)(?@2(5) 9#8#)
!"#$%!&'()#!)*#+!),-()#)#%!./!)%()"0+!%!')%()%(& atender eventuais necessidades na dcima entrega,
senvolvimento de software incrementais e geis est por exemplo, sem gerar grandes retrabalhos ou at
1#%#)2(3)"#4')(")#5+#6)7(")8('-5+#%!)(")-"#)98(!& "('"!)8(*#3(8)+!%!)!)'!*+<#8(6)K!")4'+!:)#')9(''!#')
1-9#./!:)!-)4$+(8(''(:)1#%#)2(3)"#4!8)(")1!"!)8(#& 8('9!$'A2(4')9(5#)#8,-4+(+-8#)%!)98!E(+!)D)1#")1#%#)
543#8)%(14';(')#8,-4+(+-8#4')%()"#$(48#)4$18("($+#5) 2(3)"#4')4$'(B-8#')'()!),-()(5#')98!E(+#8#")EA)('+A)
'("),-()(5#')#*(+(")+!%!)!)'!*+<#8()98!%-34%!)#+0) apto para o desenvolvimento da primeira entrega.
o momento. =4#$+() %4'+!:) '() !) "0+!%!) %() %('($2!524"($+!)
=() *#+!:) '() $/!) ($1!$+8#8"!') "#$(48#') %() 4$& %()'!*+<#8()0)AB45:)9!8),-()#)#+424%#%()%()%(D)$4./!)%#)
18("($+#8)()(2!5-48)#)#8,-4+(+-8#)%()*!8"#)>)(?@2(5:) arquitetura dever ser feita toda no incio do projeto,
segura e controlada, nada adiantar entregar por- ()$/!)%()*!8"#)4$18("($+#5L)
.;(')%()'!*+<#8(')8A94%!':)9!4')(")#5B-")"!"($+!:) F'+() #8+4B!) *#3) -"#) J8(2() 4$+8!%-./!) '!J8() #)
necessidades funcionais ou no-funcionais podero C8,-4+(+-8#)MB45)()'-#')4$>)-N$14#'6)O!B!)#9P')'(8/!)
surgir e a arquitetura atual no suportar ser altera- apresentadas prticas de como aplicar a arquitetura
da sem por em risco tudo que j foi desenvolvido. Ou gil em processo de desenvolvimento de software,
seja, uma falha na arquitetura tornou-se agora uma qual o papel do arquiteto gil, modelagem e docu-
falha de planejamento e entrega do projeto. "($+#./!)AB456
C50")%4''!:)%-8#$+()"-4+!)+("9!)24("!')8(15#&
mando do problema em mtodos tradicionais de se !"#$%"&'$()*!"+*" ,-&)./.&,*"01)2
('9(14D)1#8)*-$14!$#5"($+()+!%!)!)'!*+<#8()#$+(')%() Em mtodos tradicionais, as atividades relacio-
desenvolv-lo, gerando uma paralisia da anlise, e $#%#') Q) #8,-4+(+-8#) B#'+#") -") +("9!) '4B$4D)1#+42!)
8('-5+#$%!)"-4+#')2(3(')(")#+8#'!')%!')98!E(+!')%() $!)4$@14!)%!)98!E(+!)9#8#)#)%(D)$4./!)%#)24'/!)#8,-4&
desenvolvimento de software. +(+-8#5:)#9($#')%!)9!$+!)%()24'+#)+01$41!6)F:)-"#)2(3)
F$+8(+#$+!:) %(9!4') %() 2A84!') ('*!8.!') () +01$4& que esta viso tenha sido estabelecida, as equipes
cas para sanar essa paralisia da anlise, o problema +($%(")#)8('4'+48)Q')"-%#$.#')#8,-4+(+-8#4')%-8#$+()
#B!8#)0)!-+8!G)#)H#8#54'4#)C8,-4+(+-8#56)I)98!J5("#) +!%!)!)1415!)%()24%#)%!)98!E(+!:)"-4+#')2(3(':)9!8)$/!)

/8
3,/$4"3*,,4!"5"6,/$46*,,4!718*)29(48"5"76,/$446*,,4!
Lder do Escritrio de Arquitetura e Mtodos geis e do Centro de Excelncia SOA da Stefanini IT Solutions. Alm disso,
!/-!#.!#%$!.2%;(&!9:3#%#"%)%.$3;$('%./3#"%#4+=/( !)#=2%()#%#>%!.#.3)#4+3 %))3)#"%#"%)%.$3;$('%./3#"%#.3$3)#4+3"-/3)#
para start-ups de tecnologia.

As prticas de arquiteturas geis visam permitir a evoluo do sof-


tware de forma objetiva, rpida, controlada e colaborativa para ga-
rantir a entrega de softwares que atendam as variaes de negcios
!"!#$%&#'!()#*+%,-%./%)0#1)/%#!+/(23#$()!#!4+%)%./!+#3)# 3. %(/3)5#
(.6#-7. (!)5#!/($("!"%)#%#%)/+!/82(!#4!+!#!"39:35#'3"%;!2%'#%#"3<
cumentao de arquiteturas geis.
entenderem que o cenrio de negcio que aquele ,-()%43G)R2A84#')1#J(.#')9($'#")"(5S!8),-()-"#TU6)
software destinado mudou de um ms para o outro. I-) '(E#:) #) #8,-4+(+-8#) AB45) *!1#) (") %#8) C-+!$!"4#)
F)#18(%4+(":)(")-")"-$%!)1#%#)2(3)"#4')%4$["41!) 9#8#)#)F,-49()9#8+4149#8)%#')%(14';(')#8,-4+(+-8#4':)
()B5!J#543#%!:)4''!)EA)0)1!"-")()('9(8#%!6 1!"!)*!8"#)%()"(5S!8#8)$/!)'P)#')'!5-.;(')+01$41#':)
Z/!) 98(14'#"!') 48) "-4+!) 5!$B(:) 4"#B4$#$%!) "#')+#"J0")#)1!"-$41#./!)()C"954D)1#8)!)C98($%4&
modelos de negcios to complexos, para acreditar 3#%!:)24'#$%!)1!")4'+!)F$+8(B#')"#4')VA94%#')()-"#)
nesse fato. Basta olharmos para as diversas start-ups K!$'+8-./!)1!")"#4!8)W$+(B84%#%(:)9#8#)B(8#8)2#5!8)
+(1$!5PB41#') ,-() '-8B(") #) +!%!) "!"($+!6) \-4+#') aos clientes.
%#')2(3(':)#')"-%#$.#')%()$(BP14!')$('+()'(B"($& Sendo assim, a arquitetura gil uma tcnica,
to no mudam de um ms para o outro, mas sim de ou conjunto de prticas, que uma equipe de desen-
um dia para outro. E neste e em outros cenrios, a volvimento usa para criar um sistema de software.
#8,-4+(+-8#)%()'!*+<#8()%(2()'(8)1#9#3)%()(2!5-48)!-) F5#)($2!52()#)+!"#%#)%()%(14';(')'P54%#')()!9!8+-&
'(8) "!%4D)1#%#) #) ,-#5,-(8) "!"($+!) '(") B8#$%(') nas em todo o ciclo de desenvolvimento de software.
impactos. F")#5B-$')1#'!':)4''!)'4B$4D)1#)#%"4+48),-()-")(88!)
neste contexto dinmico que a arquitetura gil #8,-4+(+-8#5)!1!88(-)(),-()#)(,-49()98(14'#)"!%4D)1#8)
$#'1(-) () 2(") B#$S#$%!) 1#%#) 2(3) "#4') *!8.#6) H!4') a arquitetura.
no devemos olhar a arquitetura como um aspecto
tcnico de um projeto de software, mas olh-la como Adotando uma Arquitetura gil de um
um componente crucial para a entrega de valor aos
envolvidos no projeto.
Processo de Desenvolvimento
C+0)#,-4:)24"!')!),-/!)4"9!8+#$+()0)#)#8,-4+(&
E por falarmos em desenvolvimento de software,
tura de software independentemente se o mtodo
2#5!8)%()$(BP14!:)>)(?4J454%#%()()($+8(B#')*8(,-($+(':)
%() %('($2!524"($+!) #%!+#%!) 0) AB45) !-) $/!6) C''4":)
nos vm em mente um pensamento que vem cada
sem radicalismos, a deciso se a arquitetura de sof-
2(3) "#4') 4$>)-($14#$%!) #) ($B($S#84#) %() '!*+<#&
+<#8()'(8A)8(#543#%#)+!+#5"($+()#$+(')%#)1!%4D)1#./!)
re de ponta-a-ponta: o pensamento Lean, ou Lean
do projeto ou se ela vai evoluir incrementalmente,
7S4$]4$B6)F)$/!)0)Q)+!#),-()!)1!$1(4+!)%()#8,-4+(+-8#)
uma deciso particular de cada equipe.
gil tem em seus pilares os princpios Lean.
F$+8(+#$+!:) 9#8#) -"#) #%!./!) 8(#5) () 1#-+(5!&
C''4":) #) #8,-4+(+-8#) AB45) 24'#) F54"4$#8) !) =('&
sa das prticas de arquitetura gil, recomendado
9(8%@14!)%()+("9!)9#8#)#)%(D)$4./!)%#)#8,-4+(+-8#)%()
-"#) #%#9+#./!) ($+8() !') %!4') "-$%!'G) 4$2('+48) -")
'!*+<#8(:) J-'1#$%!) 7!"#8) #) =(14'/!) !) "#4') 7#8%()
pouco de tempo no incio do projeto (comumente
Possvel, pois quanto mais tempo voc adiar suas de-
%($!"4$#%!) %() *#'() %() W$1(9+4!$U) 9#8#) 9($'#8) $#')
14';(':)"#4')1!$+(?+-#543#%#')()#''(8+42#')(5#')'(8/!6)
RB8#$%(')$(1(''4%#%('T:)()#J!8%#8)!')%(+#5S(')()+!&
H!80") 4''!) $/!) 4"9541#) (") $/!) ^4'-#543#8) !) 7!%!:)
"#8) #') %(14';(') "#4') #''(8+42#') $!) "!"($+!) 1(8+!)
mas sim que devemos estar diariamente antenados
XE-'+&4$&+4"(U)()8('9!$'A2(5:)#!)5!$B!)%#')4+(8#.;(')
para tudo que est ocorrendo no projeto, inclusive o
X!-)'984$+'U)%!)98!E(+!6)
cenrio de negcio que se destina, considerando fu-
)C)D)B-8#)Y)45-'+8#)J(")#)('+8#+0B4#)8(1!"($%#&
+-8#')"-%#$.#')X()1(8+#"($+()(5#')2/!)!1!88(8U:)9#8#)
%#6) Z!) 4$@14!) %!) 98!E(+!:) !-) *#'() W$1(9+4!$:) #9P') !)
que quando elas surgirem, no surpreendam.
Product Owner j ter levantado um conjunto de re-
C50")%4''!:)#)#8,-4+(+-8#)AB45)*!1#)$!)9!%(8)%()
quisitos do sistema em um nvel abstrato (mas que
%(14';(')(")1!$E-$+!)X8(1!8%#$%!)!)2(5S!)98!208J4!)

9\
para saber mais/ C) (+#9#) %() (?(1-./!:) 1!"!) !) 98P984!) $!"() %43:)
Na edio 43 da revista MundoJ teve um artigo sobre A
8(98('($+#)#)(?(1-./!)%#')#+424%#%(')98(24'+#':)%($-
cultura TDD e o BDD.
+8()(5#')0)15#8!:)#)1!%4D1#./!)%!)'!*+<#8(6)F$+8(+#$+!:)
esta etapa tem uma atividade arquitetural e de design
"-4+!)4"9!8+#$+(),-()0)#)98A+41#)%()7('+&=842($)=(-
'(E#) 9!''@2(5) "($'-8#8) () 984!843#8U:) #') 9(''!#') 8('- 2(5!9"($+) X7==U:) 1-E!) 4$+-4+!) 0) #E-%#8) $!) %('4B$) ()
9!$'A2(4')9(5#)#8,-4+(+-8#)4$414#")#)1!$*(1./!)%()-") "(5S!84#')%!')1P%4B!':)#50")%()#-?454#8)$#)4%($+4D1#-
Z!+(J!!])C8,-4+(+-8#5) X2(E#) "#4') %(+#5S(') $#) '(./!) ./!)%()9#%8;(')#8,-4+(+-8#4')("(8B($+('6
=!1-"($+#$%!)-"#)C8,-4+(+-8#)MB45U6)F'+()#8+(*#+!)0) H!8)D":)$#)(+#9#)%()#2#54#./!:)$!)D$#5)%#)'984$+:)
%($!"4$#%!)%()Z!+(J!!]:)!-)J5!1!)%()$!+#':)C8,-4- pretende-se ter todo o trabalho planejado efetiva-
tetural, pois ele visa descrever apenas os aspectos ar- mente pronto, sem pendncias que exijam a retoma-
quiteturais importantes neste momento, tais como: da da atividade no futuro.
!JE(+42!:)$(1(''4%#%(')()8(,-4'4+!')'4B$4D1#$+('6)) C''4":) (''#) ('+8#+0B4#) "4'+#) 8('-5+#) (") -"#)
C9P')('+#)*#'(:)4$414#&'()!)%('($2!524"($+!)(*(- abordagem muito mais gil e de baixo risco para a ar-
tivo do projeto segmentado por sprints, conforme quitetura do software.
9!%() '(8) 24'+!) $#) DB-8#) _6) H#8#) #) (?(1-./!) %() 1#%#)
'984$+)%!)98!E(+!:)8(1!"($%#"!')#)(?(1-./!)%()+8N') O Arquiteto Tradicional versus o
(+#9#'G)H8(9#8#./!:)F?(1-./!)()C2#54#./!6 Arquiteto gil
C) (+#9#) %() 98(9#8#./!) !1!88(8A) #$+(') %#) '984$+) Como pde ser observado at o momento, a mu-
corrente. Ela visa garantir que todos os pr-requisitos %#$.#)1-5+-8#5),-()#)#+424%#%()%()%(D$4./!)#8,-4+(-
$(1(''A84!')9#8#)#)8(#543#./!)%!)+8#J#5S!)98(24'+!)('- tural de software sofre em um mtodo gil muito
+/!)1-"984%!':)%($+8()(5(')#')%(14';(')#8,-4+(+-8#4') alta. E, no por acaso, o fator crtico de sucesso de um
cabveis neste momento. 98!E(+!)AB45)%(9($%()%()-")9(8D5)#%(,-#%!)%()#8,-4-
Para isto um rito arquitetural recomendvel nes- tetos. E por incrvel que possa parecer, os diferenciais
+#)(+#9#)0)!) +!8")C8,-4+(+-8#56)I) +!8":)!-)+("9('- $/!) '/!) +01$41!':) "#') '4") 1!"9!8+#"($+#4'6) ^#5()
+#%(:) C8,-4+(+-8#5) 0) -"#) 8(-$4/!) 1!") %-8#./!) '-- ressaltar que o arquiteto apenas um papel dentro
gerida de uma hora e meia, onde toda a equipe aps do ciclo de vida do projeto. E este pode ser desem-
entender os itens a serem desenvolvidos na sprint penhado por uma nica pessoa, menos recomendado
J#1]5!B:)%4'1-+(")()1!$*8!$+#")#')%42(8'#')'!5-.;(') dentro do pensamento gil, ou distribudo entre os
()%(14';(')#8,-4+(+-8#4')#)'(8(")8(#543#%#')()4"95(- membros da equipe do projeto, para que todos te-
"($+#%#')%-8#$+()#)(?(1-./!)%#)'984$+6 $S#")8('9!$'#J454%#%()'!J8()#')%(14';(')()#8+(*#+!')
C!) D$#5) %#) +!8") C8,-4+(+-8#5:) #') 9(''!#') 8('- arquiteturais.
ponsveis pela arquitetura incrementam ou retroali- Z#)DB-8#)`:)1!$*8!$+#"!')#5B-$')%(''(')1!"9!8-
"($+#") !) Z!+(J!!]) C8,-4+(+-8#5) 1!") #'G) %(14';(':) tamentos entre arquitetos tradicionais e arquitetos
8('+84.;(':) E-'+4D1#+42#':) %(9($%N$14#':) 1#"#%#':) geis.
dentre outros itens que achar pertinente. E, logo em =('+#) *!8"#:) 9!%("!') 8('-"48) #') #+424%#%(') %()
seguida, cria artefatos de design, ou mecanismos um arquiteto gil dentre de um projeto de software
arquiteturais, para auxiliar no desenvolvimento da 1!$*!8"()8(98('($+#%!)$#)DB-8#)a6
sprint. Z/!) "($!') 4"9!8+#$+(:) #')
pessoas responsveis pela arqui-
tetura devem ser bem recepti-
2#') Q') "-%#$.#') ,-() 1(8+#"($+()
ocorrero ao longo do projeto. E a
*!8"#)9#8#)*#3(8)4''!)0G)J#5#$1(#8)
as necessidades com todos os en-
2!524%!') %!) 98!E(+!) () '#J(8) %43(8)
R$/!T) %() *!8"#) E-'+4D1A2(5b) 184#8)
(5("($+!') %() %('4B$) >(?@2(4'b) (:)
984245(B4#8)#)-+4543#./!)%()98!+P+4-
pos, ou provas de conceitos, para
8(%-348)!')84'1!')+01$41!'6))

Modelagem gil
Z/!) +(") 1!"!) *#5#8"!') %()
arquitetura sem falarmos de mo-
:)1&,*";9 Adotando uma arquitetura gil. %(5#B("6)F)9#8#)8(#543A&5#:)+("!')

/ 10
%42(8'#')$!+#.;(')$!)"(81#%!),-()#+($%(")J(")$!)
que tange a modelagem estrutural e comportamen- Arquitetos Tradicionais Arquitetos geis
+#5)%()-")'!*+<#8(:)+#5)1!"!)#)*#"!'#)c\O)Xc$4D(%) So seres diferencia-
\!%(54$B) O#$B-#B(U6) F$+8(+#$+!:) #) B8#$%() "#4!84#) So humildes e buscam
%!'T6) -#')!94$4;(')'/!)
%(''#') $!+#.;(') 9!''-4) "-4+!') *!8"#54'"!':) () '/!) '!5-.;(')1!$E-$+#'6
verdade absolutas.
"-4+#')%#')2(3(')('+(')*!8"#54'"!'),-()#1#J#")98(-
E-%41#$%!)#)2(5!14%#%()%()1!$*(1./!)%#')"!%(5#B($') So membros ativos do
Esto sempre muito
(:)9!8)'-#)2(3:)#+8#'#$%!)#)%!1-"($+#./!)"@$4"#)$(- time de desenvolvimen-
!1-9#%!'T9#8#)1!5!1#8)
cessria da arquitetura de software. +!:)#E-%#$%!)$#)1!%4D-
as mos no desenvolvi-
=4#$+()%4'+!:)(")-"#)#8,-4+(+-8#)AB45)98(14'#"!') 1#./!)()#+-#$%!)1!"!)
mento do software.
encontrar, ou at mesmo criar, formas de modelagem mentor.
mais geis que sigam os seguintes princpios: Se acham to diferen- Sabem que no podem
Foco no contedo e conceitos, mais que na for- 14#%!'T),-()B!'+#")%() prever o futuro, mas
"#+#./!)()$!+#./!6 prever o futuro para no podem estar preparados
7(") ,-() '(8) $#+-8#5) () '4"95(') %() ($+($%(8) () terem problemas. para ele.
-'#86)C)%41#)#,-4)0:)'()2!1N)B#'+#8)"#4')%()d)"4- Investem muito tempo
nutos para entender ou explicar como se mo- Sem desperdcios.
em criar modelos arqui-
%(5#)1!")#)$!+#./!)%()"!%(5#B(")AB45:)(5#)$/!) Focam em relatar o
+(+-8#4')1!")R+!%#'T#')
serve. que util e importante
4$*!8"#.;(')9!''@2(4')()
=(2()'(8)1#9#3)%()'(8)%('($S#%#)("),-#5,-(8) naquele momento.
inimaginveis.
*(88#"($+#)1!")#)"('"#)#9#8N$14#6)=('%()-")
papel at em um Powerpoint ou ferramenta de
desenho. Figura 3. Arquitetos Tradicionais versus Arquitetos geis.
=(2() 4$1!89!8#8) #'9(1+!') 9'41!5PB41!') 1!"!)
formas, e abusar das cores, para estimular me- +!6) =('+#) *!8"#:) #) "(5S!8) *!8"#) %() (?9(84"($+A&5#)
5S!8)#')9(81(9.;(')24'-#4')()#)1!"98(($'/!6 reunir todos os envolvidos do projeto em uma sala
=(2() 1!"95("($+#8) !-+8#') $!+#.;(':) 1!"!) com quadro branco, tambm conhecido como POW
c\O6 XH5#4$)I5%)eS4+(J!#8%U:)()%('($S#8)#)#8,-4+(+-8#)'--
Sendo assim, o principal indicador se a tcnica de gerida. Se todos entenderam bem, sua tcnica de mo-
modelagem gil criada ou empregada boa ou no delagem est tima.
a compreenso de todos os envolvidos em um proje- Z#')DB-8#')d)()f:)'/!)#98('($+#%#')#5B-"#')98!-
9!'+#') %() $!+#.;(') 9#8#) "!%(5#B($') AB(4')
existentes atualmente na comunidade.
C)DB-8#)d)45-'+8#)-")(?("95!)1!")#)98!-
9!'+#) %($!"4$#%#) %() CB45(=8#<:) ,-() 9!''-4)
apenas trs elementos bsicos para represen-
tar cenrios arquiteturais. So eles:
Crculos: que representam elementos di-
$["41!':) +#4') 1!"!) '(824%!8(') %() #9541#.;(':)
mensageria, dentre outros.
Quadrados: que representam elementos es-
tticos ou estruturais.
O4$S#'G) 'P54%#') g) 8(98('($+#") 8(5#14!$#-
mentos fortes, concretos ou com sincronismo.
F) +8#1(E#%#') g) 8(98('($+#") 8(5#14!$#"($+!')
abstratos, fracos ou com assincronismo.
hA) #) DB-8#) f) 45-'+8#) -"#) 1!"J4$#./!) %()
"#9#') "($+#4') 1!") c\O:) ,-() 24'#) #54$S#8)
#) $!+#./!) 9!9-5#8"($+() 1!$S(14%#) %#) c\O)
1!") -"#) *!8"#) "(5S!8) %() 1!$+(?+-#543#./!:)
#98($%43#%!) () "("!843#./!) %!') "#9#') "($-
+#4'6) C) *(88#"($+#) -+4543#%#) 9#8#) 184#./!) %!')
%!4') %4#B8#"#') X"#9#) "($+#5) () 15#''(U) 4$+(8-
54B#%!':) $('+() (?("95!:) 0) #) C'+#S) c\O:) -"#)
ferramenta proprietria, mas que possui uma
:)1&,*"<9"Ciclo de vida da Arquitetura gil. 2(8'/!)K!""-$4+i)F%+4!$6

11 \
C50")%(''#')98!9!'+#')%()"!%(5#B(")AB45:)(?4'- 1#./!6) H!8+#$+!:) 0) 8(1!"($%A2(5) ,-() !) 1!$+(k%!) %#)
+() !-+8#) %($!"4$#%#) %() K#8+!!$) C81S4+(1+-8(:) ,-() arquitetura gil esteja facilmente acessvel a todos os
J#'41#"($+() 1!"J4$#) %('($S!') B(!B8AD1!') '4"95(') ($2!524%!')%!)98!E(+!6)F),-(),-#5,-(8)#5+(8#./!)'(E#)
1!") DB-8#') () @1!$(') 9#8#) "(5S!8) 1!"98(($'/!) %!') *#145"($+()$!+4D1#%#)9#8#)+!%!'6
(5("($+!') () 1!"9!$($+(') %(D$4%!') $#) #8,-4+(+-8#6) K!")4'+!:)%(2()'(8)(24+#%#)#)184#./!)%()%!1-"($-
Para conhecer mais sobre essa tcnica, veja o artigo tos arquiteturais em ferramentas, como editores de
%!)F%-#8%!)j-(88#)g)H8A+41#')9#8#)O4%#8)1!")C8,-4- +(?+!':)"-4+!)"($!')%(4?#8)#')4$*!8"#.;(')#8,-4+(+--
+(+-8#) (")C"J4($+(')MB(4':) $('+#) "('"#) (%4./!) %#) rais dentro de uma ferramenta de modelagem, como
\-$%!h6 0)1!"-")%()!1!88(8)(")"-4+!')98!E(+!'6)Z!)984"(48!)
1#'!:)('+(')%!1-"($+!')D1#")$!8"#5"($+()(")-"#)
MESSAGING
SERVER pasta de projeto compartilhada numa rede que qua-
(IBM MQ)
se ningum se recorda de ir para consultar algo (ou
2(8)'()#5B!)"-%!-U)!-)'()('+42(8(")4"98(''!')0)#4$%#)
94!8:)9!4')9#''#")#)4%(4#),-()('+/!)%('#+-#543#%!')()
$4$B-0") !') 1!$'-5+#6) hA) $!) '(B-$%!) 1#'!:) Q') 2(3(':)
LISTENER nem todos os envolvidos no projeto possuem a ferra-
"($+#)$(1(''A84#:)!-)541($.#')'-D14($+(':)9#8#)24'-#-
WEB
BROWSER HTTPS
CONTROLLER SERVICE DB 543#8(")'(-')1!$+(k%!'6
JDBC
))C''4":)0)-"#)J!#)98A+41#)9-J541#8)#')4$*!8"#-
VIEW .;(')%()#8,-4+(+-8#)(")*(88#"($+#')1!5#J!8#+42#':)+#5)
como Wiki. Pois alm de serem facilmente acessveis
APACHE TOMCAT
via web browsers, e versionar automaticamente qual-
,-(8) #+-#543#./!:) 9!''-(") 8(1-8'!') %() $!+4D1#./!)
simultnea via RSS para todos os envolvidos. E caso
:)1&,*"=9"Proposta de Modelagem gil com AgileDraw. $(1(''A84!) #5B-"#) *!8"#543#./!) S4'+P841#:) !) 1!$+(-
do contido na plataforma Wiki pode ser exportado
Documentando uma Arquitetura gil 9#8#) H=l) () '#52!6) H!8+#$+!:) 98!1-8() 184#8) '(-) Z!+(-
^#5() 5("J8#8) ,-() $!') "0+!%!') AB(4':) () 1!"!) J!!]) C8,-4+(+-8#5) (") -"#) *(88#"($+#) %('+() +49!6)
consequncia, na arquitetura gil, o mais importan- C50")%!')"#4':)#4$%#)9!%("!')-+4543#8)!')8(1-8'!')%()
+()$/!)0)#)%!1-"($+#./!)(")'4:)"#4')'4")#)1!"-$4- Si9(854$]')9#8#)"(5S!8#8)#4$%#)"#4')#)4$+(8#./!)1!")
este artefato.

Figura 4. Atividades do Arquiteto gil.

/ 12
+-8#)AB45:)"0+841#')1!"!G)%-9541#./!)%()1P%4B!':)1!"-
plexidade ciclomtica e acoplamento aferente, dvida
tcnica, conformidade de requisitos no-funcionais e
dependncias cclicas, so essenciais para manter a
arquitetura evolutiva e controlada.

>4$!)+/,*?@/!"A$*)!
C) 1!$'+#$+() %4$["41#) $!') $(BP14!') () #) 8#94%(3)
(") ,-() (5#') !1!88(") *#3(") 1!") ,-() !') '!*+<#8(')
9!''#") '!*8(8) "-%#$.#') #8,-4+(+-8#4') 1#+#'+8PD1#':)
caso suas arquiteturas no tenham sido concebidas
%() "#$(48#) 4$18("($+#5:) >(?@2(5) () 1!$+8!5#%#:) %--
8#$+()+!%!)!)98!1(''!)%()%('($2!524"($+!6)C''4":)#')
98A+41#')1!$2($14!$#4')9#8#)%(D$4./!)()%!1-"($+#-
./!)+!+#5)%#)#8,-4+(+-8#)()%('4B$)$!)4$@14!)%!)98!E(+!)
EA)'()98!2#8#")4$(D1#3(')SA)"-4+!)+("9!6)\-4+!')$/!)
($+($%(")9!8,-()$!)D$#5)%!')98!E(+!')%()'!*+<#8(':)
:)1&,*"B9 Proposta de Modelagem gil com Mapas Mentais e UML. seguindo um ciclo de vida em cascata, muitos proble-
Somando-se a isso, sempre positivo deixar os "#')'-8B(")$#)#8,-4+(+-8#)()98!E(+!)%#)'!5-./!6
principais artefatos arquiteturais (diagramas, metas, C)#%!./!)%#')98A+41#')%()#8,-4+(+-8#)AB45)$!')9(8-
4$%41#%!8(')+01$41!':)%($+8()!-+8!'U)Q)24'+#)%()+!%!') "4+()%(D$48:)4$18("($+#8)()#%#9+#8)1!$+4$-#"($+()#)
os membros da equipe em cartolinas pregadas na pa- arquitetura e design dos softwares em desenvolvi-
rede ou quadros brancos, tal como existem as maque- "($+!:)24'#$%!)'()#%(,-#8)Q')2#84#.;(')$(BP14!)9#8#)
tes nas arquiteturas civis, para facilitar a dissemina- ($+8(B#)*8(,-($+()%()2#5!86)C50")%4''!:)#)#%!./!)%#')
./!)%#')%(14';(')+01$41#')()98!"!2(8)#)+8#$'9#8N$14#) prticas de arquitetura gil visa remover vcios e des-
arquitetural para que todos da equipe sintam-se perdcios de tempo em modelagens e documenta-
vontade em poder contribuir com ela. .;(':)#50")%()*#1454+#8)#)1!"-$41#./!)+01$41#)($+8()!')
membros da equipe do projeto e, como consequncia,
Inspeo Arquitetural Contnua a qualidade e integridade das entregas.
Os dois principais pilares de qualquer abordagem
AB45)'/!G)m-#54%#%()()78#$'9#8N$14#6)F)9#8#)'()1!$'(- /referncias
guir isso, precisamos continuamente praticar a ins-
> James O. Coplien and Gertrud Bjornvig Lean Architecture
9(./!)()#%#9+#./!)%()+!%!')!')#8+(*#+!')98!%-34%!')
for Agile Software Development
em um processo de desenvolvimento de software.
C''4":) $#) #8,-4+(+-8#) AB45) 4''!) $/!) 0) %4*(8($+(6) > Srie de artigos sobre Arquitetura Evolutiva e
Observar a todo momento a qualidade dos cdigos- Design Emergente Neal Ford: http://www.ibm.com/
&*!$+(')98!%-34%!')(")8(5#./!)#!')9#%8;(')%()%('4B$) developerworks/java/library/j-eaed1/index.html
('+#J(5(14%!') 0) (''($14#5) 9#8#) #) (2!5-./!) '(B-8#) %#)
#8,-4+(+-8#6)C+0)9!8,-(:)#!)5!$B!)%!)%('($2!524"($- > Agile Modeling Home Page: Effective Practices for

+!:)$!2!')9#%8;(')%()%('B4$)48/!)("(8B48)%!')1P%4B!'- Modeling and Documentation Scott W. Ambler: http://


&*!$+(')98!%-34%!')X%('4B$)("(8B($+('U:)()'#J(8)!J- www.agilemodeling.com/
serv-los e aproveit-los sero de grande valia para a
> Eric Evans Domain-Driven Design: Tackling Complexity
'#k%()()1!$D#J454%#%()%#)#8,-4+(+-8#6)
in the Heart of Software
F)9#8#)8(#543#8)(''#)4$'9(./!:)$/!)98(14'#"!')D-
car analisando todos os cdigos-fontes manualmen- > Erich Gamma Design Patterns: Element of Reusable
te. Existem ferramentas gratuitas no mercado, tal Object-Oriented Software
1!"!)!) !$#8:),-()-+4543#)-"#)1!"J4$#./!)9#8#"(-
> The Responsible Designer Dont you want to take
+843#%#)%()"0+841#')9#8#)B(8#8)8(5#+P84!')%#),-#54%#%()
responsibility for your designs? Rebecca Wirfs-Brock:
dos cdigos em tempo real. Com isto, para a arquite-
http://wirfs-brock.com/blog/

para saber mais/ > Modelagem gil Melhorando o Aprendizado num


Projeto de Desenvolvimento Manuel Pimentel: http://www.
Na edio 43 da revista MundoJ, veja como utilizar a slideshare.net/manoelp/palestra-modelagem-gil-manoel-
ferramenta Sonar para extrair as principais mtricas para pimentel-presentation
as Arquiteturas geis no artigo sobre Evoluindo o design e
> Blog do Breno Barros: http://www.brenobarros.net
arquitetura atravs das mtricas do Sonar.

13 \