Inovação Digital – Construindo Sistemas e Arquiteturas de Sucesso

Jan Kammerath Blocked Unblock Seguir Seguindo 11 de janeiro

Todos nós conhecemos exemplos de aborrecimentos cotidianos, sistemas de autosserviço desajeitados e sites que simplesmente não parecem corretos. Todos nós navegamos em sites de varejo, viagens, bancos e aplicativos por muito tempo, apenas para descobrir que não poderíamos comprar o produto ou os serviços desejados da maneira que esperávamos. No início do século XXI, foi aceito que algumas tecnologias não eram maduras o suficiente para serem usadas em nossas vidas diárias. Mas hoje? Por que tantas iniciativas e sistemas digitais de tantas organizações simplesmente não têm sucesso, não funcionam da maneira que esperávamos ou se tornariam algum tipo de besta desajeitada?

Cinco pessoas de terno em torno de um computador usado apenas com uma mão.

Há mais de uma década atrás eu estava envolvido em uma discussão sobre inteligência artificial e aprendizado de máquina onde alguém se recusava a aceitar que o computador tomaria decisões de negócios sem que um ser humano fosse capaz de entender cada decisão. Assim, o sistema foi rebaixado para ser um mero conjunto de regras facilmente compreensíveis e rastreáveis do que um sistema de aprendizado de máquina automatizado autônomo. As pessoas estavam relutantes em entregar o processo de tomada de decisão à máquina. Foi nessa época que fiquei curioso por que organizações de todos os tipos parecem lutar com a tecnologia.

Eu gostaria de compartilhar algumas observações que fiz conversando com empresas, seus gerentes, funcionários, engenheiros e clientes sobre por que projetos e serviços digitais para alguns simplesmente não parecem decolar. No entanto, a Amazon, Microsoft, Google, Apple e outros parecem acertar quase o tempo todo. Espero poder delinear alguns desses desafios e talvez também fornecer uma visão de como superá-los.

1. Falta de benefício para o consumidor

Fora do azul durante a reunião de orçamento, o gerente explodiu: “ Nossos clientes precisam de um aplicativo! ”E continuou“ Tudo deve ser eletrônico! " Enquanto alguns se perguntam qual foi a causa dessa súbita interferência nas células cerebrais, outros se afastaram e disseram: “ Precisamos nos tornar uma empresa de tecnologia! ”Ou“ Vamos superar nosso modelo de negócios legado! " Frases que soam muito familiares para muitas e muitas vezes são o início precoce de iniciativas de tecnologia indo na direção errada antes mesmo de começar.

Mas como você começa? É simples e pode ser encontrado on-line no site corporativo da Amazon em sua seção de princípios de liderança unter “ Customer Obsession ”, que, sem surpresa, é o primeiro de seus princípios.

Os líderes começam com o cliente e trabalham de trás para frente . Eles trabalham vigorosamente para ganhar e manter a confiança do cliente. Embora os líderes prestem atenção aos concorrentes, eles são obcecados pelos clientes .

Projetos de tecnologia de sucesso não começam com “Doohickey 4.0”, mas sim com uma análise completa do ciclo de vida ou jornada do cliente. Desde o primeiro contato que um cliente faz com a empresa até o último contato na vida do cliente. Respondendo a pergunta que papel a organização desempenha na vida cotidiana do cliente e que benefício ela proporciona.

Começa por se colocar no lugar do cliente, sendo o cliente, seguindo cada caminho possível que as pessoas específicas do cliente precisam levar com a sua organização. Em seguida, identifique os principais obstáculos e obstáculos. Avalie seu impacto, seu impacto financeiro e seu potencial para melhorar a vida diária de seus clientes. Então, somente então, decida qual tecnologia usar para resolver quais problemas ou remover quais obstáculos.

Nunca começa com a tecnologia em si. A tecnologia não é uma profecia auto-realizável. Sempre começa com o cliente.

Não há necessidade de ser um hipster: é possível construir soluções inovadoras sem nunca deixar a barba crescer.

2. Soluções perfeitas e o problema que falta

É a “ barra de chocolate self-desembalagem ”, o “ jornal impresso personalizado ” ou a “ xícara de café com bluetooth ” – soluções incríveis usando tecnologia, exceto que ninguém realmente precisa delas. Essas soluções foram inventadas porque eram tecnicamente possíveis, não porque resolvessem um problema específico da humanidade usando tecnologia. Com demasiada frequência, surgem novas e excitantes tecnologias e as pessoas começam a procurar problemas que esta tecnologia possa resolver.

