Ninguém quer usar software

Porque você deveria repensar o desenvolvimento de software

Hoje, o software está em todo lugar. A sociedade moderna depende disso. Está dentro dos relógios, dispositivos médicos, telefones, TVs, elevadores e até “computadores” (como se as outras coisas não computassem).

Eu [Bertil Muth], como um consultor, tenho auxiliado empresas desenvolver software nos últimos 14 anos e codifiquei muito software eu mesmo.

Eu fui co-autor em um padrão internacional e trabalhei para implementá-lo com aqueles que o adotaram. Eu escrevi software que controlava o comportamento de um sistema de satélite de comunicação. Eu desenvolvi ferramentas para uma equipe que criou um modelo do European Extremely Large Telescope (EELT). Eu estive envolvido com software para empresas automotivas, sistema de saúde, bancos, seguros, telecomunicações, aviação e ainda outras mais.

Em algumas dessas empresas, o desenvolvimento de software funcionou bem. As equipes entregaram software em alta qualidade. Os stakeholders (as partes interessadas no software) estavam felizes. As empresas cresceram sua base de clientes e, em última análise, seus lucros.

Mas em outras empresas foi difícil.

Eu vi departamentos lutando uns contra outros sobre quais requisitos incluir em um lançamento.

Eu vi desenvolvedores que não conseguiram acompanhar a quantidade de solicitações de alterações e funcionalidades estranhas. Alguns perderam qualquer sentido de propósito no que estavam construindo.

Eu assisti como a comunicação quebrou entre os desenvolvedores e os diretores não-técnicos que os gerenciavam.

E depois de alguns anos, reconheci um padrão.

Sempre que as pessoas me perguntaram o que estava acontecendo, eu começava apenas dizendo: ninguém quer usar software.

No começo, eles olharam para mim como se eu estivesse louco. O software está em toda parte. É o que impulsiona a civilização moderna! Mas depois que eu me expliquei, muitas dessas mesmas pessoas balançaram a cabeça lentamente concordando aos poucos.

Se você é como eu, você faz pelo menos algumas de suas compras online. Você quer se cadastrar para mais um site de comércio eletrônico? Você gosta de adicionar produtos no seu carrinho de compras um por um? Você quer verificar novamente se o número do cartão de crédito que você inseriu está correto? Você quer confirmar sua compra várias vezes?

Eu com certeza não quero.

Mas, ainda assim, eu compro online. Por quê?

Alcançando o resultado desejado

O que eu quero é um resultado desejado: quero lavar minhas roupas ou ler um novo livro. Toda interação entre eu e o software é um passo entre eu e esse resultado.

Reconhecer isso teve um enorme impacto na forma como eu desenvolvo o software.

Muitas empresas medem a produtividade do desenvolvedor por linhas de código ou por velocidade, o que aproximadamente significa: recursos completos por tempo, ajustados pelo tamanho da funcionalidade.

Algumas pessoas pensam que vender recursos é como vender laranjas. Quanto mais recursos você fornece aos clientes, maior será o lucro.

Mas estou aqui para te dizer que não é.

Adicionar mais recursos pode tornar mais fácil ou mais difícil para o usuário alcançar o resultado desejado. Pode, na verdade, impedir o caminho. Existem outras métricas mais úteis do que a velocidade.

Quando você entra em um novo mercado, certifique-se de que seu software atende às necessidades de algum cliente. Agrade seus clientes e receba feedbacks frequentes. Não torne o software em uma bagunça inchada e cheia de funcionalidades que ninguém quer usar.

Se você já possui uma posição sólida no mercado, limpe o caminho. Faça da jornada do usuário até resultado desejado mais curta e agradável possível. Porque o fim dessa jornada é o primeiro momento que valor é gerado para a sua empresa.

Se você conseguir que os usuários completem suas jornadas para o resultado desejado com menos etapas, é ótimo. Desenvolva menos, porque o desenvolvimento de software é um investimento.

Como o Kindle da Amazon reduziu a jornada

A Amazon começou a vender livros online. Você ia lá comprar um livro, que depois eles enviariam para sua casa.

Então eles foram pioneiros no pagamento de 1-click, para que você pudesse ignorar a inserção dos seus detalhes de pagamento e clicar em um canhão de etapas no carrinho de compras cada vez que desejasse comprar algo. Isso reduziu a jornada do usuário.

Mais tarde, eles apresentaram o Kindle. Isso reduziu ainda mais a jornada do usuário. Encontre um livro, veja seus detalhes, confirme a compra. Após um download curto, você obteve o livro. Não há mais espera pelo envio.

Em última análise, tudo isso leva ao mesmo resultado que era nos primeiros dias da Amazon: você pode ler um livro. Só que agora a jornada realizada para chegar até lá é muito mais curta.

Desenvolver tantas funcionalidades quanto possível não é suficiente para ser bem sucedido. Felizmente, não sou o único que pensa isso.

Gojko Adzic criou o Impact Mapping, uma técnica para derivar recursos de software de objetivos comerciais. Ele pediu à comunidade de desenvolvedores para “Fazer impactos, não software“.

David Heinemeier Hansson, criador do Ruby on Rails, acredita que você sempre pode fazer menos.

Assim como o quanto de sentido isso fazia para os desenvolvedores que expliquei, na minha experiência, apenas uma minoria de empresas colocou essa filosofia de encurtar as viagens dos usuários.

Então não me interprete mal: adoro o software. Sou fascinado por isso. Comecei a desenvolver software no início dos anos 90, e ainda estou nisso.

O software é útil. Mas não por conta própria. O software é apenas um meio para um fim.

Por favor, mantenha isso em mente.

Fonte:
Autoria de Bertil Muth – Nobody wants to use software

Artigo anteriorNovo God of War
Próximo artigoTipos de “hackers” e seus objetivos
Graduado em Análise e Desenvolvimento de Sistemas. Iniciou o mestrado em Computação Aplicada - Pattern recognition na UDESC, porém teve que parar porque mudou de cidade. Engenheiro de software em uma startup de Gestão Financeira. Cético, humanista, apaixonado por ciência, filosofia e tecnologia, adora codar e é um entusiasta dos princípios Open Source. Também é Divulgador científico nas páginas Universo Racionalista, Sociedade Científica e Carl Sagan Brasil. Usa o tempo livre para praticar esportes, ler muito e sair com amigos. Até hoje não encontrou nada que não lhe desperte interesse. --- Github: github.com/euclecio Facebook: facebook.com/eucleciojosias