O DevOps é essencial para startups de tecnologia

Para quem está envolvido em startups conhece a frenética dinâmica de implantação e operação do negócio. Os ajustes são frequentes para adequar o modelo de negócio a realidade do mercado. Quanto mais sofisticada a ideia, maior a necessidade de especialistas e ferramentas e, consequentemente, os custos de implantação e operação. A visão romântica de um ou dois programadores desenvolvendo uma plataforma de software que produzirá milhões de dólares está cada vez mais distante, frente as exigências do mercado e, em alguns casos, a regulamentação do país. O uso de métodos ágeis de desenvolvimento de software é a única opção para as startups, entretanto, é necessário um formalismo para a implantação de novas versões de software, o deployment. Uma startup é o ambiente ideal para se implantar o DevOps, uma solução automatizada para implantação de software, integrando os ambientes de desenvolvimento e operações.

O conceito de startup nesse contexto é todo novo empreendimento que produzirá algum produto ou serviço para o mercado, podendo ser uma nova empresa ou um projeto de uma empresa já constituída. Uma startup não deve estar atrelada a processos e a autoridade de executivos de grandes organizações para garantir sua independência no desenvolvimento de novos modelos de negócios e uso de processos mais adequados aos novos mercados. Em startups patrocinadas por grandes organizações, três áreas não são recomendadas para buscar sinergia: Recursos Humanos, Contabilidade e Tecnologia da Informação (TI). Não integre o RH para criar uma nova cultura organizacional. Não integre a contabilidade para eliminar regras rígidas de grandes empresas (fique apenas com o necessário para atender a regulamentação). Não integre a TI para romper as barreiras de processos e arquiteturas dos sistemas legados.

A informalidade parece ser o charme das startups. Entretanto, a gestão de processos de desenvolvimento e operações devem seguir um formalismo, de preferência automatizado. Isso, inclusive, cria mais segurança para os investidores, sabendo que as chances de fraudes e interrupções dos serviços são minimizadas.

O DevOps é um termo que combina os conceitos de desenvolvimento e operações para o gerenciamento e comunicação entre as equipes para melhorar a produtividade, aumentar a segurança, aumentar a disponibilidade dos serviços e reduzir custos operacionais. Pode-se explicar o DevOps como um subproduto do desenvolvimento ágil. Outro aspecto do DevOps é o fenômeno em que profissionais qualificados automatizam processos manuais, onde os desenvolvedores se tornam usuários do seu próprio software, onde o trabalho manual relacionado com a infraestrutura se torna desnecessário. Novas tecnologias, como a computação em nuvem, expandem as possibilidades do DevOps.

Para reduzir o custo de um projeto temos que eliminar ao máximo o número de profissionais altamente qualificados. Esses especialistas devem se concentrar na concepção do projeto e no desenvolvimento de módulos críticos do software. As funções de infraestrutura, principalmente, em ambientes de Cloud Computing podem ser automatizadas, evitando erros humanos e reduzindo os custos.

Usando os conceitos do CMMI – Capability Mature Model Integration – para melhorar a produtividade e, consequente, redução de custos de desenvolvimento, temos que identificar todas as tarefas que são repetitivas, medi-las, padroniza-las e reutiliza-las em todos os processos. Isso vale para os processos de operação que são, normalmente, orientados pela ITIL ou ISO 20.000.

O DevOps é uma forma ágil, automatizada e formal para a necessidade de negócios das startups. Não perca a oportunidade de considerar o DevOps logo no início, quanto mais cedo melhores serão os resultados.