Não esqueça das políticas
Relembrando o post sobre o Banquinho. Que por sinal ainda acho que é uma visão a se ter sobre uma solução completa extremamente viável e simples. Hoje eu adicionaria outros pilares ao banquinho, seria como se fossem as cores secundarias, todas derivadas do bom e velho RGB, por isso não vou fazer mudança no banquinho.
Mas vou falar de um pé sub-colateral, falando da rosa dos ventos agora.O ponto em comum entre ferramentas e processos, que estou chamado aqui de políticas. Acredito que esse seja o melhor nome, até por que esse termo é comum em gerência de configurações.
Políticas? Hummmm....
Mas vou falar de um pé sub-colateral, falando da rosa dos ventos agora.O ponto em comum entre ferramentas e processos, que estou chamado aqui de políticas. Acredito que esse seja o melhor nome, até por que esse termo é comum em gerência de configurações.
Políticas? Hummmm....
Não. Não é esse tipo de política que você deve estar pensando. Falo de políticas de uso quanto a ferramentas, aqui ferramentas e processos se misturam, não falo apenas de workflow de trabalho, mas em formas de uso.
Uso de Ferramentas
Ferramentas servem diversos propósitos, os que considero mais importantes são:
Antes que me esqueça vou explicar os "*" em ordem :). Bom reduzir desperdícios de recursos é um ponto que tem que ser analisado com calma. As vezes um ferramenta mais atrapalha do que ajuda, isso o Scott Ambler fala muito no Agile Modeling. Concordo com ele! Muitas vezes perdemos muito tempo para passar algo para um ferramenta case e o que passamos nem está estável, talvez fosse melhor deixar em uma folha de papel ou quadro e depois que se estabilizar ai sim passar para um ferramenta.
Redução de Erros é outro ponto complexo. Por que as ferramentas podem ajudar ou até burocratizar o seu trabalho, logo se as políticas não forem bem definidas ao invés de diminuir erros você pode acabar aumentando os erros com uma ferramenta sendo usada de modo impróprio.
O aumento da produtividade também não vem fácil, existe toda uma curva de aprendizado com o uso de uma nova ferramenta, não digo nem só pela ferramenta, mas por você ter que dar suporte as vezes e ter que lidar com problemas instalação, configuração e novamente políticas.
Exemplo de política
No controle de versão, imagine que você usa Subversion, Clear Case, CVS ou qualquer outro, para esse exemplo qualquer um serve.
Como documentar?
Não sendo em um documento word que vai ficar em um compartilhamento de rede que ninguém vai ler, sem problemas. É incrível mas as pessoas não gostam de abrir documentos que estão na rede em uma arvore de pastas em que ninguém se acha, por que será ? Colocar as políticas em um CMS/Wiki da vida é uma boa.
Por que preciso de políticas?
A Gerencia de configuração é sempre um ponto critico em um projeto, por que ela pode tirar ou dar produtividade ao desenvolvimento. Sem políticas é mais fácil de ter confusão e fica mais complicado de se gerenciar.
Mas Gerencia de Configurações é importante mesmo?
Essa foto poderia estar bem mais completa, tendo em vista Gestão,Q.A, Ambiente, Controle de Mudanças, mas eu resolvi simplificar somente a nível de ilustração. Respondendo a pergunta Gerencia de Configuração é pervasivo, ou seja, passa por todas as disciplinas do desenvolvimento de software, assim como o arquiteto ele tem um papel fundamental no desenvolvimento.
Sim. É muito difícil achar um GC. Então qual a solução? As vezes essa função é absorvida pelo arquiteto em outras isso pode ser partilhado com a equipe, a gerencia de configuração pode ser rateada, de forma que cada pessoa da equipe fica com uma ferramenta, mas isso não elimina a necessidade das políticas!
Uso de Ferramentas
Ferramentas servem diversos propósitos, os que considero mais importantes são:
- Diminuir o peso do processo
- Facilitar o trabalho das pessoas
- Automatizar tarefas repetitivas
- Reduzir desperdícios de recursos *
- Redução de erros *
- Aumentar a produtividade *
- Onde vou instalar essa ferramenta?
- Como vou usar essa ferramenta?
- Que customizações vou ter que fazer com essa ferramenta?
- Por que estou comprando essa ferramenta?
Antes que me esqueça vou explicar os "*" em ordem :). Bom reduzir desperdícios de recursos é um ponto que tem que ser analisado com calma. As vezes um ferramenta mais atrapalha do que ajuda, isso o Scott Ambler fala muito no Agile Modeling. Concordo com ele! Muitas vezes perdemos muito tempo para passar algo para um ferramenta case e o que passamos nem está estável, talvez fosse melhor deixar em uma folha de papel ou quadro e depois que se estabilizar ai sim passar para um ferramenta.
Redução de Erros é outro ponto complexo. Por que as ferramentas podem ajudar ou até burocratizar o seu trabalho, logo se as políticas não forem bem definidas ao invés de diminuir erros você pode acabar aumentando os erros com uma ferramenta sendo usada de modo impróprio.
O aumento da produtividade também não vem fácil, existe toda uma curva de aprendizado com o uso de uma nova ferramenta, não digo nem só pela ferramenta, mas por você ter que dar suporte as vezes e ter que lidar com problemas instalação, configuração e novamente políticas.
Exemplo de política
No controle de versão, imagine que você usa Subversion, Clear Case, CVS ou qualquer outro, para esse exemplo qualquer um serve.
- Ninguém pode commitar código que não compile.
- Ninguém pode commitar nada sem comentários.
- Ninguém pode criar um branche sem falar com o gerente de configurações.
- Todos devem fazer updates diários e resolver os conflitos.
- Ninguém deve fazer locks de arquivos que não sejam(doc,excel).
Como documentar?
Não sendo em um documento word que vai ficar em um compartilhamento de rede que ninguém vai ler, sem problemas. É incrível mas as pessoas não gostam de abrir documentos que estão na rede em uma arvore de pastas em que ninguém se acha, por que será ? Colocar as políticas em um CMS/Wiki da vida é uma boa.
Por que preciso de políticas?
A Gerencia de configuração é sempre um ponto critico em um projeto, por que ela pode tirar ou dar produtividade ao desenvolvimento. Sem políticas é mais fácil de ter confusão e fica mais complicado de se gerenciar.
Mas Gerencia de Configurações é importante mesmo?
Essa foto poderia estar bem mais completa, tendo em vista Gestão,Q.A, Ambiente, Controle de Mudanças, mas eu resolvi simplificar somente a nível de ilustração. Respondendo a pergunta Gerencia de Configuração é pervasivo, ou seja, passa por todas as disciplinas do desenvolvimento de software, assim como o arquiteto ele tem um papel fundamental no desenvolvimento.
Sim. É muito difícil achar um GC. Então qual a solução? As vezes essa função é absorvida pelo arquiteto em outras isso pode ser partilhado com a equipe, a gerencia de configuração pode ser rateada, de forma que cada pessoa da equipe fica com uma ferramenta, mas isso não elimina a necessidade das políticas!