Atrasos em projetos de TI: o que fazer?
PUBLICADO EM 20 de maio de 2015 POR MILLDESK
Um dos aspectos mais importantes na hora de participar de projetos de TI (tecnologia da informação) e desenvolvimento de software é tomar ações preventivas diárias que nos permitam evitar retrabalho e antecipar situações que possam nos causar atrasos no desenvolvimento e entrega.
E esta é a ideia deste artigo, explorar várias ações preventivas que podem ser tomadas em projetos de TI, que vão desde a identificação de todos os requisitos de todas as áreas envolvidas desde a fase de análise, até prevenir situações com os ambientes de banco de dados.
As ações preventivas se classificam por cada fase do ciclo de desenvolvimento (análise, concepção, desenvolvimento e implantação), independentemente de que estas sejam executadas sequencialmente (metodologias de ciclo tradicional de vida) ou paralelo (como no desenvolvimento ágil).
Ações preventivas – Análise e projeto de sistema
- A análise e o projeto devem envolver todas as áreas da organização. Quando se desenvolve para grandes empresas, muitas vezes existem múltiplas áreas de áreas de negócio e técnicas, tais como testes de TI, Banco de Dados, Sistemas Operacionais, segurança, entre outros.
- Partir de uma definição geral do que está no alcance e o que não está, para moderar as reuniões de levantamento de informações.
- Faça atas de todas as reuniões técnicas, distribua no menor tempo possível após as reuniões e obtenha a aprovação por escrito (via email) de todos os participantes. Isso vai evitar divergências no entendimento do que se vá fazer entre as partes.
- Preparar o projeto de teste durante a fase de análise e projeto de sistema, antecipando, assim, os requisitos de teste com antecedência.
- Determinar antecipadamente todos os requisitos de documentação, incluindo as planilhas de controle de mudanças, formatos, solicitações.
- Determinar com antecedência os requisitos de usuários de banco de dados e sistema operacional, incluindo os privilégios de acesso (por exemplo, SYS, DBA, consulta, modificação e supressão).
- Determinar antecipadamente os parâmetros de configuração de componentes de software e sistemas (por exemplo: Propriedades, parâmetros Shell scripts, etc.).
- Identificar os requisitos de estações de trabalho da equipe: Identifique os requisitos iniciais de software, plugins, componentes (por exemplo, máquina virtual Java, componentes Active X.) que necessitam as estações de trabalho tanto de desenvolvedores como a equipe de teste.
- Ao solicitar informações a terceiros, lembre-se de dar seguimento as solicitações. Registre.
- Mantenha um controle de versões sobre toda a documentação de análise e projeto. Distribuir o mais rapidamente possível às versões mais recentes e alertar toda a equipe.
Medidas preventivas – Desenvolvimento
- Ante a existência de múltiplas áreas técnicas (desenvolvimento, implementação, teste, banco de dados, segurança), defina com antecedência as funções e responsabilidades do avanço nas comunicações (o que comunicar e para quem).
- Definir previamente quem é o responsável dos ambientes, geralmente nas áreas de desenvolvimento, teste e produção, cada um é responsável por seus ambientes.
- Se você estiver trabalhando em paralelo o projeto e desenvolvimento, como em projetos Fastrack, é conveniente realizar reuniões constantes com o cliente, principalmente com áreas técnicas (desenvolvimento, teste, produção, banco de dados).
- As contas de usuário usadas no desenvolvimento devem ser homólogas as utilizadas em ambiente de desenvolvimento, teste e produção, com os mesmos nomes, configuração e privilégios de acesso. Aplique para usuários do sistema operacional, banco de dados e aplicação.
- Solicite com antecedência a criação de usuários de sistema e banco de dados que sejam homólogos aos utilizados em testes e produção, não usar outros usuários com diferentes configurações.
- Os parâmetros de configuração (por exemplo: propriedades, parâmetros de script Shell) para ser utilizada no desenvolvimento deve ser o mais homóloga possível aos ambientes de teste e de produção, isto evitará erros ao transferir o desenvolvimento para outros ambientes.
- As diretrizes da área de segurança devem ser considerados no desenvolvimento, por exemplo, gerenciamento de senhas de usuários de sistema utilizados pelos componentes de software.
- Antes de fazer uma entrega a ambiente de provas ou produção, assegure-se de que a documentação de controle de mudança foi elaborada corretamente. Procure o apoio das áreas técnicas envolvidas (sistemas de banco de dados, implementação, operação).
- Ao instalar em ambiente de teste, deve-se revisar se existem diferenças no ambiente ou banco de dados em relação aos usuários do sistema operacional e seus privilégios.
- Ao instalar em ambiente de teste, verifique se há diferenças nas bases de dados, solicitando uma cópia e revisão das estruturas de banco de dados.
- Se existem diferenças entre os ambientes de banco de dados, você deve solicitar com antecedência suficiente, instruções a respeito de uma das seguintes opções: Modificar o desenvolvimento para poder instalar em ambiente de testes ou homologar a base de dados.
Ações preventivas – testes (antes de iniciar os testes):
- Quando os testes são de ponta a ponta (end-to-end) deve-se incluir casos de testes de todos os componentes intermediários, isso inclui configurações, scripts de instalação em banco de dados e testes sobre componentes de plataforma(por exemplo, transferências de arquivos via FTP ou processos batch executados em horários específicos).
- Solicitar com antecedência os usuários requeridos (Veja seção análise e projeto deste artigo) por componentes desenvolvidos. Os nomes e privilégios de usuário devem ser homólogos em ambientes de desenvolvimento, teste e produção para garantir a integridade dos testes.
- Os usuários com privilégios especiais (por exemplo, SYS ou DBA) devem solicitar com antecedência.
- Assegure-se de que estações de trabalho cumprem os requisitos (veja análise e projeto deste artigo).
- Solicite com antecedência número suficiente de usuários da ferramenta de gestão de testes.
- Solicite com antecedência a criação e configuração de usuários de diferentes aplicações, bancos de dados e sistemas operacionais no ambiente de teste. Isso inclui o pedido de privilégios de acesso.
- Identifique e solicite com antecedência a configuração de opções de funcionalidade, por exemplo, em caso de existir funcionalidades habilitadas ou desabilitadas via banco de dados.
- Em caso de uma falha de instalação no ambiente de teste, reverta todas as alterações e deixe operativo o ambiente para evitar atrasos em outras equipes de projeto.
Esta é apenas uma lista inicial de ações preventivas para evitar o retrabalho em projetos de TI.
Que outras ações preventivas você considera imprescindíveis para evitar o retrabalho e o atraso?
Fontes: (PMO info, café para scrum master)