Design Thinking, 4 mindsets para desenhar sua arquitetura

O design thinking se popularizou nos últimos anos principalmente sendo aplicado ao design de produtos. No contexto de software, ele se aplica à arquitetura, bem como ao desenho detalhado, à interação com o usuário ou a qualquer outra disciplina focada em design.

Design thinking é menos um processo e mais uma maneira de pensar sobre problemas e soluções do ponto de vista das pessoas afetadas por eles.

Michael Keeling

Segundo Michael Keeling em seu livro Design it!, um mindset de design é uma maneira de pensar sobre o mundo para que possamos focar nossa atenção nos detalhes corretos no momento certo.

Existem quatro mindsets de design que suportam o trabalho de design de arquiteturas de software:

  • Entender
  • Explorar
  • Fazer e
  • Avaliar.

Para desenhar sua arquitetura, você escolhe um dos quatro mindsets, escolhe uma prática relativa a esse mindset, aplica a prática para aprender algo novo sobre a arquitetura e vai repetindo como um ciclo na ordem que fizer mais sentido para você.

 

 

Agilidade em empresas dinossauro

Esse post é um resumo do que foi discutido no Openspace sobre Agilidade em empresas dinossauro proposto por Daniel Teixeira no primeiro dia do Agile Brazil 2016.

A sala estava lotada e a participação foi bastante ativa. Participaram pessoas de diversas empresas privadas e também do governo, com desafios comums ligados principalmente a cultura dentro das empresas “dinossauro”.

O grupo entendeu que “empresas dinossauro” não necessariamente são empresas de muito tempo de existência , mas sim empresas com uma cultura “dinossaurica”!!

Tentei organizar as minhas anotações e sintetizar o conhecimento que emergiu. Me perdoem se algo não fizer muito sentido. No momento que anotei o sentido era evidente!! 🙂

daniel

Cultura

  1. Coloque o Sponsor no taxi. Colocar o sponsor ciente das mudanças, explicar como funciona o Agile e os ganhos atingidos. “A agilidade não pode ser imposta e sim aderida.”
  2. Promova o intercâmbio entre pessoas do business e da TI. Como convencer o business? Coloque pessoas do business na TI e vice-versa. Isso pode quebrar a resistência das pessoas.
  3. Cole na onda de inovação. Nao estimule a TI Bimodal, use a seu favor como porta de entrada. A onda da inovacao deve permear toda a empresa.
  4. Quebre o apego ao passado com pilotos que entreguem valor. Não tente abraçar o mundo de uma vez só, faça pilotos em projetos e venda a idéia. Vender a ideia de cima pra baixo ou debaixo pra cima? “Agile, cabeça que se abre e nunca mais se fecha.” Use cases de empresas confiáveis como exemplo para vender a idéia.
  5. Contrate de forma ágil. Piratas fazendo ágil sem o cliente saber, mostrando benefícios e resultado.
  6. Quebre a resistência com DevOps. Use DevOps para quebrar a resistência. Suba as demandas sem o cliente saber e depois explique os ganhos e resultados. Use DevOps para quebrar a resistência da infra e adotar a cultura de infraestrutura ágil.
  7. Capacitação pela porta da frente. Promova a capacitação agile via PMO.
  8. Colaboração. Desenhe o processo ágil em conjunto.

Processos rígidos

  1. Use o MPSbr e o BPM ao seu favor. Identifique como ser mais ágil em cada processo, utilizando idéias do Agile para otimizar.
  2. Foque no ROI. Como mostrar dados para o cliente? Planeje e determine o custo no início e mostre os ganhos no final do projeto. O Bimodal pode ser porta de entrada para o agile quando há uma necessidade do controle devido a processos muito rígidos.
  3. Foque na melhoria de processos. Veja o que se tem de problemas no processo hoje e como a agilidade poderia resolver.
  4. Leve agile para a área de produto e não apenas na TI. o Agile (MVP, Sprints, Retros, etc) Mostrar a melhoria de cada projeto, usar o MVP, mostrar valor mais cedo.
  5. Colaboração. Crie processos ágeis em conjunto para quebrar a resistência. Esteja pronto para lidar com a resistência das pessoas. Promova a colaboração. Exemplos de resistência extrema: Cliente grita ao ouvir a palavra ágil; A área de qualidade não quer receber coisas antes; Contratação barras por compras e fornecedor perdeu o projeto.