Embora geralmente considerada uma prática ruim para encontrar um problema que uma nova tecnologia possa resolver, pode ser útil reavaliar problemas ou soluções existentes quando novas tecnologias aparecerem no horizonte.

No entanto, só deve ser usado se a tecnologia for realmente uma solução perfeita para um problema. Com muita frequência, a tecnologia é usada como uma solução para problemas em que a tecnologia existente e diferente pode ser uma solução significativamente melhor. A tecnologia não é um fim em si mesma, mas pode ser usada como parte de uma solução para resolver um problema. Portanto, projetos bem-sucedidos começam com o problema identificado e não com a tecnologia.

3. Microinventing overhyped

Quando a comunicação como “ agora fornecemos todas as imagens de produtos em alta resolução ” é celebrada como uma inovação, então uma organização se envolveu com sucesso em microinvenções superestimadas. Não me entenda mal: é crucial melhorar e otimizar suas ofertas continuamente, mas é importante focar no quadro geral. Com muita frequência, essas microinvenções, com apenas um pequeno impacto nos clientes, são celebradas como conquistas galácticas.

As microinvenções precisam acontecer, mas precisam acontecer no nível certo. Se, por exemplo, o departamento de contabilidade otimiza sua reserva automatizada de contas a pagar usando técnicas de aprendizado de máquina, então é claro que isso é uma invenção, mas uma microscópica que não prove benefício imediato para o cliente além dos pagamentos pode ser processada um pouco mais rápido. Você ficaria empolgado se sua empresa de eletricidade dissesse que eles automatizaram seus sistemas de contabilidade usando o aprendizado de máquina? Eu duvido.

Aceite as microinvenções e agradeça aos que ajudaram a criá-las, mas não exagere. Não há necessidade de uma microinvenção ser amplamente publicada ou anunciada se não houver maior benefício para o cliente ou para a sociedade. Mantenha o foco no quadro geral e nas grandes invenções com impactos notáveis. Por impactos notáveis quero dizer um benefício direto significativamente positivo para o cliente que pode ser experimentado imediatamente.

4. Reinventando a roda quadrada

Que tal um aplicativo onde você pode facilmente enviar mensagens para todos os seus amigos e familiares. Isso não soa incrível? Sim, funciona e é chamado Facebook, WhatsApp, Hangout, Telegrama ou Sinal. E que tal um serviço com apenas um campo de texto e um botão que permite facilmente encontrar sites e informações na Internet? Emocionante. E isso é chamado Google.

Não estou dizendo que você não deve reinventar coisas, desafiar estruturas, processos e ofertas existentes. Tudo que estou dizendo não é reinventar soluções básicas, comprovadas ou bem aceitas, construídas com perfeição. Você tem que ter argumentos realmente sólidos para poder reinventar a roda com sucesso. Reinventar a roda muitas vezes resulta em inventar um quadrado e quanto mais tempo você trabalha em sua roda quadrada, mais convencido você está dele.

Em vez de reinventar soluções perfeitas, otimize as soluções existentes para criar uma solução melhor ou crie sua solução em cima dessas soluções. Sempre se concentre em solucionar um problema que a solução existente ainda não resolve. Rodas são muitas vezes reinventadas, porque o inventor não tem conhecimento da solução existente. Faça sua pesquisa para descobrir se você está reinventando a roda ou não.

Construir software inovador não é uma festa – são pessoas sentadas em frente a um código de escrita de computador.

5. Centricidade do usuário – "Parece muito programado!"

Você já esteve dentro da sala de controle de uma usina nuclear , dentro de um cockpit de avião ou de um submarino? Eles estão cheios de switches, botões, telas, controles e outras coisas que você pode matar milhares, senão milhões, de pessoas com. Se você, então, olhar para softwares complexos como o software de edição de imagens Photoshop ou o software de renderização 3D Blender, poderá obter uma impressão semelhante.

Todos esses sistemas, desde usinas nucleares até o software de renderização 3D, só podem ser usados por pessoas treinadas e experientes que precisam continuamente treinar e aprender como usar os sistemas. Eles são um pequeno grupo de pessoas capazes de entender completamente o sistema, o modo como ele funciona e como usá-lo. É absolutamente destinado a ser assim. Altamente flexível, altamente configurável e capaz de resolver desafios inesperados que nem os inventores dos sistemas sabiam.

