As 6 etapas fundamentais de um projeto de software

“Preciso criar um app, mas não sei por onde começar”. Já passou por isso? Se sim, este post é para você. Na hora de criar uma aplicação, é difícil saber por onde começar e quais passos fazem parte do desenvolvimento de um software. Mas hoje iremos tirar essa dúvida para vocês!

Neste texto, você saberá quais são as 6 etapas fundamentais para tirar um projeto de software do papel:

  • Conhecer as necessidades do cliente
  • Definir os requisitos
  • Avaliar a viabilidade do projeto
  • Documentar todos os procedimentos
  • Escolher a metodologia de desenvolvimento
  • Testar as funcionalidades criadas

Vamos ver um pouco mais sobre cada um desses pontos agora.

1. Conheça a necessidade do cliente

Todo projeto precisa ter uma reunião inicial, onde serão feitas discussões gerais sobre o que é necessário. Isso é um passo, de certa forma, lógico. Em outras palavras, como cada parte poderá saber o que precisa ser feito e se tem como ser feito? Essas são dúvidas que são sanadas na primeira reunião que acaba funcionando como uma reunião de start do projeto.

O objetivo desta reunião é entender o que o cliente precisa, o porquê ele sente a necessidade daquilo e o quão disposto ele está a investir neste projeto. Esta última informação é muito importante porque é com ela que iremos contratar pessoas, ferramentas e serviços para o projeto especificado.

Claro que apenas uma reunião pode ser difícil para definir tudo isto, mas a ideia é que haja um consenso geral rapidamente, para que exista logo um ponto de início no desenvolvimento do software.

2. Defina os requisitos

Com esta reunião serão definidos os requisitos do software a ser criado. Estes requisitos podem ser funcionais ou não-funcionais, dependendo de sua aplicação no projeto.

Com os requisitos em mãos, elabora-se uma lista de prioridades após uma profunda análise de requisitos. Esta lista mostrará o que o software precisa ter, o que pode limitar cada função e quanto tempo aquilo poderá demorar, em teoria.

Quando existe uma definição entre cliente e empresa do que deve ser feito, os requisitos são documentados, o que costuma ser a parte mais complicada para desenvolvedores, mas muito importante para o projeto em geral.

Porém, antes de documentar, é necessário avaliar se o projeto é possível de ser realizado. Em outras palavras, viável.

3. Avaliação de viabilidade

Esta etapa do projeto é uma das mais importantes porque ela irá impedir muito retrabalho, ou mesmo que se assumam responsabilidades que não podem ser cumpridas de forma alguma. Para evitar isso, é necessário ser realista e perceber o que vai ser preciso para fazer o projeto sair do papel.

Neste passo, analisa-se:

  • Pré-existência de soluções que façam o mesmo e por um preço menor. O que, no final das contas, pode ser mais vantajoso para o cliente;
  • Pré-existência de frameworks e códigos que possam ser reaproveitados de alguma forma;
  • Número de pessoas e capacidades necessárias para a formação de uma equipe;
  • Quais tecnologias serão usadas, como o banco de dados, serviço de cloud, linguagens de programação, etc.

Tudo isto precisa ser bem analisado, porque não podem haver gaps quando o projeto começar. Por exemplo, se for definido que Ruby on Rails será a tecnologia do projeto, é necessário ter, pelo menos, desenvolvedores seniores que dominem a tecnologia.

Se for necessário contratar mais pessoas, é necessário ver o quanto isso irá custar e se o budget do projeto permite tal ação. Tudo isto deve ser passado ao cliente para que ele autorize ou não o start do projeto.

Havendo a aprovação, é hora de começar a documentação.

4. Documentação!

Sabendo o que deve ser feito, é a hora de definir detalhes mais profundos do desenvolvimento. Nessa etapa, são criadas as documentações que listam o que será desenvolvido e como o processo terá que acontecer. Para isso, entram em cena os wireframes (espécie de exemplos do que deve ser feito), fluxogramas e casos de uso, ferramentas de projetos que fazem toda a diferença na documentação.

Por mais que a documentação do projeto seja algo que desenvolvedor não gosta de fazer, é uma etapa essencial para o bom andamento do projeto, pois é onde o time irá se basear na hora de desenvolver o software. Se der algum problema, é na documentação que encontraremos a maioria das respostas.

A documentação é um passo que dura o projeto inteiro, mesmo durante as alterações incrementais. Isto acontece porque tais documentos funcionam como um manual do desenvolvedor, onde se diz o que tem de ser feito e como.

5. Metodologia de desenvolvimento

Uma das características que é escolhida quando o projeto está sendo planejado é qual será a metodologia de desenvolvimento. Atualmente as metodologias ágeis tendem a ser as mais escolhidas, mas isso depende do projeto e das partes interessadas.

Esta é uma decisão muito importante pois ela direcionará a forma como o projeto será desenvolvido, as pessoas que farão parte, quando e quais entregas serão feitas, além de outros detalhes importantes.

