Anda di halaman 1dari 12

CENTRO UNIVERSITRIO ANHANGUERA DE SO PAULO

FERNANDO OLIVEIRA FERES RA 5632121657


MARCOS DE SOUZA RA 1299167498
SAMIR MONTEIRO DE TOLEDO RA 5644107797










TRABALHO
PROGRAMAO COMERCIAL C#














SO PAULO
2013
METODOLOGIAS GEIS PARA DESENVOLVIMENTO DE
SOFTWARE

Vamos falar das metodologias geis que sugiram nos ltimos anos e vamos tratar
neste trabalho a metodologia Scrum. Tambm mostrar as diferenas entre
metodologias tradicionais e metodologias geis para desenvolvimento.

1- O que a Metodologia:

A metodologia a uma representao de um processo em modo simplificado.
um conjunto de boas prticas para o desenvolvimento de um software e
auxilia muito desenvolvimento. Entre elas podemos destacar as metodologias
tradicionais e metodologias geis.

1.1 Metodologias Tradicionais:

So conhecidas por serem muito documentadas e acabam s vezes
atrapalhando a agilidade do desenvolvimento. Podemos dizer que elas so
orientadas documentao. Elas so divididas em etapas definidas de
maneira fechada. Alguns anos atrs estas metodologias eram aplicadas para
desenvolvimento em mainframes.
As alteraes nestas plataformas geravam altos custos e com o agravante de
grande limitao de hardware para debugar (depurar) e analisar o cdigo.
Entre as metodologias tradicionais temos a metodologia cascata nela voc
tem as fases dividas em etapas. As etapas so amarradas a prxima etapa s
inicia ao termino da anterior.
Exemplo:


1.2 Metodologias geis:

Essas metodologias possuem alguns atributos principais que devem ser
considerados:
Aprendizado e Adaptao Projetos tradicionais de desenvolvimento de
software nos foram a prever tudo o que ser desenvolvido com o mximo de
preciso no incio do projeto. Metodologias geis afirmam que h muita coisa
que no podemos prever no incio do projeto, eles so estruturados para
permitir que ns primeiramente aprendamos sobre o que ainda no
conhecemos e ento nos adaptemos para utilizar o conhecimento adquirido.
Colaborao Metodologias geis valorizam a colaborao contnua dos
patrocinadores, clientes e equipe de desenvolvimento.
Foco na necessidade do cliente O cliente o foco central em um projeto
gil. Pequenas equipes auto gerenciveis Metodologias geis reconhecem
que pequenas equipes podem se auto gerenciar com maior eficincia.
Princpios A base para a formao das Metodologias geis proveniente
dos mtodos que se consolidaram na indstria. Principalmente os conceitos
Just Enough e Just in Time ("s o suficiente" e "a tempo").
Progressiva elaborao de requisitos Ns aprendemos sobre os
requisitos do software medida que o projeto avana, ento especificar cada
detalhe dos requisitos no incio do projeto no faz sentido. Projetos geis
estabelecem um claro caminho para elaborao do detalhamento dos
requisitos conforme eles se tornam necessrios.
Entregas incrementais A melhor maneira de nos assegurarmos que
estamos desenvolvendo o software corretamente regularmente obter o
feedback de nosso cliente. Metodologias geis sempre produzem entregas
incrementais de software para o cliente.
Planejamento iterativo e adaptao Metodologias geis valorizam o
planejamento. Eles promovem planejamento em diversos nveis regularmente.
Sempre o adaptando de acordo com os novos conhecimentos obtidos durante
o avano do projeto.