Pelo contrário, se você tiver um olhar mais atento sobre como pedir uma pizza on-line, comprar um livro na Amazon ou criar uma conta no Google, perceberá que é tão simples que até mesmo uma criança de seis anos pode fazê-lo facilmente . Ele é construído para ser usado por absolutamente todos, sem qualquer conhecimento prévio de qualquer coisa. Com a pesquisa por voz do YouTube e grandes miniaturas de visualização de vídeos, nem mesmo a leitura ou a escrita são pré-requisitos para o uso do YouTube. O exato oposto dos sistemas da sala de controle da usina nuclear.

A tendência da tecnologia é definitivamente ser um YouTube e não uma usina de energia. Na verdade, apenas em alguns poucos e raros sistemas ameaçadores da vida e da humanidade você teria que fornecer sistemas tão complexos e seguros. No mundo comercial e na maioria dos outros sistemas, você sempre terá como objetivo ser um YouTube.

Construindo aplicações que não vêm com interfaces de usuário gigantes configuráveis e flexíveis, mas interfaces simples que levam o usuário a aplicar as soluções definidas da forma mais rápida, simples e fácil possível.

Pergunte a si mesmo : Até mesmo o membro mais idiota do meu público-alvo poderá usar minha solução sem nenhum conhecimento prévio, introdução ou treinamento?

Engenheiros de software e arquitetos de sistemas tendem a assumir ou esperar que seus usuários finais tenham o mesmo conhecimento de sistemas de computadores que eles mesmos possuem. Esse comportamento também cresce em qualquer membro do projeto quanto mais tempo eles participam de projetos de tecnologia. Portanto, é vital e essencial ter um conhecimento profundo ou especialistas em Experiência do Usuário e Design de Interface do Usuário em mãos. A melhor solução não vale nada, se o usuário pretendido não puder ou não souber como aplicar a solução – atenda às expectativas do “ Modelo Mental ” do usuário.

6. Tecnologia de desconfiança – mesmo em tecnologia

Não é incomum ouvir coisas como: “ Se migrarmos para a super nuvem, a super nuvem nos controlará, poderá roubar nossos negócios. Nós nos tornamos reféns da super nuvem. Super nuvem é o mal. " Nem todas as pessoas na tecnologia são iguais. Alguns preferem o Linux, outros Windows e muitos outros Mac OSX. Alguns programas no Visual Studio Code, outros usam o Sublime Text, alguns preferem editores de texto simples. Algumas pessoas adoram usar o AWS Cloud, outras preferem usar o Google Cloud e algumas acham que “ não há nuvem, apenas os computadores de outras pessoas ” e consideram a computação em nuvem e os serviços de nuvem como um mal.

Isso significa que, mesmo dentro da indústria de tecnologia ou dos departamentos de tecnologia, há pessoas que temem tecnologia e inovação. Tanto quanto você realmente tem pessoas que trabalham para as companhias aéreas, com medo de voar.

Se você não tem experiência com algo ou não sabe nada sobre isso, então suas percepções começam a surgir. Você começa a imaginar ou perceber coisas sobre uma tecnologia específica que simplesmente não é verdadeira. É importante manter a mente aberta, aprender sobre novas tecnologias e adaptar-se ao cenário tecnológico em constante mudança. Superar esse medo aprendendo e familiarizando-se com a nova tecnologia e inspirando outros a fazê-lo.

Julgue pelos números e não pela sua intuição, pela mídia ou pelo que os outros dizem. Leia a documentação, aprenda sobre tecnologia e descubra se uma tecnologia específica pode ser parte de sua solução.

“Blockchain” é um exemplo extremamente bom. Há um número de casos de uso e aplicativos muito bons para o Blockchain e há ainda mais exemplos ruins de quando não aplicar sistemas de bancos de dados distribuídos baseados em criptografia com segurança e integridade de transações muito altas. Defina os principais argumentos pró e contra para a tecnologia que você quer e aquela que você não quer aplicar e tome uma decisão neutra, imparcial e informada.

Um plano sem execução é pior que uma execução sem um plano. Execute mais do que você planeja.

7. Planejar, planejar, planejar – nunca executar

A reunião terminou com um “ Devemos rever cuidadosamente e avaliar a decisão antes de iniciar o projeto ” e lá vai a execução da máquina de lavar louça. Um bom plano está sempre lá para ser mudado. Na verdade, olhando para métodos como o Processo de Desenvolvimento de Software Unificado ou o Scaled Agile Framework , você notará que a execução é a chave. Na era digital, absolutamente nada é gravado em pedra. O software pode ser atualizado quase instantaneamente. Um bugfix para um site pode ser implantado em segundos, um aplicativo móvel atualizado em minutos. Código do lado do servidor corrigido imediatamente. Com processos de DevOps de última geração, incluindo entrega contínua , o software de patch tornou-se um processo que os usuários finais nem notam mais.

Outros consumidores aceitam uma certa quantidade de imperfeições em produtos de software recém-lançados, desde que tenham a impressão de melhoria contínua e inovação. É por isso que adaptamos métodos ágeis de desenvolvimento de software. A execução é fundamental, mas muitas organizações não têm a força de trabalho capaz de executar.

Pode ser obtido a partir de algumas respostas no Quora que cerca de 25% até 40% dos funcionários do Google, Apple, Facebook e Amazon são engenheiros de software – pessoas tecnicamente capazes de executar projetos de software, escrevendo o código do programa.

Se você definiu a maior solução de todos os tempos para o maior desafio da humanidade, é absolutamente inútil se você não for capaz de executá-la. Na verdade, muitas pessoas com grandes ideias estão por aí. No entanto, uma quantidade muito pequena dessas pessoas é realmente capaz de executar suas idéias. O Facebook é um bom exemplo, já que a ideia poderia ter sido dos irmãos Winklevoss , mas no final foi Mark Zuckerberg quem conseguiu executar a ideia com sucesso.

Construir soluções digitais significa : engenharia de software, engenharia de banco de dados, engenharia de sistemas, experiência do usuário, design de interface de usuário e, por último, mas não menos importante, também marketing digital.

Isso significa que você precisa ter os recursos para criar software, bancos de dados, APIs, sistemas de mensagens, administrar software de servidor, fazer varreduras de segurança e muito mais. A única maneira de descobrir se você ou sua organização são capazes de aplicar a solução é começar a criar o aplicativo imediatamente. Há uma boa razão para metodologias como desenvolvimento e prototipagem deProdutos viáveis mínimos ” – para descobrir se a fundação da aplicação funciona e se você é capaz de construí-la.

As notas coloridas ficam bem, mas não produzem código. Mantenha-se organizado, mas construa mais do que você organiza.

8. O stand-up diário de queda de água-scrum

"Somos uma organização ágil", disse o diretor-gerente, acrescentando que ele mesmo participa da "reunião diária de stand-up". Sua nova super tecnologia, de acordo com o plano do projeto, será concluída e liberada em cerca de seis meses. Se você está ciente dos métodos de desenvolvimento de software e das principais bases dos frameworks ágeis, você perceberá que há um conflito nessa informação.

O Scrum e muitos outros frameworks ágeis modernos e princípios de desenvolvimento de software recomendam altamente liberar mudanças rapidamente após ciclos de desenvolvimento iterativo relativamente curtos, freqüentemente chamados de “Sprints”. Os grandes projetos de doze ou mesmo vinte e quatro meses ou cinco anos que anteriormente causaram falhas proeminentes em projetos de software devem ser evitados a todo custo em favor de processos de desenvolvimento e liberação de iterativos curtos.

No entanto, a agilidade para muitas organizações é representada por reuniões diárias de stand up e coloridas placas Kanban, enquanto a gerência sênior espera que o projeto atenda a prazos apertados. Isso é freqüentemente chamado de “ Water-Scrum-Fall ”, parte do modelo de desenvolvimento em cascata datado, nunca recomendado, e parte do modelo Scrum. Esses métodos de desenvolvimento de Frankenstein mutantes infelizmente se tornaram o padrão para muitas organizações.

Tornar as partes interessadas conscientes do método de gerenciamento de projetos, o modelo de desenvolvimento de software e suas fundações é fundamental para evitar frustrações com projetos digitais. Há flexibilidade em muitos frameworks ágeis e métodos ou modelos de desenvolvimento de software. No entanto, sua flexibilidade tem limites e quebrar regras básicas desses métodos não apenas o levará a um modelo de Frankenstein, mas acabará por colocar qualquer projeto em apuros. Aprenda o método que você pretende aplicar, entenda e aplique corretamente. Certifique-se de que as partes interessadas compreendam a maneira como o seu projeto está organizado e as faça aceitá-lo. Com todas as suas vantagens e, mais importante, suas desvantagens.

