Metodologias no Desenvolvimento do Software

Com o aumento nas últimas décadas na demanda de desenvolvimento de software,  a busca por melhores práticas, a exigência na qualidade nos produtos, visando atender as necessidades do usuário final, fez com que  a indústria de software buscasse novas práticas para  ganhar qualidade nas entregas, sem abrir mão dos prazo e dos lucros.

A engenharia de software surge em meados de 1970 para contribuir no tratamento na profissionalização do mercado de software, possibilitando o controle, criando métodos e ferramentas para a construção de softwares.

 “Os métodos de engenharia de software fornecem a técnica de como fazer para construir software. Eles abrangem um amplo conjunto de tarefas que incluem análise de requisitos, projeto, construção de programas, teste e manutenção. Os métodos de engenharia de software repousam num conjunto de princípios básicos, que regem cada área da tecnologia e incluem atividades de modelagem e outras técnicas descritivas.
As ferramentas de engenharia de software fornecem apoio automatizado ou semi–automatizado para o processo e para os métodos. “(PRESSMAN, 2006, p. 17 e 18)

Em diferentes bibliografias existe um senso comum para que a construção de softwares tenha alto  nível de qualidades é indispensável a utilização de metodologias, que atendam padrões de qualidades definidos em normas, que estabeleçam processos e princípios fundamentais para a construção de um sistema.

Com o amadurecimento da área de Tecnologia de Informação  processos  e normas foram criadas; a principal função de uma norma é estabelecer padrões que atendem projetos de diferentes complexidades e tamanhos, pois sempre que um software é construído os clientes buscarem confiança na empresa que irá prover o produto e além disso as  normas ajudam nas diretrizes para cada uma das etapas de construção do software tenham sucesso na entrega final.

As metodologias definem um conjunto de atividades, tarefas, ações que devem ser seguidos para construção de um software de qualidade; independente da metodologia escolhida é fundamental que haja etapas de planejamento, boa comunicação entre as áreas de trabalho para que o projeto seja implantado conforme solicitado.

Atualmente existem no mercado várias metodologias, abaixo a definição de algumas bastante  utilizadas; as três primeiras são classificadas como metodologias tradicionais e as demais como ágeis:

Cascata: conhecida como sequencial ou linear é baseada na sequencia das etapas de desenvolvimento de software onde uma só começa quando a anterior terminar. Esse metodologia representa um grande avanço no desenvolvimento do software, pois antes dela não haviam métodos nenhum, apenas o “codificar”.

Prototipação :  Surgiu após à Cascata, a equipe cria um protótipo da aplicação e todo desenvolvimento é baseado nesse modelo. O protótipo pode ter três formas, o protótipo em papel, pode ser criado a partir de uma funcionalidade do escopo do projeto e a última é criar um modelo de todo software com parte ou todas as funcionalidade.

Espiral: Esse método permite a união dos dois métodos anteriores, utilizando as melhores práticas de cada um deles, acrescendo um elemento muito importante a análise de riscos, e além disso, adotou o conceito de iteração. O modelo espiral permite sucessivas iterações permitindo entregas no decorrer do projeto, o que permitiu ao cliente e ao desenvolvedor avaliar a evolução e os riscos de cada entrega.

Feature Driven Development (FDD): criada em Cingapura em 1997, o FDD baseia-se em funcionalidades,  onde são planejadas de maneira incremental pela equipe de projeto, são maior ponto fraco está na incerteza das mudanças.

Extreme Programming (XP): focado no desenvolvimento em três pilares; agilidade no desenvolvimento da solução, economia de recursos e qualidade do produto final. A 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 XP  o uso de  melhores práticas é muito relevante, pois só assim é possível garantir a efetividade do trabalho, Entre as práticas mais utilizadas estão o planning game (Reuniões de planejamento), stand up meeting  (Reuniões diárias), Testes de aceitação e small releases (Entregas frequentes ao cliente)

Scrum: baseado no planejamento iterativo e incremental e divide suas etapas em sprints como são chamadas as etapas do projeto no Scrum, além disso o scrum possuí três papeis muito bem definidos, product owner (CEO do projeto), Scrum master (Líder) e o Scrum Team (equipe do projeto), o desenvolvimento do projeto é pautado em atitudes e comportamentos, pois para que o uso de método é necessário muita interação entre os 3 papeis.

Nos próximos artigos, vou dar maior detalhamento sobre a última metodologia: o Scrum,  sua origem ,  exemplos de empresas que utilizam, sobre certificação, cursos, mesmo porque é o meu foco no momento, estou estudando para tirar certificação e quero dividir essa experiência.

Fontes:

COSTA, Leandro. As Metodologias Tradicionais de Desenvolvimento de Software Disponível em: < http://www.semeru.com.br/blog/as-metodologias-tradicionais-de-desenvolvimento-de-software/

CARIDE, Keli. Quais os principais tipos de métodos ageis Disponível em: < http://www.projectbuilder.com.br/blog-pb/entry/conhecimentos/quais-sao-os-principais-tipos-de-metodos-ageis

OTÁVIO, João. Introdução ao Scrum Disponível em: < http://www.devmedia.com.br/introducao-ao-scrum/33724 >

Compartilhe na rede:
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Conheça o Autor

Andréia Billarrubia
Andréia Billarrubia
Especialista em Sistema, pós graduada em Engenharia de Software, grande experiencia em grandes projetos de softwares voltado para o mercado financeiro. Carreira pautada em traduzir as necessidades e estratégias das áreas de negócios em planos de TI, mobilizando recursos para alcançar os objetivos, gestão de pessoas e relacionamentos;
Conhecimento em metodologias de software, Banco de Dados, Gestão de Projetos– Scrum

One Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *