Sem resumo de edição |
|||
| Linha 12: | Linha 12: | ||
Por se tratar de uma ferramenta focada no desenvolvimento — assim como o XP, que veremos a seguir —, o FDD pode ser perfeitamente integrado ao Scrum, outro método ágil muito utilizado que também é focado no planejamento e na execução do projeto. E assim como todos os demais métodos ágeis, o FDD também possui melhores práticas que visam criar o ambiente ideal para o desenvolvimento de projetos. São elas: | Por se tratar de uma ferramenta focada no desenvolvimento — assim como o XP, que veremos a seguir —, o FDD pode ser perfeitamente integrado ao Scrum, outro método ágil muito utilizado que também é focado no planejamento e na execução do projeto. E assim como todos os demais métodos ágeis, o FDD também possui melhores práticas que visam criar o ambiente ideal para o desenvolvimento de projetos. São elas: | ||
* Desenvolvimento por funcionalidades; | |||
* Um único programador é responsável pela funcionalidade desenvolvida; | |||
* Controle de qualidade em todas as fases do projeto; | |||
* Gerenciamento de configurações; | |||
* Integração contínua das funcionalidades; | |||
* Planejamento incremental; | |||
* Teste de software. | |||
'''eXtreme Programming (XP)''' | '''eXtreme Programming (XP)''' | ||
Também criado em meados da década de 90, o eXtreme Programming, carinhosamente chamado de XP, é um método ágil focado no desenvolvimento de softwares que tem três pilares como base: agilidade no desenvolvimento da solução, economia de recursos e qualidade do produto final. | Também criado em meados da década de 90, o eXtreme Programming, carinhosamente chamado de XP, é um método ágil focado no desenvolvimento de softwares que tem três pilares como base: agilidade no desenvolvimento da solução, economia de recursos e qualidade do produto final. | ||
Para chegar à excelência nos serviços prestados, uma equipe XP deve se basear em valores, isto é, um contrato de atitudes e comportamentos que levam ao sucesso. Esses comportamentos e atitudes norteiam as ações da equipe XP em cada atividade a ser desempenhada, garantindo a integração e a sinergia necessárias para um bom desempenho. No caso, esses valores são: | Para chegar à excelência nos serviços prestados, uma equipe XP deve se basear em valores, isto é, um contrato de atitudes e comportamentos que levam ao sucesso. Esses comportamentos e atitudes norteiam as ações da equipe XP em cada atividade a ser desempenhada, garantindo a integração e a sinergia necessárias para um bom desempenho. No caso, esses valores são: | ||
* Comunicação; | |||
* Simplicidade; | |||
*Feedback; | |||
* Coragem; | |||
* Respeito. | |||
Além dos valores, o método ágil XP também leva em consideração melhores práticas de trabalho, que têm como objetivo garantir a efetividade do trabalho da equipe XP, assim como a satisfação do cliente durante todo o processo de desenvolvimento. São elas: | Além dos valores, o método ágil XP também leva em consideração melhores práticas de trabalho, que têm como objetivo garantir a efetividade do trabalho da equipe XP, assim como a satisfação do cliente durante todo o processo de desenvolvimento. São elas: | ||
* Cliente sempre à disposição; | |||
* Uso de metáforas; | |||
* Reuniões de planejamento (planning game); | |||
* Reuniões diárias, de 15 minutos, para alinhamento (stand up meeting); | |||
* Integração contínua dos módulos desenvolvidos; | |||
* Mudanças incrementais; | |||
* Entregas frequentes ao cliente (small releases); | |||
* Design simples e funcional; | |||
* Testes de aceitação; | |||
* Refatoração ou melhoria contínua. | |||
'''Microsoft Solutions Framework (MSF)''' | '''Microsoft Solutions Framework (MSF)''' | ||
O MSF é um dos métodos ágeis mais usados por se destinar ao desenvolvimento de soluções tecnológicas por equipes reduzidas, focando na diminuição de riscos para o negócio e no aumento da qualidade do produto final. O propósito é identificar as falhas mais comuns em projetos de tecnologia, mitigando-as e aumentando as taxas de sucesso de cada iniciativa. Dessa forma, assim como o Scrum, o MSF está mais focado na gestão do projeto do que no desenvolvimento da solução em si. | O MSF é um dos métodos ágeis mais usados por se destinar ao desenvolvimento de soluções tecnológicas por equipes reduzidas, focando na diminuição de riscos para o negócio e no aumento da qualidade do produto final. O propósito é identificar as falhas mais comuns em projetos de tecnologia, mitigando-as e aumentando as taxas de sucesso de cada iniciativa. Dessa forma, assim como o Scrum, o MSF está mais focado na gestão do projeto do que no desenvolvimento da solução em si. | ||
Suas premissas são: | Suas premissas são: | ||
* Alinhamento da tecnologia desenvolvida aos objetivos de negócio do cliente; | |||
* Escopo bem estruturado e detalhado; | |||
* Desenvolvimento iterativo; | |||
* Gerenciamento de riscos; | |||
* Agilidade na resposta a mudanças. | |||
Assim como os outros métodos ágeis, o MSF também possui melhores práticas que devem ser observadas pela equipe para atingirem os níveis de excelência buscados: | Assim como os outros métodos ágeis, o MSF também possui melhores práticas que devem ser observadas pela equipe para atingirem os níveis de excelência buscados: | ||
* Comunicação aberta e transparente entre todos os envolvidos; | |||
* Visão compartilhada do negócio; | |||
* Equipe capacitada; | |||
* Atribuição de papéis e responsabilidades desde o início do projeto; | |||
* Entregas incrementais; | |||
* Flexibilidade para mudar sempre que necessário; | |||
* Qualidade das entregas; | |||
* Aprendizado constante com as experiências adquiridas; | |||
* Parceria com clientes internos e externos. | |||
'''Dynamic System Development Model (DSDM)''' | '''Dynamic System Development Model (DSDM)''' | ||
| Linha 75: | Linha 75: | ||
Diferentemente dos demais métodos ágeis, o Scrum possui pelo menos três papéis muito bem definidos e absolutamente essenciais para o sucesso do projeto: | Diferentemente dos demais métodos ágeis, o Scrum possui pelo menos três papéis muito bem definidos e absolutamente essenciais para o sucesso do projeto: | ||
* Product Owner: é o CEO do projeto, quem faz a ponte entre cliente e Scrum Team. É o responsável pelos resultados do projeto e por gerar valor para o cliente. | |||
* Scrum Master: é o coach do Scrum Team, a pessoa responsável por orientar os profissionais em relação às melhores práticas Scrum, remover barreiras e motivar. | |||
* Scrum Team: são os profissionais que efetivamente executam o desenvolvimento do projeto. | |||
As melhores práticas Scrum estão baseadas no Manifesto para o Desenvolvimento Ágil de Softwares, levando em consideração atitudes e comportamentos como: | As melhores práticas Scrum estão baseadas no Manifesto para o Desenvolvimento Ágil de Softwares, levando em consideração atitudes e comportamentos como: | ||
* Indivíduos e interação mais do que processos e ferramentas; | |||
* Software em funcionamento mais do que documentação; | |||
* Colaboração com o cliente mais do que contratos e negociações; | |||
* Respostas a mudanças mais do que planejamento. | |||
= Software = | = Software = | ||
Edição das 19h37min de 3 de outubro de 2017
Conceito
Existem inúmeros frameworks de processos para desenvolvimento de software. A maioria dos métodos ágeis tenta minimizar o risco pelo desenvolvimento do software em curtos períodos, chamados de iteração, os quais gastam tipicamente menos de uma semana a até quatro. Cada iteração é como um projeto de software em miniatura de seu próprio, e inclui todas as tarefas necessárias para implantar o mini-incremento da nova funcionalidade: planejamento, análise de requisitos, projeto, codificação, teste e documentação. Enquanto em um processo convencional, cada iteração não está necessariamente focada em adicionar um novo conjunto significativo de funcionalidades, um projeto de software ágil busca a capacidade de implantar uma nova versão do software ao fim de cada iteração, etapa a qual a equipe responsável reavalia as prioridades do projeto.
Metodologia
Feature Driven Development (FDD) Criado em Cingapura, entre 1997 e 1999, o FDD é um método ágil que reúne as melhores práticas de outros métodos, como o Coad. Sua premissa básica é focada em funcionalidades, o que permite à equipe do projeto realizar um planejamento incremental, isto é, por fases. Esse tipo de atuação ajuda a dar agilidade ao desenvolvimento de soluções em ambientes de extrema incerteza, em que as mudanças são inevitáveis.
A programação por FDD começa com a visão global do negócio, já que esse método considera a soma de tudo mais importante do que cada uma das partes separadamente. Passa-se, então, para o detalhamento do produto com a subdivisão por áreas a serem modeladas, culminando na descrição de cada funcionalidade.
Por se tratar de uma ferramenta focada no desenvolvimento — assim como o XP, que veremos a seguir —, o FDD pode ser perfeitamente integrado ao Scrum, outro método ágil muito utilizado que também é focado no planejamento e na execução do projeto. E assim como todos os demais métodos ágeis, o FDD também possui melhores práticas que visam criar o ambiente ideal para o desenvolvimento de projetos. São elas:
- Desenvolvimento por funcionalidades;
- Um único programador é responsável pela funcionalidade desenvolvida;
- Controle de qualidade em todas as fases do projeto;
- Gerenciamento de configurações;
- Integração contínua das funcionalidades;
- Planejamento incremental;
- Teste de software.
eXtreme Programming (XP) Também criado em meados da década de 90, o eXtreme Programming, carinhosamente chamado de XP, é um método ágil focado no desenvolvimento de softwares que tem três pilares como base: agilidade no desenvolvimento da solução, economia de recursos e qualidade do produto final. Para chegar à excelência nos serviços prestados, uma equipe XP deve se basear em valores, isto é, um contrato de atitudes e comportamentos que levam ao sucesso. Esses comportamentos e atitudes norteiam as ações da equipe XP em cada atividade a ser desempenhada, garantindo a integração e a sinergia necessárias para um bom desempenho. No caso, esses valores são:
- Comunicação;
- Simplicidade;
- Feedback;
- Coragem;
- Respeito.
Além dos valores, o método ágil XP também leva em consideração melhores práticas de trabalho, que têm como objetivo garantir a efetividade do trabalho da equipe XP, assim como a satisfação do cliente durante todo o processo de desenvolvimento. São elas:
- Cliente sempre à disposição;
- Uso de metáforas;
- Reuniões de planejamento (planning game);
- Reuniões diárias, de 15 minutos, para alinhamento (stand up meeting);
- Integração contínua dos módulos desenvolvidos;
- Mudanças incrementais;
- Entregas frequentes ao cliente (small releases);
- Design simples e funcional;
- Testes de aceitação;
- Refatoração ou melhoria contínua.
Microsoft Solutions Framework (MSF) O MSF é um dos métodos ágeis mais usados por se destinar ao desenvolvimento de soluções tecnológicas por equipes reduzidas, focando na diminuição de riscos para o negócio e no aumento da qualidade do produto final. O propósito é identificar as falhas mais comuns em projetos de tecnologia, mitigando-as e aumentando as taxas de sucesso de cada iniciativa. Dessa forma, assim como o Scrum, o MSF está mais focado na gestão do projeto do que no desenvolvimento da solução em si. Suas premissas são:
- Alinhamento da tecnologia desenvolvida aos objetivos de negócio do cliente;
- Escopo bem estruturado e detalhado;
- Desenvolvimento iterativo;
- Gerenciamento de riscos;
- Agilidade na resposta a mudanças.
Assim como os outros métodos ágeis, o MSF também possui melhores práticas que devem ser observadas pela equipe para atingirem os níveis de excelência buscados:
- Comunicação aberta e transparente entre todos os envolvidos;
- Visão compartilhada do negócio;
- Equipe capacitada;
- Atribuição de papéis e responsabilidades desde o início do projeto;
- Entregas incrementais;
- Flexibilidade para mudar sempre que necessário;
- Qualidade das entregas;
- Aprendizado constante com as experiências adquiridas;
- Parceria com clientes internos e externos.
Dynamic System Development Model (DSDM) O DSDM é um dos métodos ágeis mais antigos empregados não só no desenvolvimento de projetos como no meio tecnológico. Um tanto quanto diverso dos demais métodos ágeis, ele é destinado ao desenvolvimento de projetos com orçamento fixo e prazos curtos, levando em consideração que o cliente não tem como saber quanto custará a solução final. Entre suas melhores práticas estão o desenvolvimento incremental e iterativo, a colaboração entre cliente e equipe, além da integração de funcionalidades, o que também vemos nos demais métodos ágeis.
Vale ressaltar que o DSDM diverge dos demais métodos ágeis tanto em sua estrutura, que é composta por processos interligados de modelagem, concepção, construção e implementação, assim como na gestão do tempo, que não é flexível, até permitindo que as funcionalidades mudem, mas desde que os prazos de execução continuem os mesmos.
Scrum O Scrum é, sem dúvida, o método ágil mais usado nos dias de hoje, principalmente porque pode ser integrado a outros métodos ágeis com facilidade, aplicando-se não só ao desenvolvimento de softwares como a qualquer ambiente de trabalho. Focado na gestão do projeto, o Scrum tem como base o planejamento iterativo e incremental, que, como você já sabe, se dá por fases, chamadas de sprints.
Define-se, desde o início do projeto, a lista de funcionalidades a serem desenvolvidas, também chamada, no caso, de product backlog. Dando andamento ao processo, cada funcionalidade se torna um sprint, cujos detalhes a serem criados e desenvolvidos passam do product backlog para o sprint backlog. Do sprint backlog as atividades são distribuídas entre os membros do Scrum Team, que devem desenvolvê-las dentro de um prazo que geralmente não leva mais que quatro semanas. Ao final de cada sprint é realizada a sprint review meeting, uma reunião de alinhamento sobre o que foi entregue. A partir daí, começa-se a planejar o próximo sprint. Essas etapas acontecem sucessivamente até que o produto final esteja pronto para a entrega.
Diferentemente dos demais métodos ágeis, o Scrum possui pelo menos três papéis muito bem definidos e absolutamente essenciais para o sucesso do projeto:
- Product Owner: é o CEO do projeto, quem faz a ponte entre cliente e Scrum Team. É o responsável pelos resultados do projeto e por gerar valor para o cliente.
- Scrum Master: é o coach do Scrum Team, a pessoa responsável por orientar os profissionais em relação às melhores práticas Scrum, remover barreiras e motivar.
- Scrum Team: são os profissionais que efetivamente executam o desenvolvimento do projeto.
As melhores práticas Scrum estão baseadas no Manifesto para o Desenvolvimento Ágil de Softwares, levando em consideração atitudes e comportamentos como:
- Indivíduos e interação mais do que processos e ferramentas;
- Software em funcionamento mais do que documentação;
- Colaboração com o cliente mais do que contratos e negociações;
- Respostas a mudanças mais do que planejamento.
Software
Citar softwares usados para esse projeto. Sejam softwares para desenvolvimento, planejamento, acompanhamento ou teste.
Diagrama de Blocos
Desenhar ou plotar representações visuais estruturadas por meio de diagramas ou esquemas, protocolos que exemplifiquem as fases desse sistema, logicamente colocando um rodapé explicativo
Interações com as tecnologias
Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.
Informações adicionais
Descrever detalhes a mais sobre esse tema.
Referências bibliográficas
Relacionar aqui as referências bibliográficas no padrão ABNT. Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores