Você está na página 1de 47

UNIVERSIDADE FEDERAL DE LAVRAS

PROCESSOS GEIS APLICADOS NO DESENVOLVIMENTO DE JOGOS (NFASE EM SCRUM)

ERICK HENRIQUE SILVA GES

LAVRAS MINAS GERAIS BRASIL 200

ERICK HENRIQUE SILVA GES

PROCESSOS GEIS APLICADOS NO DESENVOLVIMENTO DE JOGOS (NFASE EM SCRUM)

Trabalho de Concluso de Curso apresentado Ao Departamento de Cincia da Computao da Universidade Federal de Lavras, como parte das Exi ncias do curso de !"s#$raduao Lato Sensu em !roduo de %o&t'are Livre, para obteno do t(tulo de Especiali)ao*

+rientador !ro&* Ahmed Ali Abdalla Esmin

LAVRAS MINAS GERAIS BRASIL 200

ERICK HENRIQUE SILVA GES

PROCESSOS GEIS APLICADOS NO DESENVOLVIMENTO DE JOGOS (ESTUDO DE CASO)

Trabalho de Concluso de Curso apresentado Ao Departamento de Cincia da Computao da Universidade Federal de Lavras, como parte das Exi ncias do curso de !"s#$raduao Lato Sensu em !roduo de %o&t'are Livre, para obteno do t(tulo de Especiali)ao*

A!,+-ADA em .... de ................de /001* !ro&*2.......................................... !ro&*2.......................................... !ro&* Ahmed Ali Abdalla Esmin UFLA 3+rientador4 LAVRAS MINAS GERAIS BRASIL 200

AGRADECIMENTOS

A radeo a 5esus Cristo em 6uem sou mais do 6ue vencedor* 7 minha esposa 8aria de F9tima ,odri ues %antos pelo apoio, pacincia e carinho com os 6uais me a:udou a che ar at; o &inal deste trabalho* E < minha &ilha Lara Cristina ,odri ues $"es, meu maior tesouro, e minha inspirao e &ora Aos meus ami os em eral e a toda a minha &am(lia* Ao meu orientador !ro&* Ahmed Ali Abdalla Esmin por sua orientao, pacincia e incentivo ao lon o de todo o processo de desenvolvimento deste trabalho* Ao corpo docente da UFLA 6ue me ensinou 6ue o conhecimento se constr"i com a busca constante pelo aprendi)ado e o es&oro de cada um de n"s= e 6ue o mesmo conhecimento 6uando adi6uirido deve ser sempre compartilhado de modo 6ue todos cresam e evoluam Aos cole as de curso pelos laos de ami)ade 6ue pudemos construir de &orma sincera e 6ue duraro por toda a minha vida* A Carlos Eduardo >nippschild pelos conhecimentos e simpatia transmitidos durante a execuo deste trabalho de pes6uisa*

RESUMO

Este trabalho tem como ob:etivo apresentar um hist"rico evolutivo do desenvolvimento de :o os eletr?nicos e as principais caracter(sticas da metodolo ia de desenvolvimento 9 il %C,U8 = identi&icando e analisando os pontos positivos e ne ativos desta metodolo ia 6uando os princ(pios e t;cnicas de desenvolvimento de so&t'are 9 eis so empre ados na produo de :o os eletr?nicos* Atrav;s de um estudo de caso diri ido a um pro:eto real de desenvolvimento de um :o o eletr?nico 6ue utili)a um processo de so&t'are com um con:unto de caracter(stiacs 9 eis, este trabalho visa apresentar uma concluso a respeito das 6ualidades deste modelo de processo*e de sua aplicabilidade em pro:etos de desenvolvimento de :o os open source @ &ree so&t'are*

P!"!#$!% &'!#(%) !rocessos de %o&t'are, 5o os Eletr?nicos, %C,U8, processos 9 eis*

ABSTRACT

This 'orA has as ob:ective to present a description o& evolution o& the development o& electronic ames and the main characteristics o& the and analB)in the

methodolo B o& a ile development %C,U8= identi&Bin

positive and ne ative points o& this methodolo B 'hen the principles and techni6ues o& a ile development o& so&t'are are used in the production o& electronic ames* Throu h a studB o& case directed to a real pro:ect o&

development o& an electronic ame that uses a process o& so&t'are 'ith a set o& characteristics a ile, this 'orA aims at to present a conclusion re ardin the

6ualities o& this model o& process*and o& its applicabilitB in pro:ects o& development o& eletronic ames open source@&ree so&t'are*

K(* +,$-%) so&t'are processes, eletronic ames, %C,U8, a ile processes*

