Organizações Exponenciais – Resumo do livro

Neste resumo do livro Organizações Exponenciais – autores Salim Ismail/Michael Shawn Malone/Yuri Van – compartilho alguns aspectos importantes do estudo e como a tecnologia acelerada está mudando as organizações.

“Uma Organização Exponencial (ExO) é aquela cujo impacto (ou resultado) é desproporcionalmente grande – pelo menos dez vezes maior – comparado aos seus pares, devido ao uso de novas técnicas organizacionais que alavancam as tecnologias aceleradas”

exemplos-exponenciais

A habilitação da empresa para informação, entrelaçado com o ritmo da inovação acelera ainda mais o crescimento, até que as mudanças passam a ser exponenciais. Este crescimento exponencial e a relação preço/desempenho dobra a cada um ou dois anos.

O caso do Instagram por exemplo, com a mudança para a fotografia digital e a redução do custo marginal em tirar uma foto, que com o desenvolvimento linear da tecnologia, não apenas diminuiu o custo, mas caiu para zero.

Características principais das Organizações Exponenciais

O Propósito Transformador Massivo (PTM) é composta de 10 atributos, sendo 5 de ordem interna (SCALE) e 5 externos (IDEAS). E citando empresas como TED, Google e X Prize Foundation, organizações exponenciais que, quase por definição pensam grande, pois o contrário certamente não fará a empresa alcançar um rápido crescimento, devido ao modelo de negócio ser rapidamente superado e a empresa ficaria sem rumo.

PTM-exponenciais

 Características Externas: SCALE

  • Staff on demand: equipe sob demanda é essencial para a velocidade, funcionalidade e flexibilidade.
  • Community & Crowd: comunidade e multidão que são entusiastas apaixonados e contribuem com tempo e experiência
  • Algorithms: algoritmos que impulsiona a marca ou a empresa na web
  • Leveraged assets: ativos alavancados, como no caso da Apple que alavanca as fábricas e linhas de montagem da Foxconn
  • Engagement: engajamento com prêmios de incentivos, oportunidades, feedbacks, jogos e sistemas digitais de reputação. A Gamificação para capacitar as pessoas.

Lida com criatividade, incerteza e crescimento: integrando pessoas, comunidades, desenvolvendo algoritmos, uso de ativos e engajamento de pessoas.


Características Internas: IDEAS

  • Interfaces: filtragens e comparações, realizadas por algoritmos, que roteiam o output SCALE para as pessoas certas no momento certo. Ex.: UBER com a seleção de motoristas
  • Dashboards: acompanhamento das métricas das organizações com KPIs, OKRs, etc.
  • Experimentação: como em Lean Startup, a constante validação para reduzir os riscos
  • Autonomia: equipes auto organizáveis e multidisciplinares
  • Sociais: criam iterações horizontais em empresas verticalmente organizadas. Ex.: Yammer. A tecnologia social vem para reduzir a distância entre a obtenção da informação e a tomada de decisões, além de alavancar a formação de ideias. E a equação para o negócio social (Theo Priestley): Conexão + Engajamento + Confiança + Transparência

Lida com ordem, controle e estabilidade: ferramentas chaves do negócio, dashboards, processos de experimentação e estrutura e tecnologias sociais.


Organização Linear x Exponenciais
linear-exponencial


Implicações das Organizações Exponenciais

  1. A informação acelera tudo
  2. A corrida para a desmonetização
  3. A disrupção é a nova arma
  4. Cuidado com o especialista
  5. Morte ao plano quinzenal
  6. O menor vence o maior
  7. Alugue, não possua
  8. A confiança vence o controle e o aberto vence o fechado
  9. Tudo é mensurável e qualquer coisa é reconhecível

 

Arquitetura de Microserviços (Microservices) e Monolítica

Contexto: apresentar a arquitetura de Microservices para discutir a aplicabilidade, recursos e benefícios de uso no desenvolvimento de aplicações.


Microserviço

O desenvolvimento de Microserviços (Microservice) é um padrão de design para construir um aplicativo único de pequenos serviços, com o propósito de realizar deploys independentes e facilitar a gestão de múltiplos serviços.

