Resumo

Feedback Rápido:O princípio do Feedback Rápido enfatiza a importância de obter informações o mais cedo possível durante o processo de desenvolvimento. Isso significa que os membros da equipe devem buscar e receber feedback constante sobre o que estão construindo. Isso pode ser feito por meio de revisões de código, testes de aceitação do cliente, entre outras práticas. O objetivo é identificar e corrigir problemas de forma rápida e eficaz.

Assumir Simplicidade: Esse princípio incentiva a manutenção de soluções simples e diretas. Em vez de criar sistemas complexos que podem ser difíceis de entender e manter, os desenvolvedores devem buscar soluções simples e elegantes que atendam aos requisitos. A simplicidade é valorizada porque facilita a compreensão, manutenção e evolução do código.

Mudança Incremental: A abordagem Incremental envolve o desenvolvimento de software em pequenos incrementos, onde funcionalidades são adicionadas gradualmente. Isso permite que os clientes vejam e utilizem o software em estágios iniciais, fornecendo feedback valioso para ajustes e melhorias contínuas. Essa abordagem reduz o risco de falhas e ajuda a manter o foco nas prioridades do projeto.

Abraçando Mudanças: O XP reconhece que os requisitos e as necessidades dos clientes podem mudar ao longo do tempo. Em vez de resistir a essas mudanças, a metodologia XP as abraça e as incorpora ao processo de desenvolvimento. Isso é feito por meio de práticas como iterações curtas e planejamento adaptativo, que permitem a rápida adaptação às novas exigências.

Trabalho de Qualidade: Esse princípio enfatiza a importância de manter altos padrões de qualidade no desenvolvimento de software. Isso inclui a realização de testes rigorosos, o uso de práticas de desenvolvimento limpo (clean code), e a busca constante pela melhoria da qualidade do código. A qualidade é vista como um fator crítico para o sucesso a longo prazo do projeto.

A Integração Contínua garante testes e atualizações em um projeto após qualquer alteração, seja imediatamente ou em intervalos programados. É auxiliada por duas ferramentas: uma para compilar o software e outra para monitorar as mudanças, iniciando a construção conforme necessário. Existem opções de código aberto, como Bitten, SCons, Ant, Maven, CruiseControl, Gump, entre outras, e opções comerciais como AntHill Pro, FinalBuilder e BuildForge. Essa prática promove a qualidade e a entrega rápida de software.

Espaço de Trabalho compartilhado por
vários desenvolvedores
O compartilhamento de espaço de trabalho em projetos de software por vários desenvolvedores pode causar problemas, pois alterações feitas por um desenvolvedor podem afetar outros sem uma comunicação eficaz. Isso leva a custos adicionais e atrasos no desenvolvimento. A Gerência de Configuração de Software é crucial para controlar e notificar as mudanças nos artistas de software, garantindo um processo de desenvolvimento organizado e rastreável em todo o ciclo de vida do projeto.

O Controle de Versão é essencial no desenvolvimento de software, suportando o controle de mudanças e a Integração Contínua, oferecendo:
Identificação e gestão de versões de elementos de software.
Manutenção do histórico de todas as alterações


Criação de rótulos e ramificações no projeto.


Recuperação de configurações específicas a qualquer momento..

Repositório centralizado compartilhado
por vários desenvolvedores:
Os desenvolvedores usam um repositório centralizado com espaços de trabalho privados para evitar conflitos. A Gerência de Configuração de Software abrange controle de modificações, versões e gerenciamento de construção, com ferramentas como CVS, Bugzilla e Maven. Essa prática aumenta a produtividade, reduz erros e garante um ambiente de desenvolvimento estável. Resumidamente, otimizar a colaboração, evita conflitos e melhora a eficiência no desenvolvimento de software.

Controle de MudançaO Controle de Mudanças complementa o Controle de Versão ao lidar com a proposição, avaliação, fácil e aplicação de alterações nos elementos de configuração. Ele identifica, rastreia, analisa e controla as mudanças para garantir sua adequação e correta correção.

Definição e Implementação do Processo: Estabelecer e implementar os procedimentos e práticas para gerenciar eficazmente a configuração do software durante todo o ciclo de vida do projeto.

Identificação da Configuração: identifique e registre todos os elementos de configuração (por exemplo, código-fonte, documentos, recursos) para garantir que cada parte do software seja rastreável e gerenciável.

Controle da Configuração: Gerenciar as alterações nos elementos de configuração, garantindo que as alterações sejam feitas de maneira controlada, documentada e autorizada, a fim de manter a integridade da configuração.

Relacionado à Situação da Configuração:Fornecer informações atualizadas sobre o estado e a composição da configuração do software, permitindo que a equipe e os stakeholders entendam o que está incluído na configuração em um determinado momento.

