Projetos, operações e a guarda compartilhada

Em linhas gerais, a gestão de software aborda as demandas por meio de dois paradigmas fundamentais: projetos e operações. Até aí, nenhuma novidade, mas não custa definir brevemente cada um deles.

Projetos

Segundo o PMBOK, 5ª edição, são “esforços temporários empreendidos para criar um produto, serviço ou resultado exclusivo”.

Operações

“São esforços contínuos, que geram saídas repetitivas, com recursos designados para realizar basicamente o mesmo conjunto de tarefas” (PMI, 2013).  Segundo o ITIL, as operações visam a garantia da contínua entrega de valor ao cliente com eficiência e eficácia.

Comparativo

Projetos Operações
Esforço Definido, temporário Contínuo, permanente
Tipo de produto Único Repetitivo
Objetivo Produzir algo único Manter algo em funcionamento

O problema

Sem dúvida há muito mais a esclarecer acerca destes dois conceitos,  mas, de maneira geral, é bastante simples compreendê-los e a diferença entre eles. O problema é o encontro destes dois mundos, talvez o momento mais importante do ciclo de vida de um software: a transformação de um produto de projeto em um ativo em operação, frequentemente marcada por um processo de deployment.

Dois cenários ocorrem com frequência:

  • Quando a mesma equipe desenvolve e opera o software: dificilmente há uma separação clara entre o que é projeto (desenvolvimento de novas funcionalidades e melhoramentos, por exemplo) e o que é operação (correção de bugs e patches de segurança). A gestão de expectativas do cliente é dificultada por uma ideia de que aquela é a equipe que “cuida do sistema”. Assim, tudo pode ser solicitado e gera-se a anomalia dos projetos “infinitos”. Comumente cria-se uma relação de dependência que desgasta a equipe e gera insatisfação do cliente.
  • Quando equipes diferentes desenvolvem e operam o software: sejam os prazos curtos, a inexperiência da equipe, a falta de comprometimento do cliente, o  orçamento apertado ou qualquer outro fator que dificulte o desenvolvimento do software com a qualidade adequada, não raro ele passa para o ambiente de produção sem as reais condições para que isto ocorra, sejam elas decorrentes do projeto ou da área de operações. Entendam-se condições como as verificações de qualidade, a ampla homologação e aceitação pelos usuários e cliente, manuais de uso, documentação técnica, capacitação da equipe que herdará o software e por aí vai. E torna-se um problema da equipe de operações.

A guarda é compartilhada

Do Projeto

Quando um projeto não se preocupa com questões como a manutenibilidade do software, ou não planeja a arquitetura adequada às necessidades, ou cede às pressões e compromete a qualidade do produto entregue, é só uma questão de tempo até a bomba estourar na mão da equipe de operações. São responsabilidades do projeto e devem ser entregáveis listados no planejamento:

  • Manual de uso;
  • Treinamento de uma central de atendimento, quando houver;
  • Documentação técnica;
  • Capacitação da equipe de operações

E isto é o básico!

De Operações

Se, por outro lado, não há um mínimo de organização na Área de Operações, as falhas de projeto não são notadas até que se tornem reclamações vindas de usuários de um software que ninguém sabe como funciona! E mesmo que o software seja brilhantemente construído no projeto, se o ambiente em que ele vai operar não estiver preparado para suportá-lo, é caos na certa. É a Operações, herdeira do software, quem deve aceitar ou vetar a entrada em produção e isto não pode ser negligenciado. Cabe à equipe de operações:

  • Verificar se o produto de software está construído da maneira como deveria;
  • Garantir que sua equipe tem informações e condições para gerir este ativo;
  • Validar a sua entrada em produção;

Das organizações

Justamente por demandar a interação entre setores ou mesmo empresas distintas esta relação precisa ser regrada por um terceiro ente, normalmente um contrato, uma auditoria, ou uma área da organização, que precisa definir claramente que parâmetros devem ser observados, tanto pela equipe de construirá, como pela equipe que manterá o software, e como será esta transição.

A solução é de negócio

É fundamental que a interação entre as equipes não se dê somente no momento da entrega do produto, mas em todo o ciclo de vida.

Planejamento

No planejamento do projeto, é imprescindível contar com a ajuda de arquitetos de software, analistas de segurança, gerente de projeto e de operações. Assim, previstas as condições em que o software deverá operar, e combinados os prazos e parâmetros de construção e entrega, as surpresas serão menores na transição.

Execução

Durante a construção do software, uma equipe de qualidade que verifique se o desenvolvimento está seguindo os padrões estabelecidos de Gerência de Configuração e Qualidade, por exemplo, e que auxilie a corrigir desvios e não-conformidades, minimiza o risco de problemas na entrega.

Entrega

Antes da troca de mãos, o produto de software precisa passar por validações de arquitetura, segurança, qualidade, gerência de configuração, pelo crivo da área de Operações e pelo cliente, com base em parâmetros claros e conhecidos por todos. Checklists podem ser aplicadas para apoiar estas verificações e garantir que todos tenham as mesmas informações. Outros documentos que formalizem estas checagens e aceites são bem vindos.

Conclusão

Se, desde o início, todos os envolvidos possuírem o mesmo desejo por organização e qualidade e se envolverem na construção de uma solução duradoura e “boa pra todo mundo”, assumindo a responsabilidade compartilhada desde a concepção até o nascimento, o risco de problemas é sensivelmente mitigado. Mas se não, o prejuízo é geral.

Então, independente de que lado você está, por que não pensar em  gerar um “filho” de que todos se orgulhem em vez de correr o risco de se envergonhar por ter que assumir o seu DNA naquele transgressor em que ninguém confia?

 

 

 

 

 

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s