Desta forma, cada serviço pode executar o seu próprio processo, realizando comunicações leves, por exemplo API com recursos HTTP. A ideia é descentralizar o gerenciamento dos serviços, podendo utilizar diferentes linguagens e tecnologias.

Entre as principais características das arquiteturas de microserviços:

  • Podem ser escritos em várias linguagens e estruturas
  • Trabalha com deploys individuais e múltiplos serviços simultâneos
  • Possuem implementações independentes
  • Baixo ou nenhum acoplamento
  • São descentralizadas
  • URLs (nomes exclusivos) para determinar seus locais
  • Desenvolvidas e lançadas com processos automatizados

Quando há diversos serviços, é necessário gerenciar a dependência entre eles e das instâncias de aplicações. Também devemos ressaltar a estratégia de comunicação entre os serviços como REST ou serviços mensageiros (RabbitMQ e ActiveMQ).


Aplicações Monolíticas

Já as aplicações monolíticas, surgiram no contexto de executável lógico único -executadas em único processo, por exemplo as organizações que trabalham com três camadas – servidor UI | Aplicativo | Banco de dados, e centralizam as solicitações HTTP e lógica do domínio no Aplicativo do lado do servidor. Qualquer mudança neste caso envolve o deploy de uma nova versão do Aplicativo no servidor. A escala neste modelo é horizontal, executando instâncias atrás de um balanceador de carga.

Comparação Microserviço Aplicações Monolíticas

microservicesImagem: martinfowler.com/articles/microservices.html

  • O aplicativo monolítico possui funcionalidades específicas ao domínio; comumente trabalham no modelo de camadas e o dimensionamento é feito clonando em vários servidores/máquinas virtuais/contêineres.
  • O aplicativo de microserviço separa as features em serviços menores separados e independentes, criando instâncias desses serviços entre servidores/máquinas virtuais/contêineres.

O ponto a considerar em trabalhar com aplicativos monolíticos é na realização dos deploys na nuvem, onde uma pequena alteração requer forte modificação no monolito e que o deploy seja refeito. Em microserviços temos a suite de serviços com deploy independente e escaláveis.

Por fim, o gráfico abaixo (da Opus Software) demonstra que a adoção de microserviços impacta a produtividade dos times envolvidos:

  • Em projetos de baixa complexidade: a produtividade é impactada negativamente
  • Em projetos de alta complexidade: a produtividade tende a aumentar

microservicos-produtividade
Imagem: https://www.opus-software.com.br/microservicos-diferenca-arquietura-monoliticas/

 

 

 

 

Mindmap (Mapa Mental) DevOps – principais tecnologias

Olá!

Neste POST vamos apresentar o Mindmap DevOps com as três principais tecnologias ou conceitos de cada área de trabalho. O Mapa Mental auxilia a compreensão das frentes em que a organização precisa estruturar ou simplesmente adequar para adotar as práticas DevOps.

Para quem está iniciando a trajetória neste universo, sugiro uma leitura dos tópicos sobre ALM / DevOps e entender como tudo isso se encaixa.

Mindmap-devops

Medição do Valor Agregado – Gerenciamento de Projetos

O gerenciamento do valor agregado (Earned Value) consiste em medir o desempenho e o progresso do projeto, comparando os custos (planejado x real). No PMBOK é relacionada a medição também com às linhas de base do escopo, do cronograma e de custos.

Com o VA podemos monitorar se o projeto está adiantado ou atrasado, acima ou abaixo do orçamento, e o custo provável do projeto. Em geral, utiliza-se a “Curva S” para comparar graficamente o planejado com o realizado.


PV – Planned Value
O PV é o valor estimado do trabalho planejado a realizar até uma certa data. Por exemplo, um projeto com orçamento de R$ 200 mil e prazo de 12 meses, o PV no mês 6 será de R$ 100 mil, pois representará 50% do trabalho do projeto.

EV – Earned Value
O EV é o valor planejado do trabalho realmente completado até uma certa data. Por exemplo, um projeto com orçamento de R$ 200 mil e trabalho completado até uma certa data representa 30% do projeto, o EV será de R$ 60 mil.

