metodologias

O que é RAD – Rapid Application Development?

Em busca da agilidade e qualidade no desenvolvimento de software, existem metodologias que são capazes de potencializar o desempenho dos profissionais envolvidos em seus processos. Por isso, as empresas têm cada vez mais adotado essas metodologias para que elas as auxiliem a atingir seus objetivos.

Hoje em dia, existem diversas metodologias de desenvolvimento de software, por isso estamos fazendo uma série de artigos focados em metodologias. Já falamos aqui sobre as metodologias Scrum e Crystal, e hoje vamos abordar a metodologia RAD.

O que é RAD?

Rapid Application Development (RAD) ou Desenvolvimento Rápido de Aplicação é um modelo de processo de desenvolvimento de software incremental, que foi registrado por James Martin, em 1991. É um processo de desenvolvimento de aplicações de forma rápida com objetivos bem definidos e análise de requisitos extremamente bem alinhada. Esse modelo enfatiza um ciclo de desenvolvimento curto, com o intuito de ter um desenvolvimento melhor e mais rápido.

No desenvolvimento incremental, uma das características de RAD, o sistema é dividido em módulos, tomando por base a funcionalidade. Tendo os incrementos definidos, a cada ciclo é acrescido de novas funcionalidades ou até mesmo modificações, caso seja necessário. Outra característica é justamente essa maleabilidade de adaptação dos processos e a capacidade de se manter em constante evolução.

O processo consiste basicamente em:

  1. Modelagem do negócio
  2. Modelagem dos dados
  3. Modelagem do processo
  4. Geração da aplicação
  5. Teste e Modificação
RAD - Rapid Application Development
Curso de RAD - Rapid Application Development
CONHEÇA O CURSO

As fases de modelagem e geração da aplicação são executadas por diversas equipes. Essa divisão otimiza tempo, além do reaproveitamento de módulos prontos que faz com que o desenvolvimento cumpra prazos curtos. Por fim, ocorre a integração desses componentes.

O RAD tem uma capacidade muito grande de potencializar o desempenho dos profissionais da equipe. Algumas outras vantagens são:

  • economia de tempo
  • progresso mensurável
  • trabalho com modelos
  • integração mais rápida de sistemas
  • feedback constante

Quando devo usar?

Um ponto muito importante é que a aplicação deve possuir requisitos muito bem definidos e o sistema poder ser modularizado para o bom funcionamento do RAD. Quando você analisar que o projeto a ser desenvolvido pode ser dividido em componentes e em ser reutilizado componentes prontos, sempre pensando no curto prazo, pode ser uma boa opção.

Não é apropriado quando se tem um risco técnico alto ou quando não se tem equipe suficiente para suprir essa agilidade.

Se você deseja se aprofundar nessa metodologia, conhecendo mais a fundo seus princípios, exemplo de técnicas e ferramentas do RAD temos um curso específico aqui na TreinaWeb, dá uma conferida 😀

Metodologia Crystal: o que é e para que serve?

As metodologias ágeis são ferramentas que vem sendo cada vez mais utilizadas no desenvolvimento de software. Já temos aqui no blog posts falando de uma bem conhecida: a metodologia Scrum.

O Scrum é o mais famoso e mais usado. Mas também temos vários outros, talvez menos conhecidos, pois alguns acabam sendo mais técnicos, o que os tornam mais específicos para engenharia de software, ao contrário do Scrum que é mais gerencial e aplicável não somente a indústria de software, como também a outras áreas e setores.

Neste artigo abordaremos a metodologia Crystal.

Crystal - Metodologia ágil
Curso de Crystal - Metodologia ágil
CONHEÇA O CURSO

Família Crystal

Criada no final da década de 90 por Alistair Cockburn e Jim Highsmith, a família Crystal se baseia na gestão de pessoas, tendo o foco na interação, habilidades, talentos e comunicação.

Segundo o criador Cockburn, as pessoas de uma equipe possuem diferentes talentos e habilidades, sendo um diferencial durante o desenvolvimento de um projeto, já que as pessoas têm uma importância muito grande no desempenho do projeto. Além disso, foi criada para atender vários tipos de projetos e equipes que precisam de táticas para resolver diversos problemas.

Não há uma metodologia Crystal e sim diferentes tipos de metodologia Crystal para diferentes tipos de projeto, por isso chamamos de família Crystal. É uma família de metodologias que une diferentes modelos de processo, mas com elementos centrais que são comuns a todas, além dos papéis e práticas específicas de cada uma.

Segundo os autores da metodologia, acredita-se que a metodologia adequada é baseada no tamanho da equipe e nos riscos envolvidos no projeto. Por isso, a família Crystal é dividida em cores, onde deve-se escolher a cor que mais for apropriada para cada projeto, de acordo com o nível de criticidade e o tamanho da equipe. Quanto mais escura for a cor, mais crítico é o sistema e, consequentemente, será utilizada a metodologia mais “pesada”.

Por exemplo, um projeto com 50 pessoas envolvidas precisa de uma metodologia mais pesada do que um projeto com 10 pessoas. Você pode avaliar seu projeto por duas visões: número de pessoas e criticidade do sistema.

A criticidade é dividida em 4 níveis: (C) conforto, (D) baixo custo, (E) alto custo e (L) risco de vida. Assim você consegue escolher a melhor metodologia para aquele projeto, adotando um conjunto de políticas adequadas para cada situação.

