produtividade

Ferramentas que auxiliam na gestão de projetos

Planejamento em projetos é algo essencial e fazer uma gestão bem feita exige tempo para planejar e dedicação para acompanhar todo o andamento do projeto. Existem diversas ferramentas que ajudam no dia a dia do gerente de projetos e da equipe, fazendo com que o projeto seja melhor gerenciado, bem como o acompanhamento de tarefas e a gestão da equipe.

Esses tipos de ferramentas voltadas à gestão de projetos vêm para nos ajudar na hora de planejar, executar e documentar o projeto, fazendo com que consigamos otimizar os processos alinhando-os as metas, gerindo o tempo – ou seja, fazer as entregas dentro do prazo – e principalmente que consigamos ser bem mais produtivos.

Vamos abordar neste artigo algumas ferramentas – em sua maioria gratuita – que você pode utilizar para gerir seus projetos.

Trello

O Trello é uma ferramenta bem conhecida para gestão de projetos. Tem sua versão gratuita e é também muito utilizado em projetos universitários, onde os alunos utilizam para gerir suas tarefas, prazos, enfim, gerir seu projeto acadêmico.

O Trello funciona através de quadros, cartões e checklists onde você consegue ver o que cada um está fazendo, assim pode organizar melhor as tarefas de cada um, saber o que está dentro do prazo, se tem alguém sobrecarregado… Com os cartões, você pode representar cada atividade, colocando nela a pessoa responsável, data de entrega, deixando tudo bem visível do que deve ser entregue. Você pode fazer todo esse acompanhamento de forma visual e intuitiva, além dele ser bem fácil de ser manuseado.

Kanban - Fundamentos
Curso de Kanban - Fundamentos
CONHEÇA O CURSO

Slack

O Slack é uma plataforma de comunicação que você pode utilizar internamente na empresa. Com o Slack você consegue fazer com que todos os integrantes do time possam manter contato, fazendo com que a equipe tenha uma integração muito melhor. É gratuito, online e possui uma interface bem simples. Com ele você pode criar diversos canais, abertos ou privados, onde essas mensagens estarão visíveis somente para os participantes daquele canal. É uma forma de trocar mensagens e arquivos mais rapidamente, sem fazer o uso de e-mails ou reuniões desnecessárias.

Microsoft Project

O MS Project é uma ferramenta paga de gestão de projetos da Microsoft. Ele possui diversos recursos para que você consiga gerir e manter o controle de seus projetos de forma simplificada. Com ele você consegue gerenciar os três principais fatores de um projeto: tempo, recurso e escopo. Além de tarefas mais simples como acompanhar o progresso de atividades e afins, ele consegue fazer cronogramas bem detalhados, verificar cargas excessivas de trabalhos dos recursos, gerar relatórios e gráficos, fazer o monitoramento de recursos, maior controle sobre os recursos de pessoal e financeiro, e mais uma infinidade de coisas. Ele é um dos mais completos desse segmento e você pode conferir neste artigo tudo mais o que ele tem a oferecer.

Uma recente novidade do Project é que agora ele integra o método Agile, dando suporte ao Scrum, Kanban e fluxos de trabalho personalizados.

Microsoft Project Intermediário
Curso de Microsoft Project Intermediário
CONHEÇA O CURSO

Google Drive

O Google Drive é um serviço de armazenamento em nuvem da Google. É uma forma eficiente de fazer troca de arquivos e informações, pois eles podem ser compartilhados de forma eficiente e fácil através de contas do Google. Você pode definir com quem irá compartilhar cada arquivo e o nível de permissão que essa pessoa irá ter, onde ela pode somente visualizar ou editar o arquivo. Você pode compartilhar documentos, apresentações, planilhas, anotações, formulários, vídeos… ao todo são mais de 30 tipos de arquivos que podem ser exibidos.

Prezi

Em projetos é muito comum termos que fazer apresentações, seja de dados importantes como também de como está o avanço do projeto. Com o Prezi você cria apresentações de forma dinâmica muito rapidamente, além de ser gratuito, fazendo com que você ganhe tempo. Tem um design profissional, além de ter vários modelos prontos.

Como quintuplicar a produtividade no desenvolvimento de software?

Desenvolvimento de software é algo complexo, mesmo para quem está desenvolvendo. É algo que, durante o processo de encontrar sua melhor maneira de ser produtivo, você acaba se debatendo com suas próprias escolhas.

Existem muitas maneiras de se definir o que é um software, mas particularmente eu gosto dessa: um software é uma sequência de instruções escritas por um programador, para executar uma ou mais funções, otimizando assim algo que previamente era manual ou não existia.

Veja, se grande parte do meu trabalho como desenvolvedor é otimizar processos, a minha rotina de trabalho também costuma ser como um protótipo de software.

Isso se transforma em uma rotina estruturada, ou, ao menos, uma maneira estruturada de como resolver um problema. Vou contar um pouco do meu processo de construção de software/trabalho e como desenvolvi hacks para ser mais produtivo ao longo do tempo.

Vou contar um pouco da minha experiência para tentar ajudá-lo(a) a otimizar a sua. Vamos lá!

Python - Fundamentos
Curso de Python - Fundamentos
CONHEÇA O CURSO

Comece de maneira gradual

Dificilmente consigo acordar e codar alguma coisa. Normalmente eu preciso que meu cérebro ligue os motores de maneira processual, um passo de cada vez.

No entanto, penso que isso não pode ser um processo que leva várias horas, então eu tomo um caminho gradual, mas rápido, para que esse processo ocorra.

