DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Engenharia de Software Magazine
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Lições aprendidas na implantação de metodologias ágeis - Revista Engenharia de Software Magazine 50

Esse artigo descreve como uma equipe de desenvolvimento pode implementar com sucesso o desenvolvimento ágil dentro de um projeto em cascata de grande porte.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?





Engenharia de Software Magazine 50

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da Engenharia de Software Magazine 50


Processo de software é o conjunto de atividades que constituem o desenvolvimento de um sistema computacional. Estas atividades são agrupadas em fases, como: definição de requisitos, análise, projeto, desenvolvimento, teste e implantação. Em cada fase são definidas, além das suas atividades, as funções e responsabilidades de cada membro da equipe, e como produto resultante, os artefatos. O que diferencia um processo de software do outro é a ordem em que as fases vão ocorrer, o tempo e a ênfase dados a cada fase, as atividades presentes, e os produtos entregues.

Com o crescimento do mercado de software, houve uma tendência a repetirem-se os passos e as práticas que deram certo. A etapa seguinte foi a formalização em modelos de ciclo de vida. Os modelos de ciclo de vida são o esqueleto, ou as estruturas pré-definidas nas quais encaixamos as fases do processo. De acordo com a NBR ISO/IEC 12207:1998, o ciclo de vida é a “Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software, abrangendo a vida do sistema, desde a definição de seus requisitos até o término de seu uso.”

O ciclo de vida em cascata é, em grande escala, utilizado dentro de muitas organizações. Neste contexto, também vemos hoje a decisão de migrar esta estrutura de desenvolvimento para processos ágeis. Apesar de existirem diversas propostas de ajustar projetos grandes para utilizar o desenvolvimento ágil, o risco de fracasso em uma iniciativa desta natureza pode ser alto. Uma boa alternativa para isto é fazer com que equipes de desenvolvimento responsáveis por partes menores projeto decidam adotar a mudança e aplicar metodologias ágeis àquelas partes do projeto sobre as quais elas possuem controle. O resultado dessa decisão acaba ilustrando o valor e benefícios do desenvolvimento ágil, de modo que a equipe de gerenciamento de projetos maiores possa apreciar e entender dentro do contexto do projeto como um todo.

Neste contexto, esse artigo descreve como uma equipe de desenvolvimento pode implementar com sucesso o desenvolvimento ágil dentro de um projeto em cascata de grande porte. Esse exemplo, inclusive os conceitos e técnicas implementados, os desafios enfrentados e os benefícios resultantes, podem auxiliar a descobrir uma maneira útil para introduzir conceitos e processos ágeis à sua organização.

Por outro lado, o modelo em cascata adéqua-se bem como um "sub-modelo" para outros modelos. Por exemplo, no modelo "cascata com realimentação" permite-se que, a cada descoberta da fase posterior, haja uma correção da fase anterior.

Projeto utilizado
O aplicativo utilizado nesse estudo de caso é um aplicativo de contrato de vendas existente usado por uma equipe de vendas. O aplicativo tem sido produzido por muitos anos e, tipicamente, tem de três a quatro releases por ano, de pequeno e grande porte.
O projeto em andamento é gerenciado pelo CIO do departamento, com líderes de solução que representam os clientes. Os vários membros da equipe do projeto - usuários, designers, arquitetos, desenvolvedores, testadores, operações de produção, etc. - são de diferentes setores dentro da empresa.
O processo de desenvolvimento desse projeto é baseado no ciclo de vida em cascata e incluiu as seguintes fases:
• Pré-concepção
• Concepção
• Planejamento
• Desenvolvimento
• Qualificação
• Lançamento.

Durante a fase de pré-concepção, a equipe de desenvolvimento define o conteúdo de release proposto e datas alvo. Na fase de concepção, o cliente prioriza a lista de candidatos para o release, os requisitos de negócio e sistema são criados e revisados, e a equipe de desenvolvimento fornece uma estimativa de esforço para os requisitos do negócio e os requisitos do sistema. Na fase de planejamento, é estabelecida a lista requisitos de sistema candidatos, e a equipe de desenvolvimento constrói estimativas de baixo nível para esses requisitos.

"
A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Engenharia de Software Magazine
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Rodrigo Oliveira Spinola
Doutor e Mestre em Engenharia de Sistemas e Computação (COPPE/UFRJ). Diretor de Operações da Kali Software (www.kalisoftware.com). Editor Chefe das revistas Engenharia de Software Magazine, SQL Magazine e Web Mobile.
O que você achou deste post?

    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Leandro Loureiro Dos Santos
Percebi um probleminha no texto. As seções "Outros elementos ágeis" e "Lidando com desafios" são apresentadas em duplicidade nas páginas 12, 13 e 14 deste artigo.
[há +1 mês] - Responder

 

Daniella Adriana Da Costa
Olá Leandro, muito obrigada pelo aviso. O problema foi resolvido.
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03