Concrete Logo
Hamburger button

Uma visão estratégica sobre o Application Lifecycle Management (ALM)

  • Blog
  • 14 de Julho de 2014
Share

O momento corporativo exige cada vez mais equipes de desenvolvimento multidisciplinares, com visão no negócio, adeptos das melhores práticas de desenvolvimento de software, capazes de se adaptarem rapidamente à mudança e com alto comprometimento.

Nesta profunda mudança do perfil dos profissionais da área de TI, já não é bastante saber codar, conhecer de infraestrutura, banco de dados ou método de governança. A feature “gerenciar para o negócio” é o novo valor desejado neste mundo.

Assim, o termo ALM, que pode ser traduzido como gestão do ciclo de vida de aplicações, saiu da prateleira de siglas para o mundo real. Esta prática de gerenciamento consiste em:

– Parametrizar todas as demandas (também chamadas de portfólio);

– Agregar demandas similares em projetos similares;

– Entregar especificações corretas para a área de desenvolvimento;

– Acompanhar a criação do código;

– Realizar entregáveis periódicos ao cliente:

– Alinhar as expectativas do cliente ao projeto com estas iterações;

– Testar o código e sua segurança;

– Garantir seu versionamento;

– Fazer integrações contínuas e deployments automatizados;

– Colher resultados de área de produção para melhoria contínua do projeto;

– Acompanhar a produção em busca de melhorias e anomalias de plataforma; e, finalmente

– Tirar o produto do ar.

Ora, mas onde ficam as figuras já consolidadas, como PO, Scrum Master, UX Designer, Growth Hacker e DevOps?

Permanecem nos mesmos lugares – a grande diferença está na iteração do time.

A democratização da informação, ou mesa redonda, mesmo que sem querer, vai ao encontro da multidisciplinaridade – todos enxergando os portfólios, projetos, produtos em produção e end-of-life traz benefícios facilmente mensuráveis à organização.

Literalmente melhorias e intervenções são vistas com a visão de um na cadeira do outro. O UX Designer pode encontrar uma solução para um problema (reconhecido ou não) na área de produção, o DevOPS pode aglutinar portfólios que o PO não havia conseguido perceber e assim por diante.

E a metodologia e as ferramentas, onde ficam?

Tal abordagem é totalmente aderente a qualquer método de governança, seja ela formal ou ágil. Obviamente, tal pluralidade incentiva todos os profissionais a pensarem de maneira ágil, o que é extremamente saudável, visto que este é um caminho sem retorno.

Em termos de ferramentas, há uma porção de fabricantes que têm seus próprios pacotes guarda-chuvas, como a Microsoft, IBM, CA e HP, entre outras. Mas nada impede que o time descubra seu próprio conjunto de ferramentas e, ainda melhor, trabalhe com as mesmas ferramentas do cliente.

Aqui na Concrete

Na Concrete Solutions, o Ciclo de Vida dos Produtos é apoiado por uma escola de ferramentas que consideramos as melhores em cada assunto e damos uma certa flexibilidade para cada time escolher como vai trabalhar (exceções para controle de versão no BitBucket e uso de AWS para nuvem).

Um time médio escolheria um conjunto formado por ferramental Atlassian, como Jira, Greenhopper e BitBucket, associado ao uso de Jenkins para integração contínua e um ferramental de testes que varia muito entre projetos mobile/multicanal e web puros (Cucumber, N/JUnit, Selenium etc., emuladores) além de ferramental proprietário para deployment contínuo em Mobile como o MobRelease (devemos abrir o código no nosso Git logo que der).

Os POs usam o bom e velho Google Docs para os Backlogs e muito ferramental da 3M (post-its everywhere).

O trabalho de Devops inclui uso de Jmeter para testes de carga e automação de deployment usando coisas como Chef, Puppet, Opsworks e Cloudformation da AWS. O time de Devops ainda usa ferramental de monitoramento como Hyperic, CloudWatch e DashBoards de negócio (vendas, por exemplo) que são customizados.

O time de UX está migrando para um papel novo, o Interactive Developer, que facilita as abordagens de Lean UX e Agile UX e parece funcionar na prática. Principalmente em Mobile, os guidelines da Apple e do Google (principalmente com a entrada do material design agora) têm que ser muito bem entendidos. Em WEB existe um bom entendimento do que é um baseline bom para conversão a ser iterado.

GrowthHacking e Analytics andam lado a lado e trazem práticas de gestão de burn rate e otimização de portfólio de campanhas/ações que vêm de Cultura de Startups Lean. O dia a dia usa GA, TaskManager, MailChimp, Flurry, AdX e recentemente Hubspot.

Governança sobre orçamento é dada pela combinação de ferramental desenvolvido internamente, tanto de timesheet integrado ao Jira como o Cost Manager AWS, que aloca despesas de nuvem a centro de custos previamente cadastrados.

Neste contexto, mais importante talvez seja o PeopleWare, uma cultura que transpire boa engenharia, agilidade associada a lean e práticas maduras de gestão de produto é mais importante que qualquer ferramental.

Onde começo?

Há vasta literatura sobre o assunto, que citarei brevemente abaixo. Também, cada fabricante vende seu ALM de maneira particular, mas o melhor exercício que proponho fazer para se testar o quanto sua visão está aderente a esta abordagem é a seguinte:

– Olhe para todas as tarefas do seu time;

– Passeie pelos outros times;

– Converse com sua área comercial sobre demandas que os clientes costumam pedir;

– Cruze as informações: tenho certeza que vai descobrir que seu time fez ou está fazendo atividades que já foram executadas anteriormente, ou que estão no seu próprio backlog.

Algumas referências

Para quem quiser aprender mais, indico os livros “Application Management: Challenges – Service Creation – Strategies”, de Frank Keuper, Christian Oecking, Andreas Degenhardt e Gabler Verlag e “Application Management Services and Support, de Walter Linnartz, Barbara Kohlhoff, Gertrud Heck e Benedikt Schmidt. Além deles, o artigo ALM Software: The Comprehensive Solution for Your Company Needs, do Business-software.com, e Mea Culpa, ALM toolmakers say, de Jennifer deJong, também podem ajudar.

O que achou? Tem alguma dúvida ou comentário? Só deixar aqui nos campos abaixo. Até a próxima!