Ao abrir minha máquina para programar eu começo geralmente pela leitura dos meus cards do Trello, nosso reservatório de tasks infinito onde sempre pode se tirar algo da cartola. Eu uso Trello, mas essa dinâmica aplica-se a qualquer ferramenta de gestão de projetos.

A leitura me ajuda a pensar nas tasks que vão ser executadas no dia. É um processo rápido. Ao ler rapidamente os títulos dos cards eu já sei o que devo fazer, quando fazer e como fazer, em sua grande maioria.

Após isso eu começo pelas tasks mais simples, coisas que são rápidas, mas me farão emergir no processo de pensar em software.

Um exemplo disso é executar alguns scripts para transferir dados de usuários, dar update em alguma informação no banco, ou refatorar algum trecho simples de código.

Leitura recomendada:
Por que a comunicação em TI é um negócio tão importante?

Coding Hard

É hora de codar. Mas como saber no que eu começo primeiro?

Para executar as tasks mais complexas, eu as separo em 2 tipos:

  1. As que são relativamente rápidas e as que são de longo prazo. As tasks complexas são aquelas que envolvem mais de uma parte do sistema, que têm alto impacto, em que é preciso prever muitas coisas antes de se começar a executar;

  2. Normalmente minha prioridade começa com as tasks que posso fazer em 1-2 horas. Elas permitem imprimir ritmo no desenvolvimento e fazem com que minha cabeça entre no modo foco.

Durante esse período normalmente não respondo e-mails, não olho o Slack, não faço nada que me faça perder a linha de pensamento. O porquê disso é simples, vamos imaginar a seguinte situação:

2.1 Usuário vai entrar na tela de login e nesse momento informo ao banco que ele está ativo
2.2 O banco guarda essa informação e ativa uma trigger para que daqui a 30 minutos um alerta seja enviado a esse usuário
2.3 Se o usuário entrou na tela 1 o alerta será x. Se entrou na tela 2 o alerta será Y, mas apenas depois de 30 minutos
2.4 Caso o usuário entre na tela 3 o tempo de alerta deve ser reduzido para 15 minutos

Pronto.

Imagine que pensei nas linhas gerais de como a task vai ser feita e, quando estou no meio da segunda instrução, paro para responder e-mails ou fazer outras coisas. O que ocorre?

Posso simplesmente esquecer que já fiz algo ou deixei de fazer algo. Por isso manter uma linha única de pensamento é importante quando estamos codando.

É preciso se ter em mente o tempo todo os passos que foram ou não executados. Caso você esqueça onde estava, todo o ciclo recomeça. “Será que setei o tempo certo na tela 1? Fiz o tempo de maneira diferente para a tela 3?” E então começa um processo de revisão da sua linha de pensamento.

Para se produzir as tasks de longo prazo é necessário quebrá-las em pequenas etapas, dificilmente é possível ficar 8 horas ininterruptas desenvolvendo. Bugs surgem, pessoas falam com você, outras tasks são priorizadas e por aí vai.

Por isso é um processo que exige a quebra. Exige que você determine quando cada etapa será executada para que diariamente você progrida dentro da task.

Leitura recomendada:
Como se destacar na carreira de TI?

Java - Fundamentos
Curso de Java - Fundamentos
CONHEÇA O CURSO

As pausa são importantes para a produtividade

Algo que já vi ser bem comum entre programadores — talvez seja para outras áreas também — é o tempo necessário para “resetar” o cérebro.

Ao finalizar tasks complexas, onde você levou sua mente a pensar na otimização de um processo específico, normalmente você precisa “não pensar” durante algum tempo.

O que quero dizer com isso? Se pensei na otimização de um processo de candidatos dificilmente é possível, no instante seguinte, pensar em um código para empresas.

Isso porque a mente está “contaminada”, pensando ainda em otimizações e melhorias do processo que você acabou de criar.

É preciso esvaziar a mente antes de colocar outra idéia no forno para iniciar um novo processo de desenvolvimento, por isto as pausas entre uma task e outra são importantes.

Leitura recomendada:
As certificações para programadores mais importantes do mercado.

Afinal, como ser produtivo(a) no Desenvolvimento de Software?

E quando acaba essa sequência “colocar” coisas na caixa, “tirar” da caixa, “descansar”, “colocar” outro no lugar? Para a maioria dos Desenvolvedores que conheço a resposta é nunca.

Ao se deparar com problemas, normalmente eles são jogados em processos de background na sua mente e ficam produzindo idéias de maneira passiva.

Acredito que muitos Desenvolvedores — senão todos — já se depararam com uma idéia no meio da noite, acordaram e escreveram um trecho de código.

Ou já teve uma elucubração no meio da mesa do jantar, ou enquanto estava vendo sua série da Netflix.

Acredito que esse processo de nunca parar de pensar sobre os problemas técnicos ou sobre software em longo prazo é danos.

Talvez fique aqui a minha hipótese do porquê tantos Desenvolvedores curtem tanto fazer algo fora do serviço que atraia 100% do foco.

Como jogar algo ou estar imerso dentro de uma série.

Esse tipo de atividade simplesmente força sua mente a se desligar do mundo do software e é essencial para resetar sua mente e dar tempo para você ter novas idéias de maneira fresca e descansada.

Esse era um pouco do meu ciclo enquanto era 100% Desenvolvedor dentro da GeekHunter.

Hoje, assumindo a área de gestão, esse fluxo mudou um pouco, porém a essência ainda é a mesma.

Cada Desenvolvedor tem sua particularidade na hora de programar, mas acredito que existam muitas similaridades entre todos quando se trata do nível de foco necessário para desenvolver.

Espero ter ajudado. Até a próxima!

JavaScript Básico
Curso de JavaScript Básico
CONHEÇA O CURSO

Esse post foi desenvolvido pela GeekHunter