Post on 15-Jan-2016
CENTRO UNIVERSITÁRIO ANHANGUERA DE SÃO PAULO
UNIDADE CAMPO LIMPO
CURSO: TECNOLOGIA EM GESTÃO DA TECNOLOGIA DA INFORMAÇÃO
ATPS DE NOVAS TECNOLOGIAS
PROFESSOR: ALEXANDRE ALVES FREITAS
ANDRÉ FERREIRA TORRES RA 3715657906
CARLOS ALFREDO RODRIGUEZ RA 7251614816
CESAR SANTIAGO DE OLIVEIRA RA 7032517936
FABIANO DE MORAES LIMA RA 7631712728
LUANA DOMINGOS BRAZ RA 7247599151
MARIA LUCIA GOMES DE OLIVEIRA RA 7249607661
MARTA MOURA DA TRINDADE RA 7633740325
SÉRIE 4º e 5º SEMESTRE
SÃO PAULO
MARÇO DE 2015
CENTRO UNIVERSITÁRIO ANHANGUERA DE SÃO PAULO
UNIDADE CAMPO LIMPO
CURSO: TECNOLOGIA EM GESTÃO DA TECNOLOGIA DA INFORMAÇÃO
ATPS DE NOVAS TECNOLOGIAS
PROFESSOR: ALEXANDRE ALVES FREITAS
SÉRIES: 4º e 5º SEMESTRE
SÃO PAULO
MARÇO DE 2015
Introdução:
A finalidade deste trabalho é fornecer uma visão compreensiva de como é estruturado os
princípios de desenvolvimento ágil além de suas aplicações ao longo do seu desenvolvimento.
As técnicas mais utilizadas hoje pelo mercado de desenvolvedores e como são maleáveis suas
aplicações no dia-a-dia da equipe de desenvolvimento.
A abordagem de como é a dinâmica do processo, seus membros próximos na assistência diária, a
motivação de cada equipe entre outros fatores que no transcorrer de tal trabalho trataremos.
O cronograma de atividades em breves períodos para entrega em fases ao cliente divulga como
ponto forte a forma de trabalho na naturalidade, na codificação e a cooperação da equipe para
finalizar cada atividade.
Sumário:
Etapa 1 ......................................................................................................................................... 05
Passo 1 ......................................................................................................................................... 05
Passo 2 ......................................................................................................................................... 05
Passo 3 ......................................................................................................................................... 08
Passo 4 ......................................................................................................................................... 09
Scrum ........................................................................................................................................... 09
XP ............................................................................................................................................... 10
LSD .............................................................................................................................................. 11
AUP ............................................................................................................................................ 11
Etapa 2 ......................................................................................................................................... 12
Passo 1 ......................................................................................................................................... 12
Passo 2 ......................................................................................................................................... 13
Scrum ........................................................................................................................................... 13
Características de Scrum .............................................................................................................. 14
Backlog de Produto e backlog de sprint ...................................................................................... 15
Planejamento de Sprint ................................................................................................................ 15
Scrum Simplificado ..................................................................................................................... 16
Algumas características de Scrum ............................................................................................... 16
Agendando discussões diárias ...................................................................................................... 16
Scrum Solo ................................................................................................................................... 17
Referências Bibliográficas ........................................................................................................... 18
ETAPA 01
Passo1:
Leitura do link Manifesto Ágil
Passo 2:
A maior prioridade consiste em satisfazer o cliente, através da entrega adiantada e
persistente de software de valor. O foco é a satisfação do cliente; Essa satisfação é obtida
entregando ao cliente o que ele deseja, software que traga soluções ou benefícios para o
seu negócio. Todavia, isso não basta. Esse software deve ser entregue de forma contínua
e adiantada, para permitir a validação do produto ao longo do desenvolvimento e iniciar o
fluxo de retorno do investimento o mais rápido possível.
Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se
adequam a mudanças, para que o cliente possa ter vantagens competitivas. Como o foco é
alcançar a satisfação do cliente, mesmo no fim do desenvolvimento do software, caso o
cliente queira fazer alterações, serão feitas do agrado dele. Sendo assim a alteração que o
cliente solicitou cria vantagens competitivas sob o software.
Entregar software funcionando com frequência, na escala de semanas até meses com
preferência aos períodos mais curtos. Entregar a seus clientes, com frequência, partes do
produto prontas, em cada entrega, o retorno ao investimento do cliente permite adquirir o
feedback, sobre o que já está pronto. Assim podemos adaptar às necessidades do cliente
incrementando o software, reduzindo os riscos do projeto.
As pessoas relacionadas aos negócios e desenvolvedores devem trabalhar diariamente em
conjunto, durante todo o curso do projeto. Pessoas de negócios e desenvolvedores do
produto tem o objetivo de garantir a geração de valor para os clientes e para atingir esse
objetivo, cooperam o tempo todo durante o projeto, interagindo com frequência. Esse
05
princípio combate o cenário de incompatibilidade comum em projetos de desenvolvimento
de software, nos quais pessoas de negócios que frequentemente incluem os próprios clientes
do projeto e desenvolvimento raramente se comunicam e muitas vezes, estão em lados
opostos.
Construir projetos em torno de indivíduos motivados dando a eles o ambiente e suporte
necessário, e confiar que farão seu trabalho. O software é construído por pessoas. O
ambiente, o suporte e a confiança para realizar seu trabalho são os fundamentais fatores
para sua motivação. Esse princípio se opõe a crença de que o produto se constrói em
torno das melhores ferramentas e processos, e não das pessoas, como por exemplo, se
amparando nos melhores instrumentos de monitoração e controle externos.
O método mais eficiente e eficaz de transmitir informações para uma equipe de
desenvolvimento, é através de uma conversa face a face. A melhor forma de
comunicação entre membros de uma equipe e o mundo externo é a comunicação face a
face, que é direta e enriquecida pela entonação de voz, olhar e linguagem corporal entre
outros fatores. Quando a comunicação presencial não é viável é uma boa prática é fazer o
melhor uso possível da tecnologia disponível para se aproximar da comunicação face a
face. Esse princípio se opõe a utilização de documentos, e-mail, telefone e
teleconferência, entre outros como formas padrão de comunicação em um projeto.
Software funcional é a medida primária de um progresso. O progresso do software ocorre
na medida que partes do produto que signifiquem valor são entregues aos clientes do
projeto. Esse princípio se opõe à prática de gerar artefatos como protótipos e extensos
documentos de planos e especificações e assim, crer que se progrediu no projeto. Isto
também combate à geração de qualquer artefato e partes do produto que não gerem valor
para os clientes do projeto.
Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores
e usuários, devem ser capazes de manter indefinidamente, passos constantes. Busca
promover um ritmo constante e sustentável para o trabalho da equipe que desenvolve o
06
produto, o que se torna possível quando esse ritmo é apoiado por todos os envolvidos,
incluindo usuários e patrocinadores. Entretanto, ao se exigir dessa equipe um
compromisso com mais trabalho do que ela é capaz de produzir, são muitas vezes
adotadas horas extras, o trabalho em fins de semana e a pressa exagerada para se cumprir
o prazo de entrega, por exemplo. Essas práticas podem levar a insatisfação dos membros
da equipe de desenvolvimento, a uma menor produtividade e uma menor qualidade no
produto gerado.
Contínua atenção à excelência técnica e bom designer, aumenta a agilidade. O produto
projetado com qualidade e produzido com excelência técnica permite que seja facilmente
ser modificado e, assim, aceite a mudança como natural no processo de seu
desenvolvimento. Assim, a alta qualidade no produto gerado é essencial para manter-se a
Agilidade. Esse princípio se opõe à crença de que, para se obter velocidade e
flexibilidade no desenvolvimento do produto, a qualidade deveria ser sacrificada. Na
realidade, é exatamente o oposto.
Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
Evita-se o desperdício no desenvolvimento do produto ao não se realizar trabalho que não
é necessário. Exemplos comuns de desperdícios incluem desenvolvimento de
funcionalidades de que os clientes não precisam ou de soluções desnecessárias e
complexas, planejamento com nível de detalhes maior do que se pode ter em um
determinado momento e uso ou geração de artefatos desnecessários.
As melhores arquiteturas, requisitos e designers emergem de times auto organizáveis.
Equipes com maior autonomia são mais eficientes. Essas equipes auto organizadas
trabalham em direção a metas acordadas, mas têm a liberdade de decidir qual a melhor
forma de realizar esse trabalho e, assim, são responsáveis e responsabilizadas por seus
resultados. Dessa forma, geram um melhor produto.
07
Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e
otimizam seu comportamento de acordo. Para se tornar cada vez mais efetiva, a equipe
regularmente inspeciona suas formas de trabalho, identifica pontos de melhoria e se
adapta de acordo, promovendo a melhoria incremental contínua. É a inspeção e adaptação
que o time realiza em seus processos de trabalho.
O manifesto contém quatro valores fundamentais:
1- Os indivíduos e suas interações acima de procedimentos e ferramentas; Os indivíduos
completam as máquinas e não podem ser comparados a elas.
2- O funcionamento do software acima de documentação abrangente; A ideia por trás
deste item é que para o usuário do software é mais importante que o software esteja funcionando
do que páginas e mais páginas demonstrando como o software deve funcionar. Usuários tendem
a aproveitar muito melhor o tempo aprendendo como o software do que com diagramas
descrevendo de maneira técnica as técnicas empregadas no desenvolvimento do software. Ainda
sim esta documentação não é algo a ser desprezado, pois ainda representam o melhor guia para o
entendimento do por que e como um sistema é construído e como utilizar o sistema.
3- A colaboração dos clientes acima da negociação de contratos; Se a equipe trabalha como
parceira do cliente e entrega valor, com certeza o cliente a contratará para outros projetos.
4- A capacidade de resposta a mudanças acima de um plano pré-estabelecido; A equipe
deve sempre responder ás mudanças do software, quando um plano já estabelecido pelo cliente é
alterado.
Passo 3:
08
Pesquisar e relacionar ao menos 4 outras metodologias ágeis (além do XP). Sua pesquisa
deve permitir escrever uma breve descrição de seu histórico e definirem, em linhas gerais, suas
características.
Passo 4:
Scrum – Scrum é um método de desenvolvimento ágil de software criado por Jeff
Sutherland e a sua equipe de desenvolvimento de software. O método foi criado no início dos
anos 90 e recentemente ganhou incrementos nos métodos gráficos através de Schwaber e Beedle.
Assim como os demais modelos de desenvolvimento ágil o Scrum possui princípios consistentes
com o manifesto ágil. O Scrum é indicado para projetos com prazos apertados, requisitos que
estão sempre sendo modificados e que são críticos para o negócio. Este método define um
conjunto de ações de desenvolvimento, são eles: o Backlog que é onde registra-se todo o trabalho
pendente (requisitos ou funcionalidades) organizando-os por prioridades. Ressalta-se que novas
funcionalidades podem ser adicionadas a esse Backlog a qualquer momento introduzindo as
alterações do usuário. Porém, o gerente do produto deve avaliar esta funcionalidade e atualizar as
prioridades; Temos também como uma ação do Scrum as Sprints que são algumas
funcionalidades do Backlog que podem ser atendidas num prazo curto, de no máximo 30 dias. É
nas Sprints que o trabalho de desenvolvimento realmente será realizado para entregar o mais
rápido possível um incremento de software operacional ao cliente. Quando as Sprints já estão
ocorrendo não devemos fazer alterações e possíveis modificações devem ser realizadas nas
próximas Sprints; Outra ação do Scrum são as Reuniões que tipicamente são curtas (15 minutos)
e realizadas diariamente pela equipe Scrum. Nesta reunião diária são feitas três perguntas
bastante pontuais para todos os membros da equipe:
"O que você realizou desde a última reunião da equipe?", "Quais obstáculos estão
encontrando?" e "O que planeja realizar até a próxima reunião da equipe?". Estas perguntas
ajudam todos a entenderem o que cada um fez no dia anterior, se tem alguma dificuldade para
realizar o trabalho atual e o que se pretende fazer hoje. Esta reunião é considerada muito
importante porque ajuda a equipe a revelar problemas o mais cedo possível, também ajuda a
disseminar o conhecimento. Uma dica importante é que nem todas as equipes acham a reunião
09
diária apropriada para ser feita na parte da manhã, isto porque alguns membros começam
a trabalhar no turno da tarde ou porque as pessoas não possuem um humor muito bom pela
manhã, tente avaliar essas questões e decida o melhor momento.
No Scrum também temos um líder de equipe que é chamado de Scrum Máster. Ele é responsável
por conduzir a reunião diária e avaliar as respostas dos integrantes. O objetivo do Scrum Master
também é remover obstáculos.
Por fim, o SCRUM também trabalha com a ideia de entrega de incrementos de software ao
cliente, ou Demos. Essa funcionalidade permite ao cliente avaliar e dar feedbacks para a equipe.
Como as Demos são realizadas durante os incrementos, pode ser que não tenhamos toda a
funcionalidade completa, mas teremos funções que possam ser entregues dentro do prazo
acertado com o cliente.
XP – A metodologia Extreme Programming (XP) enfatiza o desenvolvimento rápido do
projeto e visa garantir a satisfação do cliente, além de favorecer o cumprimento das estimativas.
As regras, práticas e valores da XP proporcionam um agradável ambiente de desenvolvimento de
software para os seus seguidores, que são conduzidos por quatro valores: comunicação,
simplicidade, feedback e coragem. A finalidade do princípio de comunicação é manter o melhor
relacionamento possível entre clientes e desenvolvedores, preferindo conversas pessoais a outros
meios de comunicação. A comunicação entre os desenvolvedores e o gerente do projeto também
é encorajada. A forma de comunicação é um fator chave na XP: procura-se o máximo possível
comunicar-se pessoalmente, evitando se o uso de telefone e o envio de mensagens por correio
eletrônico. A simplicidade visa permitir a criação de código simples que não deve possuir
funções desnecessárias. Por código simples entende-se implementar o software com o menor
número possível de classes e métodos. Outra idéia importante da simplicidade é procurar
implementar apenas requisitos atuais, evitando-se adicionar funcionalidades que podem ser
importantes no futuro. A aposta da XP é que é melhor fazer algo simples hoje e pagar um pouco
mais amanhã para fazer modificações necessárias do que implementar algo complicado hoje que
talvez não venha a ser usado, sempre considerando que requisitos são mutáveis
10
LSD - O Desenvolvimento de Software Enxuto ou Lean Software Development (LSD)
adaptou os princípios da fabricação enxuta da indústria para o mundo da engenharia de software.
Entre os princípios do desenvolvimento enxuto tem-se: eliminar desperdícios, incorporar
qualidade, criar conhecimento, adiar compromissos, entrega rápida, respeitar as pessoas e
otimizar o todo.
Cada um desses princípios foi adaptado ao contexto do processo de software. Para citar um
exemplo, o eliminar desperdício, no contexto de um projeto de software ágil é interpretado como
não adicionar recursos ou funções obscuras, avaliar possíveis impactos do custo e cronograma de
qualquer requisito que seja solicitado, eliminar etapas do processo que sejam supérfluos, etc.
AUP - O Processo Unificado Ágil ou AgileUnifiedProcess (AUP) adota uma filosofia
serial (sequência linear de atividades) para o que é amplo e iterativo para o que é particular. Este
processo possui atividades nas fases clássicas adotadas pelo Processo Unificado: Início,
Elaboração, Construção e Transição. Dentro de cada uma das atividades a equipe itera ou se
repete para alcançar a agilidade e entregar incrementos de software para os usuários finais. É
importante que essa entrega seja mais rápida quanto possível.
A AUP possui seis atividades, na qual a equipe irá sempre iterar. As atividades são:
1) Modelagem: Modelos UML representando o negócio são criados. Os modelos
devem ser suficientemente bons e adequados para permanecer ágil.
2) Implementação: Modelos são traduzidos para o código-fonte.
3) Teste: A equipe projeta e executa uma série de teste a fim de descobrir possíveis
erros e para assegurar que o código-fonte se ajuste aos requisitos.
4) Aplicação: É a entrega de um incremento de software e a aquisição de feedback
dos usuários finais com base neste incremento.
5) Gerenciamento de Configuração e Gerenciamento de projeto: No contexto da
AUP, gerenciamento de configuração refere-se ao gerenciamento de alterações,
riscos e de controle de qualquer artefato persistente que são produzidos pela
equipe. O gerenciamento de projeto controla o progresso de uma equipe e
coordena suas atividades.
11
6) Gerenciamento de Ambiente: Coordena toda a infraestrutura de processos
incluindo padrões, ferramenta e outras tecnologias de suporte disponíveis para a
equipe.
Como vimos nesse artigo, um processo de software tem como característica um conjunto
de atividade que conduzem o desenvolvimento do produto de software.
Um processo tem como característica a definição de quem realiza uma atividade e quando
fazê-la. Um Modelo de processo é uma descrição simplificada de um processo onde se definem
as atividades, especificam-se os produtos gerados nas atividades e indicam-se os papeis das
pessoas envolvidas. As empresas normalmente definem seus próprios modelos de processos,
juntando o que tem de melhor nos diferentes modelos de processos existentes. Outras empresas
preferem adotar um modelo de processo que seja mais adequado ao seu contexto.
ETAPA2
Passo1:
Esses valores apresentados no manifesto ágil são os prováveis motivos da evidência das
metodologias ágeis, visto que entre as pessoas que assinaram o manifesto encontram-se os
criadores de várias metodologias como XP, SCRUM, entre outras. Eles declararam que mais
importante que seguir um processo massivo apenas por que a empresa o adotou é saber o que as
pessoas pensam disso, pensar em motivar as pessoas que desenvolvem os projetos de software,
alimentar a comunicação, a franqueza e a colaboração dessas pessoas entre si de modo que todos
entendam que possuem um objetivo comum, desenvolver um produto de qualidade. Mais
importante do que fazer documentação em excesso é desenvolver um software que funcione
corretamente e atenda as expectativas do cliente. É importante colaborar com o cliente, mais do
que negociar novos contratos. Eles entendem que mudança é algo bom, desde que essa mudança
12
agregue valor ao produto para o cliente. Realizar mudanças envolve obter um software de
qualidade, vendo qualidade do ponto de vista da satisfação do cliente.
Como disse antes, algumas práticas das metodologias ágeis não são novidades, mas o
novo foco apresentado pelos valores e princípios do movimento ágil agradam e estão dando
muitos resultados, porém se as empresas derem importância apenas as práticas apresentadas
pelas diversas metodologias, esquecendo dos valores e princípios do Agilemanifesto.org, essas
também tenderam a ser mais algumas metodologias que não funcionam e causam novos
problemas, e serão apresentadas como péssimos exemplos por futuros “xiitas” que terão novas
metodologias como a “bala de prata” que resolve todos os problemas da engenharia de software.
Passo2:
SCRUM
É um dos métodos da metodologia ágil para gerenciamento de Projetos. Scrum vem
sendo amplamente adotado por empresas como o portal Terra e a Globo.com, justamente por
atender com precisão às necessidades do desenvolvimento de software e sites.
Inicialmente, o Scrum foi concebido como um estilo de gerenciamento de projetos em
empresas de fabricação de automóveis e produtos de consumo, por Takeuchi e Nonaka no artigo
"The New NewProductDevelopment Game" (Harvard Business Review, Janeiro-Fevereiro
1986). Eles notaram que projetos usando equipes pequenas e multidisciplinares (cross-
functional) produziram os melhores resultados, e associaram estas equipes altamente eficazes à
formação Scrum do Rugby (utilizada para reinício do jogo em certos casos). Jeff Sutherland,
John Scumniotales, e Jeff McKenna documentaram, conceberam e implementaram o Scrum,
como descrito abaixo, na empresa Easel Corporation em 1993, incorporando estilos de
gerenciamento observados por Takeuchi e Nonaka. Em 1995, Ken Schwaber formalizou a
definição de Scrum e ajudou a implantá-lo em desenvolvimento de software em todo o mundo.
Scrum junta conceitos de Lean, desenvolvimento iterativo e do estudo de Hirotaka
Takeuchi e Ikujiro Nonaka. A função primária do Scrum é ser utilizado para o gerenciamento de
projetos de desenvolvimento de software. Ele tem sido usado com sucesso para isso, assim como
Extreme Programming e outras metodologias de desenvolvimento.
13
Porém, teoricamente pode ser aplicado em qualquer contexto no qual um grupo de
pessoas necessitem trabalhar juntas para atingir um objetivo comum, como iniciar uma escola
pequena, projetos de pesquisa científica, ou até mesmo o planejamento de um casamento.
Mesmo que o Scrum tenha sido idealizado para ser usado em gestão de projetos de
desenvolvimento de software, ele também pode ser usado para gerenciar equipes de manutenção,
ou como uma abordagem para gestão de programas: Scrum de Scrums.
Características de Scrum
- Cada sprint é uma iteração que segue o ciclo PDCA e entrega um incremento de software
pronto.
- Um backlog é um conjunto de requisitos, priorizado pelo ProductOwner (cliente);
- Há entrega de um conjunto fixo de itens do backlog em uma série de iterações curtas ou sprints;
- Uma breve reunião diária ou scrum, onde cada participante fala sobre o progresso conseguido,
o trabalho a ser realizado e/ou o que o impede de seguir avançando (também chamado de
StandupMeeting, já que os membros da equipe geralmente ficam em pé).
-Uma breve sessão de planejamento, na qual os itens do backlog para uma sprint (iteração) são
definidos uma retrospectiva, na qual todos os membros da equipe refletem sobre a Sprint
passada.
O Scrum é facilitado por um Scrum Master, que tem como função primária remover
qualquer impedimento à habilidade de uma equipe de entregar o objetivo do sprint. O Scrum
Master não é o líder da equipe (já que as equipes são auto organizadas) mas atua como um
firewall entre a equipe e qualquer influência desestabilizadora. Outra função extremamente
importante de um Scrum Master é o de assegurar que a equipe esteja utilizando corretamente as
práticas de Scrum, motivando-os e mantendo o foco na meta da Sprint.
Scrum permite a criação de equipes auto organizadas, encorajando a comunicação verbal
entre todos os membros da equipe e entre todas as disciplinas que estão envolvidas no projeto.
Um princípio chave do Scrum é o reconhecimento de que desafios fundamentalmente baseados
na experiência não podem ser resolvidos com sucesso utilizando uma abordagem tradicional de
"controle".
14
Assim, o Scrum adota uma abordagem empírica, aceitando que o problema não pode ser
totalmente entendido ou definido, focando na maximização da habilidade da equipe de responder
de forma ágil aos desafios emergentes. Um dos grandes defeitos do Scrum, porém, é a
abordagem de "receita de bolo" do gerenciamento de projetos exemplificado no Project
Management BodyofKnowledge ou Prince2, que tem como objetivos atingir qualidade através da
aplicação de uma série de processos prescritos
Backlog de produto e backlog de sprint
Um backlog é uma lista de itens priorizados a serem desenvolvidos para um software. O
backlog de produto é mantido pelo Proprietário do Produto e é uma lista de requisitos que
tipicamente vêm do cliente. O backlog de sprint é uma interpretação do backlog do produto e
contém tarefas concretas que serão realizadas durante o próximo sprint para implementar alguns
dos itens principais no backlog do produto. O backlog de produto e de sprint são, então, duas
coisas totalmente diferentes, o primeiro contendo requisitos de alto-nível e o segundo contendo
informações sobre como a equipe irá implementar os requisitos.
Planejamento de Sprint
Antes de todo sprint, o Proprietário do Produto, o Scrum Master e a Equipe decidem no
que a equipe irá trabalhar durante o próximo sprint. O Proprietário do Produto mantém uma lista
priorizada de itens de backlog, o backlog do produto, o que pode ser repriorizado durante o
planejamento do sprint. A Equipe seleciona itens do topo do backlog do produto. Eles
selecionam somente o quanto de trabalho eles podem executar para terminar. A Equipe então
planeja a arquitetura e o design de como o backlog do produto pode ser implementado. Os itens
do backlog do produto são então destrinchados em tarefas que se tornam o backlog do sprint.
15
Scrum simplificado
Muitas organizações têm sido resistentes às metodologias introduzidas em baixos níveis
da organização. Porém, a adaptabilidade do Scrum permite que ele seja introduzido de forma
invisível ("stealth"), usando os três passos:
Agende uma demonstração do software com seu cliente em um mês a partir de agora;
Como equipe, tome um mês para deixar o software pronto para uma demo, com
funcionalidades prontas, não simplesmente telas;
Na demonstração, obtenha feedback e use-o para guiar o seu próximo mês de trabalho de
desenvolvimento
Algumas características de Scrum
- Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente
interessados na saída);
- Entregas frequentes e intermediárias de funcionalidades 100% desenvolvidas;
- Planos frequentes de mitigação de riscos desenvolvidos pela equipe;
- Discussões diárias de status com a equipe;
- A discussão diária na qual cada membro da equipe responde às seguintes perguntas:
O que fiz desde ontem?
O que estou planejando fazer até amanhã?
Existe algo me impedindo de atingir minha meta?
- Transparência no planejamento e desenvolvimento;
- Reuniões frequentes com os stakeholders (todos os envolvidos no processo) para monitorar o
progresso;
- Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer
problema não visto;
- Locais e horas de trabalho devem ser energizadas, no sentido de que "trabalhar horas extras"
não necessariamente significa "produzir mais".
16
Agendando discussões diárias
Um momento bom para as discussões diárias é depois do almoço. Durante a manhã pode ser
complicado. Estas discussões de status não demoram e uma forma eficiente de fazer estas
reuniões seria ficar em pé e em frente a um quadro negro. Como as pessoas tendem a ficar
cansadas após o almoço, ter uma viva reunião em pé nessa hora permite que a equipe mantenha a
sua energia alta. Como todos estiveram trabalhando durante a manhã, suas mentes estão focadas
no trabalho e não em questões pessoais.
Scrum Solo
Scrum é baseado em pequenas equipes. Ele permite a comunicação entre os membros da
equipe. Entretanto, há uma grande quantidade de softwares desenvolvidos por programadores
solos. Um software sendo desenvolvido por um só programador pode ainda se beneficiar de
alguns princípios do Scrum, como: um backlog de produto, um backlog de sprint, um sprint e
uma retrospectiva de sprint. Scrum Solo é uma versão adaptada para uso de programadores solo.
17
Referências:
http://wikipedia.com.br
http://www.slideshare.net/lorran33/padres-de-projeto-adapter-proxy-composite-e-bridge
http://www.devmedia.com.br/conheca-os-padroes-de-projeto/957
http://codeigniterbrasil.com/passos-iniciais/padroes-de-projeto-ou-design-patterns-o-que-sao-
para-que-servem-e-qual-sua-implicacao-de-uso/
www.teses.usp.br/teses/.../CelioMauroPlacerRodriguesDeAlmeida.pdf
www.madeira.ufpr.br/disciplinasklock/.../Apostila%20GP%20leitura.pdf
18