Projetos de Software

Este serviço consiste na gestão e no desenvolvimento de um projeto de software, com início e fim bem definidos.

A Webgoal utiliza métodos e práticas ágeis para desenvolver software. A gestão dos projetos é feita a partir do framework Scrum. Todo o processo de desenvolvimento, do planejamento a entrega, é organizado em pequenas iterações (normalmente 2 semanas) e de forma incremental para que o retorno sobre o investimento seja alcançado no menor tempo possível.

Nós especificamos os requisitos na forma de Estórias do Usuário. Cada requisito poderá ser especificado em uma ou mais estórias conforme a sua complexidade. Essas estórias possuem uma breve descrição da necessidade do usuário, quais são os benefícios esperados e os critérios de aceitação que validarão a implementação desse requisito. Nas reuniões de planejamento das iterações, a equipe também realiza o detalhamento da estória subdivindo-a em tarefas, que por sua vez possui um conteúdo mais técnico de como será implementada.

Durante a iteração, utilizamos um kanban para organizar a implementação das estórias. Essa ferramente deixa visível cada estágio do desenvolvimento: tarefas pendentes, em andamento, finalizadas, em homologação, disponíveis para publicação e publicadas. Assim o desenvolvimento segue um fluxo contínuo de acordo com a priorização realizada no planejamento.

Ao término de cada iteração, a equipe do projeto realiza uma reunião denominada Retrospectiva. Refletindo sobre o último ciclo de desenvolvimento, cada membro da equipe elenca o que foi bom e deve ser mantido, e o que pode ser melhorado e corrigido na próxima iteração. Desta forma, a medida que o projeto acontece, garantimos a melhoria contínua na gestão, planejamento e desenvolvimento do software.

Nós desenvolvemos software em diversas liguagens: Java, C#, Ruby e PHP. Os códigos-fontes dos projetos são controlados em um SCM (source code management) que funciona como um repositório para garantir a segurança e consistência do código-fonte. A implementação das funcionalidades é feita dirigida por testes (TDD – Test Driven Development), uma prática utilizada em todos os nossos projetos, onde testes são escritos antes de implementar a funcionalidade. Isso garante um alto índice de qualidade em nosso código.

Utilizamos um software de integração contínua, que funciona integrado ao SCM e identifica qualquer alteração no código para, em seguida, rodar uma bateria de testes, garantindo que essa alteração não afetou o funcionamento de nenhuma outra parte do sistema. Também utilizamos a refatoração de código, que é uma boa prática de programação e consiste em realizar melhorias contínuas no código existente. Com isso se torna mais fácil e rápido adicionar novas funcionalidades e realizar aperfeiçoamentos em recursos existentes.

Por fim, utilizamos a programação em par no desenvolvimento do software. Programação em par é uma técnica utilizada para garantir a qualidade do código gerado. Nessa técnica, dois desenvolvedores utilizam um único computador para programar, dessa forma, enquanto um desenvolvedor está codificando, o outro analisa atentamente o código escrito e identifica possíveis problemas e conflitos com outros pontos do código. Além de o código ser sempre revisado, a troca de conhecimento e evolução da equipe aumenta muito a produtividade no projeto.

O serviço de Projetos de Software é oferecido a partir de um contrato de escopo flexível. Os prazos e custos são fixos, mas nossos clientes podem variar o escopo a medida que vão aprendendo mais sobre o projeto. Acreditamos tanto nesta forma de contrato, que o pagamento do projeto pode ser feito sob demanda e a contra-entrega.

Entre em contato conosco pelo e-mail [email protected] para receber um orçamento do seu projeto.