metodologias Ágeis ti

Upload: alan-lopes

Post on 19-Feb-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Metodologias geis TI

    1/114

    Metodologias de Desenvolvimento

    Prof. Dr. Adilson de OliveiraComputer Engineering Ph.DProject Management Professional (PMP)

  • 7/23/2019 Metodologias geis TI

    2/114

    Representao simplificada do processo.

    Conjunto de prticas recomendadas para odesenvolvimento de software.

    Auxiliar no desenvolvimento de software.

    Metodologias Tradicionais e Metodologias geis.

  • 7/23/2019 Metodologias geis TI

    3/114

    Metodologias Tradicionais Tam!"m con#ecidas como $orientadas %

    documentao&. 'ividem o processo em etapas !em definidas e

    fec#adas.

    Muito utili(ada no passado para desenvolvimento emmainframes devido ao alto custo de altera)es*resultantes do limitado acesso aos computadores eda falta de tecnologia para depurao e analise de

    c+digo. ,-AR/-* 01123

  • 7/23/2019 Metodologias geis TI

    4/114

    Metodologias Tradicionais4m exemplo de metodologia tradicional " o modelo em

    Cascata5

  • 7/23/2019 Metodologias geis TI

    5/114

    Metodologias Tradicionais

    6ro!lemas5 'iviso distinta de fases no projeto gera inflexi!ilidade uma ve( 7ue

    raramente os projetos seguem um fluxo se7uencial.

    Re7uisitos totalmente especificados e $congelados& na primeira fasedo projeto dificultam futuras mudanas.

    Ar7uitetura especificada e $congelada& na segunda fase do projetotorna a ar7uitetura pouco confivel diante de poss8veis mudanas dere7uisitos.

    9rande dificuldade de altera)es no projeto depois de decis)es jtomadas.

  • 7/23/2019 Metodologias geis TI

    6/114

    Metodologias TradicionaisMetodologias Tradicionais so aconsel#veis 7uando# uma previsi!ilidade dos re7uisitos do sistemafa(endo com 7ue o projeto seja totalmente planejadoe sua ger:ncia seja facilitada. 6or"m estas

    metodologias so repletas de !urocracias e tem suaefici:ncia em projetos grandes 7ue no sofram muitasaltera)es so!re seus re7uisitos ,;A94

  • 7/23/2019 Metodologias geis TI

    7/114

    Metodologias geis

    -urgiram na d"cada de >1 propondo novaa!ordagem de desenvolvimento com adaptao %mudanas e apoio % e7uipe de desenvolvimento.

    Reao %s metodologias tradicionais com o intuito decriao de alternativa ao modelo Cascata.

  • 7/23/2019 Metodologias geis TI

    8/114

    Metodologias geis /m 011?* ?@ especialistas criaram a Aliana gil e

    atrav"s do Manifesto gil* populari(ouse o termo$Metodologia gil&.

    Manifesto gil !usca constantemente mel#orias nodesenvolvimento gil e valori(am 7uatro principaisprincipios.

  • 7/23/2019 Metodologias geis TI

    9/114

    Metodologias geis Manifesto gil no " contra os modelos utili(adospela metodologia tradicional por"m no segue ospadr)es propostos pela mesma.

  • 7/23/2019 Metodologias geis TI

    10/114

    Metodologias geis

    ndiv8duos e intera)es acima de procedimentos e ferramentas

    -oftware funcionando acima de documentao a!rangente

    Cola!orao dos clientes acima de negociao de contratos

    Responder % mudanas acima de um plano pr"esta!elecido

  • 7/23/2019 Metodologias geis TI

    11/114

    Metodologias geis/m resumo* metodologias geis so comumente

    aplicados a pe7uenos projetos eDou projetos com!aixa complexidade utili(ando ciclos iterativos*tolerEncia % mudana* proximidade da e7uipe* entre

    outros./xemplos de metodologias geis5

    pen46DFasic

    G6 ;'' ;eature 'riven 'evelopment

    -crum

  • 7/23/2019 Metodologias geis TI

    12/114

    Metodologias geis

    6e7uenas e7uipes ,entre tr:s e de( pessoas3 nocomportam a utili(ao de processos $pesados& como o R46eDou no utili(am todos os recursos oferecidos por processos

    de desenvolvimento como o G6.

    4m mesmo individuo pode ter vrios pap"is diferentes,R463.

  • 7/23/2019 Metodologias geis TI

    13/114

    pen46 6rocesso 4nificado A!erto ,pen 4nified 6rocess3.

    riginalmente c#amado de F46 ,Fasic 4nified6rocess3 pela FM 7ue em 011= foi li!erado para a

    ;undao /clipse e renomeado para pen46 em011H.

    I parte do /6; ,/clipse 6rocess ;rameworB3.

  • 7/23/2019 Metodologias geis TI

    14/114

    pen46Aplica uma a!ordagem iterativa e incremental em um ciclo

    de vida estruturado* focando na nature(a cola!orativa doprocesso de desenvolvimento de software.

    Conjunto compacto de atores* tarefas e artefatos em relaoao R46.

  • 7/23/2019 Metodologias geis TI

    15/114

    pen46 pen46 pode ser definido como5

    CompactoJ 4tili(a apenas conteKdos fundamentais edefinidos.

    CompletoJ A!range todas as fases do ciclo de vida dodesenvolvimento de um software.

    ExtensvelJ 6odese utili(lo da forma 7ue foi definido mas

    tam!"m " poss8vel adicionar novos conteKdos para atendernovas caracter8sticas do projeto.

  • 7/23/2019 Metodologias geis TI

    16/114

    pen46 6rinc8pios

    pen46 " regido por 7uatro princ8pios5

    Equilibrar as prioridades concorrentes para maximizar o benefcio

    aos Stakeholders

    Colaborar para alinhar os interesses e compartilhar o

    entendimento

    Focar na arquitetura, o mais cedo possvel, para reduzir o risco e

    organizar o desenvolvimento

    Evoluir para continuamente obter feedback e promover melhorias

  • 7/23/2019 Metodologias geis TI

    17/114

    pen46pen46 /7uili!rar as prioridades concorrentes para /7uili!rar as prioridades concorrentes paramaximi(ar o !enef8cio aos -taBe#oldersmaximi(ar o !enef8cio aos -taBe#olders

    I preciso ter um con#ecimento como um todo so!re asnecessidades dos staBe#olders e dessa forma* alin#ar asprioridades 7ue devem ser de total acordo entre as partes.

    Al"m disso* projetar os cenrios* casos de uso e escopo doprojeto so itens importantes para a definio das prioridades.

  • 7/23/2019 Metodologias geis TI

    18/114

    pen46 Cola!orar para alin#ar os interesses e compartil#ar oentendimento

    /m uma e7uipe cada mem!ro tem seus pr+prioscon#ecimentos* #a!ilidades e maneiras de fa(er as coisas./ste principio tem a finalidade de alin#ar essas diferenas de

    forma 7ue o projeto seja !eneficiado !em como fa(er com 7uetodos os mem!ros da e7uipe ten#am um entendimento so!re oprojeto. continuo aprendi(ado tam!"m " estimulado por esteprincipio fa(endo com 7ue cada mem!ro da e7uipe desenvolvamais #a!ilidades e incremente seus con#ecimentos.

  • 7/23/2019 Metodologias geis TI

    19/114

    pen46pen46 ;ocar na ar7uitetura* o mais cedo poss8vel* para;ocar na ar7uitetura* o mais cedo poss8vel* pararedu(ir o risco e organi(ar o desenvolvimentoredu(ir o risco e organi(ar o desenvolvimento

    4ma ar7uitetura mal planejada muitas ve(es "responsvel por grande parte dos pro!lemas de umsistema e at" menos por complica)es tanto de

    manuteno 7uanto do entendimento do mesmo 7uepodem at" levar ao fracasso do sistema econse7uentemente do projeto.

  • 7/23/2019 Metodologias geis TI

    20/114

    pen46pen46 ;ocar na ar7uitetura* o mais cedo poss8vel* para ;ocar na ar7uitetura* o mais cedo poss8vel* pararedu(ir o risco e organi(ar o desenvolvimentoredu(ir o risco e organi(ar o desenvolvimento

    foco na ar7uitetura tem sua importEncia dada uma ve( 7ue osmem!ros do projeto podem visuali(la de formas diferentes. Modelos dea!strao devem ser usados para evitar este pro!lema.

    Al"m disso* flexi!ilidade e reuso de recursos so pontos importantes

    deste principio. ideal " projetar uma ar7uitetura onde o acoplamentoentre componentes seja !aixo* facilitando o reuso dos recursosfornecidos pelos componentes.

  • 7/23/2019 Metodologias geis TI

    21/114

    pen46pen46/voluir para continuamente o!ter feed!acB e/voluir para continuamente o!ter feed!acB epromover mel#oriaspromover mel#orias

    o!jetivo deste principio " fa(er com 7ue atrav"s de feed!acBs*o!ten#ase modos de mel#orar o produto e tam!"m o processo dae7uipe envolvida. Atrav"s de feed!acBs* podese identificarpotenciais riscos e tratlos mais cedo durante o projeto.

    I importante ter o o!jetivo do projeto de maneira clara ao pr+prioentendimento para 7ue seja poss8vel fa(er uma medio doprogresso e identificar poss8veis mel#orias no processo.

  • 7/23/2019 Metodologias geis TI

    22/114

    pen46 6ap"is

    /m um projeto de software diferentes pessoas so envolvidas noprocesso e cada pessoa tem um papel definido no projeto deacordo com seus interesses e #a!ilidades.

    s pap"is no tem significado de individualidade so!re algumatarefa ou artefato* mas sim uma identificao de cada envolvidono projeto 7uando existe o tra!al#o em conjunto. Al"m disso* umpapel no limita uma tarefa a apenas um indiv8duo 7uando naverdade uma tarefa pode conter vrios indiv8duos adicionais e

    inclusive com outros pap"is.

  • 7/23/2019 Metodologias geis TI

    23/114

    pen46 6ap"is

  • 7/23/2019 Metodologias geis TI

    24/114

    pen46 -taBe#older

    s -taBe#olders so os interessados no resultado doprojeto* ou seja* sero suas necessidades 7ue deveroser satisfeitas.

    9eralmente os -taBe#olders so pessoas designadaspelo cliente para interagir com a e7uipe do projeto.

  • 7/23/2019 Metodologias geis TI

    25/114

    pen46 J 6roject Manager

    9erente de 6rojeto ,6roject Manager3 " o l8der dae7uipe do projeto. I este papel 7ue tem a

    responsa!ilidade de instruir a e7uipe para condu(8la aum resultado esperado.

  • 7/23/2019 Metodologias geis TI

    26/114

    pen46 Arc#itect

    Arc#itect ,Ar7uiteto3 " o responsvel pela definioda ar7uitetura de software do projeto tomandodecis)es 7ue orientam tanto e7uipe de design 7uanto

    e7uipe de implementao.

  • 7/23/2019 Metodologias geis TI

    27/114

    pen46 AnalLst

    Analista ,AnalLst3 " o responsvel por col#erinforma)es dos staBe#olders e usurios finais e

    compreender o pro!lema proposto capturando osre7uisitos e definindo prioridades para o mesmo.

  • 7/23/2019 Metodologias geis TI

    28/114

    pen46 'eveloper

    'esenvolvedor ,'eveloper3 " o responsvel pordesenvolver o projeto com !ase na sua adaptao %ar7uitetura proposta. Al"m disso* o desenvolvedor

    tam!"m " responsvel pelos testes de desenvolvedor.

  • 7/23/2019 Metodologias geis TI

    29/114

    pen46 Tester

    Tester ,Testador3 " responsvel por toda e 7ual7ueratividade 7ue envolvam testes de software. Testerdeve criar casos de testes* implementlos e execut

    los. Algum con#ecimento de codificao tam!"m podeser detido por este papel.

  • 7/23/2019 Metodologias geis TI

    30/114

    pen46 J AnL Role

    papel AnL Role ,ual7uer 6apel3 representa7ual7uer mem!ro da e7uipe 7ue possa reali(ar tarefas

    gerais como por exemplo criar um caso de teste*implementar c+digos no software* etc.

  • 7/23/2019 Metodologias geis TI

    31/114

    pen46 J Camadas de ConteKdo

    pen46 possui duas camadas internas aos pap"isc#amadas $Camadas de ConteKdo& 7ue tem afinalidade de indicar 7uais pap"is devem interagirentre si a fim de reali(ar algo.

    Management ,9er:ncia3 ntent ,nteo3 -olution ,-oluo3 Communication N Colla!oration ,Comunicao e

    Cola!orao3

  • 7/23/2019 Metodologias geis TI

    32/114

    pen46 J ManagementD9esto

    A camada de 9esto trata do gerenciamento doprojeto* incluindo o planejamento do projeto*planejamento da iterao* gerenciamento dirio do

    tra!al#o durante a iterao e a avaliao da iterao.

    6ap"is envolvidos5 -taBe#older* 9erentes de 6rojetoe Ar7uiteto.

  • 7/23/2019 Metodologias geis TI

    33/114

    pen46 J ntentDnteno

    A camada de inteno trata como canali(ar ainteno dos -taBe#olders para o resto da e7uipe dedesenvolvimento* para garantir 7ue constru)es

    vlidas com capacidades incrementais reflitam asinten)es dos -taBe#olders.

    6ap"is envolvidos5 -taBe#older* Analista e Testador.

  • 7/23/2019 Metodologias geis TI

    34/114

    pen46 J -olutionD-oluo

    A camada de -oluo descreve todos os aspectosso!re a criao da ar7uitetura* o design* a

    implementao e o teste da aplicao.

    6ap"is envolvidos5 Ar7uiteto* 'esenvolvedor eTestador.

  • 7/23/2019 Metodologias geis TI

    35/114

    pen46J Communication N Colla!oration DComunicao e Cola!orao

    A camada de comunicao e cola!orao " a partefundamental do pen46* refletindo a nature(acola!orativa do processo. /la cont"m todos os pap"is dopen465 -taBe#older* analista* desenvolvedor* ar7uiteto*testador* gerente de projeto e 7ual7uer papel. smem!ros da e7uipe 7ue se prontificam para estes pap"isnecessitam cola!orar para* em conjunto* capturar edefinir a inteno dos -taBe#olders* desenvolver a

    soluo e gerenciar o projeto.

  • 7/23/2019 Metodologias geis TI

    36/114

    pen46 Tarefas

    4ma tarefa corresponde a 7ual7uer unidade detra!al#o 7ue um papel possa ser solicitado % executar.

    /xemplos5'efinir um caso de uso.

    Construir o escopo do projeto.

  • 7/23/2019 Metodologias geis TI

    37/114

    pen46 Artefatos

    Artefatos so todos e 7uais7uer resultados de umatarefa executada por algu"m.

    /xemplos5'ocumento de caso de uso.

    'ocumento de escopo.

  • 7/23/2019 Metodologias geis TI

    38/114

    pen46 'isciplinas

    4ma disciplina " uma coleo de tarefas 7ue se relacionam auma Orea de interesseO maior em todo o projeto. agrupamento de tarefas em disciplinas serve principalmentepara ajudar a compreender o projeto dentro de uma viso

    tradicional em cascata. /m!ora seja comum executarsimultaneamente tarefas 7ue pertenam a vrias disciplinas,por exemplo* determinadas tarefas de re7uisitos soexecutadas so! a mesma coordenao de tarefas de anlisee design3* separar estas tarefas em disciplinas distintas " uma

    forma efica( de organi(ar o conteKdo* tornando mais fcil acompreenso.

  • 7/23/2019 Metodologias geis TI

    39/114

    pen46 J 'isciplinas

    pen46 cont"m seis disciplinas5

    Re7uisitos 9esto de 6rojetos

    Ar7uitetura 'esenvolvimento Teste 9esto de Configurao e Mudana

  • 7/23/2019 Metodologias geis TI

    40/114

    pen46 J Re7uisitos

    A disciplina de re7uisitos explica como elicitar*analisar* especificar* validar e gerenciar osre7uisitos para o sistema a ser desenvolvido.

    Tarefas da disciplina5 'efinir viso /ncontrar e 'escrever os Re7uisitos 'etal#ar os Re7uisitos

  • 7/23/2019 Metodologias geis TI

    41/114

    pen46 J 9esto de 6rojetos

    A disciplina de gesto de projetos explica comoinstruir* ajudar e suportar a e7uipe* ajudandoa alidar com os riscos e o!stculos encontrados7uando da construo de software.

    Tarefas da disciplina5 6lanejar o projeto 6lanejar a terao

    9erenciar a terao Avaliar os resultados

  • 7/23/2019 Metodologias geis TI

    42/114

    pen46 Ar7uitetura

    A disciplina de ar7uitetura explica como criar umaar7uitetura* a partir dos re7uisitosar7uiteturalmente significantes. A ar7uitetura "constru8da na disciplina de 'esenvolvimento.

    Tarefas da disciplina5 'escrever a ar7uitetura Refinar a ar7uitetura

  • 7/23/2019 Metodologias geis TI

    43/114

    pen46 'esenvolvimento

    A disciplina de desenvolvimento explica comoprojetar e implementar uma soluo t"cnica 7ueseja aderente % ar7uitetura e atenda aos re7uisitos.

    Tarefas da discplina5 6rojetar a soluo mplementar a soluo mplementar os testes de desenvolvedor

    /xecutar os testes de desenvolvedor

  • 7/23/2019 Metodologias geis TI

    44/114

    pen46 Teste

    A disciplina de teste explica como fornecerfeed!acB so!re a maturidade do sistema atrav"sdo design* implementao* execuo e avaliaodos testes.

    Tarefas da disciplina5 Criar os casos de teste mplementar os scripts de teste

    /xecutar os testes

    46 9 t d C fi

  • 7/23/2019 Metodologias geis TI

    45/114

    pen46 9esto de Configurao eMudanaA disciplina de gesto de configurao e mudanaexplica como controlar as mudanas nos artefatos*assegurando uma evoluo sincroni(ada doconjunto de 6rodutos de Tra!al#o 7ue comp)em

    um sistema de software.

    Tarefas da disciplina5 -olicitar mudana

    ntegrar e criar a construo

  • 7/23/2019 Metodologias geis TI

    46/114

    pen46 Camadas

    pen46 de modo geral conta com tr:s camadas7ue interagem entre si5 Microncrementos* Ciclo de

    Pida de terao e Ciclo de Pida do 6rojeto.

    pen46 Camadas

  • 7/23/2019 Metodologias geis TI

    47/114

    pen46 Camadas

  • 7/23/2019 Metodologias geis TI

    48/114

    pen46 J Microncrementos

    s microincrementos so considerados pe7uenostra!al#os 7ue consomem pouco tempo ,#oras oudias3 e 7ue contri!uem para o crescimento daaplicao como um todo.

    /xemplos5 6rojetar um caso de uso 6lanejar uma iterao

  • 7/23/2019 Metodologias geis TI

    49/114

    pen46 J Microncrementos

    Qista de tens de Tra!al#o

    Qista de todo tra!al#o agendado para ser feito dentro do

    projeto* !em como o tra!al#o proposto 7ue pode afetar oproduto neste ou em projetos futuros. Cada tem de tra!al#opode conter refer:ncias a informa)es 7ue sejam relevantespara reali(ar o tra!al#o descrito no item. Cada item detra!al#o corresponde % um microincremento.

    pen46 Ciclo de Pida de

  • 7/23/2019 Metodologias geis TI

    50/114

    pen46 J Ciclo de Pida deterao

    4ma iterao " um per8odo de tempo definido dentrode um projeto em 7ue voc: produ( uma verso estvele executvel do produto* junto com toda adocumentao de apoio* scripts de instalao*artefatos e similares* necessrios para usar a verso.

    pen46 Ciclo de Pida de

  • 7/23/2019 Metodologias geis TI

    51/114

    pen46 J Ciclo de Pida deterao ciclo comea em uma !reve reunio deplanejamento de iterao* pra(os e atividades.

    As itera)es em sua maioria so compostas de

    microincrementos mas tam!"m corre)es eajustes.

    ciclo termina em uma segunda reunio com osstaBe#olders onde resultados e mel#orias soavaliados.

    pen46 Ciclo de Pida de

  • 7/23/2019 Metodologias geis TI

    52/114

    pen46 J Ciclo de Pida deterao

    pen46 Ciclo de Pida de

  • 7/23/2019 Metodologias geis TI

    53/114

    pen46 J Ciclo de Pida deterao6lano de terao

    s principais o!jetivos do plano de iterao so fornecer %

    e7uipe um lugar central para informa)es a respeito doso!jetivos da iterao* do plano detal#ado com as atri!ui)esdas tarefas e dos resultados das avalia)es. Tam!"m ajuda ae7uipe a monitorar o progresso da iterao e mant"m osresultados da avaliao da iterao* 7ue podem ser Kteis para

    mel#orar a pr+xima iterao.

    46 Ci l d Pid d 6 j t

  • 7/23/2019 Metodologias geis TI

    54/114

    pen46 J Ciclo de Pida de 6rojeto

    ' uma viso geral do projeto a ser desenvolvido!em como o 7ue ser reali(ado* como serreali(ado e por 7uem ser reali(ado.

    6odese visuali(ar todas as partes dodesenvolvimento de um projeto atrav"s das fases,Concepo* /la!orao* Construo e Transio3

    do ciclo de vida de projeto.

    pen46 J Ciclo de Pida de 6rojeto D

  • 7/23/2019 Metodologias geis TI

    55/114

    pen46 J Ciclo de Pida de 6rojeto D;ases e Marcos 4ma fase " o tempo entre dois grandes marcos deprojeto* durante o 7ual um conjunto !em definido de

    o!jetivos " cumprido* e as decis)es so tomadas paraentrar ou no na pr+xima fase.

    Cada fase tem um marco,milestone3 ao seu final eatrav"s deste* " poss8vel entender o 7ue foi reali(ado nafase. s marcos tem como finalidade ser utili(ado pelosstaBe#olders na forma de superviso do projeto !em

    como tomadas de decis)es so!re o mesmo.

    46 Ci l d Pid d 6 j t

  • 7/23/2019 Metodologias geis TI

    56/114

    pen46 J Ciclo de Pida de 6rojeto

    46 ; C

  • 7/23/2019 Metodologias geis TI

    57/114

    pen46 J ;ase5 Concepo

  • 7/23/2019 Metodologias geis TI

    58/114

    pen46 J ;ase5 /la!orao

  • 7/23/2019 Metodologias geis TI

    59/114

    pen46 J ;ase5 Construo

    /sta fase foca o detal#amento dos re7uisitos* nodesign* na implementao e no teste da maiorparte do software.

    marco desta fase " c#amado $Marco daCapacidade peracional nicial& e " alcanado7uando toda a funcionalidade foi desenvolvida etestes alfa conclu8da.

    pen46 ;ase5 Transio

  • 7/23/2019 Metodologias geis TI

    60/114

    pen46 J ;ase5 Transio

    /sta fase foca a transio do software para oam!iente do cliente e na o!teno daconcordEncia dos -taBe#olders de 7ue odesenvolvimento do produto est completo.

    marco desta fase " c#amado $Marco deQi!erao do 6roduto& e " alcanado 7uando oso!jetivos do projeto foram alcanados e aceito

    pelos usuriosDstaBe#olders

    pen46 Ciclo de Pida de 6rojeto

  • 7/23/2019 Metodologias geis TI

    61/114

    pen46 J Ciclo de Pida de 6rojeto

    6lano de 6rojeto

    'efine os parEmetros para o acompan#amento do progresso

    do projeto e especifica os o!jetivos de alto n8vel das itera)ese seus marcos. 'escreve tam!"m como o projeto estorgani(ado e 7uais pap"is so executados por 7uem.

  • 7/23/2019 Metodologias geis TI

    62/114

    XP (Extreme Programming)XP (Extreme Programming)

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    63/114

    G6 ,/xtreme 6rogramming3

    A 6rogramao /xtrema " uma das metodologias geismais con#ecidas. ;oi criada por ent FecB.

    Faseada em cinco valores, alguns princpios e vriasprticas 7ue ocorrem no contexto de 7uatro atividades.

    /la se destina a times de at" de( programadores* projetosde curto e m"dio pra(o.

  • 7/23/2019 Metodologias geis TI

    64/114

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    65/114

    G6 ,/xtreme 6rogramming3 s cinco valores de G6 so5

    Comunicao J para um projeto de sucesso " necessria muita interaoentre os mem!ros da e7uipe* programadores* cliente* treinador. 6aradesenvolver um produto* o time precisa ter muita 7ualidade nos canais decomunicao. Conversas presenciais so sempre mel#ores do 7uetelefonemas* emails* cartas ou fax.

    Feedbac as respostas %s decis)es tomadas devem ser rpidas e vis8veis.Todos devem ter* o tempo todo* consci!nciado 7ue est acontecendo.

    CoragemJ alterar um c+digo em produo* sem causar !ugs* com agilidade*exige muita coragem e responsa!ilidade.

    "implicidadeJ para atender rapidamente %s necessidades do cliente* 7uasesempre um dos valores mais importantes " simplicidade.

  • 7/23/2019 Metodologias geis TI

    66/114

    G6 ,/xtreme 6rogramming3

    /m G6 existem 7uatro pap"is principais5 Programadores foco central da metodologia* sem #ierar7uia. $reinador ,ou coach3 pessoa com mais experi:ncia no time*

    responsvel por lem!rar os outros das regras do jogo ,7ue so asprticas e os valores de G63. treinador no precisanecessariamente ser o mel#or programador da e7uipe e sim o 7uemais entende da metodologia G6.

    %compan&ador ,ou tracker3 responsvel por tra(er para o timedados* grficos* informa)es 7ue mostrem o andamento do projeto eajudem a e7uipe a tomar decis)es de implementao* ar7uitetura edesign. Algumas ve(es o pr+prio coac# fa( papel de tracBer. utras

    o time escol#e so(in#o 7uem exercer este papel. Cliente J em G6 o cliente fa( parte da e7uipe. 'eve estar semprepresente e pronto para responder %s dKvidas dos programadores.

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    67/114

    G6 ,/xtreme 6rogramming3

    /xiste um grande :nfase ao tra!al#o em duplas* aonde umanalista mais experiente tra!al#a com um novato. /n7uantoo mais jovem tra!al#a na programao o mais antigo vairevisando o c+digo. 'essa forma ao mesmo tempodesenvolvese a e7uipe* e mel#orase automaticamente a7ualidade do c+digo fonte gerado.

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    68/114

    G6 ,/xtreme 6rogramming3

    Algumas prticas recomendadas pelo G65 $estes todo desenvolvimento inclui testes. ent FecB di( 7ue

    c+digo sem teste no existe. s testes devem ser escritos deprefer:ncia antes do desenvolvimento ,T'' test drivendevelopment3 e sempre devem rodar de forma automati(ada.

    #e'atorao " um conjunto de t"cnicas para modificar oc+digo do sistema sem alterar nen#uma funcionalidade. o!jetivo " simplificar* mel#orar o design* limpar* enfim* deixar oc+digo mais fcil de entender e dar manuteno.

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    69/114

    G6 ,/xtreme 6rogramming3

    Programao Pareada em G6 dois programadores sentamjuntos no mesmo computador e programam juntos. /n7uanto umprogramador digita* o outro o!serva* pensa em mel#orias*alternativas.

    Propriedade Coletiva c+digo fonte no pertence a um Knico

    programador. Todos da e7uipe so responsveis. Todos alteramc+digo de todos ,mas sempre rodando os testes para se certificar7ue nada foi 7ue!rado3

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    70/114

    G6 ,/xtreme 6rogramming3

    ntegrao Contnua depois de testada* cada novafuncionalidade deve ser imediatamente sincroni(ada entre todosos desenvolvedores. uanto mais fre7Sente for essa integrao*menores so as c#ances de conflitos de ar7uivos 7ue vriosprogramadores alteram simultaneamente.

    "emana de * &oras programar " uma atividade intensa e 7ueno rende se o programador no estiver descansado e disposto.6or isso* 21 #oras de tra!al#o por semana " essencial para asaKde do time.

    G6 ,/xtreme 6rogramming3

  • 7/23/2019 Metodologias geis TI

    71/114

    G6 ,/xtreme 6rogramming3

    Cliente "empre Presente o cliente no " algu"m de fora* massim um mem!ro da e7uipe. /le deve estar sempre dispon8vel epronto para atender %s dKvidas dos desenvolvedores.

    Padroni+aes se todo o time seguir padr)es pr"acordados decodificao* mais fcil ser manter e entender o 7ue j est feito.

    uso de padr)es " uma das formas de reforar o valorcomunicao.

  • 7/23/2019 Metodologias geis TI

    72/114

    F-- (Feature -rivenF-- (Feature -riven

    -evelopment)-evelopment)

    ;'' ,;eature 'riven 'evelopment3

  • 7/23/2019 Metodologias geis TI

    73/114

    , eatu e e e e op e t3

    Feature -riven -evelopment ,'esenvolvimento 9uiado por;uncionalidades3 " uma metodologia gil paragerenciamento e desenvolvimento de software. /la com!inaas mel#ores prticas do gerenciamento gil de projetos com

    uma a!ordagem completa para /ngen#aria de -oftwareorientada por o!jetos.

    ;'' ,;eature 'riven 'evelopment3

  • 7/23/2019 Metodologias geis TI

    74/114

    , p 3

    A ;'' c#ama a ateno por algumas caracter8sticaspeculiares5 Resultados Kteis a cada duas semanas ou menos Flocos !em pe7uenos de funcionalidade valori(ada pelo cliente*

    c#amados O;eaturesO 6lanejamento detal#ado e guia para medio Rastrea!ilidade e relat+rios com preciso Monitoramento detal#ado dentro do projeto* com resumos de

    alto n8vel para clientes e gerentes* tudo em termos de neg+cio

    ;ornece uma forma de sa!er* dentro dos primeiros ?1 de umprojeto* se o plano e a estimativa so s+lidos

    ;'' ,;eature 'riven 'evelopment3

  • 7/23/2019 Metodologias geis TI

    75/114

    , p 3

    A ;'' " uma metodologia muito o!jetiva. 6ossui apenasduas fases5 Concepo . Plane/amento5 6ensar um pouco antes de fa(er

    ,tipicamente de ? a 0 semanas3 Construo5 ;a(er de forma iterativa ,tipicamente em itera)es de

    0 semanas3

    ;'' ,;eature 'riven 'evelopment3

  • 7/23/2019 Metodologias geis TI

    76/114

    , p 3

    FDD Estrutura

    ;'' ,;eature 'riven 'evelopment3

  • 7/23/2019 Metodologias geis TI

    77/114

    , p 3

    'entro do contexto do ;''* o significado de $caracter8stica&vem a ser uma funo* relativamente pe7uena* acertada como cliente 7ue pode ser implementada em menos de duassemanas* com os seguintes !enef8cios5 -endo as $caracter8sticas& pe7uenos !locos de funcionalidade* os

    usurios e desenvolvedores t:m mel#or controle e entendimento detodo o processo.

    ;'' ,;eature 'riven 'evelopment3

  • 7/23/2019 Metodologias geis TI

    78/114

    , p 3

    rgani(amse as $caracter8sticas& em um agrupamento #ierr7uicorelacionado ao neg+cio* mel#orando a viso para o usurio. / paraos desenvolvedores facilitando o planejamento de todo o projeto.

    A e7uipe tem metas de desenvolvimento dessas $caracter8sticas& acada duas semanas.

    Metodologias

  • 7/23/2019 Metodologias geis TI

    79/114

    R46 ;'' G6

    CONTROLE

    Equipes GrandesAlto Rigor

    LIERDADE

    Equipes pequenas!menores de "#$

    ACOM%AN&AR

    Equipes M'diase %equenas

    Material para consulta

  • 7/23/2019 Metodologias geis TI

    80/114

    -ite do MA

  • 7/23/2019 Metodologias geis TI

    81/114

    SCRUM

    6erdendo no reve(amento...

  • 7/23/2019 Metodologias geis TI

    82/114

    estilo de $corrida de reve(amento& aplicado aodesenvolvimento de produtos pode conflitar com oso!jetivos de velocidade e flexi!ilidade mximas. Aoinv"s disto* um estilo #ol8stico* onde a e7uipe

    !usca* como em um jogo de fute!ol* de formaintegrada* c#egar ao gol* com passes de !ola* podeservir mel#or %s atuais necessidades competitivas.

    dequado de !"he #e$ #e$ %roduct &evelopment 'ame(, )irotaka

    "akeuchi e *ku+iro #onaka, )arvard usiness -evie$, .anuar/ 01234

    -crum em ?11 palavras

  • 7/23/2019 Metodologias geis TI

    83/114

    -crum " um processo gil 7ue permite manter o foco na entrega do

    maior valor de neg+cio* no menor tempo poss8vel. sto permite a rpida e cont8nua inspeo do software em produo

    ,em intervalos de duas a 7uatro semanas3. As necessidades do neg+cio " 7ue determinam as prioridades do

    desenvolvimento de um sistema. As e7uipes se autoorgani(am para

    definir a mel#or maneira de entregar as funcionalidades de maiorprioridade.

    /ntre cada duas a 7uatro semanas todos podem ver o real softwareem produo* decidindo se o mesmo deve ser li!erado ou continuar aser aprimorado por mais um $-print&.

    rigens do -crumff -

  • 7/23/2019 Metodologias geis TI

    84/114

    Ueff -ut#erland

    4so inicial do scrum na /asel em ?>>V 'G e mais de =11 pessoas usando scrum

    en -c#wa!er A'M Apresentao na 6-QA >= com -ut#erland

    Tr:s livros so!re -crum MiBe Feedle

    6adr)es para o -crum na 6Q6'2

    en -c#wa!er and MiBe Co#n ;undaram a -crum Alliance em 0110*

    inicialmente junto com a Agile Alliance

    rigens do -crumT# M t#i l M M t# ! ; d i B F B ?>@=

  • 7/23/2019 Metodologias geis TI

    85/114

    T#e MLt#ical Man Mont# !L ;redericB FrooBs* ?>@=.

    uando um projeto est atrasado* adicionar pessoas aoprojeto servir apenas para atraslo ainda mais. 'evemos considerar o tempo 7ue perdemos em gesto e

    comunicao 7uando temos pessoas demais tra!al#andoem um projeto.

    Ao calcular o tempo de desenvolvimento de 7ual7uer coisa*temos 7ue do!rlo. programador precisa de Otempo parapensarO al"m do Otempo para programarO

    ,traduo livre3

    uem usa o -crumW

  • 7/23/2019 Metodologias geis TI

    86/114

    MicrosoftXa#oo9oogle/lectronic ArtsYig# Moon -tudiosQocB#eed Martin

    6#ilips-iemens

  • 7/23/2019 Metodologias geis TI

    87/114

    -oftware comercial

    'esenvolvimento interno 'esenvolvimento contratado

    ,terceiri(ao3 6rojetos de preo fixo Aplica)es ;inanceiras

    Aplica)es certificadas pela isso>11? -istemas em!arcados -istemas dispon8veis 02x@ 'esenvolvimento por #acBers

    solitrios

    Pideo games

    -istemas para suporte % vida -istemas para controle de sat"lites Ze!sites -oftware para #and#elds Telefones celulares

    Aplica)es para redes Aplica)es de -P ,ndependent

    -oftware Pendors3 Algumas das maiores aplica)es

    em produo

    Caracter8sticas

  • 7/23/2019 Metodologias geis TI

    88/114

    Equipes que se auto-organi(am O produto evolui em uma s'rie de )*prints+

    mensais Os requerimentos s,o listados em um )%rodut

    a.log+ N,o /0 pr0tia de engen/aria presrita !o

    *rum adequa-se a todas$

    1sa regras generativas na ria2,o de umam3iente 0gil para a entrega de pro4etos 5 uma das )metodologias 0geis+

    Manifesto gil Palores

    %I di 7d

  • 7/23/2019 Metodologias geis TI

    89/114

    %roessos e

    6erramentas

    Indiv7duos e

    intera28es

    ao inv's de

    *eguir um planoResposta 9mudan2as

    :::;agilemani6esto;org

    Doumenta2,oa3rangente

    *o6t:are que6uniona

    Negoia2,o deontrato

    Cola3ora2,o doliente

  • 7/23/2019 Metodologias geis TI

    90/114

    -imples

    Complicado

    Anar7uia

    Complexo

    Perto dacerte+a

    0onge dacerte+a

    Tecnologia

    Perto de%cordo

    0onge deacordo

    Re7u

    erimentos

    ;onte5 Strategic 5anagement and6rganizational &/namics !L Ralp#-taceLingile Soft$are &evelopment$ith Scrum !L en -c#wa!er and MiBeFeedle.

    -crum

    /m resumo...

  • 7/23/2019 Metodologias geis TI

    91/114

    Imagem dispon7vel emenialversus paralelo

  • 7/23/2019 Metodologias geis TI

    93/114

    Fonte< )T/e Ne: Ne: %rodut Development Game+ 3?Ta.eu/i and Nona.a; Harvard Business evie!"@anuar?"B;

    Ao invs de completar

    uma coisa por vez...

    ... equipes Scrum fazemum pouco de cadacoisa, todo o tempo.

    Requerimentos Projeto Cdio !este

    D d d t

    %ap'is*rum 6rame:or.

  • 7/23/2019 Metodologias geis TI

    94/114

    Dono do produto*rumMasterEquipe

    %lane4amento

    Revis,oRetrospetivaReuni,o di0ria

    Cerimnia

    %rodut 3a.log*print 3a.logurndo:n /arts

    Arte6atos

    Dono do produto

    %ap'is-crum frameworB

  • 7/23/2019 Metodologias geis TI

    95/114

    %lane4amento

    Revis,oRetrospetivaReuni,o di0ria

    %rodut 3a.log*print 3a.logurndo:n /arts

    Arte6atos

    Dono do produto*rumMasterEquipe Cerimnia

    'ono do produto

  • 7/23/2019 Metodologias geis TI

    96/114

    'efine as funcionalidades do produto 'ecide datas de lanamento e conteKdo

    Responsvel pela renta!ilidade ,R3 6riori(a funcionalidades de acordo com o valor de

    mercadoAjusta funcionalidades e prioridadesAceita ou rejeita o resultado dos tra!al#os

    -crumMaster

  • 7/23/2019 Metodologias geis TI

    97/114

    Representa a ger:ncia para o projeto Responsvel pela aplicao dos valores e prticas do-crum

    Remove o!stculos

    9arante a plena funcionalidade e produtividade dae7uipe 9arante a cola!orao entre os diversos pap"is e

    fun)es

    /scudo para interfer:ncias externas

    Dono do produto

    %ap'is*rum 6rame:or.

  • 7/23/2019 Metodologias geis TI

    98/114

    Dono do produto*rumMasterEquipe

    %lane4amento

    Revis,oRetrospetivaReuni,o di0ria

    Cerimnia

    %rodut 3a.log*print 3a.logurndo:n /arts

    Arte6atos

    6lanejamento do -print

  • 7/23/2019 Metodologias geis TI

    99/114

    A e7uipe seleciona itens do 6roduct FacBlog com os 7uaiscomprometese a concluir

    -print FacBlog " criado Tarefas identificadas e estimadas ,? a ?H #oras3 'e forma cola!orativa* no apenas feito pelo -crumMaster

    6lanejamento de alto n8vel " considerado

    -crum dirio 6arEmetros

    'i i

  • 7/23/2019 Metodologias geis TI

    100/114

    'irio

    ?= minutos

    Todos em p"[

  • 7/23/2019 Metodologias geis TI

    101/114

    As respostas no so um $relat+rio& para o -crumMaster /las so CM6RM--- perante os pares

    Reviso do -print

  • 7/23/2019 Metodologias geis TI

    102/114

    /7uipe apresenta os resultados o!tidos durante o -print Tipicamente* demonstrao de novas funcionalidades ousua ar7uitetura

    nformal 0 #oras de preparao -em slides

    Todo o time participa mundo " convidado

    Retrospectiva do -print

    6 i di t ! f i

  • 7/23/2019 Metodologias geis TI

    103/114

    6eriodicamente* o!serve o 7ue funciona e o 7ue nofunciona

    Tipicamente de ?= a V1 minutos ;eita ap+s cada -print

    Toda a e7uipe participa -crumMaster 'ono do produto Mem!ros da e7uipe Clientes e outros

    nicia* 6ra* Continua

    A i di t t i d

  • 7/23/2019 Metodologias geis TI

    104/114

    A e7uipe discute o 7ue gostaria de5

    Iniiar a 6a(erIniiar a 6a(er

    %arar de 6a(er%arar de 6a(er

    ContinuarContinuar

    6a(endo6a(endo

    Esta uma dasvrias maneirasde se conduzir

    umaretrospectiva do

    Sprint

    Dono do produto

    %ap'is*rum 6rame:or.

  • 7/23/2019 Metodologias geis TI

    105/114

    Dono do produto*rumMasterEquipe

    %lane4amento

    Revis,oRetrospetivaReuni,o di0ria

    Cerimnia

    %rodut 3a.log*print 3a.logurndo:n /arts

    Arte6atos

    6roduct FacBlog

    s re7uerimentos

  • 7/23/2019 Metodologias geis TI

    106/114

    s re7uerimentos 4ma lista de todo o tra!al#o

    desejado no projeto dealmente* na forma em 7ue

    cada item ten#a seu peso de

    acordo com a vontade do clienteou usurios

    6riori(ado pelo dono do produto Repriori(ado no in8cio de cada

    -print

    Este ' o %rodut

    a.log

    /xemplo de 6roduct FacBlogItem do a.log Estimativa

  • 7/23/2019 Metodologias geis TI

    107/114

    %ermitir que o usu0rio 6a2a uma reserva %ermitir que o usu0rio anele a reserva

    %ermitir a troa de datas da reserva

    %ermitir que empregadod do /otel geremrelatrios de luratividade

    B

    Mel/orar manipula2,o de erros B

    ;;; #;;; #

    o!jetivo do -print Freve declarao 7ue ilustre o foco do tra!al#o durante o

    -print

  • 7/23/2019 Metodologias geis TI

    108/114

    p

    ase de Dados

    *ervi2os Hnaneiros

    Cinias da vida

    Funionalidades para estudosgen'tios da popula2,o

    Criar suporte para

    indiadores de desempen/oem tempo real

    Fa(er om que a aplia2,orode no *AL *erver al'm do%ostgre*JL

    9erenciando o -print FacBlog

    Cada indiv8duo escol#e o tra!al#o 7ue far

  • 7/23/2019 Metodologias geis TI

    109/114

    Cada indiv8duo escol#e o tra!al#o 7ue far Tra!al#os nunca so atri!u8dos

    Atuali(ao diria da estimativa do tra!al#o restante ual7uer mem!ro da e7uipe pode adicionar* apagar ou mudar

    tarefas

    tra!al#o aparece a partir do -print -e uma tarefa no " clara* definaa como um item com uma

    7uantidade maior de tempo e su!dividaa depoisAtuali(e as coisas a serem feitas na medida em 7ue se tornam

    mais con#ecidas

    -print FacBlog

  • 7/23/2019 Metodologias geis TI

    110/114

    Tare6asCodiHar inter6ae deusu0rioCodiHar regra de negio

    Testar

    Esrever /elp online

    Esrever a lasse 6oo

    *egB

    "

    B

    "K

    B

    Ter

    "K

    "

    B

    Jua Jui

    ""

    B

    *e

    B

    B

    Adiionar log de erros

    B

    "#

    "

    B

    B

    Furndown C#art

  • 7/23/2019 Metodologias geis TI

    111/114

    &

    oras

  • 7/23/2019 Metodologias geis TI

    112/114

    /scala!ilidade

    /7uipe de @ \ 0 pessoas

  • 7/23/2019 Metodologias geis TI

    113/114

    /7uipe de @ \ 0 pessoas /scala!ilidade atrav"s de e7uipes de e7uipes

    ;atores de escala Tipo de aplicao Taman#o da e7uipe

    'isperso da e7uipe 'urao do projeto

    -crum " usado em projetps envolvendo mais de =11pessoas

    6ara onde ir agoraW

    www.mountaingoatsoftware.comDscrum

  • 7/23/2019 Metodologias geis TI

    114/114

    www.mountaingoatsoftware.comDscrumwww.scrumalliance.orgwww.controlc#aos.comscrumdevelopment]La#oogroups.com

    Agile -oftware 'evelopment wit# -crum !L en -c#wa!erand MiBe FeedleAgile 6roject Management wit# -crum !L en -c#wa!er-crum and t#e /nterprise !L en -c#wa!er