RedMine: Gestão de Projetos e Primeiros passos com o RedMine
Gestão de Projetos: Primeiros passos com o RedMine
Para auxiliar os gestores existem excelentes ferramentas, como a RedMine, gratuita e baseada no modelo web que permite um completo gerenciamento dos processos de software.
Artigos Engenharia de Software Gestão de Projetos: Primeiros passos com o RedMine
Este trabalho apresentará os seguintes aspectos referentes à ferramenta RedMine: Acesso à Página do RedMine; Criação de Projetos; Criação de Equipes; Adição de WIKI ao Projeto; Criação de Tarefas; Atualização de Gantt's; Atualização de Tarefas; e Log's.
Durante o desenvolvimento de um software, pode ser que a sorte ajude um pouco, talvez se consiga as pessoas certas, no momento adequado, com todos os planetas em um perfeito alinhamento, assim talvez, e somente talvez o projeto seja um sucesso (BOOCH, RUMBAUCH e JACOBSON, 2000). O mais seguro então é realizar corretamente a atividade de gerenciamento deste projeto, desta forma, as chances de sucesso aumentarão.
O sucesso de um projeto não está diretamente ligado à ferramenta que será utilizada para apoiar neste processo, mas isto não a torna menos importante, uma boa ferramenta de suporte a gestão de projetos pode simplificar e tornar o processo mais organizado, sendo assim, apresentaremos neste artigo uma visão ampla e completa da ferramenta RedMine, permitindo desta forma que você leitor aproveite ao máximo suas funcionalidades.
Para iniciar nossos estudos com a ferramenta devemos acessar a página demo da ferramenta (vide seção Links) que é a página inicial da aplicação, como apresentado na Figura 1 e discutido em seguida.
Figura 1. Tela inicial do RedMine
Esta tela apresenta três seções:
A seção 1 contém informações básicas, tais como atalhos para criação de contas, projetos, login, entre outros;
Na segunda seção são apresentadas informações importantes sobre os projetos, últimas postagens, andamento, testes e outros;
Por fim, na terceira seção são listados os projetos mais recentes em andamento ou concluídos.
Esta tela inicial serve como um atalho para as atividades mais importantes para o usuário.
Apesar de bem simples, o arranjo destas informações na tela inicial do sistema permite ao gestor uma visão geral do andamento dos projetos que coordena o que pode auxiliar significantemente na tomada de decisões.
No menu superior da ferramenta, temos as opções página inicial, projetos e ajuda. Clicando em projetos, será apresentada uma tela com todos os projetos registrados, seguidos de algumas informações sobre os mesmos. Também nesta tela além de outras funções, encontramos a opção Novo Projeto, como pode ser visto na Figura 2.
Figura 2. Tela inicial de Projetos
Antes de iniciar os trabalhos o gestor deve preparar o ambiente e em se tratando da ferramenta RedMine, é importante que o gestor inicie um Novo Projeto. Ao iniciar um novo projeto, uma série de informações deve ser inserida, algumas básicas e outras que podem influenciar significantemente no sucesso do projeto. Veremos na Figura 3 a tela de criação do projeto.
Figura 3. Tela inicial de Criação de Projetos
Vê-se que este módulo exige algumas informações básicas como nome e descrição do projeto, além de um identificador (um nome curte para identificar o projeto). Podem ser incluídas também informações sobre página do projeto (website), informações sobre a visibilidade do projeto e a possibilidade de herdar membros alocados em outros projetos, todas estas são informações pontuais, devendo haver maior atenção as informações na aba módulos e tipos de tarefas.
A primeira vista a melhor opção é deixar todos os itens marcados, e, a depender do grau de gerenciamento e comunicação que se deseja, este é um pensamento correto. Entretanto se existe uma necessidade de desenvolvimento através da utilização de métodos ágeis e menos burocráticos, é possível a utilização de somente parte destes recursos, sem, no entanto comprometer o sucesso da operação, este assunto será discutido em outro artigo. A princípio deixaremos os campos marcados, assim como os que se encontram em tipos de tarefas, pois, para o entendimento de suas funcionalidades é necessário que os mesmos estejam disponíveis.
Uma vez criado, o projeto oferece ao gestor um módulo para administração do mesmo, é através deste módulo que o gestor definirá a(s) equipe(s) que trabalharão neste projeto. O ato de definir equipes não consiste unicamente em selecionar os profissionais que irão trabalhar no projeto, mas também o papel de cada um no mesmo, buscando aloca-los segundo suas habilidades, processo este que, se executado corretamente eleva as chances de sucesso. Vejamos a tela de configurações do projeto na Figura 4.
Figura 4. Módulo de Configuração do Projeto
O cadastro de membros pode ser realizado na própria página de configuração do projeto, basta clicar na aba membros. Não se pode esquecer que, ao adicionar um membro ao projeto, é preciso definir o seu papel no mesmo, e esta é uma das mais importantes atividades de um gerente de projetos. Em muitos casos, um bom técnico não se mostra um bom gestor, ficando assim a equipe sem um bom técnico e um bom gestor. Ao abrir a tela de gerenciamento de membros (vide Figura 5), é apresentada a lista de membros participantes do projeto, além de algumas informações básicas sobre o mesmo e opções para edição e exclusão.
Figura 5. Módulo de Gestão de Membros
Ao clicar na opção Novo Membro, diferentemente do que se imagina, não é apresentado para o usuário uma nova tela para criação de membros, mas sim uma tela onde o usuário escolherá entre os demais usuários registrados no sistema, seguido do papel que este usuário terá no projeto, como pode ser observado na Figura 6.
Figura 6. Inclusão de Membros ao Projeto
A ferramenta RedMine não limita a quantidade de membros por projeto, no entanto como bom gestor de projetos, é preciso ponderar para que se tenha um projeto financeiramente viável e que seja concluído no prazo esperado. Alocar os profissionais disponíveis de acordo com suas aptidões é de extrema importância.
Wiki, apesar de numa rápida análise não ser possível identificar a importância deste módulo, ele possui sim sua importância. O wiki permite uma comunicação rápida e permanente entre os membros de uma equipe, permitindo registro de informações importantes, necessárias ou qualquer outra informação sobre o projeto que permita um melhor entendimento sobre o mesmo por parte de toda a equipe. É possível também através do wiki que ao final do projeto seja montado um manual de utilização do sistema a partir das informações ali contidas.
Recomenda-se então que, após adicionados os membros do sistema seja ao menos (caso julgue importante) iniciado o wiki, indicando aos demais membros do projeto quais informações são esperadas ali. Veja exemplo na Figura 7.
Figura 7. Administração do Wiki do Projeto
É possível amarrar o texto do wiki a um outro texto, escrever comentários e mesmo adicionar arquivos. Após incluído, todos os membros do projeto podem interagir com esta página. Pode-se também após a inclusão do wiki criar novos wikis, impedindo desta forma que diferentes assuntos se misturem.
Sempre que criamos um projeto, é interessante especificar a versão do mesmo, um projeto até sua implementação final / implantação, pode passar por várias versões, constando o que foi realizado de correções, adaptações ou melhorias e adições de uma para outra. Manter o registro das versões é manter conhecimento sobre o projeto, o que pode ser muito importante, principalmente quando se utiliza esta ferramenta associada a outra específica para controle de versões de implementação. O RedMine disponibiliza um módulo para registro de informações sobre as diferentes versões do projeto como pode ser observado na Figura 8.
Figura 8. Registro de Versão do Projeto
Inserir informações pertinentes ao projeto é de suma importância, pois, uma das premissas da qualidade da informação, refere-se á origem da mesma e a forma como a mesma foi armazenada. Uma das formas mais eficazes de se medir o tempo e custo de um projeto é com base nas informações e conhecimentos adquiridos de trabalhos anteriores que tenham semelhança com o trabalho em questão, isto por si justifica a importância de manter-se uma boa documentação sobre o projeto em andamento.
Categorias de tarefas
É extremamente importante não confundir categoria das tarefas com tarefas. Neste módulo estamos somente categorizando as tarefas, ou seja, criando grupos de tarefas e associando a seus respectivos responsáveis. Um projeto pode conter inúmeras tarefas, e cada tarefa pode estar associada a um determinado grupo. Vejamos a Figura 9.
Figura 9. Categorias de Tarefas
Observe que cada grupo ou categoria de tarefa é atribuído a um membro do projeto, este membro é responsável por gerenciar esta atividade (é o que definimos como delegação de responsabilidade). Gerir um projeto sem delegar funções ou responsabilidades é inviável, muitas atividades são complexas e geram uma extensa lista de atividades filhas, logo eleger um gestor para aquele grupo de atividade é importante, pois este se encarregará de garantir que todas as tarefas daquele grupo sejam executadas no tempo específico, e ele deve também lhe reportar sobre o andamento destas atividades, assim, o gerente do projeto terá uma visão "macro" do projeto enquanto cada um de seus "líderes" possuirá uma visão "micro" de suas responsabilidades.
Reforçamos então a importância de uma ferramenta adequada para o processo de gerenciamento de projetos, e como a ferramenta em questão (RedMine) se encaixa neste contexto, sendo possível aplica-la não somente no desenvolvimento e projetos de softwares, mas qualquer tipo de projeto.
Outro recurso bem simples oferecido pela ferramenta é a possibilidade de criação de fóruns. Não existem dificuldades em criar e administrar os fóruns, assim como muitos dos outros recursos oferecidos pela ferramenta, contudo isso não diminui a importância do recurso. A finalidade dos fóruns é permitir a comunicação constante de forma assíncrona entre os membros de um projeto.
Todo projeto, para manter sua organização e também entendimento entre seus membros deve proporcionar a boa comunicação entre seus membros, comunicação esta que pode ficar restrita a um determinado grupo (evitando assim envio de informações desnecessárias para determinados grupos). A Figura 10 apresenta o módulo de gestão de fóruns, lembrando que estes estão subordinados ao projeto.
Figura 10. Fóruns
Uma vez criados, os fóruns ficam disponíveis para que os membros possam trocar informações entre si. Este recurso é muito importante principalmente quando em se tratando de processos onde os membros de um projeto encontram-se dispersos geograficamente, assim, em caso de dificuldades, dúvidas ou necessidade de comunicação, um membro pode registrar uma mensagem no fórum e receber resposta ou participação de um ou mais membros, e por se utilizar o fórum, toda essa informação fica registrada podendo ser consultada e utilizada sempre que necessário neste ou outros projetos.
Gerenciamento de projeto – parte I
Terminada a primeira etapa, onde pudemos criar um projeto com todos os recursos que se espera no mesmo, seguimos para a etapa de gerenciamento propriamente dita. É importante salientar que, para que a criação do projeto ocorra de forma organizada e apresente facilitada, esta seja realizada na sequencia em que foi demonstrada nos primeiros tópicos deste artigo.
Nesta etapa o artigo inicia-se com o módulo de criação de tarefas. Deve-se notar a diferença entre este tópico e o tópico categoria das tarefas, neste é criada e associada uma tarefa, bem como selecionado seus observadores, membros responsáveis por acompanhar o andamento da tarefa bem como realizar sua execução. A Figura 11 apresenta este módulo que será discutido logo em seguida.
Figura 11. Criação e Atribuição de Tarefas
O módulo de Criação e Atribuição de Tarefas é semelhante a alguns módulos de gestão de ticket's. Ao criar uma tarefa é preciso indicar qual o tipo desta, que a princípio podem ser três: bug, feature, support, em uma tradução livre: erros, novo/recursos e suporte.
Indicar corretamente o tipo de tarefa, escolher um titulo sugestivo e descrever de forma sucinta e completa sobre a tarefa é de grande importância, pois, informações incorretas ou imprecisas geram problemas no andamento do projeto.
Definir a situação da tarefa e sua prioridade são também atividades de suma importância e que deve ser atribuída de forma responsável, entender o real estado da tarefa bem como sua real prioridade podem influenciar de forma significativa no andamento do projeto. Algumas escolas da administração pregam que, primeiramente deve-se realizar aquilo que é importante, e em seguida o que é urgente, definir corretamente a prioridade da tarefa pode e irá interferir na ordem em que estas atividades serão executadas.
Seleciona-se também neste módulo a que categoria a tarefa pertence, categoria esta criada anteriormente, toda tarefa pode estar subordinada a outra tarefa, como subatividade de uma atividade maior, uma prática comum na resolução de problemas complexos pautada na metodologia dividir para conquistar, que prega que problemas complexos devem ser divididos em problemas menores para facilitar assim sua resolução.
Outros campos extremamente importantes são: início, data prevista, tempo estimado e % terminado. Entender o andamento das tarefas, quando esta teve início, quanto tempo está previsto para seu término, quanto tempo de fato esta tarefa demandou para ser concluída e o quanto dela esta ou não pronto na data prevista ou antes da data, permite ao gerenciador do projeto determinar as ações a serem tomadas para a manutenção do cronograma do projeto, bem como dos custos.
Em outros artigos discutiremos mais sobre a importância de como estes pequenos dados são importantes para o bom andamento e gerenciamento de projetos e para manutenção da qualidade do produto em produção.
Notícias, Documentos e Arquivos
O módulo de notícias compõe um dos mais simples módulos da ferramenta. Neste módulo é possível criar notícias que serão apresentadas a todos os membros na página inicial da ferramenta RedMine. Entretanto não se pode pensar que, devido a sua simplicidade este seja também um dos módulos de menor importância.
Como profissionais do conhecimento e da informação não podem ter uma visão tão simplista da informação em si. Prover informação de forma rápida e segura é um dos princípios da informação de qualidade. Ao incluir notícias ou feed's nos projetos pode-se garantir que todos os membros terão acesso àquela informação, no momento e sempre que este membro fizer algum acesso à página principal da ferramenta, e manter a boa comunicação entre a equipe, garantindo que todos tenham acesso a informação no devido momento é imprescindível para o sucesso do projeto.
Através do módulo de documentos é possível adicionar documentos relevantes ao projeto ao mesmo, quando nos referimos a documentos, em termos mais específicos espera-se que sejam anexados ao projeto alguns artefatos de software, tais como cartões crc, diagramas, fichas de levantamento de requisitos entre outros.
Pode-se também ser anexado qualquer outro tipo de documento que seja importante para o bom entendimento e documentação do projeto, ainda que se tenha adotado uma metodologia ágil de desenvolvimento, manter alguma documentação e gerenciar corretamente o projeto é importante, isto pode ser percebido diante das exigências para se obter algum tipo de certificação quanto a garantia da qualidade do software produzido.
O módulo de arquivos também configura um importante recurso da ferramenta RedMine, tal ferramenta não possui o propósito de atuar como gerenciador ou controlador de versão de softwares, entretanto, uma das principais dificuldades do gestor e desenvolvedor é rastrear os requisitos que deram origem a determinadas funcionalidades de software.
A partir deste módulo, os membros do projeto podem anexar arquivos do projeto (tais como código fonte), associando-os a determinadas versões do projeto, finalizando a etapa com a inclusão de alguma descrição do arquivo. Assim sendo, é possível que o membro ao incluir o arquivo relacione-o com uma versão específica do projeto indicando em sua descrição a qual documento de requisitos aquele arquivo pertence, indicando quais requisitos ele implementa. O módulo em questão pode ser observado na Figura 12.
Figura 12. Adição de Arquivos
Percebe-se em toda ferramenta que existe a preocupação em se manter um padrão entre os módulos, facilitando assim a adaptação do usuário. Os próximos tópicos deste artigo estarão relacionados somente ao processo de gerenciamento, descrevendo-os e indicando ao leitor sua importância e forma de utilização para se extrair o melhor da ferramenta RedMine.
Gerenciamento de Projeto - parte II
Nesta segunda etapa do processo de gerenciamento serão discutidos os tópicos que não permitem gerenciamento ou manipulação dos dados, mas sim sua observação para que seja possível deles extrair informação. Gerenciar um projeto requere mais do que inserir dados, o processo mais complexo é exatamente o de interpretar os dados inseridos no projeto para que seja então possível a tomada de decisão de forma correta e coerente.
Iniciando pelo módulo de visualização de atividades, Figura 13.
Figura 13. Atividades
Este módulo permite ao gestor e demais membros do projeto visualizar todas as atividades relacionadas não só ao projeto em questão, mas todos os projetos em andamento. É possível a aplicação de filtros para que a lista de atividades seja mais específica.
A utilização deste módulo permite ao gestor uma visão geral do processo de comunicação entre os membros do projeto, permitindo ao mesmo avaliar o grau de comunicação entre a equipe, inclusive saber se todos estão "falando a mesma língua". Uma das premissas da qualidade de software é que as equipes que participam de um projeto estejam todas mantendo uma boa comunicação, e que estejam todas entendidas do que esta sendo feito, e como esta sendo feito.
A partir deste módulo o gerente de projetos pode verificar se esta recomendação está ou não sendo atendida.
A partir deste módulo o gerente de projetos pode verificar se esta recomendação está ou não sendo atendida. Uma visão geral deste módulo pode ser observada na Figura 14.
Figura 14. Visualização de Tarefas
A partir deste módulo o gerente de projetos pode verificar se esta recomendação está ou não sendo atendida. Com base nas informações que são apresentadas neste módulo é possível decidir por exemplo sobre o "deslocamento" de componentes de uma equipe para outra, aumentando os esforços para cumprimento dos prazos em tarefas que apresentem atrasos, ou até mesmo outras ações e avaliação das equipes.
Uma visão mais aprofundada sobre a utilização de tais recursos para gestão de projetos será explicada em artigos de cunho mais específico.
Outro interessantíssimo recurso do RedMine, o módulo gantt permite ao usuário uma visão geral do andamento do projeto através da relação de todas as atividades do projeto em relação ao tempo. Explicar o conceito de gantt pode ser um pouco complexo, mas observando a Figura 15 será possível facilitar o entendimento.
Figura 15. Visualização do gráfico Gantt
O gráfico permite ao gestor acompanhar de forma mais detalhada o andamento de todo o projeto, trata-se de observar o andamento das atividades, semana a semana, dia a dia e avaliar se os prazos estão dentro ou fora do cronograma. O traço vermelho indica o período atual permitindo ao gestor verificar o quanto as atividades estão dentro ou fora do prazo estipulado, permite também avaliar quais são os fatores que podem estar levando a atrasos no processo, como acontecimentos extraordinários ocorridos em determinados dias.
A ferramenta RedMine apresenta-se como uma opção completa para o processo de controle das atividades de gestão do desenvolvimento de softwares. Lembre-se que a ferramenta por si não garante o adequado gerenciamento do projeto, mas oferece aos gestores todos os recursos computacionais necessários para tal. Conhecer e entender as etapas do gerenciamento de softwares e as particularidades dos métodos disponíveis (sejam eles ágeis ou não), é de fato a mais importante atividade para que se realize o gerenciamento de forma correta.
A depender do método utilizado pelo gestor do projeto, é possível que nem todos os recursos apresentados neste artigo precisem ser utilizados. Deve-se ressaltar também que nem todos os recursos da ferramenta foram apresentados, dado que, para que alguns deles apresentam-se de forma intuitiva e proveem somente dados informativos, com pouca influência para tomada de decisões realmente relevantes para o processo de gerenciamento.
Demo do RedMine
React Native: do Hello World ao CRUD:
React é um framework JavaScript criado pelo Facebook para facilitar a construção de interfaces de usuário. React Native, da mesma empresa, nos permite criar aplicações mobile nativas utilizando JavaScript, na lógica, e React, para estruturar as views.
MVC e Regras de negócio:
Em uma arquitetura MVC, temos três camadas com diferentes responsabilidades. Em qual destas camadas deveria estar a regra de negócio da aplicação? Saiba isso e muito mais nesta série.
Onde colocar minhas regras de negócio?:
Você já imaginou como seria dar manutenção em uma aplicação MVC onde a camada de controle também fosse responsável pelas validações? E se a camada de visão também tivesse regras de negócio? Assista esse DevCast e fique por dentro.
Saiba mais sobre Gestão de Projetos ;)
Guia Completa de Gestão de Projeto:
Neste guia você encontrará o conteúdo que precisa para saber como gerenciar projetos de software. Confira abaixo a sequência de posts que te guiarão do básico ao avançado em Gestão de Projetos.
Guia Completa sobre Levantamento de Requisitos:
Nesta série, falamos sobre as técnicas, como conduzir uma reunião com o cliente e gerar os documentos mínimos necessários para o levantamento dos requisitos do software. Confira!
Modelagem de Processos de Negócio:
Neste guia de consulta você encontrará diversos conteúdos que podem ser usados ao longo dos seus estudos sobre a Modelagem de Processos de Negócios, explorando técnicas e ferramentas relacionadas a essa atividade.