Analisando Processos de Desenvolvimento de Software sob Perspectiva Econômica

Como consultor, tenho a oportunidade de ajudar desenvolvedores, arquitetos e executivos a desenvolver soluções em TI que atendam os objetivos do negócio. Mas quais seriam os “objetivos do negócio”?

Em algumas empresas, ouço que objetivo do negócio é reduzir o time-to-market. Em outras, reduzir desperdícios (retrabalho, etc.). Para alguns executivos, a ideia é melhorar a qualidade (ou reduzir os custos de má qualidade). Há, também, um bocado de gente falando, simplesmente, em melhorar a eficiência. Entretanto, esses “objetivos” são apenas “expressões de dor”.

De forma definitiva, o objetivo do negócio é sempre aumentar os lucros ou proteger o lucro! (assumindo empresas com fins lucrativos, obviamente). As “dores” que relacionei no parágrafo anterior podem impactar os lucros (geralmente impactam). Entretanto, é fundamental que não se perca de vista que toda ação implica em algum tipo de trade-off.

While you may ignore economics, it won’t ignore you. (Donald Reinerstsen)

O excelente livro “The Principles of Product Development Flow” de Donald Reinerstsen (leitura recomendada pelo Rodrigo Yoshima) indica uma excelente abstração que podemos usar como ponto de partida para analisar os impactos da resolução de uma dor sob a perspectiva econômica.

A ideia chave é perceber que uma decisão visando otimizar um fator acaba impactando nos demais e sugere uma reflexão mais aprofundada.

O livro ainda sugere vários princípios que devemos observar. Aqui compartilho três desses princípios:

  1. As ações devem ser selecionadas com base no impacto econômico total. A adição de valor no produto (features que o cliente está disposto a pagar para ter) devem ser superiores aos custos inerentes (Lembrando que: features que não geram valor, só aumentam o custo). Investimentos em Desenvolvimento para reduzir o Cycle Time acabam impactando também nos Custos do Produto. O Custo do Capital associado ao risco impacta no montante do resultado marginal (valor adicionado – custos) mínimo, etc..
  2. As variáveis estão interconectadas. Não dá para tomar uma ação que impacte em uma variável sem que outras sejam impactadas (aqui está o nosso tradeoff).
  3. A medida mais importante é o “Custo do Atraso”. Qual o impacto financeiro em atrasar a implementação de uma feature? Tarefas com maior custo de atraso são, naturalmente, prioritárias (repare que o esforço tem pouca relação com esta variável #ficadica).

Há bem mais princípios no livro. Mas, acho que estes três já são uma excelente base para pensar as prioridades e a organização de nossos processos de desenvolvimento.

Nesta série, vou falar sobre aspectos estratégicos de negócios de TI. Este foi o primeiro post. Até mais.

Compartilhe este insight:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Há alguns anos, Alistair Cockburn propôs um padrão bem interessante. Citando suas palavras, a ideia central é: Permitir que a interação com uma aplicação seja idência...
This is the first of a series of blog posts sharing some knowledge about how to develop a real-world software...
Publicado originalmente no meu blog em 2011 (infelizmente, este conteúdo não está mais disponível). Também publiquei no Linkedin. A publicação...
Inspecting the code repository of a client, I found something like this: var customer = new { Id = default(int),...
This one comes from Ayende’s book about RavenDB. If you want to learn RavenDB basics, I would recommend you to...
If you ask me one tip to improve the performance of your applications, it would be: Design your objects to...