Ansiedade

  1. Mudanças geram ansiedade e isso não é exclusividade do agile. Procure criar uma cultura de aceitação das mudanças. Falsa noção de controle do prazo fixo, custo fixo, time fixo, arquitetura fixa, quando chega próximo é que se vê que não vai conseguir gera ansiedade. Cultura de aceitar a mudanca combate isso.
  2. Capacitar o sponsor combate ansiedade. Cuidado com a falta de sponsor. O que é importante para o sponsor? Ele entendeu o conceito da agilidade? Você sabe e comunica porque mudar? Capacitar sponsor combate isso.
  3. Definicao de Budget gera ansiedade. No geral a direção acha que ágil é entregar rápido. Metáfora: “Vc pode pular do penhasco mas tem de cheguar rápido no chão com vida”. Livro “Scrum dobro em metade do tempo” explica os porquês. Promova leitura e grupos de estudo. Mudar para entregar o que as startups entregam.

Como tratar o legado?

  1. Novos sistemas demandam alterações no legado. Livro: trabalhando com código legado.
  2. DevOps ajuda a tratar o legado. Código legado é o que vc tem medo de alterar. Não tem documentação geralmente. Rastreabilidade não abrange tudo. Para atacar esse problema: Cobrir com testes , práticas DevOps, deploy canary, testes de integração ao alterar uma rotina.

Perfis juniores vs seniores

  1. Maturidade agile leva um certo tempo. Depois de 6 sprints o negócio melhora mas o projeto acaba.
  2. Problema de estimativas divergentes e imaturas acontece no início da adoção/transformação ágil. A média de maturidade do time tem de ser alta no Agile. Calibração das estimativas demora um pouco mesmo pela característica empírica do Agile.
  3. “Senioridade do júnior vs a junioridade do senior” Simplicidade nas soluções. Não fazer coisas mirabolantes.

Engajamento:

  1. Criação de um modelo de bootcamp ajuda o engajamento. “Escolhe em qual projeto vc quer trabalhar”. Melhorar capacitação, empoderamento e engajamento.
  2. Da pra fazer engajamento sem empoderamento? Daily, retro, planning , dar espaço para as pessoas falarem e contribuírem dá empoderamento para as pessoas. Algumas pessoas andam na contramão. Foi citada uma experiência de uma advertência por ter um livro específico em cima da mesa. O argumento foi que ele estava fazendo uma doutrinação por baixo dos panos.
  3. Promover uma experiência botton up de implantação de Agile. Agile pode emergir por opcao e iniciativa do time. É importante que a gestão tenha abertura para ajudar a promover as mudanças.
  4. Dar poder para pessoas sem maturidade pode ser tiro no pé. Time imaturo Geralmente fica em entregas técnicas e tem de se focar em entrega de valor. Empoderamento tem de ter experiência. Não adianta só entregar, tem de envolver o business. Faça demos e retros para promover o engajamento do business e tente ter um time dedicado para apagar incêndios com rotatividade do time.

Processo engessado

  1. Aceite os diferentes tipos de motivação. Algumas pessoas não puxam a mudança , não são pro ativas para promover mudancas, são boas em executar e executam bem. Tem de ser trabalhado de outra forma. Moving motivators do Management 3.0 identifica o que motiva aquela pessoa.

Falsa noção de controle

  1. “Status melancia: verde por fora e vermelho por dentro”. Métricas de vaidade : tem um número bonito mas sem valor. OKR é uma maneira diferente para pensar em métricas.
  2. “Travestir as coisas com ciência/tecnologia dá uma falsa sensação de controle e segurança.” Adote métricas simples e significativas.
  3. Não tenha medo de errar. Ver o erro como uma coisa boa e não tentar esconder os erros. “Diga como me medes que eu digo como me comportarei”

Ignição

engine_start_stop

Hoje é um dia especial. Estou reiniciando o blog depois de um período sem postar. Deu vontade de escrever sobre algumas coisas, sabe.

O que disparou a ignição?

Bom, algumas coisas que estou estudando e outras que li recentemente. A virada da chave foi que senti falta de um canto para organizar as coisas que estou aprendendo e quero registrar e compartilhar.

Mas você tem tempo?

Não, não tenho. Mas peraí! Não tenho tempo para desperdiçar. Mas o tempo que vai aqui não é tempo perdido.

Que assunto?

Assunto é o que não falta não é!? Então vou me concentrar em coisas que me motivam, como engenharia e arquitetura de software onde tem muita coisa acontecendo. Vou falar de Agile, APIs, DAD e tecnologia também claro.

ENGINE START…