Exemplo de Metodologia gil:
1.2.1 - Metodologia gil - SCRUM
O Scrum uma metodologia gil para gesto e planejamento de projetos,
um processo para construir software incrementalmente.
Trabalhos complexos nos quais impossvel predizer tudo o que ir ocorrer o
Scrum poder ser eleito como ferramenta para auxiliar no desenvolvimento ou
seja em ambientes complexos, onde os requisitos no so claros ou mudam
com muita frequncia.
O Scrum baseado em ciclos de 30 dias chamados Sprints, onde se trabalha
para alcanar objetivos bem definidos. Estes objetivos so representados no
Product Backlog, uma lista de coisas para fazer que constantemente
atualizada e priorizada.
Como so distribudos os papis?
Equipe: Responsvel por entregar solues, geralmente formada por um
grupo pequeno (entre 5 e 9 pessoas) e que trabalha de forma auto
gerenciada;
Product Owner: Responsvel pela viso de negcios do projeto, ele quem
define e prioriza o Product Backlog. Geralmente o papel desempenhado
pelo cliente;
Scrum Master: uma mistura de gerente, facilitador e mediador. Seu papel
remover obstculos da equipe e assegurar que as prticas de Scrum esto
sendo executadas com eficincia.
Como funciona?
Definio do Backlog: Todas as funcionalidades ou mudanas no produto so
definidas pelo Product Owner no Product Backlog. Esta lista priorizada para
refletir a necessidade dos clientes ou demandas do mercado. Os itens do
topo da lista so destacados para serem entregues no final do prximo Sprint.
Andamento do Sprint: Durante o Sprint, os itens do Product Backlog que
devem ser entregues so agora tratados no Sprint Backlog. As tarefas agora
so responsabilidade da Equipe, que tem autonomia para decidir como elas
devem ser executadas.
Reunies Dirias: O Scrum Master se rene diariamente com a Equipe num
mesmo horrio, para que se reporte:
O que foi feito ontem?
O que se pretende fazer hoje?
Quais so os impedimentos que esto atrapalhando a execuo das tarefas?
Revises: no final do Sprint a Equipe demonstra os resultados para o Product
Owner e demais interessados, de forma que os itens do Backlog sejam
considerados prontos e ento possa se iniciar um novo Sprint.
Exemplos de ferramentas para trabalhar com Scrum:
Ficamos muito empolgados com a metodologia e comeamos a pesquisar
algumas ferramentas para uso de Scrum que poderiam ser aplicadas por
nossa equipe e nas prticas geis que pretendemos adotar.



Rational Team Concert



Seu time capaz de responder de pronto as perguntas abaixo:
Qual o objetivo da Sprint atual e quem est trabalhando no que?
De acordo com o planejamento e desempenho atuais da equipe, vocs vo
conseguir entregar o objetivo da Sprint?
Quais funcionalidades entraram em um determinado Build?
Voc consegue as informaes que precisa para se preparar para o SCRUM
dirio rapidamente? Essa preparao satisfatria?
O cdigo est estabilizando, com o nmero de erros encontrados diminuindo
ao longo do projeto?
Qual a frequncia de quebra de Builds?
Quando voc tem uma dvida e quer envolver outra pessoa do time precisa
trocar e-mails ou chat?
Em caso positivo, o tempo para contextualizar a situao satisfatrio?
Sua equipe gasta mais tempo do que gostaria criando atas de reunio, notas
de Release e correlacionando informaes que esto em locais diferentes
(planilhas, bancos de dados, etc.)?
Responder a todos estes questionamentos foi exatamente o objetivo da IBM
ao criar o Rational Team Concert, ou RTC para os ntimos: tirar tarefas
burocrticas e operacionais da frente dos desenvolvedores, liberando-os para
fazer o que mais gostam.
Com o RTC, seu time poder:
Manter o SCRUM card wall (kanban);
Versionar todos os artefatos do projeto (SCM);
Desenvolver em paralelo;
Controlar mudanas e erros (bug tracking);
Gerenciar o backlog;
Fazer o planejamento de Releases do produto;
Realizar integrao contnua;
Colaborar em tempo real;
Tudo isto, numa nica ferramenta, a partir de um nico instalador em um
nico banco de dados.
Toda a informao de projeto centralizada e disponvel para todo time a partir
de uma interface Web extremamente elegante e amigvel.
O cliente do RTC baseado em Eclipse e tem suporte a Mac, Linux e
Windows (tambm existem verses do cliente para Visual Studio .NET e
Terminal Mainframe).
O servidor RTC, baseado na tecnologia Jazz, pode ser instalado em um
servidor Linux, Windows, entre outras, suportando times de desenvolvimento
das principais plataformas de desenvolvimento e linguagens de programao.
Essa liberdade toda pode ser aproveitada por times de desenvolvimento de
at 10 pessoas, sem custo algum, para desenvolvimento de qualquer tipo de
aplicao (comercial inclusive).