Algumas práticas da metodologia são:

  • a entrega em intervalos regulares;
  • o monitoramento do progresso;
  • envolvimento direto com o cliente;
  • inspeções constantes a cada incremento;
  • os feedback que servem para ajuste do produto e da metodologia caso necessário.

Você pode utilizar as metodologias da família Crystal em projetos de alta ou baixa criticidade. A ideia de Crystal é permitir que cada organização implemente as atividades que lhe pareçam adequadas.

Se você se interessou nessa metodologia e quer conhecer um pouco mais dos conceitos e como colocar em prática, temos um curso específico de Crystal, onde é abordado todas as metodologias dessa família.

No próximo artigo, conheceremos uma outra metodologia. Até lá!

Metodologias ágil x tradicional: Quais as diferenças?

Para qualquer coisa que queremos desenvolver hoje em dia precisamos fazer um projeto. Em meio ao processo do projeto, devemos ficar atentos a algumas especificações, como os prazos, custos, qualidade e satisfação do cliente, pois o não cumprimento destes pode nos trazer alguns problemas mais à frente. Por isso, cada vez mais damos a devida importância ao gerenciamento de projetos e em como a utilização de metodologias podem nos ajudar a gerir melhor tudo isso.
Atualmente temos dois tipos de metodologias que são bem conhecidas, principalmente se tratando de desenvolvimento de software: as metodologias tradicional e ágil.

Metodologia Tradicional

A metodologia tradicional tem etapas bem definidas sendo o planejamento do projeto, uma estimativa em termos de prazo e orçamento, a execução e entrega no final. Por exemplo, em um desenvolvimento de software financeiro, teríamos o seguinte fluxo:

  • Planejamento do software (como ele ficará no final)
  • Planejamento das atividades que serão necessárias (programação, design, etc)
  • Definição de prazos e custos
  • Execução
  • Testes
  • Implantação

A metodologia tradicional segue um modelo sequencial, ou seja, uma etapa deve ser executada após a outra, sendo assim, uma tarefa não pode ser iniciada enquanto a anterior não for concluída. Também se espera que seja executado exatamente o que foi planejado, focando no resultado final. Para ser um sucesso, não basta apenas seguir essa ordem, é importante entregar no prazo, dentro do orçamento e da qualidade esperada. Na metodologia tradicional o produto só irá “fazer sentido” e ter valor quando o projeto estiver 100% concluído. Dentro dessa metodologia a mais conhecida é o modelo cascata.

O principal receio dentro da metodologia tradicional é que ela não tem muita flexibilidade em relação a mudanças. Qualquer mudança no meio do caminho é vista com grande preocupação pelo gerente de projetos.

Para nos ajudar nesse quesito, entra uma outra metodologia: a ágil.

Metodologia Ágil

Apesar do nome, a palavra ágil aqui não significa agilidade e sim o poder de “quebrar” o projeto em partes menores. Ao contrário da metodologia tradicional que você faz apenas uma entrega já com o projeto final, aqui você faz entregas constantemente até entregar todo o projeto.

A preocupação com custo, qualidade e prazos são as mesmas da metodologia tradicional, porém você consegue controlar e gerenciar as mudanças que provavelmente irão aparecer no decorrer do projeto. Na metodologia ágil o foco principal é a entrega de valor ao cliente, por isso é priorizado a entrega à documentação, por exemplo. Mas isso não quer dizer que não é documentado, não planejado, assim como na tradicional. Na metodologia ágil também existem esses aspectos, mas de maneiras diferentes. Por exemplo, o planejamento da metodologia ágil é de forma iterativa e incremental enquanto a da tradicional planeja com muita antecedência como será cada etapa do projeto.
Dentro desta metodologia o mais utilizado e que provavelmente você já ouviu falar é o Scrum.

Scrum - Planejamento e Desenvolvimento Ágeis
Curso de Scrum - Planejamento e Desenvolvimento Ágeis
CONHEÇA O CURSO

Como saber qual utilizar?

Isso vai depender muito do tipo de projeto e cultura da empresa. A própria empresa pode preferir a metodologia tradicional, ainda mais se os envolvidos do projeto não estão acostumados a trabalhar com uma metodologia ágil, ainda que ela se aplique a aquele projeto.

O ideal é estudar o projeto, conhecer os requisitos, tecnologias a serem utilizadas… tudo o que julgar necessário. E a partir disso tudo analisar se é melhor partir pela metodologia ágil ou a tradicional. Em um projeto onde as necessidades do cliente podem mudar a qualquer momento (o que é muito comum), você precisará ter a liberdade de poder fazer mudanças necessárias tanto pelo lado do cliente quanto de tecnologia, se precisar. Projetos que provavelmente terão mudanças constantes, precisa ter um planejamento mais flexível, sendo assim a metodologia mais viável seria a ágil.

A metodologia tradicional é uma boa opção em casos mais específicos, como por exemplo em algo que precisa ser planejado e decidido desde o início. Se o projeto tem poucas chances de ter mudanças e com baixo risco, o ideal é ter um plano de projeto mais detalhado antes de iniciar.

Concluindo…

Vale lembrar que a escolha da metodologia é importante não somente para se ter sucesso no processo, mas principalmente, na entrega do produto. As duas metodologias têm vantagens e podem ser utilizadas até mesmo de forma conjunta, convivendo perfeitamente bem, até mesmo porque o foco das duas é a otimização de projetos. A escolha entre a metodologia tradicional e ágil não precisa ser um conflito. Deve-se respeitar às premissas das duas metodologias e saber o que cada uma pode agregar aos objetivos de cada projeto.