Imagine-se nesta situação: seu chefe lhe chama para informar que conseguiu liberação para criar aquele sistema que a empresa tanto precisa. Agora, é hora de colocar a mão na massa e criar o projeto de software para entregar à diretoria, que precisa ainda aprovar o orçamento. “Tudo com você”, ele diz, pedindo que você envie o documento até a próxima semana, e deixando claro que a responsabilidade é toda sua.
Não foram poucas as vezes que nossos clientes nos contaram situações como essa – que sim, acontecem em todas as empresas. Por isso, criamos um tutorial de projeto de software para garantir que Tech Leads e Coordenadores de TI não esqueçam de nenhuma informação essencial nesse processo. Afinal, conquistar a confiança dos stakeholders com um projeto bem estruturado é crucial para a liberação da verba.
O passo a passo
Ao iniciar um projeto de aplicativo, sistema ou plataforma, é comum cair na armadilha de pensar no produto, considerar seu funcionamento ou a linguagem em que será construído. No entanto, mais importante em um projeto de software é destacar o seu objetivo, esclarecendo a sua importância para resolver um problema de negócio, promover inovação, otimizar um processo ou proporcionar o crescimento da empresa.
Em seguida, é preciso delimitar o escopo (mesmo em projetos ágeis): falar sobre as etapas de planejamento, execução e monitoramento é fundamental. Ainda, incluir o time que será alocado no projeto também é importante, pois ajuda a materializá-lo para os stakeholders – inclusive listando os possíveis parceiros em caso de terceirização.
Por fim, deve-se especificar prazos ideais e orçamento. Um bom cronograma no Excel já é suficiente, mas se você quiser surpreender, pode fazer no modelo Gantt. No caso do orçamento, vale separar o investimento por etapas para torná-lo mais compreensível.
Vamos entender melhor cada um desses passos?
1. Primeiro passo: especifique o objetivo
Delimitar, de forma clara, o valor estratégico do projeto para o negócio, é talvez a parte mais importante. O objetivo é uma meta ou resultado específico e mensurável que se pretende alcançar, é o motivo pelo qual aquele projeto de software existe.
Um sistema interno de apontamento de horas, por exemplo, tem como objetivo medir assertivamente a jornada de trabalho de colaboradores, para obter insumos sobre produtividade com transparência. Já uma plataforma de gestão de compras existe para controlar o que é comprado e o que é vendido, e ter dados automáticos sobre o lucro obtido com essas transações.
O objetivo fornece um foco para os stakeholders, a equipe e outras partes envolvidas. Ele serve como princípio orientador durante todo o ciclo de vida do projeto, ajudando a definir prioridades, alocar recursos e medir seu sucesso.
Dica de ouro: seu objetivo precisa ser específico, respondendo às perguntas sobre o quê, por que e como o projeto agregará valor; mensurável, passível de ser quantificado ao longo do projeto; e alcançável, sendo realista com o contexto do negócio.
2. Segundo passo: delimite o escopo
Recursos, funcionalidades, resultados e restrições do sistema devem estar descritos no escopo. Em um projeto de software, ele define os limites e a extensão do trabalho a ser executado durante o ciclo de vida do projeto.
O escopo serve como ponto de referência para o planejamento, execução e controle do projeto, ajudando a garantir que o mesmo permaneça no caminho certo e atenda aos seus objetivos. Ele também serve como guia de comunicação e direcionamento, controlando o que pode ser ajustado ou removido durante a execução do trabalho.
Importante: o tipo de escopo pode variar conforme o projeto. Projetos tradicionais e ágeis têm as mesmas três restrições (conhecidas como Triângulo de Ferro), que são escopo, tempo e custo. Isso significa que alterações em qualquer um deles, afeta os outros dois. A diferença é que em projetos tradicionais, normalmente de escopo fechado, o escopo é fixo, e o que varia são tempo e custo; e em projetos ágeis, normalmente de escopo aberto, tempo e custos são fixos, mas escopo variável.
→ Saiba mais sobre escopo aberto ou fechado aqui.
A estrutura básica do escopo contém:
- Requisitos Funcionais: são os recursos e funcionalidades específicas que o software deve executar para atender às necessidades de usuários. Ou seja, os comportamentos que o sistema deve executar a partir da interação com as pessoas.
- Requisitos Não Funcionais: definem os atributos de qualidade e restrições do software, como desempenho, escalabilidade, confiabilidade, segurança, usabilidade e conformidade.
- Inclusões: o escopo identifica todas as tarefas, atividades e entregas incluídas no projeto. Isso pode incluir desenvolvimento de software, testes, documentação, treinamento, implantação e atividades de suporte.
- Exclusões: ele também define o que não está incluído no projeto. As exclusões esclarecem quaisquer limitações, dependências ou restrições que possam impactar os limites do projeto.
- Restrições: são as limitações que impactam o sucesso do projeto, ou seja, o atingimento dos objetivos. Elas podem incluir restrições orçamentais, de tempo, limitações tecnológicas ou políticas organizacionais.
3. Terceiro passo: defina o time
Nem precisamos dizer que montar um time eficiente para executar o seu projeto de software é essencial. Ele deve ser composto por profissionais com habilidades e experiências específicas, alinhadas às necessidades do projeto e do produto.
Portanto, a equipe ideal dependerá dos requisitos listados no escopo e da sua robustez. Isso quer dizer que você pode precisar de uma quantidade específica de desenvolvedores e testers, assim como considerar a presença ou ausência de designers e pessoas de produto. O que não pode faltar, na nossa opinião, é o Gerente de Projeto, que vai supervisionar e coordenar a equipe para garantir que o projeto esteja sempre dentro de prazo e orçamento.
Para montar a equipe do projeto, você tem três opções:
- Usar seu time interno, realocando profissionais que já fazem parte da sua equipe de TI;
- Contratar novas pessoas para o seu time interno, com auxílio do RH da empresa ou de uma terceirizada especialista;
- Firmar uma parceria com uma software house, para que ela execute o projeto.
Cada uma das alternativas tem prós e contras:
- A primeira, por exemplo, pode vir a sobrecarregar os profissionais da empresa, que já estão alocados em outros projetos. Nesse cenário, você pode comprometer o sucesso não somente do projeto em questão, mas dos outros que já estavam em andamento. Então, essa opção só é válida se o seu time tiver disponibilidade.
- A segunda, quando executada com o RH interno, é a que demanda mais tempo, pois as suas vagas irão concorrer com as demais vagas da empresa em termos de prioridade. Portanto, se o seu prazo é apertado, contar com uma empresa especialista em Recrutamento e Outsourcing de TI que garanta rapidez, irá agilizar o processo.
- A terceira, por fim, é a melhor opção se o seu projeto exige uma expertise que você não tem dentro de casa, seja ela relacionada ao tipo do projeto, a linguagem de programação, ou a área de mercado a que se destina. Nesse caso, contar com uma Software House é a chave para a garantia de sucesso.
4. Quarto passo: especifique os prazos
Todo mundo sabe: um projeto de software dentro do prazo deixa os stakeholders felizes. Por isso, é preciso definir um cronograma realista que considere a capacidade de produção do time e também a necessidade (ou pressa) da empresa.
Para estipular um bom prazo você precisa ter feito um bom escopo. Isso porque ele está altamente atrelado a: compreender os requisitos do projeto, como suas dependências e restrições; dividir o projeto em tarefas menores e mais facilmente gerenciáveis; e definir marcos (pontos de verificação) para acompanhar o andamento do projeto.
Além disso, você pode usar técnicas para estimar o esforço, como opinião especializada, estimativa análoga, estimativa paramétrica ou estimativa de três pontos; e deve considerar riscos e incertezas que podem afetar o cronograma.
Importante: durante o projeto, o monitoramento e feedback contínuo do progresso garante a conformidade com os prazos, permitindo ajustes proativos quando necessário. Com um planejamento cuidadoso e acompanhamento regular, a chance de sucesso só aumenta.
5. Quinto passo: determine o orçamento
Você já tem um orçamento pré-aprovado, mas agora é hora de delimitar onde cada custo se encaixa. Na verdade, é provável que ao longo dos passos anteriores, você já tenha pensado no investimento – afinal, ele está atrelado ao escopo, equipe e prazos do seu projeto de software.
O escopo te ajudará a identificar os recursos necessários com precisão, sejam eles de tempo, ferramental, infraestrutura, pessoal, contingência. Aliás, é fundamental usar essas categorias para dividir os custos e torná-los mais palpáveis, distribuindo-os em uma planilha.
Vale também considerar os custos indiretos, como espaço de escritório, despesas administrativas e despesas gerais de gerenciamento de projetos. Esses podem ser atribuídos como uma porcentagem dos custos totais.
Dica de ouro: pode ser que você tenha dificuldade na exatidão de alguns custos. Nesses casos, vale consultar o histórico de projetos de software da empresa. O que já foi feito no passado fornece uma boa base para o que pode ser feito no futuro.
Agora é cruzar os dedos
Seguindo todos esses passos, você terá um projeto de software completo e qualificado. Pode ser que você receba algumas perguntas dos stakeholders, mas não se preocupe: isso quer dizer que eles estão interessados e olhando com atenção para o seu trabalho. E mesmo que o projeto não seja aprovado, você certamente ganhou alguns pontos com seu chefe.
Ah, e depois da entrega, não custa nada apostar nas forças superiores: vale acender vela, rezar o terço, fazer uma dança, ou até promessa. Vai que essas coisas não estimáveis podem dar uma ajudinha.