FÁBRICA DE SOFTWARE ÁGIL
A Fábrica de Software Ágil ITGROUP é uma oferta de serviços que visa reunir a experiência acumulada pela empresa na
realização dos vários projetos de desenvolvimento de software ao longo dos anos e replicar os resultados atingidos com os
processos ágeis de gestão de projetos e de desenvolvimento de software.
DESEJOS
O modelo de fábrica de software proposto pela ITGROUP surgiu da compilação de uma série de desejos latentes apresentados por vários clientes; da insatisfação da empresa com os modelos tradicionais de produção de software e das tendências do mercado na busca por agilidade e melhores resultados.
Uma das maiores preocupações percebidas a partir das nossas observações está relacionada ao atendimento das expectativas dos clientes, que sofrem muito para atingir os resultados esperados com os seus projetos em termos de custos absolutos, prazos e retorno sobre o investimento. Outra frustração comum é a dificuldade dos clientes de conseguir fornecedores que possibilitem a inovação com o uso de tecnologias de ponta, impedindo o uso de novidades que trariam diferenciais competitivos significativos aos projetos.
Quando uma empresa parte para o desenvolvimento de um software, uma grande expectativa é a capacidade de acompanhar o andamento do projeto, ter a certeza de que o projeto está no rumo certo e de que os prazos serão atendidos.
PROPOSTA DA ITGROUP
A Fábrica de Software Ágil ITGROUP surge para atender aos anseios e oferecer aos clientes as práticas ágeis apresentadas.
SCRUM
A metodologia de gerenciamento de projetos adotada é Scrum, a metodologia mais adotada no cenário ágil.
ENVOLVIMENTO DO CLIENTE
Um dos pilares desta metodologia é o estabelecimento de uma parceria entre a equipe de desenvolvimento e o cliente. É fundamental que o cliente participe do processo de desenvolvimento, apresentando e revisando periodicamente a lista de requisitos, assistindo às apresentações periódicas da equipe e colocando o seu parecer.
INCREMENTOS
Todas as atividades de um projeto gerenciado por Scrum devem ser focadas na geração de uma pequena entrega funcional e com nível de qualidade final. São chamadas de incrementos, uma vez que cada entrega deve agregar incrementos de funcionalidades.
PESSOAS QUALIFICADAS E MOTIVADAS
Processos e metodologias são muito importantes, mas as peças fundamentais para que tudo seja possível são as pessoas. A parceria com o cliente é fundamental para que ele esteja satisfeito, sinta-se atendido e tenha confiança na equipe, e também é fundamental que o time esteja motivado a atendê-lo.
SPRINTS
Projetos tradicionalmente têm um período de duração longo, o que faz com que as pessoas se acomodem no início até perceberem o atraso e comecem a correr desesperadamente no final.
A metodologia Scrum estabelece o conceito de Sprints, ou ciclos de desenvolvimento com períodos fixos e definidos no início do projeto. Este conceito faz com que o time mantenha um ritmo de trabalho constante e com entregas contínuas.
PLANNING DAY
No início de cada Sprint a lista de requisitos, chamada de Product Backlog é revisada e priorizada pelo Product Owner e pela equipe, levando-se em consideração prioridades do cliente e dependências técnicas.
DAILY SCRUM
Diariamente realiza-se uma reunião rápida de status, onde cada integrante da equipe informa a situação das suas tarefas do último dia, os problemas encontrados e as tarefas planejadas para o próximo dia.
APRESENTAÇÃO DOS RESULTADOS
A última etapa de cada Sprint é a apresentação dos resultados obtidos, geralmente pela execução do software em sua situação atual. Esta apresentação tem o objetivo de demonstrar o andamento do projeto, validar as implementações realizadas e coletar observações e críticas.
APPLICATION LIFE-CYCLE MANAGEMENT
O resultado de um Sprint não é necessariamente liberado para a produção. Na verdade cada Release de um projeto será o resultado de um ou mais Sprints que devem passar pelos processos tradicionais de análise, codificação, testes, homologação, treinamento, implantação, suporte, etc.
VISUAL STUDIO TEAM SYSTEM
O ferramental de apoio utilizado pela Fábrica de Software Ágil ITGROUP é o Visual Studio Team System, que contempla um servidor, o Team Foundation Server, que nos permite gerenciar as listas do Product Backlog, Sprint Backlog, Bugs e Releases, além de oferecer recursos de gerenciamento de código fonte, testes, revisão de código, documentação, modelagem e trabalho em equipe.
SCRUM FOR TEAM SYSTEM
O modelo de projetos utilizado para a Fábrica de Software Ágil ITGROUP é o Scrum for Team System da Conchango, uma empresa especializada na adaptação do processo Scrum para o Team Foundation Server.
PATTERNS & PRACTICES
O processo de desenvolvimento da Fábrica de Software Ágil ITGROUP aplica conceitos de metodologias ágeis, como eXtreme Programming. Utilizamos práticas como Test-Driven Development e Continuous-Integration, além de padrões e boas práticas de desenvolvimento colocadas no mercado pela própria Microsoft através de sua área de patterns & practices.