AC- Actual Cost
O AC representa o custo real incorrido para o trabalho realmente completado. Por exemplo, um projeto com orçamento de R$ 200 mil e gasto real até uma certa data foi de R$ 50 mil, o AC do projeto é de R$ 50 mil.

BAC – Budget at Completion
Orçamento total do projeto.

valor-agregado

CV – Cost Variance
O CV é a variação do orçamento planejado, considerando a diferença entre o valor agregado (earned value) e o custo real (actual cost). O valor positivo indica um bom desempenho.

CV = EV – AC

Schedule Variance – SV
O SV é a variação do prazo planejado, considerando a diferença entre o valor agregado (earned value) e o valor planejado (planned value). O valor positivo indica que a entrega do valor é antecipado.

SV = EV – PV

CPI – Cost Performance Index
O CPI é o Índice de Desempenho de Custo e verifica se os recursos estão sendo usados com eficiência. Considera a razão entre o valor agregado (earned value) e o custo real (actual cost). O CPI maior ou igual a 1 indica bom desempenho.

CPI = EV / AC

SPI – Schedule Performance Index
O SPI é o Índice de Desempenho de Prazos e verifica se o avanço no cronograma está acontecendo com eficiência. Considera a razão entre o valor agregado (earned value) e o valor planejado (planned value). O SPI maior ou igual a 1 indica bom desempenho.

SPI = EV / PV

 

Índices de Desempenho

  • CPI < 1 ⇒ Projeto está com custo maior que o previsto no orçamento.
  • CPI > 1 ⇒ Projeto está com custo menor que o previsto no orçamento.
  • CPI = 1 ⇒ Projeto está com os custos iguais aos previstos no orçamento.
  • SPI < 1 ⇒ Projeto está com o cronograma atrasado em relação ao previsto.
  • SPI > 1 ⇒ Projeto está com o cronograma adiantado em relação ao previsto.
  • SPI = 1 ⇒ Projeto está com o cronograma em dia em relação ao previsto.

 

Exemplo
Em um projeto de construção civil, considerando que:

  • PV (Planned Value): R$ 25 mil
  • AC (Actual Cost): R$ 35 mil
  • EV (Earned Value): R$ 30 mil

CV = Cost Variance = EV – AC = 30.000,00 – 35.000,00 = – 5.000,00
SV = Schedule Variance = EV – PV = 30.000,00 – 25.000,00 = 5.000,00

CPI = Cost Performance Index = EV / AC = 30.000,00 / 35.000,00 = 0,857
SPI = Schedule performance Index = EV / PV = 30.000,00 / 25.000,00 = 1,20

Chegamos a conclusão de que o projeto gastou mais que o planejado, pois tem o CV negativo. Em relação ao cronograma, está adiantado, devido ao SV positivo. E então o desempenho de custos CPI está ruim (CPI < 1), porém o de cronograma SPI está bom (SPI > 1).

 

 

Gestão de projetos tradicional – estimativa de recursos e tempo das atividades

Propósito: apresentar conceitos e técnicas para estimar os recursos e a duração das atividades em gerenciamento de projetos tradicional

1. Projetos (aplicável em diversos contextos)

Quando trabalhamos com gestão de projetos nas empresas, estamos lidando com recursos finitos, ou seja, as restrições em projetos – tempo, custo, escopo, qualidade e recursos – permeiam durante todas as fases do projeto.
restricao-tripla-ampliada

Na fase inicial do projeto, as estimativas são indicadores decisivos de viabilidade do projeto. O Business Case apresenta uma visão de custo e prazo para execução do projeto, além do retorno econômico. Mesmo em fases posteriores de planejamento, execução, monitoramento e controle do projeto, as estimativas são revisadas o tempo todo para atualizar a visão do projeto e mitigação dos riscos.

As informações históricas são bem vindas para aprimorar as estimativas. Também é recomendável que a estimativa seja feita pela própria pessoa executora da tarefa para melhorar a exatidão. Em gestão tradicional de projetos, as estimativas podem se basear na EAP (Estrutura Analítica do Projeto) que possui a decomposição dos pacotes de trabalho.