Com tudo isto definido, o projeto já poderá ser iniciado! E depois, o que deve ser feito?

6. Testes e mais testes

Na hora em que as primeiras funcionalidades já estiverem prontas (levando em consideração um projeto Scrum), elas deverão ser testadas e entregues. Os testes devem ser muito bem documentados e realizados, buscando emular o uso real da aplicação.

É necessário se colocar no lugar do cliente, como se fosse realmente ele utilizando a funcionalidade que foi criada. Este costuma ser um dos principais problemas no desenvolvimento de software, principalmente, quando o teste é realizado somente pelo desenvolvedor, que muitas vezes não possui o conhecimento necessário para realizar o teste com a mesma eficiência que um testador especialista faria.

IMPORTANTE: devido a esse contexto apresentado, cada vez mais os desenvolvedores estão precisando tornar-se especialistas em Testes de Software e o mesmo está acontecendo com os testadores que, por sua vez, estão tendo que aprender sobre desenvolvimento e programação. Portanto, se você pretende ingressar em alguma dessas áreas, tenha isso em mente. Isso pode ser um diferencial enorme!

Uma das principais dicas que podem ser usadas para evitar problemas relacionados a bugs e a péssima experiência de usuário, é basear o desenvolvimento da aplicação nos princípios de usabilidade de Nielsen, que são referência internacional no processo de desenvolvimento e da experiência de usuário (UX).

Agora que você já sabe como um projeto de software pode ser criado, que tal descobrir mais algumas dicas gerais?

(Bônus) Avalie os riscos

Para evitar qualquer tipo de problema, deve haver um planejamento que consiga proteger o seu projeto. Para isso, inúmeras medidas podem ser tomadas. A primeira seria a utilização de backups, um importante recurso para qualquer projeto digital.

Ter cópias de segurança é uma regra que deve ser respeitada SEMPRE. Mas de nada adianta ter uma cópia do código salva se você não a atualiza de tempos em tempos. Devido a isto, crie uma rotina constante de backups para que nada do que foi feito seja perdido.

Além disso, é necessário ter uma infraestrutura que permita uma rápida recuperação caso ocorra algum desastre. Não só backups, mas ter uma equipe de suporte sempre pronta é algo muito importante para projetos de software, pois isso pode evitar que hajam perdas de informação e trabalho, caso algum imprevisto ocorra.

Concluindo…

Como podemos ver, não é apenas pegar um caderno e começar a escrever o que precisamos e pronto! Surge um software. Não, é necessário levantar requisitos, documentar todo o processo, testar e manter este ciclo enquanto for necessário. Mais do que querer, é necessário saber o que pode ser feito.

Se você precisar de uma metodologia que ajude neste processo, indicamos que você conheça o Scrum mais de perto. Este framework é excelente e vai ajudar você a guiar o processo de desenvolvimento de uma maneira funcional e com entregas rápidas.

Claro, o cenário acima é pensando em um projeto profissional, onde diversas pessoas, tecnologias e metodologias estão envolvidas (o melhor dos cenários). Você deve ter reparado que, ao longo do texto, citei diversos cargos, nomes de tecnologias e métodos, certo? Pois é!

É bastante coisa, mas não se desespere com isso. Se você está começando, não tem grana para contratar uma equipe de funcionários, mas quer se aventurar e criar seus próprios projetos. Vá em frente! Comece com projetos menores onde você irá conseguir desempenhar todos os papeis e garantir a qualidade final do software.

No início, com certeza, isso será um grande desafio. Mas também, quanto maior o desafio, maior o aprendizado que você vai ter. Após esse período inicial, se você começar a descolar uma grana com isso, invista em uma equipe para conseguir pegar mais projetos e escalar as suas entregas.

No mais, espero que você tenha gostado desse post. Não deixe de dar o seu comentário aqui em baixo. Abraços!

 

Curso Scrum Total - Formação Completa

Written by Leonello de Leone

Estudante de Ciência da Computação pela UFRGS. Iniciou como estagiário da área de Suporte e hoje atua como Desenvolvedor Web na TargetTrust e Becode. Possui conhecimentos em Angular 4+, Node.js, jQuery, PHP, JavaScript e por aí vai. Entusiasta das áreas de Machine Learning, Inteligência Artificial e Desenvolvimento de Jogos. Ranzinza nas horas vagas.

A imagem ilustra três tipos de dispositivos (Celular, Tablet e Desktop). Todos usando o Bootstrap para criar um projeto de software responsivo. Ao lado, o logotipo do Bootstrap.

Bootstrap: o que é, porque usar e como começar com o framework

A imagem ilustra três engenheiros construindo um website como se fosse um prédio em construção. Usando guindastes, caminhões e ferramentas de obra. A diferença é que, invés de um prédio, os engenheiros estão projetando a interface apresentada no monitor de um computador.

Os 6 frameworks front-end mais amados no mundo (segundo o GitHub)