Avaliação/Auditoria da Configuração: Realizar revisões e auditorias periódicas para garantir que a configuração esteja em conformidade com os padrões e requisitos estabelecidos, identificando problemas ou não conformidades que excluam correção.

Controle de Subcontratados e Fornecedores: Gerenciar as configurações de software fornecido por subcontratados e fornecedores, garantindo que esses elementos estejam alinhados com os requisitos e padrões do projeto.

Modelagem de Negócios: Envolve a criação de modelos que descrevem o contexto de negócios, os processos, os objetivos e as estratégias de organização para entender e melhorar o ambiente empresarial.

Requisitos: Concentra-se na elicitação, análise e documentação dos requisitos do sistema, identificando as necessidades dos stakeholders e traduzindo-as em especificações claras.

Análise e Design: Desenvolve modelos conceituais e técnicos que descrevem a estrutura e o comportamento do sistema, com foco na arquitetura, componentes e interações.

Implementação: Envolver a encomenda, teste unitário e integração das partes do sistema, modificando os modelos e especificações em software funcional.

Teste: Compreende a criação de planos de teste, execução de testes para identificar defeitos e verificar se o sistema aos requisitos.

Implantação: Trata o processo de disponibilizar o sistema para uso em produção, garantindo uma transição suave do ambiente de desenvolvimento para o ambiente de operações.

Gerenciamento de Configuração e Mudança: Controle e rastreie as mudanças no software, gerencie versões e configurações, e garanta a integridade da configuração ao longo do tempo.

Gerenciamento de Projeto: Lida com o planejamento, coordenação e acompanhamento do progresso do projeto, incluindo atividades de gerenciamento de riscos e recursos.

Ambiente: Foca na infraestrutura, ferramentas e processos que sustentam outras disciplinas, garantindo que a equipe tenha o ambiente adequado para o desenvolvimento de software.

XP

Resumo: Stakeholders são partes interessadas em um projeto, organização ou sistema e podem ser internas ou externas. É essencial considerar e gerenciar seus interesses nas decisões.Eles podem ser internos (como funcionários ou acionistas) ou externos (como clientes, fornecedores ou a comunidade).

RUP

4 FASES DO RUP: Iniciaçõa/concepção- Estabelece o escopo e viabilidade economica do projeto
ELABORAÇÃO: Eliminar principais riscos e definir arquitetura estavel
CONSTRUÇÕA: desenvolver o produto até que ele esteja pronto para beta teste
TRANSIÇÂO: Entrar no ambiente deo usuario,ajustes, implantação e transferência de propriedade do
sistema.

O RUP é Iterativo e
Incremental!Através de iterações o
software é desenvolvido por meio da adição de mais
detalhes, o que resulta em um incremento no software.

O RUP define um
processo bidimensional:Na dimensão
horizontal estão as fases do processo de
desenvolvimento (estrutura dinâmica),
representado mudanças no tempo
de desenvolvimento.(São as 4 fases)

Na dimensão vertical
estão os workflows (estrutura estática),
representando mudanças no esforço
despendido no desenvolvimento. ( São as 9 disciplinas )

(workflow)Define uma sequência de
atividades que produzem resultados observáveis na
forma de artefatos.
Podem ser expressos em
forma de diagramas de sequência, colaboração,
atividades.

Tarefas de Gerência de Configuração de Software.

GERENCIAMENTO DE CONFIGURAÇÃO E MUDANÇA

Definição de xp : Cpnjunto de pratica, valores e princípios com foco em levar ao extremo boas práticas de programação de codagem , deve escrever todos os casos de teste antes de desenvolver a solução pois vai ser pouco provável que desenvolver algo fora que é esperado

Ter uma boa comunicação, programação em par, criar história de usuário . 2-Simplicidade, resolver de maneira mais simples , 3-feedback ter feedback imediato , 4-Coragem

Interativo se concentra em obter feedback constante dos usuários ao longo do processo de desenvolvimento, adaptando-se continuamente às necessidades em evolução.


Incremental envolve dividir o projeto em partes menores e entregáveis, com cada incremento adicionando funcionalidades ou melhorias ao sistema existente.

O RUP pode ser adaptado às necessidades da
empresa ao qual irá aplicá-lo. Foi criado pela empresa de engenharia de software, a Rational
Software Corporation, com o intuito de orientar o desenvolvimento de um programa, mas em


2003 foi adquirida pela IBM.

Controla e notifica as inúmeras correções, extensões e adaptações aplicadas no
projeto de desenvolvimento do software durante o ciclo de vida de forma a assegurar um processo de desenvolvimento e evolução sistemático e rastreável.