Principais técnicas de estimativas

  • Estimativas análogas (top-down): utilizam informações históricas e de especialistas e históricas para estimar o projeto. Podem ser feitas para um projeto ou por atividade.
  • Estimativa única: baseia-se em uma única estimativa por atividade. A estimativa deve ser feita pelo executor, por um especialista ou informações históricas. Em equipes de baixa maturidade, o Gerente do Projeto tem a função de impedir aumentos arbitrários.
  • Estimativas paramétricas: calculam as projeções utilizando registros históricos (projetos anteriores) e outras informações, podendo ser por:
    • Análise de Regressão (diagrama de dispersão): rastreia duas variáveis e verifica se estão relacionadas, criando uma fórmula matemática para uso em estimativas paramétricas futuras.
      analise-regressao
    • Curva de Aprendizado: aumento da eficiência com o aprendizado.
  • Heurística: processo cognitivo não racional para facilitar a resolução de problemas, por exemplo, a regra da qualidade 80/20. Sugere que 80% dos problemas são provocados por 20% das possíveis causas de problemas.
  • Estimativa de três pontos (PERT): medir os desvios em relação ao plano para realinhar a execução do projeto ao plano. Indica o grau de incerteza da estimativa.

 

2. Projetos de TI (aplicável em estimativas de software)

No contexto de gestão tradicional de desenvolvimento de sistemas, podemos destacar algumas técnicas de estimativas:

  • APF (Análise de Pontos de Função): procura medir o que o software faz, e não como ele foi construído. Explicarei mais detalhes abaixo.
  • COCOMO (Constructive Cost Model): prevê o número de programadores/mês e o tempo de desenvolvimento, utilizando medidas de linhas de código ou Pontos de Função. Esta técnica supõe que não haverá alterações consideráveis nas especificações de requisitos do sistema.
  • Linhas de Código (LOC)
  • Métricas de Hasltead: quantifica os vocábulos e a extensão do algoritmo do estudo com análise e quantificação de operandos e operadores.
  • Puttnam’s Slim Model: relaciona nº de linhas de código ao tempo e esforço de desenvolvimento. A desvantagem é a sua vinculação à linguagem usada.
  • Delphi: consulta de especialistas de determinada área para fazer estimativas empíricas.
  • PSP (Personal Software Process): criada com a função de capacitar e otimizar o processo individual de trabalho.
  • PCU (Pontos por Caso de Uso): adaptação do PF para medir o tamanho de projetos de software orientados a objeto.

 

Análise de Pontos de Função – APF
A Análise de Pontos de Função (APF) permite criar métricas para medir o prazo, o esforço e o custo do desenvolvimento de um software. Para isso, envolve sete etapas:

  • Etapa 1 e 2: abordam os tipos de contagem e o escopo da aplicação.
  • Etapa 3 a 6: contagem de requisitos funcionais e não funcionais.
  • Etapa 7: cálculo final em Pontos de Função da aplicação.

APF

 

As classificações dos tipos de funções são funções de dado (ALI e AIE) e funções de transação (EE, SE e CE):

  • Arquivo Lógico Interno (ALI): grupo lógico de dados mantidos na fronteira da aplicação, por exemplo, os arquivos de configuração.
  • Arquivo de Interface Externa (AIE): grupo lógico de dados mantidos na fronteira de outra aplicação, referenciado pela aplicação que está sendo contada.
  • Entrada Externa (EE): processo elementar que processa os dados vindos de fora da fronteira da aplicação. Ex.: incluir, gravar, excluir, alterar, etc.
  • Consulta Externa (CE): processo elementar que envia dados para fora da fronteira da aplicação. Ex.: relatórios ou consultas que não contenham cálculos.
  • Saída Externa (SE): semelhante a CE, mas com algum cálculo adicional. Ex.: informações em formato gráfico e relatórios com totalização de valores.

APF

APF-detalhado

 

E na prática, a APF utiliza a tabela abaixo como fator de ajuste para realizar as estimativas.

contagem-APF

Exemplos
1)
Após a APF da aplicação, considerou-se que ela possui 3 ALI’s complexos, 3 AIE’s simples, 5 EE’s médias, 7 SE’s médias e 8 CE’s complexas. Ou seja:

ALI’s = 3×15 = 45
AIE’s = 3×5 = 15
EE’s = 5×4 = 20
SE’s = 7×5 = 35
CE’s = 8×6 = 48

Sendo assim, a soma de todos os valores representa o total de 163 pontos brutos.

 

2) Em um projeto de desenvolvimento de novas features de sistema baseada em PF, consideramos os seguintes dados:

  • Fator de ajuste da complexidade: 1,17
  • Total de pontos de função: 320
  • Produtividade organizacional média: 6,5 PF/pessoas mês
  • Valor bruto salarial: R$ 8.000,00 / mês

E então calculamos o custo por PF, aplicando uma simples regra de três:

6,5 PF – R$ 8.000
1 PF – x

x = R$ 1.230

Ou seja, o custo por PF é de R$ 1.230.

 

Referências

  • PMBOK 4ª, 5ª e 6ª edição

Data Mining (Mineração de dados) utilizando Weka

O Weka (Waikato Enviroment for Knowledge Analysis) é um software livre utilizado neste Post para aplicar técnicas de mineração de dados. A ferramenta Weka dispõe de algoritmos de Data Mining, tais como:

  • Classificação: Árvore de decisão, Naive Bayes, entre outras
  • Predição numérica: Regressão linear, perceptron multicamadas e outras
  • Agrupamento: SimpleKMeans, DBScan e outras
  • Associação: Apriori, FPGrowth e outras

O Data Mining está inserido no processo de KDD (Knowledge Discovery in Databases), que segundo Fayyad et al. (1996), trata-se de um processo não trivial de identificação de padrões, que tem por objetivo a descoberta de conhecimento em banco de dados, a fim de extrair informações implícitas e potencialmente úteis.

Alguns conceitos como KDD e as tarefas da Mineração de Dados são imprescindíveis para a compreensão e aplicabilidade dos recursos em seu ambiente. Na minha Dissertação do Mestrado explico em detalhes o conteúdo teórico.

A opção Explorer (tela inicial do Weka) é a principal interface para Data Mining:

weka.png

O Weka utiliza o formato ARFF e marcações como @relation, @attribute (tipo e valores) e @data (instância dos dados). As guias PreprocessClassify, Cluster Associate serão utilizadas nos exemplos deste post.

weka-tela-inicial


Regressão Linear
“A Regressão Linear é uma equação para se estimar a condicional (valor esperado) de uma variável y, dados os valores de algumas outras variáveis x”. No primeiro exemplo, utilizamos a classe weka.classifiers.LinearRegression para descobrir o custo de indisponibilidade na empresa, ocasionadas por falhas em sistemas.

weka-linear-regression

Como a equação só trabalha com valores numéricos, alguns valores foram convertidos para utilização do algoritmo. O coeficiente indica os atributos com maior peso na equação.

Classificação
O algoritmo J48 trabalha com modelos de decisão em árvore, construídas de forma hierárquica, selecionando o atributo mais apropriado para cada situação. Neste exemplo, o algoritmo trabalhou com treinamento de 70% do conjunto e 30% para testes. No final é apresentada a classificação das instâncias, utilizando o índice kappa – medida de qualidade do modelo – e apresentou 0,834 de concordância, o que indica poucas amostras classificadas erroneamente.

weka-j48

Também pode ser utilizada a opção Visualize Tree para a representação da classificação em árvore de decisão.

 

Associação
Por fim, a regra de associação é um padrão da forma X → Y (X implica em Y), em que X e Y são conjuntos disjuntos de valores (X ∩ Y ≠ φ). A força da regra pode ser medida em (TAN et al., 2009):

  • Suporte: determina a frequência da aplicação de uma regra a um determinado conjunto de dados

weka-suporte

  • Confiança: determina a frequência que os itens Y aparecem nas transações que contenham X.

weka-confianca

algoritmo Apriori (de classificação) é utilizado para descobrir relacionamentos no conjunto de dados. É necessário configurar um suporte e confiança mínima nos parâmetros do Weka – parâmetros lowerBoundMinSupport (suporte mínimo) e minMetric (confiança mínima). O resultado será as regras de associação com maior confiança, como apontado no exemplo abaixo, baseado nos atributos configurados.

  Regra de associação Confiança