SUMRIO ./ I01$,-234, 2/ O56(17#,% 2/. O56(17#,% G($!7% 2/2 O56(17#,% E%8(&9:7&,% ;/ D(%(0#,"#7<(01, -( J,=,% D7=71!7% ;/. H7%1>$7&, -, D(%(0#,"#7<(01, -( J,=,% D7=71!7% ;/2 P$,&(%%, T$!-7&7,0!" -( D(%(0#,"#7<(01, -( J,=,% D7=71!7% ;/; P$70&78!7% A1,$(% 0, M,-(", T$!-7&7,0!" -( D(%(0#,"#7<(01, D*D*C !ro ramador D*D*/ Artista /D D*D*D Artista DD D*D*E !ro ramadores D*D*F !ro:etista de Audio de 5o os 3$ame Audio Desi ner4 D*D*G !ro:etista de 5o os @ $ame Desi ner D*D*H L(deres de !ro:eto D*D*1 Testadores ;/? O E&,@%7%1(<! -! I0-A%1$7! -,% J,=,% D*E*C !ublishers D*E*/ Distribuidoras D*E*D Desenvolvedoras D*E*E 5o adores 3$ame !laBers4 ;/B E#,"234, -,% P$,6(1,% -( D(%(0#,"#7<(01, -( J,=,% D7=71!7% D*F*C D;cadas de H0 a 10 D*F*/ D;cada de I0 D*F*D Desenvolvimento de 5o os no %;culo JJK ;/C P$,5"(<!% -! E#,"234, -,% J,=,% D7=71!7% ( ! E0=(0'!$7! -( S,:1D!$( ;/E C!1(=,$7!% -( J,=,% D7=71!7% ?/ I01$,-234, !, M,-(", =7" -( D(%(0#,"#7<(01, SCRUM E*C De&inio de %C,U8 E*C*C !roduct LacALo 1 1 C0 C0 C0 C / / / / / D E E E E E E F G G G G G G H H H H 1

E*C*/ Desenvolvimento Kterativo baseado em %prints E*C*D %crum 8eetin s E*C*E Lurn Do'n Charts ?/2 D(%&$734, -!% F!%(% -! <(1,-,",=7! F=7" SCRUM E*/*C ,eunio de !lane:amento E*/*/ !roduct +'ner E*/*D %print !lannin 8eetin E*/*E %prints E*/*F Execuo das %prints E*/*G DailB 8eetin E*/*H Encontros Di9rios E*/*1 %print Lurn do'n E*/*I %print ,evie' 3,eunio de ,eviso4 E*/*C0 %print ,etrospective ?/; P!8G7% ( R(%8,0%!57"7-!-(% -(01$, -, SCRUM E*D*C !roduct +'ner 3Dono do !roduto4 E*D*/ %crum 8aster E*D*D %crum Team B/. F7",%,:7! =7" B/2 C7&", -( V7-! BF%7&, F*/*C De&inio dos itens da %print F*/*/ An9lise e atribuio de prioridades aos itens F*/*D Muebra dos itens em pe6uenas tare&as pela e6uipe F*/*E Execuo da %print no pra)o &ixado pela e6uipe F*/*F Liberao 3release4 de uma verso &uncional do :o o ou de parte dele F*/*G Avaliao do produto &inal erado ao termino da %print F*/*H Knte rao Continua Automati)ada F*/*1 ,eviso da %print executada e plane:amento da pr"xima %print 3%crum DailB4 F*/*I Encerramento do !rocesso de !roduo do 5o o B/; U%, -( SCRUM (< E<8$(%!% D(%(0#,"#(-,$!% -( J,=,%

CC CC CC C/ C/ C/ C/ C/ CD CD CD CE CE CE CE CF CF CF CG CH CH C1 C1 CI CI CI /0 /C /C //

B/ P$,&(%%, -( D(%(0#,"#7<(01, =7" -( J,=,% 5!%(!-, (< SCRUM CG

C/ E%12-, -( C!%, %,5$( , 2%, -( 8$,&(%%,% F=(7% 0, -(%(0#,"#7<(01, -( 6,=,% 0! (<8$(%! H,8",0 I0:,1!70<(01 G*C Escolha de !rocessos N eis para Desenvolvimento de 5o os G*/ 8odelo Atual de Desenvolvimento G*D Desa&io da Knte rao Cont(nua no Desenvolvimento de 5o os +nline G*E 8odelo de !rocesso de Desenvolvimento de %o&t'are G*E*C Ciclo de -ida G*E*/ Knte rao Cont(nua G*E*D ,euniOes de Controle Di9rias G*E*E !ap;is e FunOes E/ P,01,% :,$1(% -, <,-(", -( -(%(0#,"#7<(01, F=7" -( 6,=,% H*C !rioridade e &oco na 6ualidade do produto H*/ Automati)ao dos testes H*D Knte rao cont(nua H*E Pn&ase nos desenvolvedores H*F Adaptado para e6uipes hetero neas H*F 8elhor de&inio de pra)os e metas H*G 8udana de !aradi ma H*H ,9pida Adaptabilidade do Escopo do !roduto@%o&t'are H*1 Mualidade Kne oci9vel H*I !reviso de Es&oro J,=,% SCRUM .0/ C,0&"2%4, ../ B75"7,=$!:7! /D /D /D /E /E /E /G /H /1 /I /I /I /I /I D0 D0 D0 DC DC DC DC D/ DE DF

/ P,01,% F$!&,% -, M,-(", -( P$,&(%%, =7" 0, D(%(0#,"#7<(01, -( H/ A-!81!3I(% 0, 8$,&(%%, F=7" -( 8$,-234, -( 6,=,% 5!%(!-, (<

./ I01$,-234, + 6ue ; mais importante no desenvolvimento de um pro:eto de :o o de computadorQ As &erramentasQ As pessoasQ +u o processo de so&t'areQ Muais as vanta ens ao se empre ar as pr9ticas e valores da pro ramao 9 il e extrema, caracter(sticas da metodolo ia de desenvolvimento de so&t'are %C,U8, na produo de um :o oQ + %C,U8 pode ser empre ado com sucesso no processo de desenvolvimento de um :o o eletr?nicoQ Estas so per untas 6ue tentarei esclarescer ao lon o deste trabalho atrav;s da an9lise de um estudo de caso &eito a partir de um estudo do processo produtivo do :o o do estilo 88+,!$, TAK>+D+8, desenvolvido pela empresa brasileira Roplon Kn&otainment* Knicialmente ser9 apresentado um hist"rico do desenvolvimento de :o os di itais a partir da d;cada de H0, at; o ano de /001, com um detalhamento das principais &unOes exercidas dentro de uma e6uipe tradicional de desenvolvimento de :o os, os principais elementos do ecosistema do mercado de :o os, e as &ases de desenvolvimento de um :o o* %ero tamb;m apresentados os principais conceitos da metodolo ia %C,U8 para produo de so&t'are e uma concluso a respeito de sua aplicao na indSstria de :o os di itais*

2/ O56(17#,% 2/. O56(17#,% G($!7% Traar um hist"rico da evoluo do desenvolvimento de :o os decomputador, identi&icando as caracter(sticas do seu processo produtivo ao lon o dos anos, destacando o modelo tradicional de desenvolvimento de :o os e os principais elementos do seu eco#sistema e seu ciclo de vida= descrever o as principais caracter(sticas da metodolo ia de desenvolvimento 9 il %C,U8 e contextuali)a#las em cada &ase do ciclo de vida de um pro:eto de desenvolvimento de :o o baseado em %C,U8* 2/2 O56(17#,% E%8(&9:7&,% Desenvolver um estudo de caso em cima do processo produtivo de um :o o comercial, visando identi&icar suas principais caracter(sticas de desenvolvimento 9 il de so&t'are atrav;s de uma lista em dos principais valores e t;cnicas de pro ramao 9 il comuns < metodolo ia %C,U8, e avaliar os pontos positivos e ne ativos do empre o do processo 9 il %C,U8 numa linha de produo de :o os di itais* ;/ D(%(0#,"#7<(01, -( J,=,% D7=71!7% ;/. H7%1>$7&, -, D(%(0#,"#7<(01, -( J,=,% D7=71!7% A hist"ria do desenvolvimento de :o os eletr?nicos comea na d;cada de H0 e se estende at; a d;cada de 10 com os primeiros computadores pessoais populari)ados como !CTs, ou Personal Computers, e posteriormente migrando para plataformas de consoles de video ames comerciais como o Atari* Um dos primeiros :o os eletr?nicos desenvolvidos &oi o Pong, caracteri)ado por uma barra hori)ontal desli)ante cu:o ob:etivo era rebater um pe6ueno 6uadrado sem 6ue o 6uadrado ultrapassasse a barra* Al uns dos seus sucessores &oram o :o o Pit Fall e %pace Knvaders, tamb;m caracteri)ado pela baixa 6ualidade r9&ica*
2

Ua d;cada de I0, os :o os F!%3First !ersonal %hot4, ou de VTiro em !rimeira !essoaW, alcanaram altos n(veis em termos de 6ualidade r9&ica, impulsionados pelo lanamento de processadores mais poderosos e o aper&eioamento de hard'ares dedicados ao processamento de ima ens DD, as placas aceleradoras de v(deo $eForce e ,andeon, &abricadas pelas empresas U-idia e ATK respectivamente* 5unto ao salto de 6ualidade r9&ica sur em tamb;m os altos custos de produo de pro:etos de :o os DD, o 6ue tornaria o mercado de :o os eletr?nicos ainda mais restrito para novas empresas desenvolvedoras* +utras cate orias de :o os 6ue comearam a se desenvolver no &inal da d;cada de I0, e cu:o mercado se expande at; os dias atuais, so a cate oria de :o os para dispositivos m"veis, os mbile games, e os :o os para internet, 'eb ames* A partir do ano /000, novos pro:etos de :o os eletr?nicos, suportados por poderosas en ines r9&icas como a Unreal Tournament En ine, para a plata&orma !C, so lanados, e a 6uantidade de pessoas envolvidas na produo de um :o o F!% tamb;m cresce, che ando em al uns casos < exi ir centenas de pro&issionais das mais variadas especialidades t;cnicas e cient(&icas* + 6ue naturalmente, passou a exi ir mais dos erentes de pro:etos de software games* E obri ando as empresas a desenvolver uma constante re# en enharia do seu processo produtivo* ;/2 P$,&(%%, T$!-7&7,0!" -( D(%(0#,"#7<(01, -( J,=,% D7=71!7% As etapas 6ue compreendem um pro:eto b9sico de :o o so as se uintes2 tempestade de id;ias 3brainstormin 4 e de&inio de um plano de ne "cio= documento de brie&in 3$DD # $ame Desi n Document4= de&inio do tipo de :o o= eleio do nome do :o o= criao de lo otipo= elaborao de um roteiro do :o o= criao de artes conceituais de persona ens 3character desi n4 e de cen9rios @ &ases 3level desi n4 = modela em em trs dimensOes dos persona ens e cen9rios= criao de texturas e iluminao= storBboad= trilha sonora= pro ramao= testes do :o o 3test#plaB4= criao de trailers para

divul ao promocional= plano de marAetin = &inali)ao do :o o= lanamento da verso &inal do :o o= manuteno e desenvolvimento de patchs* ;/; P$70&78!7% !1,$(% -, <,-(", 1$!-7&7,0!" -( -(%(0#,"#7<(01, -( 6,=,% ;/;/. P$,=$!<!-,$ X o respons9vel pela pro ramao do :o o* Todos os detalhes da en enharia de so&t'are, tais como2 codi&icao da l" ica e inteli ncia arti&icial, pro ramao de shaders e scripts, renderi)ao de ima ens e sons, so de responsabilidade do pro ramador 6ue utili)a uma lin ua em de alto n(vel 3C@CYY, !Bthon, LUA, e 5ava4 para desenvolver o c"di o#&onte do :o o, ou ento, utili)a um en ine de :o o adi6uirida para este &im* ;/;/2 A$17%1! 2D %o os pro&issionais respons9veis pela criao da identidade visual de todos os elementos do :o o2 arte conceitual das persona ens, &i urinos, cen9rios, ob:etos e texturas* $eralmente, o artista /D desempenha tamb;m o papel de ame desi ner ou trabalha em con:unto com este* ;/;/; A$17%1! ;D %o os pro&issionais respons9veis por converter os desenhos

conceituais produ)idos pelos artistas /D em desenhos em trs dimensOes 3DD4* Uo caso de desenvolvimento de um :o o DD, estes pro&issionais tamb;m produ)em as se6Zncias de ao animadas e introdu)idas ao lon o dos :o os* ;/;/? P$,6(17%1! -( A2-7, -( J,=,% (G!<( A2-7, D(%7=0($) %o os pro&issionais respons9veis pela composio e mixa em das mSsicas e e&eitos sonoros dos :o os* ;/;/B P$,6(17%1! -( J,=,% (G!<( D(%7=0($)
4

Talve) este se:a o pro&issional mais vers9til de uma e6uipe desenvolvedora de :o os* + pro:etista de :o os ; respons9vel pela concepo das id;ias e detalhes 6ue comporo o :o o nos seus m(nimos detalhes* A escolha do tipo de :o o, redao do roteiro, storBboards, escolha do nome, criao das persona ens do :o o e de suas caracter(sticas psicol" icas, criao de cen9rios, sons e escolha da trilha sonora do ame, re ras do :o o, comandos b9sicos, se redos e recompensas ao :o ador, e por uma s;rie de outros detalhes* ;/;/C L9-($(% -( P$,6(1, %o os pro&issionais respons9veis por erenciar os recursos humanos e tecnol" icos 6ue devem ser or ani)ados e empre ados de &orma e&iciente para a produo de um :o o, dentro do pra)o pr;#estabelecido pelas publishers* Ao contr9rio do 6ue possa parecer para leitores desconhecedores da nature)a complexa do processo de desenvolvimento de um :o o di ital, a erncia de pro:etos ; uma 9rea essencial para 6ue as atividades de&inidas no crono rama do pro:eto se desenvolvam normalmente, podendo determinar o sucesso ou o &racasso de um pro:eto em um alto ou baixo n(vel* ;/;/ET(%1!-,$(% Uo &ilme V+ 6ueridinho da vov"W 3G$!0-<!J% B,*4, a persona em A"(K (C,#($1) L um homem de DF anos, anha dinheiro testando :o os para consoles* %im, uma empresa desenvolvedora pa ava um sal9rio mensal para 6ue o VtestadorW :o asse todos os seus :o os e apontasse erros de pro:eto* Di&erente dos consumidores 6ue precisam pa ar para :o ar o mais novo :o o de Sltima erao da temporada, os 1(%1!-,$(% -( 6,=,% L 1!<5G< &,0'(&7-,% &,<, 5(1! 1(%1($%L so contratados para :o ar a verso 5(1!, ou release de teste dos :o os antes de entrarem em produo em lar a escala*

;/? O E&,@%7%1(<! -! I0-A%1$7! -,% J,=,% ;/?/. P25"7%'($% ,espons9veis pela contratao das empresas desenvolvedoras de :o os, distribuidoras e campanha publicit9ria, os publishers ditam as re ras e pra)os sobre os 6uais um pro:eto de :o o para console ou computador pessoal ir9 se desenvolver* + processo produtivo ; acompanhado de perto pelos publishers 6ue podem apressar ou retardar o lanamento de um :o o de acordo com suas estrat; ias para venda do produto &inal nas prateleiras* %o os publishers 6ue assumem os riscos pelo sucesso ou &racasso de um :o o* ;/?/2 D7%1$7527-,$!% %o as empresas respons9veis pela lo (stica 6ue arantir9 6ue

centenas de milhares de c"pias de um :o o percorram o menor caminho poss(vel das desenvolvedoras, passando pelas lo:as especiali)adas, at; as mos dos consumidores* ;/?/; D(%(0#,"#(-,$!% Empresas desenvolvedoras de :o os :i uram no eco#sistema da indSstria do entretenimento di ital como as detentoras do expertise necess9rio para viabili)ar a produo de um :o o* Uo se costumam se envolver no processo de venda dos :o os, a menos 6ue 6ueiram aumentar sua mar em de lucros, escanteando as publishers. As e6uipes 6ue componhem as empresas envolvidas na produo de um :o o, podem variar de uma de)ena at; centenas de pro&issionais das 9reas de arte /D e DD 3modela em e animao4, pro ramao de l" ica e &(sica de :o o, mSsicos, ame desi ners, roteiristas, erentes de pro:eto e outros*

;/?/? J,=!-,$(% (G!<( P"!*($%) Finalmente, che amos ao &inal da Vcadeia alimentarW do eco# sistema da indSstria de :o os2 o :o ador, ou ame plaBer* +s :o adores podem ser classi&icados como :o adores casuais ou V:o adores barra pesadaW, hardcore plaBers* Entende#se como :o ador casual, a6uela pessoa 6ue :o a esporadicamente, na internet ou em um dispositivo m"vel, numa &eira de produtos eletr?nicos, ou num &liperama numa m96uina Arcade* +s :o adores Vbarra pesadaW che am at; ao n(vel de pro&issionar#se, participando de campeonatos mundiais de :o os F!%, ,!$ ou UT%*

;/B E#,"234, -,% P$,6(1,% -( D(%(0#,"#7<(01, -( J,=,% D7=71!7% ;/B/. DG&!-!% -( E0 ( 0 !rincipais Caracter(sticas2 Desenvolvedor Vsolit9rioW Ferramenta de Desenvolvimento !ropriet9ria Lin ua em de !ro ramao Estruturada Ciclo de -ida Curto 3 / a D semanas 4 L" ica do 5o o e Arte @ Animao Vin# ameW Laixo Custo de !roduo Laixa Complexidade de Al oritmos de 5o o

;/B/2 DG&!-! -( H0 !rincipais Caracter(sticas2 E6uipes de F a C0 membros Ferramentas de Desenvolvimento !r"prias 3MuaAe@Doom En ine, UT En ine, etc4
7

Lin ua ens de !ro ramao +rientadas a +b:eto 3CYY4 Ciclo de -ida Lon o 3 [ / a D anos 4 L" ica do 5o o e Arte @ Animao Vin@out# ameW Altos Custos de !roduo Alta Complexidade de Al oritmos de 5o o

;/B/; D(%(0#,"#7<(01, -( J,=,% 0, SG&2", MMI E6uipes de F0 a C00 membros [ Ferramentas de Desenvolvimento !ropriet9rias, !r"prias e +pen %ource 3Llender DD En ine4
-

Lin ua ens de !ro ramao +rientadas a +b:eto 3CYY, 5ava, !Bthon, LUA,etc4 Ciclo de -ida muito lon o 3[ F anos4 L" ica de 5o o e Arte @ Animao Vin@out# ameW Custos de !roduo ,estritivos Alta Complexidade dos Al oritmos de F(sica nos :o os 88+,!$s 38assive 8ultiplaBer +nline ,ole !laBin $ames4

;/C P$,5"(<!% -! E#,"234, -,% S,:1D!$( G!<(% ( ! E0=(0'!$7! -( S,:1D!$( Um :o o di ital produ)ido para a indSstria de entretenimento nada mais ; do 6ue um so&t'are com caracter(sticas distintas de outras caracter(sticas de cate orias de so&t'are como os aplicativos comerciais, e de aplicao cient(&ica ou industrial* Estas caracter(sticas distintas se re&erem basicamente ao seu ciclo de vida, e principalmente < sua metodolo ia ou processo de desenvolvimento* A &orma como so mapeados seus re6uisitos &uncionais e no &uncionais, a produo de arte&atos durante o desenvolvimento, o plano de testes, o controle de 6ualidade e o lanamento@distribuio de releases, patchs, e pacotes de expanso no mercado, tornam os produtos de so&t'are ames e

a sua respectiva erncia de pro:etos e produo, especialmente trabalhosos 3T4, complexos 3C4 e caros 3C4* Diante destes 0D3trs4 &atores, torna#se necess9rio discutir e detalhar um modelo ideal de gerncia de projeto baseado em uma metodolo ia de baixa complexidade e alta adaptabilidade diante de mudanas 6ue possam sur ir nos pro:etos de so&t'are ames cu:os re6uisitos &uncionais e no &uncionais so extremamente mut9veis e inesperados* ;/E C!1(=,$7!% -( J,=,% D7=71!7% 5o os Casuais 3Casual $ames4 5o os %;rios 3%erious $ames4 5o os Educacionais 3Educational $ames4 5o os \eb 3\eb $ames4 5o os para Dispositivos 8"veis 38obile $ames4 5o os Rardcore 3LlocA Lusters4

E* I01$,-234, !, M,-(", =7" -( D(%(0#,"#7<(01, SCRUM

?/. D(:70734, -( SCRUM %C,U8 ; uma metodolo ia 9 il para erenciamento de pro:etos de

so&t'are* Esta metodolo ia &oi inventada em CIID por 5e&& %utherland, 5e&& 8c>enna e 5ohn %cumniotales* %crum consiste de um a re ado de conceitos e pr9ticas de pro ramao extrema 3Extreme !ro rammin 4, Test Driven Development 3TDD4 e re&actorin = ob:etivando melhores resultados no desenvolvimento de so&t'are de 6ualidade* + corao do %crum se resume em 0F36uatro4 pr9ticas b9sicas, as 6uais so2 ?/./. P$,-2&1 B!&NL,= Consiste em identi&icar, listar e descrever todas as &uncionalidades do produto, representadas na &orma de re6uisitos &uncionais e no#&uncionais* Consiste tamb;m em de&inir 6uantas versOes#prot"tipo do so&t'are sero liberadas at; a verso &inal do so&t'are*

10

?/./2 D(%(0#,"#7<(01, I1($!17#, 5!%(!-, (< S8$701% Uma sprint consiste de um per(odo de / a E semanas no 6ual se executa os itens de&inidos no product bacAlo * ?/./; S&$2< M((170=% Encontros di9rios nos 6uais os membros da e6uipe de desenvolvimento se reSne para responder 6uatros per untas2 + 6ue voc &e) desde o Sltimo encontroQ + 6ue tem impedido seu trabalhoQ + 6ue voc plane:a &a)er at; o pr"ximo encontroQ ?/./? B2$0 D,D0 C'!$1% Lurn Do'n Charts so 6uadros onde so mostrados o andamento dos sprints, liberaOes do so&t'are e pro resso do desenvolvimento do produto* ?/./B S8$701 R(#7(D M((170= X o encontro reali)ado no &inal de toda sprint no 6ual se avalia tudo 6ue &oi executado durante a sprint*

11

?/2 D(%&$734, -!% F!%(% -! M(1,-,",=7! =7" -( -(%(0#,"#7<(01, 5!%(!-, (< SCRUM ?/2/. R(2074, -( P"!0(6!<(01, Desta reunio participam o %crum 8aster, o dono do produto 3!roduct +'ner4 e a e6uipe de desenvolvimento* Uessa primeira reunio o cliente apresenta o 6ue ele espera em termos de &uncionalidades 6ue o so&t'are execute, e 6ue valor de mercado dever9 ser considerado em cada &uno a ser implementada* A associao de um valor de mercado a cada re6uisito &uncional do so&t'are ser9 Stil para a priori)ao dos itens 6ue comporo o product backlog do so&t'are* ?/2/2 P$,-2&1 OD0($ X o respons9vel pelo investimento de recursos &inanceiros no pro:eto de so&t'are e 6uem det;m a palavra &inal no 6ue di) respeito a priori)ao dos itens 6ue sero executados dentro das sprints pela e6uipe de desenvolvimento* Acompanha atentamente todo o processo de produo do so&t'are, e utili)a o scrum m9ster como interlocutor entre a e6uipe de desenvolvimento de so&t'are e o dono do produto* ?/2/; S8$701 P"!0070= M((170= Consiste em uma reunio onde se de&ine a durao da sprint, os respons9veis pela execuo dos itens da sprint, e 6uais itens sero priori)ados nesta sprint* ?/2/? S8$701% + VsprintW no esporte, si ni&ica &a)er o Sltimo es&oro antes de cru)ar a linha de che ada* Levando para dentro do processo %crum, de&inir uma sprint

12

consiste em calcular 6uantos passos devem ser dados at; che ar ao ob:etivo &inal, o produto de so&t'are totalmente &uncional* A unidade b9sica de erenciamento no processo %C,U8 ; a Time Lox 6ue corresponde a pe6uenos ciclos, denominados sprints, ou intervalos curtos de tempo, de / a E semanas, nos 6uais se executam um con:unto de itens necess9rios e su&icientes para a produo de um prot"tipo de so&t'are &uncional ao &inal de cada sprint* ?/2/B EK(&234, -!% S8$701% Uma sprint corresponde a um con:unto de itens 6ue devero ser executados num intervalo de tempo 6ue deve variar de / a E semanas* Ao &inal de cada sprint deve existir um produto &uncional* !ara arantir o mesmo n(vel de 6ualidade deste produto em todas as sprints ; importante 6ue o a time box possua a mesma durao em todas as sprints* Desta &orma ; poss(vel mensurar tamb;m a produtividade da e6uipe, e estimular o refactorying constante do processo produtivo com o ob:etivo de criar uma verso do produto melhor a cada iterao* Um mecanismo muito importante no processo scrum so as reuniOes 3meetin s4 6ue se uem uma rotina di9ria, de reviso e retrospectiva* Este mecanismo &acilita o desenvolvimento das atividades durante as sprints* ?/2/C D!7"* M((170= %o reuniOes 6ue acontecem todos os dias, com durao de pelo menos CF minutos onde se discute o andamento do desenvolvimento* Uestas reuniOes r9pidas, 0E per untas b9sicas devem ser respondidas2 ?/2/E E0&,01$,% D7F$7,% %o reuniOes di9rias com durao m;dia de CF minutos no m9ximo, onde todos os membros 6ue desempenham al uma &uno dentro do pro:eto devem responder trs per untas b9sicas2 + 6ue voc &e) desde o Sltimo
13

encontroQ + 6ue tem impedido seu trabalhoQ + 6ue voc plane:a &a)er at; o pr"ximo encontroQ ?/2/ S8$701 B2$0 -,D0 Consiste em um con:unto de r9&icos onde podem ser acompanhados a execuo dos itens da sprint, o 6ue resta ser implementado, e se o 6ue &oi implementado acompanhou o plane:amento de&inido nas primeiras reuniOes de de&inio do product bacAlo * ?/2/H S8$701 R(#7(D (R(2074, -( R(#7%4,) Consiste de reuniOes de reviso 6ue acontecem ao &inal de cada sprint e in(cio da pr"xima iterao* Uas reuniOes de reviso a e6uipe conse ue medir sua produtividade, identi&icar poss(veis desvios de conduta na execuo dos itens da sprint, e se plane:ar para as pr"ximas atividades a serem desenvolvidas na pr"xima sprint* Estas reuniOes servem tamb;m para analisar se o 6ue &oi implementado at; o &inal da Sltima sprint atender9 as exi ncias do dono do produto de so&t'are, ou se:a, se os re6uisitos do so&t'are implementados realmente atendem aos re6uisitos &uncionais de&inidos no in(cio do pro:eto pelo dono do produto* ?/2/.0 S8$701 R(1$,%8(&17#( Consiste de uma reunio de avaliao dos itens executados durante uma sprint* X neste momento 6ue a e6uipe poder9 avaliar se os ob:etivos de&inidos ?/; P!8G7% ( R(%8,0%!57"7-!-(% -(01$, -, SCRUM Dentro do modelo de desenvolvimento 9 il do Scrum existem trs atores, 6ue atuam desempenhando di&erentes pap;is e executando atividades distintas dentro de cada sprint* %o eles o Product wner, Scrum !aster, e o Scrum "eam. -emos a descrio de cada um a se uir2
14

4.3.1 Product Owner (Dono do Produto) Desempenha um papel importante na hierar6uia de &unOes no scrum* X o dono do produto, literalmente &alando, e 6uem, de&ine2 +s re6uisitos do !roduto

As datas das releases do software e o 6ue deve ser entre ue a cada ciclo de iterao

Associao valores de mercado a cada re6uisito &uncional ou no do produto e priori)a 6ue re6uisitos sero implementados primeiro Tem a palavra &inal na an9lise do resultado &inal de cada ciclo de iterao* Aprova ou re:eita a release 3prot"tipo4 apresentada ao termino de cada sprint pelo %crum Team* 4.3.2 Scru

!aster

# o respons$%el pelo trabalho de motivao e or ani)ao das e6uipes em cada 9rea de atuao

Deve manter a colaborao e interatividade constante entre os membros das es6uipes Esta constantemente monitorando e desviando in&luncias externas 6ue possam pre:udicar o andamentos das atividades nas sprints X respons9vel por corri ir mudanas bruscas na execuo do con:unto de processos padrOes adotadas em cada &ase do pro:eto !articipa das reuniOes di9rias e do plane:amento das pr"ximas iteraOes Atua como um interlocutor entre o cliente e o scrum team 4.3.3 Scru "ea

$eralmente composto por F ou C0 pessoas !articipa diretamente da de&inio do product bacAlo :unto ao cliente X respons9vel pelo se6uenciamento dos itens 6ue sero executados com prioridade durante o desenvolvimento das sprints

15

X auto#disciplinado* + 6ue si ni&ica 6ue det;m total liberdade para escolher C+8+, + MUP, e MUAUD+ ser9 executada uma determinada tare&a dentro da sprint, desde 6ue os itens de&inidos como prioridades se:am executados e o ob:etivo alcanado antes do &inal da sprint* De&ine MUE8 &ar9 uma determinada tare&a dentro da sprint X respons9vel por executar o plano de testes de cada unidade do prot"tipo do so&t'are Controla os reposit"rios de dados e c"di os ,espons9vel pelo controle de inte rao de c"di o e dados ,espons9vel por compilar e lanar um prot"tipo do so&t'are a cada iterao, ou se:a, ao &inal de cada sprint

B/ P$,&(%%, -( D(%(0#,"#7<(01, =7" -( J,=,% 5!%(!-, (< SCRUM Embora o processo de desenvolvimento de :o os so&ra alteraOes e adaptaOes de uma empresa para outra, ; poss(vel de&inir uma estrutura b9sica, em &ases e por &unOes, de um modelo baseado em t;cnicas 9 eis de desenvolvimento* Esta estrutura ; descrita a se uir* B/. F7",%,:7! =7" Antes de tudo ; importante 6ue a e6uipe de desenvolvimento conhea os princ(pios do mani&esto 9 il e as t;cnicas propostas pela metodolo ia %C,U8, tais como2 -alori)ao de pessoas e comunicao sobre processos e &erramentas de erncia de pro:etos= Kmplementao e teste de so&t'are sobre modelos compreens(veis de documentos de ame desi n= Colaborao customi)9veis sobre contratos ,esposta a mudanas sobre se uimento de um plano Knteratividade

16

Diciplina Tare&as orientadas pelo compromisso do pro ramador Desenvolvimento orientado a resultados Lase de c"di o vis(vel permitindo a aplicao do senso comum E6uipes pe6uenas e multi#disciplinares

Tais valores sero essenciais para o sucesso de um pro:eto cu:o processo produtivo se ue ou pretende se uir as t;cnicas propostas pela &iloso&ia do desenvolvimento 9 il e pro ramao extrema* Este ; o ponto de partida do modelo de desenvolvimento 9 il de :o os eletr?nicos* B/2 C7&", -( V7-! BF%7&, + ciclo de vida b9sico para desenvolvimento de um :o o, baseado em %C,U8, se resume em 01 &ases, a saber2 B/2/. D(:70734, -,% I1(0% -! S8$701 Em %C,U8, uma %print ; um pe6ueno ciclo de iterao baseado em !DCA 3!lane:amento3P"!04, Execuo3D,4, Avaliao3C'(&N4 e Ao3A&144, 6ue deve ser executado num pra)o &ixado pela e6uipe e ao &inal do 6ual deve ser entre ue um incremento de so&t'are pronto 6ue corresponda a um item ou a todos os itens correspondentes a um re6uisito &uncional do so&t'are de&inido no con:unto de re6uisitos 3backlog4 do produto* Uo in(cio da %print, o3s4 dono3s4 do produto 3P$,-2&1 OD04, eralmente uma publis&er, mais o diretor de arte, ame desi ner, diretor de produo, l(der de pro ramao, etc em con:unto com o Scru !aster, de&inem 6uais itens do backlog sero executados durante a sprint* Uo h9 um papel principal ou centrali)ador 6ue dite o backlog= todos os l(deres da e6uipe participam deste processo inicial*

17

B/2/2 A0F"7%( ( !1$752734, -( 8$7,$7-!-(% !,% 71(0% A prioridade de execuo de um item ; de&inida como 'A()A ou AL"A* %o levados em conta E &atores na hora de atribuir uma prioridade ao item, 6ue so2 seu #!",$ para o pro:eto, o &2%1, necess9rio para sua execuo, o $7%&, envolvido, e o &,0'(&7<(01, necess9rio para executar o item* + valor de um item para um pro:eto de um :o o ; vari9vel e depender9 do peso 6ue os donos do produto iro atribuir a este em relao a 6ualidade &inal do :o o e ao seu potencial inovativo* A indSstria dos :o os eletr?nicos ; muito competitiva, e a cada erao, novas e surpreendentes caracter(sticas 3&eatures4, so adicionadas ao ame plaB dos :o os, como por exemplo, a capacidade de um persona em &icar invis(vel a 6ual6uer momento da ao e em 6ual6uer &ase do :o o, a exemplo do :o o CrBsis de /00H produ)ido pela empresa C,]TEC>* 8as inovar no desenvolvimento de :o os envolve custos de produo, 6ue vem atrelados aos riscos de uma determinada &eature atin ir o n(vel de 6ualidade dese:ado pelo ame desi ner, por exemplo, e@ou no ser bem aceita pelo pSblico de :o adores e consumidores de um determinado estilo de :o o* E &inalmente temos o &ator conhecimento, 6ue di) respeito exatamente a habilidade 6ue os pro ramadores precisam ter para trans&ormar uma id;ia &ant9stica em realidade na verso &inal do :o o* B/2/; Q2(5$! -,% 71(0% %("(&7,0!-,% (< 8(O2(0!% 1!$(:!% 8("! (O278( Ap"s elaborar a lista de itens selecionados para a sprint, ; autori)ada a liberao desta lista para 6ue a e6uipe de ame desi n, arte e pro ramao possa selecionar o 6ue ir9 &a)er primeiro, se uindo as prioridades pr;#de&inidas para cada item* Ueste ponto do processo cada item ser9 dividido em pe6uenas tare&as 6ue podero ser executadas pela e6uipe da melhor &orma poss(vel*

18

B/2/? EK(&234, -! S8$701 0, 8$!P, :7K!-, 8("! (O278( Embora em %C,U8 no se estabelea um pra)o r( ido de entre a de tare&as, cada membro da e6uipe precisa ser conscienti)ado da import^ncia 6ue sua ao ter9 para o bom andamento da sprint e no sucesso do pro:eto como um todo, e 6ue os resultados dos seus trabalhos devero ser diri idos pelo compromisso de entre ar al o pronto, testado e 6ue atenda as exi ncias de 6ualidade estabelecidas pelo dono do produto* A e6uipe ; 6uem decide de 6ue &orma ir9 trabalhar a sprint, 6uem ir9 &a)er o 6u, o 6ue ser9 &eito primeiro, o 6ue ser9 testado, e 6uando a sprint ser9 considerada conclu(da* A interatividade e comunicao entre os membros da e6uipe ; um dos pontos &ortes de %C,U8 no desenvolvimento de :o os, uma ve) 6ue a produo de um :o o envolve multiplas disciplinas, exi indo uma ateno especial em saber como as outras e6uipes esto trabalhando, no 6ue esto trabalhando, e 6ue problemas esto en&rentando* A pro ramao em duplas caracter(stica da J! ; comum em empresas 6ue desenvolvem :o os, podendo as ve)es che ar a envolver mais de uma e6uipe por 9rea na soluo de um problema* B/2/B L75($!34, ($("(!%() -( 2<! #($%4, :20&7,0!" -, 6,=, ,2 -( 8!$1( -("( Uma ve) 6ue se tenha erado um c"di o de uma nova &eature, este

dever9 ser testado de &orma automati)ada pelo pro ramador at; atin ir um estado &uncional per&eito 6ue atenda < bacAlo * Uesta &ase ; erado um incremento de so&t'are 6ue corresponda a um demo :o 9vel completo ou parcial _ onde apenas &unOes b9sicas se:am executadas como por exemplo2 andar, pular, abaixar, correr, etc, 6ue ser9 acrescentado ao reposit"rio de c"di o via %-U, e permanecer9 em estado de a uardando liberao para ser inte rado < base de c"di o principal do :o o 3Alpha@Leta4 tamb;m de &orma automati)ada* B/2/C A#!"7!34, -, 8$,-21, :70!" =($!-, !, 1($<70, -! S8$701 Ap"s terminada a sprint, a e6uipe de ame desi n e de MA 3Mualidade4

19

avaliam se o 6ue os desenvolvedores produ)iram atende aos padrOes de 6ualidade pr;#estabelecidos pelo !roduct +'n= testando novamente a nova &eature do :o o, 6ue se &or aprovada recebe autori)ao para ser inte rao < base de c"di o Alpha@Leta do :o o* Cada release de uma nova &eature criada, testada, aprovada e inte rada a base de c"di o prepresenta o &inal de um ciclo b9sico de Desi n < Desenvolvimento < Teste < Luild da -erso Alpha @ Leta do :o o* B/2/E I01(=$!34, C,01902! A21,<!17P!-! Knte rao continua em desenvolvimento de so&t'are si ni&ica executar de maneira se ura e autom9tica a an9lise e inte rao 3consolidao4 de c"di os desenvolvidos por v9rias e6uipes de pro ramadores 6ue si am uma metodolo ia padro, de modo a arantir a inte ridade da base de c"di o &inal de um produto de so&t'are* Esta &uno pode ser desempenhada por so&t'ares open source de inte rao e Dentro de continua como um RUD%+U de 3https2@@hudson*dev*:ava*net@4 3http2@@cruisecontrol*source&or e*net4* C,UK%EC+UT,+L processo

desenvolvimento de :o os online, por exemplo, a inte rao cont(nua e autom9tica de c"di o ; essencial para arantir a 6ualidade e inte ridade da base de c"di o de um pro:eto de :o o, e sempre vem atrelada a uma &erramenta de controle de mudanas e mapeamento de ocorrncias de erros como LU$`KLLA, 8AUTK%, ou T,AC* Embora a aplicao de pr9ticas %C,U8 numa empresa de :o os aumente consideravelmente a produtividade da e6uipe, e aranta uma reviso constante do processo produtivo das sprints, a 6uantidade de novas inte raOes na base de c"di o principal do :o o ; muito rande e ocorre praticamente diariamente, uma ve) 6ue as sprints se desenvolvem paralelamente, erando uma alta demanda por erencia se ura de inte rao e teste de so&t'are* %em um sot'are de inte rao cont(nua autom9tica, o uso de %C,U8 pode tra)er problemas para a produtividade da e6uipe, e comprometer a 6ualidade do produto &inal dese:ada*

20

B/2/ R(#7%4, -! S8$701 (K(&21!-! ( 8"!0(6!<(01, -! 8$>K7<! S8$701 (S&$2< D!7"*) Muando o ciclo de iterao da splint termina, ; a hora de reunir todos os l(deres de e6uipe para avaliar a execuo da sprint e os resultados obtidos* Em %C,U8, isto ; conhecido como *euni+o ,i$ria, ou Scrum ,aily-Scrum ,i$rio.* Uesta reunio devem ser respondidas 0D per untas b9sicas2 + 6ue &oi &eitoQ + 6ue &alta &a)erQ Existe al um problema impeditivoQ ,espondidas as 6uestOes acima, inicia#se um novo ciclo e uma novo con:unto de itens ; executado* B/2/H E0&($$$!<(01, -, P$,&(%%, -( P$,-234, -, J,=, + processo de produo do :o o ; dado como encerrado, 6uando todo o con:unto de re6uisitos do backlog &orem atendidos completamente e o dono do produto 3product o'n4 aprovar a release &inal do :o o por considerar 6ue esta atende aos padrOes de 6ualidade dese:ados e necess9rios para o lanamento do :o o no mercado comercial*

21

B/; U%, -( SCRUM (< E<8$(%!% D(%(0#,"#(-,$!% -( J,=,% A&im de identi&icar as vanta ens e desvanta ens do uso de Scrum no desenvolvimento 9 il de :o os, na pr9tica, &oi necess9rio executar uma pes6uisa :unto a uma desenvolvedora de :o os DD pro&issional, para identi&icar o 6ue realmente ; e pode ser usado de Scrum num processo real de desenvolvimento de um :o o da cate oria dos ou 88+,!$, ou :o os de interpretao de persona em online e em massa para mSltiplos :o adores 38assivelB ou 8assive 8ultiplaBer +nline ,ole#!laBin $ame ou 8ulti massive online ,ole#!laBin $ame4 * A se uir ; apresentado um estudo de caso da empresa R+!L+U KUF+TAKU8EUT, desenvolvedora do 88+,!$ TaiAodom, um dos :o os mais revolucion9rios e promissores da indSstria de :o os di itais nacional* Ueste estudo de caso &oram identi&icados os pontos positivos e ne ativos do uso de processos 9 eis no desenvolvimento de :o os DD multi#:o ador, dando#se uma n&ase as pr9ticas caracter(sticas do modelo %crum*

22

C/ E%12-, -( C!%, %,5$( , 2%, -( 8$,&(%%,% F=(7% 0, -(%(0#,"#7<(01, -( 6,=,% 0! (<8$(%! H,8",0 I0:,1!70<(01 C/. E%&,"'! -( P$,&(%%,% =(7% 8!$! D(%(0#,"#7<(01, -( J,=,% Desde antes de /00E, os l(deres da empresa Roplon Kn&otainment, sediada em %anta Catarina, e desenvolvedores do :o o TaiAodom 3http2@@taiAodom*com*br@4 # primeiro 88+,!$ (M!%%7#("* M2"178"!*($ O0"70( R,"(@P"!*70= G!<(4 C00a brasileiro desenvolvido desde /00E, :9 percebiam o alinhamento do seu modo de desenvolver com os valores prepados pelo mani&esto 9 il* Da( comeou a ser adotado um processo de desenvolvimento derivado do J!* A partir de /00G os desenvolvedores da Roplon Kn&otainment tomaram conhecimento do processo 9 il %crum, atrav;s de uma palestra 6ue um dos diretores assistiu num con resso internacional* + &ato da metodolo ia %C,U8 inter&erir apenas no n(vel do processo de desenvolvimento e no diretamente na &orma de pro ramao essencialmente, contribuiu para a escolha desta metodolo ia como modelo b9sico de desenvolvimento na pr9tica* Finalmente em /00H os l(deres do pro:eto TaiAodom tiraram uma certi&icao em %crum master, o 6ue lhes deu o embasamento t;cnico necess9rio para aplicar os valores e atividades pre ados pela metodolo ia 9 il no processo produtivo da empresa de :o os*

C/2 M,-(", A12!" -( D(%(0#,"#7<(01, Embora o modelo atual de desenvolvimento do :o o TaiAodom se baseie bastante em %C,U8, tamb;m nota#se caracter(sticas e pr9ticas propostas pela metodolo ia de J! no processo de produo, tais como2

527"- !21,<F17&, e 701(=$!34, &,01902! Q 5!%( -( &>-7=,= 8$,=$!<!34, (< 8!$(% (P!7$ 8$,=$!<<70=) 6ue de ve) em 6uando ; usada para solucionar problemas de di&(cil soluo, exi indo o trabalho con:unto de v9rios pro ramadores=

T(%1 -$7#(0 -(#(",8<(01 (TDD) 6ue envolve o -(%(0#,"#7<(01, -( 1(%1(% !21,<!17P!-,% 8!$! O2!"O2($ 1!$(:! $(!"7P!-!* Ravendo a possibilidade de se criar um teste automati)ado, este ser9 &eito*

23

C/; D(%!:7, -! I01(=$!34, C,01902! 0, D(%(0#,"#7<(01, -( J,=,% O0"70( !or envolver di&entes disciplinas num mesmo produto, o :o o TaiAodom, o sistema produtivo deste tipo de so&t'are exi e um trabalho cont(nuo de superviso, adaptao e inte rao cont(nua, visando a inte ridade e a 6ualidade &inal da base de c"di o do produto@:o o* +utra caracter(stica 6ue tornou vi9vel a pr9tica de processos 9 eis na produo do :o o TaiAodom &oi o &ato deste ser um :o o online 6ue encontrava#se em verso beta, at; o se undo semestre de /001 e 6ue estava sendo :o ado o tempo todo na sua Sltima verso por milhares de :o adores em tempo real, tornando extremamente necess9rio um sistema de inte rao cont(nua autom9tica e exi indo um processo de desenvolvimento din^mico* 59 no caso de um :o o de caixa, ou o&&#line, este apresenta um ciclo de vida maior em relao ao tempo de plane:amento, desenvolvimento, teste e lanamento de uma verso est9vel e livre de erros 3bu s4= o 6ue torna poss(vel a adoo de um modelo de desenvolvimento menos din^mico e mais &ormal do 6ue o %C,U8 ou outro processo 9 il*

C/? M,-(", -( P$,&(%%, -( D(%(0#,"#7<(01, -( S,:1D!$( C/?/.C7&", -( V7-! + processo de desenvolvimento de so&t'are na empresa Roplon Kn&otainment ; baseado em ciclos de itera/0es cu:a durao varia de D a G semanas, dependendo da complexidade, recursos e custos de desenvolvimento das tare&as* Cada um destes ciclos de iterao ; acompanhado lo o no in(cio de uma etapa de plane:amento onde so de&inidos os ob:etivos, ,2 itens selecionados do bacAlo do produto, 6ue devero a ser cumpridos ao &inal da sprint* Esta etapa de plane:amento conta com a participao de um coordenador de produo 3diretor3es4 de produo4, do l(der de pro ramao 3pro rammin leader4 e do l(der de ame desi n* Ap"s de&inidos os itens selecionados, e atribuidas prioridades de execuo, ; disponibili)ada < e6uipe de desenvolvimento uma lista onde os desenvolvedores devero estudar estes itens e a dividi#los em pe6uenas

24

tare&as a serem executadas ao lon o da sprint* Uo entanto, se undo a coordenao de produo, 6uase nunca se conse ue um detalhamento total de todas as tare&as necess9rias para concluso de um item* X comum 6ue novas tare&as sur:am a medida 6ue a sprint vai avanando* !aralelamente ao desenvolvimento da execuo dos itens, um controle r( ido de identi&icao e correo de erros 3bu &ixin 4 ; reali)ado* + mapeamento de era ; &eito atrav;s de uma &erramenta chamada 8antis bu # tracAer, dispon(vel no http#$$www. antisbt.org$ # atualmente a Roplon Kn&otainment adi6uiriu e utili)a a &erramenta 5ira para controle de erros (http#$$www. ondo.co .br$jira$). Erros de prioridade alta so imediatamente tratados pelos desenvolvedores respons9veis pelo c"di o 6ue Este controle erou o erro* arante 6ue todos os erros se:am solucionados at; o &inal da

sprint, evitando 6ue um erro rave possa se extender at; a pr"xima iterao ou provocar novos erros* !ara re&orar a import^ncia de corri ir os erros ocorridos durante a sprint a coordenao do pro:eto desenvolve um trabalho de conscienti)ao constante da e6uipe de desenvolvimento para 6ue entendam 6ue um item 6ue est9 sendo desenvolvido pode entrar a 6ual6uer momento na verso beta do :o o@so&t'are* Uma rotina &oi ento criada e ; se uida 6uase 6ue reli iosamente pelos desenvolvedores2 manter o estado atual do pro:eto 3READ do C-%4 sempre consistente e livre de erros* X importante observar 6ue o trabalho de conscienti)ao dos desenvolvedores, no tocante a correo respons9vel de erros, ; to importante 6uanto o modelo de procedimentos e tare&as adotado e se uido, se:a ele 9 il ou no* ,urante o desen%ol%imento da sprint s+o gerados %$rios deploys parciais do 1ogo. Para encerrar a sprint 2 lan/ado um -(8",* final de uma no%a %ers+o do 1ogo, fec&ando a entrega da itera/+o.

25

C/?/2 I01(=$!34, C,01902! Knte rao cont(nua ; uma atividade muito usada em Extreme !ro ramin e 6ue consiste basicamente em inte rar um novo c"di o, ou trecho de c"di o, ao con:unto de c"di o b9sico 3base de c"di o4 de um so&t'are, diversas ve)es, com alteraOes &eitas por pessoas di&erentes, e de maneira se ura ao ponto de arantir 6ue a base de c"di o de produo permanea consistente e livre de erros ao &inal de cada inte rao* Em um pro:eto da complexidade do :o o TaiAodom, um 88+,!$ 38ulti 8assivo +nline ,ole !laBin $ame4 onde de)enas de pro ramadores trabalham paralelamente, inte rando num reposit"rio central, inumeras ve)es por dia, tudo o 6ue ; desenvolvido e testado, esta tare&a de inte rao cont(nua precisava ser reali)ada de &orma autom9tica e de modo a dese:ada* + processo de inte rao cont(nua utili)ado pela e6uipe de arantir uma alta produtividade da e6uipe de desenvolvimento e a 6ualidade do produto@:o o

desenvolvimento do :o o TaiAodon &oi ento modelado e se ue basicamente os se uintes passos2 A4 Muando um desenvolvedor conclui a implementao de um novo c"di o este c"di o ; enviado para o reposit"rio pelo so&t'are de controle de verso 3%-U, C-%, etc4* !aralelamente a isto o Ser%idor de &ntegra'(o )ont*nua (SIC) monitora o reposit"rio central veri&icando se ocorrero modi&icaOes na base de c"di o L4 Muando uma operao de commit ; reali)ada, o servidor de inte rao cont(nua analisa as mudanas 6ue ocorreram no reposit"rio da base de c"di o, iniciando automaticamente o processo de execuo do script de building a partir dos ar6uivos baixados do %ervidor de Controle de -erso* As alteraOes so testadas, erando um lo de alteraOes e@ou impacto, e so ento inte radas < base de c"di o principal*

26

C4 + %ervidor de Knte rao Cont(nua emite um relat"rio via e#mail com o resultado do impacto erado pelas alteraOes para os l(deres de pro:eto e desenvolvedores respons9veis pela nova &eatura inte rada < base de c"di o* D4 + %KC retorna ao status de monitoramento de mudanas no reposit"rio E4 A cada nova3s4 &eature3s4, h9 uma aprovao &ormal da e6uipe de ga e design de 6ue a &eature implementada atende aos re6uisitos exi idos, ou se:a, &unciona como deveria* A6ui podem ocorrer retrabalho, caso esta &eature apresente al um desacordo em relao aos re6uisitos* F4 Ap"s a aprovao da nova &eature pela e6uipe de game design, essa &eature passa a ser testada pela e6uipe de MA* !ara isto ; necess9rio 6ue &eature tenha sido testada e considerada pronta extensivamente= lo o ap"s a provao da &eatura pela MA, so executados novos builds, menos extensivos, mas de &orma constante*

C/?/; R(207I(% -( C,01$,"( D7F$7!% %e uindo a metodolo ia %C,U8, so reali)adas reuniOes di9rias envolvendo todos os desenvolvedores a&im de responder trs per untas b9sicas2 + 6ue &oi &eitoQ + 6ue ir9 ser &eito, e por 6uem ser9 &eitoQ Mual problema inpeditivo ocorreu durante a sprintQ Estas reuniOes so importantes pois servem para 6ue a e6uipe tenha uma noo do status atual do pro:eto e controle sobre o andamento do mesmo* Est9 ; uma atividade su erida no %C,U8 6ue torna o processo de desenvolvimento transparente e altamente produtivo*

27

+.4.4 Pap,is e -un'.es A e6uipe de produo da Roplon Kn&otainment se divide basicamente entre os se uintes pap;is &uncionais2 @ L9-($ -( 8$,6(1,2 respons9vel pelo plane:amento e coordenao da e6uipe e de suas atividades di9rias= desenpenha a &uno tanto de %crum 8aster 6uanto a de erente de pro:etos, sendo respons9vel pela or ani)ao das reuniOes de controle di9rias, e da soluo dos problemas impeditivos 6ue este:am pre:udicando o andamento 9 il da3s4 %print3s4* @ P$,-21,$) respons9vel pelo plane:amento da %print e pela direo do desenvolvimento das atividades, e pelas decisOes 6ue possam inter&erir diretamente no desenrolar da %print* Trabalha numa relao estreita com a 9rea de ame desi n, mas mant;m comunicao constante com todas as outras 9reas do processo produtivo do :o o* 3 L9-($(% -( F$(!2 respons9veis t;cnicos pelas principais 9reas de desenvolvimento do :o o, sendo elas2 =!<( -(%7=0L 8$,=$!<!34,L !$1( ( &,01$,"( -( O2!"7-!-(/ Cada um trabalha de maneira di&erente nas suas 9reas, tanto por caracter(sticas pessoais 6uanto pela maneira de trabalhar de cada e6uipe* # O21$!% :203I(% (K(&217#!%2 pro ramadores, artistas, editores de conteSdo, testadores, ame masters etc* Existem ainda duas &unOes de 9reas 6ue no esto envolvidas diretamento no processo de desenvolvimento do :o o, mas 6ue participam do produto, so elas2
-

ame desi ners,

L9-($ -( ,8($!34,) respons9vel pela administrao do par6ue de servidores e pelo linA para o servidor do :o o*

L9-($ -( %28,$1() respons9vel pelo atendimento < re6uisiOes dos clientes*

28

E/ P,01,% :,$1(% -, <,-(", -( -(%(0#,"#7<(01, F=7" -( 6,=,% A se uir so identi&icados e descritos os pontos &ortes do modelo de desenvolvimento 9 il 6ue utili)a %C,U8 como base* E/. P$7,$7-!-( ( :,&, 0! O2!"7-!-( -, 8$,-21, A soluo de bu s de alta prioridade antes do &inal da sprint e entre a da iterao embora ocasione o con elamento do desenvolvimento de novas &eatures do :o o por um determinado tempo, arante 6ue a 6ualidade do produto ; arantida passo#a#passo, sprint a sprint, at; sua verso &inal*

E/2 A21,<!17P!34, -,% 1(%1(% + anho de produtividade e economia de tempo so not9veis :9 6ue a automati)ao dos testes de c"di o de novas &eatures do :o o poupa a e6uipe de trabalho manual*

E/; I01(=$!34, &,01902! Com a inte rao dos testes automati)ados no processo de build autom9tico, obtem#se um ciclo virtuoso 6ue praticamente obri a a execuo dos testes por parte dos desenvolvedores* A inte rao continua produto* arante tamb;m a inte ridade da base de c"di o do :o o@so&t'are e a 6ualidade do

E/? 0:!%( 0,% -(%(0#,"#(-,$(% Como so os pr"prios pro ramadores 6ue escolhem 6ual item iro reali)ar primeiro considerando a lista de itens e de prioridades estabelecidas estabelecidas pelos l(deres e direo h9 uma mudana na maneira como os desenvolvedores passaram a encarar a viso das tare&as a serem cumpridas* Embora se:a comum o costumeiro Vempurro)inhoW por parte da liderana ou do coordenador de produo, em eral os pro ramadores escolhem o 6ue vo 6uerer &a)er num determinado per(odo de tempo 3hora, dia, semana4, sem muita inter&erncia dos l(deres*

29

E/ B A-!81!-, 8!$! (O278(% '(1($,=R0(!% + processo atualmente empre ado, tende a valori)ar mais as opiniOes, especialmente as t;cnicas, dos l(deres de e6uipe, por serem as pessoas mais experientes no tocante a conhecimentos de pro ramao*

E/ C M("',$ -(:70734, -( 8$!P,% ( <(1!% Com um m;todo para ser se uido e valores e pr9ticas de pro ramao 9 il pr;#de&inidas, a e6uipe de plane:amento conse ue prever e mensurar com mais preciso as pr"xima estapas do processo produtivo, avaliar melhor os riscos do pro:eto, e controlar as execuo de cada item e respectivas tare&as das %prints* + aprendi)ado obtido ao &inal de cada %print, dentro dos pra)os e metas plane:ados acabam tornando os impactos de mudanas repentinas nos re6uisitos do so&t'ares#:o os :9 implementados, testados e inte rados a verso &inal do so&t'ares#:o os menos custosas em relao < tempo e ao es&oro da e6uipe de desenvolvimento* Com isto anhou#se produtividade e maior 6ualidade &inal das novas &eatures criadas a cada iterao*

E/ E M2-!03! -( P!$!-7=<! As mudanas 6ue o empre o de t;cnicas e valores de pro ramao 9 il trouxeram para a empresa de :o os Roplon Kn&otainment ocorreram no s" nos processos mas tamb;m nas pessoas* Entre ar ao &inal de cada %print um c"di o testado ao m9ximo e &uncionando corretamente se tornou um habito e o ideal de todos os desenvolvedores do :o o TaiAodom, e no uma excesso _ se uindo a linha de pensamento 6ue di) V%e no &or a:udar, pelo menos no atrapalheW*Tal mudana passou a ocorrer ap"s a direo e os coordenadores do pro:eto do :o o TaiAodon decidiram tornar o READ do C-% exposto de maneira 6ue 6ual6uer &eature pronta publicada no reposit"rio poderia ser inte rada imediatamente a verso beta ou &inal do :o o@so&t'are, ou se:a, a verso do ambiente de produo, acessada e :o ada pelos usu9rios &inais* Ksso tamb;m in&luenciou na 6ualidade do produto@so&t'are*

30

E/

@ RF87-! A-!81!57"7-!-( -, E%&,8, -, P$,-21,SS,:1D!$( Como o processo de so&t'are ; dividido em pe6uenas etapas 3%prints4

6ue duram cerca de E semanas, uma mudana no escopo do produto poder9 ser &acilmente assimilada pela e6uipe de desenvolvimento, muitas ve)es permitindo 6ue novos itens selecionados e tare&as se:am acrescentadas <s :9 existentes na %print em execuo, antes do t;rmino do ciclo atual*

E/H @ Q2!"7-!-( I0(=,&7F#(" Di&erente do modelo tradicional de desenvolvimento de so&t'are, no

6ual eralmente se priori)a a entre a do produto nem sempre atendendo as exi ncias de 6ualidade de so&t'are do mercado e@ou do usu9rio &inal, numa empresa onde as melhores pr9ticas de pro ramao extrema e 9 il so empre adas, priori)a#se a 6ualidade &inal do produto sempre e de &orma ine oci9vel* X obri at"rio testar cada uma das &eatures implementadas, e nada ser9 inte rado < verso &inal do so&t'ares#:o os, sem antes passar por um r( ido processo de an9lise e aprovao da coordenao de produo e da 9rea de ame desi n*

E/.0 @ P$(#7%4, -( E%:,$3, Uma ve) 6ue cada etapa ; acompanhada de perto pela coordenao de produo, e diariamente a e6uipe se reune para discutir e avaliar o estado atual do pro:eto do so&t'ares#:o os, respondendo as per untas de controle, conse ue#se avaliar exatamente 6uanto es&oro humano, material e temporal ser9 necess9rio para executar determinado item da %print*

/ P,01,% F$!&,% -, M,-(", -( P$,&(%%, =7" 0, D(%(0#,"#7<(01, -( J,=,% + 6ue &oi identi&icado como ponto &raco no modelo atual do processo de desenvolvimento da empresa consultada ; a reduo na participao do rupo de membros do pro:eto como um todo na tomada &inal de decisOes* Embora exista o canal de comunicao aberto entre a e6uipe de desenvolvedores, e de

31

outras 9reas de produo 6ue podem dar seu &eedbacA diretamente aos l(deres, estes Sltimos so 6uem decidem O O2( %($F :(71,T Q2!0-, %($F :(71,T E O2!0-,T !or se tratar de uma e6uipe muito hetero nea em relao a experincia pro&issional nas 9reas de edio de conteSdo, pro ramao, ame desi n, arte e animao, testes de so&t'ares, etc priori)ou#se a opinio dos l(deres por6ue estes possuem uma noo melhor sobre o tempo necess9rio para se executar determinadas tare&as e a prever poss(veis problemas 6ue possam a&etar a concluso de uma determinada %print* Um outro ponto &raco identi&icado no pelo uso de %C,U8 no processo de produo de um :o o ; descrito a se uir*

/. A-!81!3I(% -, 8$,&(%%, F=7" -( 8$,-234, -( 6,=,% 5!%(!-, (< SCRUM SCRUML por ser um modelo de desenvolvimento baseado num con:unto de conceitos e de pr9ticas de pro ramao extrema 3Extreme !ro rammin 4 possui um apelo muito &orte na melhoria do processo de so&t'are, tanto 6ue propOe a pr9tica de pro ramao orientada &ortemente ao teste 3Test Driven Development4 e ao re&actorin de c"di o visando a melhor 6ualidade e per&ormance dese:9vel do so&t'ares#:o os= valori)ando mais a atitude e as expectativas e opiniOes das pessoas envolvidas no processo do 6ue a obedincia r(di a a um crono rama e pol(ticas r( idas de produtividade* Com o uso de %C,U8, mesmo 6ue parcialmente, os pontos positivos no desenvolvimento de um :o o so muitos, como os :9 citados acima, e muitos outros poderiam ser elencados ainda* Entretanto, a principal caracter(stica de um :o o de computador para plata&orma !C, console ou dispositivos m"veis ; a exi ncia de conhecimentos em diversas disciplinas, ou cincias e t;cnicas, al;m da pro ramao* Da produo de um :o o de computador participam pro&issionais das 9reas de ame desi n, arte di ital /D 3ilustrao e pintura4 e DD, modela em e animao DD, &oto ra&ia, produo e p"s#produo, marAetin , artes pl9sticas, sonoplastia, mSsica, etc* E cada uma destas 9reas desenvolve sua atividade criativa de maneira di&erente e independente uma das
32

outras* Um artista di ital respons9vel por character desi n por exemplo, 6uando vai criar um desenho conceitual de uma roupa ou de uma criatura &ant9stica para um :o o, no conhece estrutura de dados, l" ica de pro ramao, nem sobre compilao de c"di o#&onte de pro rama ou de chamada de &unOes em uma rotina de leitura de ar6uivos, nem dos conceitos de pro ramao orientada a ob:etos= ele trabalha se uindo outros conceitos e t;cnicas voltadas para a con&eco de um pro:eto de desi n r9&ico voltado para :o os= o resultado de um desenho conceitual de um character de um :o o ; constru(do em cima de um esboo e arte#&inali)ado no mesmo ob:eto@&olha* E de maneiras direntes ; o processo criativo nas outras 9reas de produo de um :o o* X exatamente a di&iculdade de se inte rar di&erentes 9reas e obter uma interao harmoniosa e produtiva entre elas 6ue se identi&icou como um impedimento para aplicao completa do modelo de desenvolvimento de so&t'are %C,U8 no desenvolvimento do :o o TaiAodom pela Roplon Kn&otainment= e possivelmente ocorre o mesmo em outras desenvolvedoras de :o os 6ue utili)am processos 9 eis na sua produo* Esta di&iculdade de inte rao entre as di&erentes disciplinas necess9rias para a construo de um so&t'are#:o o acabou erando adaptaOes ao processo de so&t'are da empresa consultada, atribuindo a este caracter(sticas Vh(bridasW entre %C,U8 e J!, e as caracter(sticas pr"prias inseridas no processo de so&t'are pelos pr"prios l(deres de pro:eto e desenvolvimento do :o o TaiAodom* A concluso a 6ue o diretor de produo da Roplon Kn&otainment, Carlos Eduardo >nippschild, na ;poca em 6ue esta pes6uisa &oi reali)ada che ou &oi a de 6ue 6ual6uer empresa 6ue desenvolve :o os pode utili)ar %C,U8 no totalmente em seu processo produtivo devido as caracter(sticas inerentes ao tipo de so&t'are de 6ue se trata neste estudo de caso _ o so&t'are#:o o= mas com as devidas adaptaOes necess9rias e 6ue sur em no dia#a#dia do desenvolvimento do pro:eto ; per&eitamente vi9vel a utili)ao parcial das pr9ticas de pro ramao 9 il propostas pelo m;todo %C,U8 na produo de so&t'ares#:o os*

33

.0/ C,0&"2%4, A partir do momento em 6ue os especialistas em en enharia de so&t'are passaram a adotar conceitos e pr9ticas de pro ramao e erncia de pro:etos 9 eis, sur iram diversas metodolo ias 3J!, TDD, %crum, CrBstal4 onde os princ(pios do 8ani&esto N il 3A ile 8ani&est4 se apresentaram de di&erentes &ormas* Dentre estas metodolo ias, destaca#se uma 6ue propOe 6ue processos produtivos complexos e de alto custo de execuo se:am distribu(dos em pe6uenas &ases de execuo denominadas sprints 6ue duram de C a E semanas, &acilitam a comunicao, colaborao e troca de conhecimento entre os membros da e6uipe de desenvolvimento, &avorece a melhoria da 6ualidade &inal do produto de so&t'are permitindo a pr9tica de pro ramao diri ida por teste 3TDD4, e 6ue resulta em um produto de so&t'are de 6ualidade ao &inal do processo produtivo* Esta metodolo ia ; o %crum, ou modelo 9 il de desenvolvimento de so&t'are* !artindo do princ(pio de 6ue %crum &acilita o trabalho de desenvolvimento de so&t'ares 6ue apresentam alta complexidade, de uma maneira din^mica e adaptativa, conclu( 6ue as caracter(sticas da metodolo ia 9 il %crum, por &ocarem o processo produtivo de so&t'ares#:o os e no restritamente as &erramentas necess9rias ao desenvolvimento deste tipo de produto, tornam esta metodolo ia ideal para ser adaptada a processos de desenvolvimento de :o os baseados na plata&orma $nu @ Linux, uma ve) 6ue o modelo de desenvolvimento de so&t'are livre @ c"di o aberto &avoresce a implantao de rotinas e valores de pro ramao 9 il propostas pelo %crum, e podendo apresentar excelentes resultados no &uturo em pro:etos de desenvolvimento de :o os open source # os open %crum < produo de :o os com adaptaOes ames* A partir deste para o modelo de trabalho, pretendo continuar estudando melhores maneiras de adaptao do desenvolvimento open source @ &ree so&t'are, buscando de&inir, assim, uma metodolo ia aberta de desenvolvimento 9 il de :o os multi#plata&orma ideal*

34

../ B75"7,=$!:7!

bA`E-ED+ /00Fc, Eduardo* D(%(0#,"#7<(01, -( J,=,% ;D ( A8"7&!3I(% (< R(!"7-!-( V7$12!"/ Editora Campus, ,io de 5aneiro # ,5 /00F* b>eith /00Hc Clinton >eith* A=7"( M(1',-% 70 S,:1D!$( D(#(",8<(01 (! $(!" D,$"- %1,$*)/ Dispon(vel em '''*a ile amedevelopment*com@ * Acessado em 0F@0/@/001* b>eith /001c Clinton >eith* +'* U%( S&$2<T Dispon(vel em http2@@'''* amedev*net@re&erence@business@&eatures@'hB%crum@ Acessado em 0I@01@/001 b-i)dos /00Gc 8ichael -i)dos * +'!1 7% S&$2<T Dispon(vel em http2@@'''*implementin scrum*com@ . Acessado 0F@0/@/001* b5e&&ries /00Cc ,on 5e&&ries* +'!1 7% EK1$(<( P$,=$!<<70=T* Dispon(vel em http2@@'''*xpro rammin *com@xpma @'hatisxp*htm * Acessado em 0F@0/@/001 b8ichael >auppi, Carsten \artmannc* B"(0-($ G!<(N71 20- (-717,0* Dispon(vel em http2@@'''*Bo&ranAie*or @QpdF0H* Acessado em /C@C0@/001* bLlenderart*or c B"(0-($ A$1 M!=!P70(/ Dispon(vel em http2@@'''*blenderart*or @issues@* Acessado em 01@01@/001*

35

Você também pode gostar