9. Os argumentos todo-poderosos contra ele

Vocês todos ouviram “isso nunca vai funcionar”, “nossos sistemas não podem lidar com isso” ou “essa mudança é um risco para nossa infraestrutura”. Meu argumento favorito, porém, é que “isso é tecnicamente impossível”. Impossível é impossível em um mundo, basta levar tempo, pessoas e dinheiro para completar alguma coisa.

Na tecnologia, parece que alguns engenheiros de software e gerentes de sistemas desenvolvem uma espécie de comportamento parental, no qual protegem seus sistemas e softwares contra quaisquer mudanças que considerem arriscadas ou muito extensas. Em uma indústria em constante mudança, isso acabará levando a sistemas que nunca foram capazes de crescer e a arquiteturas de sistema que não puderam amadurecer com o tempo.

Para permitir a inovação digital, o direito de existir de qualquer sistema precisa ser revisado regularmente. Alterações tecnológicas fundamentais, como computação em nuvem, novas tecnologias de banco de dados, aprendizado de máquina, arquiteturas desacopladas, APIs e barramentos de mensagens exigem que qualquer arquitetura e seu direito existam sejam revisados regularmente.

Quando os veículos pagam seus bilhetes de estacionamento eletronicamente ou os motoristas os pedem por meio de um aplicativo de smartphone e ninguém mais usa a máquina de bilhetes, é claro que não há necessidade de manter a máquina de bilhetes e quaisquer sistemas associados a ela. Em última análise, isso também significa que as pessoas responsáveis por esses sistemas precisam obter novas atribuições. É preciso haver argumentos sólidos para manter os sistemas vivos quando eles não são mais necessários. Sempre haverá pessoas que insistem em manter os sistemas vivos mesmo quando realmente não são mais necessários. Esses sistemas muitas vezes se tornam os obstáculos futuros.

Torne-se bem sucedido resolvendo problemas importantes usando tecnologia – tão simples quanto isso.

10. Este doohickey é o futuro!

Às vezes, começa com “A Supercorp usa o Bogustech agora, então também devemos implementar o Bogustech o mais rápido possível ” e aí temos “o próximo grande sucesso”, além de que não há uma grande novidade em qualquer lugar do mundo. Todos os produtos que amamos são produtos de suor, lágrimas e trabalho duro.

“A única maneira de prever o futuro é construí-lo.” – Alan Kay

O iPhone nunca foi o primeiro smartphone lançado com o Windows Mobile e o Palm OS, e também nunca foi o primeiro dispositivo móvel de tela grande. O primeiro iPhone nem sequer tinha 3G na época, embora outros dispositivos já o tivessem. No começo, o mecanismo de busca do Google não estava nem perto da qualidade do AltaVista, muito menos do Yahoo. Mas todos eles conseguiram resolver um problema complicado para os usuários e permaneceram focados em servir seus usuários da melhor maneira possível.

O que o iPhone fez foi permitir usar os dedos em vez de uma caneta e veio com um sistema operacional recém-construído feito sob medida para o uso de dedos, além de um navegador da Web completo, e-mail habilitado para HTML e mapas para navegação. As pessoas poderiam usá-lo como um computador, mas sem os botões minúsculos irritantes. Ele fez bem o que o Windows Mobile e Palm estavam fazendo errado – e você não perdeu mais aquela caneta que você nunca gostou.

Quando o Google começou, resolveu o problema de encontrar informações relevantes on-line, mas também o AltaVista e o Yahoo. O Google, no entanto, desenvolveu-se ainda mais e conseguiu encontrar as informações mais relevantes no menor tempo possível. Eles desenvolveram um novo sistema de banco de dados para velocidade e criaram um algoritmo e uma abordagem completamente diferentes para pesquisar na Web do que a AltaVista tinha. Você finalmente encontrou as informações que estava procurando no Google, enquanto o AltaVista decidiu se transformar em um portal web complexo com uma página inicial desordenada .

Olhando para a Amazon em 1999, muitas pessoas questionaram se poderiam vender qualquer outra coisa além de livros, muito menos coisas como roupas. Roupas sempre foram consideradas algo que você teria que experimentar antes de comprar – especialmente sapatos. Vinte anos depois, todas essas dúvidas desapareceram e poucas pessoas se lembram da dubiedade associada ao e-commerce nos primeiros dias.