1 Tipo=0 Parada=0 3052 ==> Contorno=0 3017 conf:(0.99)
2 Tipo=1 Contorno=0 3165 ==> Parada=0 3103 conf:(0.98)
3 Reincidente=1 3907 ==> Parada=0 Contorno=0 3733 conf:(0.96)
4 Tipo=1 Parada=0 4324 ==> Duracao_menor_8h=1 3921 conf:(0.91)
5 Reincidente=0 3610 ==> Duracao_menor_8h=1 Parada=0 3016 conf:(0.84)
6 Duracao_menor_8h=1 Parada=0 4252 ==> Reincidente=0 3016 conf:(0.71)

 

BSC Balanced Scorecard na prática

O Balanced Scorecard (Painel de Desempenho Balanceado) é um modelo de gestão que auxilia as organizações a traduzir a estratégia em ações operacionais que direcionam o comportamento e o desempenho.

  • Traduz a visão e a estratégia da organização em um contexto abrangente de medidas de desempenho
  • Os indicadores financeiros se mostravam incapazes de refletir as atividades criadoras de valor relacionadas com os ativos intangíveis da organização
  • A estratégia deve balancear os objetivos financeiros, dos clientes, da sociedade, das áreas da empresa e dos colaboradores

 

Relação entre Gestão Estratégica e Balanced Scorecard

GExBSC


As 4 perspectivas do BSC

  • Financeiro: recursos financeiros para atender aos clientes e satisfazer os acionistas
  • Cliente: percepção de valor do cliente e a imagem que eles têm da empresa. Quais necessidades devemos atender
  • Processos internos: processos que devemos ter excelência para satisfazer os clientes
  • Aprendizado e crescimento: a organização deve aprender e inovar para atingir metas. Devemos capacitar os colaboradores ou contratar novos skills

 

Na prática…
E como aplicar o BSC na sua organização? Vou compartilhar um Case de uma Startup própria e como utilizamos o BSC como ferramenta de gestão para traduzir a visão e as estratégias da empresa num conjunto coerente de medidas de desempenho.

O Portal TodaBusca é uma plataforma de comparação de preços entre imóveis, carros, serviços, etc. com atuação na Baixada Santista. Será aplicado a metodologia do BSC para apoiar a definição de uma nova estratégia ao negócio

Visão: Ser reconhecida como empresa inovadora e o melhor portal de comparação de preços da Baixada Santista.

Missão: Oferecer uma boa experiência aos usuários, comparando anúncios com facilidade e assertividade

Em seguida criamos a Matriz SWOT para apoiar a elaboração do BSC, já que identificamos as forças/fraquezas/oportunidades/ameaças da empresa e assim direcionamos a estratégia com os principais indicadores.

matriz-swot

 

Balanced Scorecard
E a elaboração do BSC sob as quatro pespectivas (Financeira, Cliente, Processos Internos e Aprendizado) para atingir a visão da empresa.

É mandatório que a empresa já tenha definido a estratégia, que será desmembrada em objetivos. E cada objetivo é desmembrado em indicadores, que será transformado em metas. Para cada meta existe um plano de ação.

A recomendação de mercado é utilizar de 4 a 5 objetivos por perspectiva. E cada objetivo deve ter de 1 a 2 metas. Ou seja, no total deve trabalhar com 16 a 20 objetivos.

BSC – Objetivos Imapa-estrategico-I

BSC – Objetivos II
mapa-estrategico-II

BSC – Objetivos III
mapa-estrategico-III

BSC – Objetivos IV
mapa-estrategico-IV

 

Mapa Estratégico
Por fim, a construção do Mapa Estratégico para visualizar os diferentes itens do BSC da organização, conectando os resultados almejados com os respectivos impulsores

mapa-estrategico

 

É isso! A dica final é envolver as pessoas que conhecem do ambiente de negócio para gerarem inputs valiosos durante a elaboração do BSC e Mapa Estratégico. O PDCA pode apoiar o time no acompanhamento e planejamento das ações que devem ser realizadas para garantir o cumprimento da visão.