Scrum Works Pro



Essa uma ferramenta muito bem comentada pela web. Possui duas
verses, Basic (gratuita) e Pro (obviamente paga). Diferentemente das
ferramentas, essa ferramenta no roda online e precisa ser instalada.
ScrumWorks, depois de instalado, consiste em 2 programas, um servidor e
um cliente. O servidor para ser usado pelo Scrum Master, onde se realiza
todas as tarefas de planejamento do Scrum. A parte cliente direcionada aos
membros da equipe para que possam receber a atualizao das tarefas.
Testamos rapidamente, e nos parece ser uma ferramenta muito boa, apesar
de carecer de uma interface mais intuitiva como as outras ferramentas que
vamos falar abaixo. A vantagem dessa ferramenta que ela parece ter um
nvel de customizao bem interessante para equipes que esto
continuamente melhorando o seu processo de desenvolvimento.




Ice Scrum



Est uma ferramenta open source que encontramos. IceScrum est na
verso R6#9. uma ferramenta bem completa que tem todas as
funcionalidades que ns j mencionamos como Product Backlog, Sprint
Backlog, planejamento de release, funcionalidades para todos os papis do
Scrum, auxlio ao planning poker, grficos diversos e muito mais.
A ferramenta parece ter sido muito bem implementada e parece estar em
constante evoluo. Vale a conferida para quem est interessado em uma
ferramenta sem custos de aquisio e que pode agregar bastante valor ao
processo de sua equipe de desenvolvimento.

Pango Scrum


Assim como o Scrumy, Pango Scrum tambm uma ferramenta online,
porm muito mais completa. Auxilia em quase todas as atividades principais
do Scrum como Product Backlog, Sprint Backlog, agendamento de eventos e
planejamento de sprints. A ferramenta no disponibiliza a funcionalidade para
criao de painel de tarefas pois eles pregam que isso deva ser realmente
feito na base do papel e post-it. O Pango Scrum gratuito e assim como
muitas outras ferramentas da Web 2.0, est "em fase beta".

Scrumy



Esta ferramenta que preza pela simplicidade e pela facilidade de uso.
Para criar um projeto no Scrumy basta digitar no seu browser a url:
http://scrumy.com/<nome do projeto> e voc j ter o seu espao criado.
Alm disso, o que a ferramenta basicamente prov a criao das user
stories e o acompanhamento delas atravs do painel de tarefas (taskboard).
Existe ainda uma verso para chamada Scrumy Pro que lhe permite
coordenar mltiplos sprints e mltiplos backlogs, alm de prover burndown
charts.


Mingle



Essa talvez seja a melhor das ferramentas que pesquisamos, afinal de
contas, foi criada pela empresa de um dos maiores evangelizadores de
metodologias geis, Martin Fowler.
Essa ferramenta possui tudo o que podemos esperar de uma boa ferramenta
de Scrum, e melhor ainda, tudo muito bem implementado e com uma
usabilidade visvel desde o primeiro contato. Alm das funcionalidades
esperadas, a ferramenta prov um wiki integrado, alertas por e-mail, feeds
RSS e muito mais. Porm, como era de se esperar para uma ferramenta
desse nvel, ela paga e de acordo com a tabela de preos, no barata.









Scrum Half



Essa ferramenta merece uma meno honrosa, pois a nica ferramenta
nacional que est ganhando mercado na rea de desenvolvimento gil. No
tivemos oportunidade de test-la ainda, mas primeira vista parece ser uma
ferramenta muito boa.
Scrum Half foi desenvolvida pela GPE, uma empresa brasileira com foco em
gesto gil de projetos. Uma das vantagens que percebemos na ferramenta,
alm da mais bvias que o idioma, o fato de ser online e assim, no
precisar de instalao. Vale muito a pena dar uma conferida, para quem tiver
interesse, a ferramenta gratuita para uso de at 3 pessoas, mais do que
isso, tem uma tabela de preos que pode ser consultada.

Concluso
Gostamos muito de todas as ferramentas expostas acima, desde a mais
simples at a mais completa.