Mudanças entre as edições de "Processo de desenvolvimento de software"

De PJe
Ir para: navegação, pesquisa
Linha 1: Linha 1:
<font color=red>Em construção</font>
+
<font color=red>Em construção</font><br>
 
SCRUM é um framework ágil para desenvolvimento de produtos que foca em quatro princípios fundamentais:
 
SCRUM é um framework ágil para desenvolvimento de produtos que foca em quatro princípios fundamentais:
 
* Foco nos objetivos estratégicos dos envolvidos, buscando a entrega do que mais importante é considerado pelo cliente (comitê) e seus desdobramentos o quanto antes no ciclo de vida do projeto, maximizando o ganho estratégico do produto final.
 
* Foco nos objetivos estratégicos dos envolvidos, buscando a entrega do que mais importante é considerado pelo cliente (comitê) e seus desdobramentos o quanto antes no ciclo de vida do projeto, maximizando o ganho estratégico do produto final.

Edição das 18h14min de 6 de setembro de 2013

Em construção
SCRUM é um framework ágil para desenvolvimento de produtos que foca em quatro princípios fundamentais:

  • Foco nos objetivos estratégicos dos envolvidos, buscando a entrega do que mais importante é considerado pelo cliente (comitê) e seus desdobramentos o quanto antes no ciclo de vida do projeto, maximizando o ganho estratégico do produto final.
  • Foco no desenvolvimento do produto, sendo a documentação então um mecanismo de suporte ao desenvolvimento e de registro do histórico da execução.
  • Estreita colaboração entre time e o comitê, sendo este participante de todas as fases do projeto, desde seu planejamento até seu encerramento. O comitê, ou seu representante, deve participar ativamente nas atividades do projeto, sendo ele o responsável pelas principais decisões gerenciais e técnicas que orientam o desenvolvimento do produto.
  • Resposta dinâmina a mudanças, permitindo que o produto final incorpore naturalmente as mudanças que ocorrerem durante o ciclo de vida do projeto sem prejudicar o escopo estratégico da solução.

Os métodos SCRUM, por sua própria definição, já criam um ambiente colaborativo e de cooperação mútua, permitindo a efetiva parceria entre o comitê e a equipe do PJe na busca dos objetivos estratégicos refletidos na visão do produto. O time SCRUM é composto de três papéis, quais sejam Scrum Master, Product Owner e Time SCRUM. Esses papéis são claros e bem definidos dentro do framework e suas responsabilidades são discutidas mais adiante. Em termos técnicos, um time SCRUM é heterogêneo e multidisciplinar, contendo analistas, projetistas, desenvolvedores, arquitetos, testadores, entre outros, que juntos participam ativamente do planejamento e execução das atividades do projeto. O planejamento SCRUM não é feito por um gerente de projetos, mas sim pelo time todo, que trabalha no objetivo de cada iteração, chamada no SCRUM de Sprint.

Um Sprint possui as seguintes características:

  • São curtos e com duração fixa, idealmente entre 2 e 4 semanas;
  • Ao final de uma Sprint uma funcionalidade do sistema é entregue “rodando”;
  • Todas as disciplinas da engenharia de software (requisitos, projeto, construção, teste, etc.) ocorrem dentro da Sprint para cada funcionalidade a ser implementada;
  • O objetivo da Sprint deve estar alinhado com a visão estratégica do produto final, buscando-se sempre implementar primeiro aquilo que mais tem valor agregado para o comitê;
  • Ao final do Sprint o time inspeciona os resultados e adapta-se para os objetivos das próximas Sprints.

O framework SCRUM não invade as disciplinas da engenharia de software, ou seja, ele não especifica quais atividades e quais artefatos de desenvolvimento devem ser construídos pelo time. Isso é uma decisão do time do projeto. Assim, é plenamente possível num projeto SCRUM construir artefatos como diagramas de projeto, roteiros de testes, entre outros. Porém, cabe a ressalva de que a documentação deve ser vista como ferramental de suporte dentro do Sprint e não como seu objetivo, caso contrário, pode-se engendrar pelas práticas dos modelos tradicionais de desenvolvimento.

Como já citado, o time SCRUM participa ativamente do planejamento do projeto. A visão de planejamento de um projeto SCRUM possui vários níveis, o que permite um acompanhamento em tempo real do planejado X realizado, possibilitando ações corretivas em curto espaço de tempo para manter o projeto “em linha”.

Além das entregas dos Sprints, que devem ser testadas e aceitas pelo cliente, projetos de maior porte devem ser planejados na forma de Releases. Um release deve entregar uma funcionalidade, módulo ou subsistema que, sozinho, pode entrar em produção. Um release pode conter várias Sprints, cujos resultados, para os quais as condições de satisfação foram atingidas e aceitas pelo cliente, formam um subconjunto do produto que está pronto para produção.

Diferentemente de sprints, releases podem ter duração variável, contendo quantidades diferentes de sprints. A última, ou as últimas sprints de uma release podem ter foco em atividades de testes, como testes integrados, de aceitação e de pré-produção.

O final das sprints e releases é o momento onde o planejamento inicial é revisto e analisado, podendo o mesmo ser alterado para refletir as mudanças estratégicas do produto, identificadas no decorrer do projeto.

No PJe, vamos executar uma sprint inicial para experimentação do modelo como uma prova de conceito para as sprints futuras.


Papéis

Para o entendimento do processo, faz-se necessário o conhecimento dos papéis que atuarão nos projetos sob a perspectiva do SCRUM.

Product Owner

Do lado do comitê, dos tribunais, dos advogados e dos usuários do PJe deve existir a figura do Product Owner. As responsabilidades desse papel podem estar divididas entre várias pessoas, dado o tamanho do Sistema, mas a hierarquia do grupo deve ser bem conhecida, de forma a viabilizar uma efetiva comunicação nos diversos níveis necessários para cada situação. O Product Owner, ou seu representante, deve estar sempre presente ao longo dos projetos, devendo haver disponibilidade de pelo menos um Product Owner para cada Time SCRUM.

SCRUM Master

O SCRUM Master é o Gerente do Projeto. Sua principal responsabilidade é garantir que SCRUM está sendo seguido, que os objetivos traçados serão alcançados e que quaisquer impedimentos a isso sejam removidos. O projeto terá vários SCRUM Masters, dado que em determinados momentos haverá vários times SCRUM. Eles serão responsáveis por coordenar as atividades dentro do time de forma a não haver desvio dos objetivos comuns. Os SCRUM Master serão os facilitadores dentro do ambiente colaborativo, liderando os times SCRUM e alinhando os objetivos estratégicos do produto/projeto às atividades do time e às expectativas dos demais interessados. Ele contará com o auxílio de outros líderes para executar suas atividades. Suas responsabilidades envolvem a coordenação de todos os projetos, atuando como elo entre o Time SCRUM e o Product Owner, assim como se responsabilizando pelas atividades do Time diante do projeto.

Time SCRUM

O Time SCRUM é composto por todos os perfis necessários à execução do projeto, a saber: analistas desenvolvedores, analistas de requisitos, arquitetos, DBAs, testadores e consultores. A equipe será dividida em Times SCRUM para atingir o grau de paralelismo necessário nos projetos. Haverá um Time SCRUM de testes, responsável pelo teste final de envio da versão do sistema para uma determinada release.

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Informações Gerais
Aplicativos PJe
Manuais
Suporte
Ferramentas