Bom, rápido ou barato: Escolha dois. Esse é um paradigma que muitos no mundo profissional conhecem bem. O Project Management Institute o discute em termos de custo, tempo e escopo. Para que algo seja feito, você precisa ser flexível em pelo menos um desses aspectos – se quiser que algo seja feito de forma rápida e barata, você não pode ficar muito concentrado no resultado final. Em outras palavras, a pergunta que orienta você quando se trata de iniciar qualquer projeto é simples: “Por esse valor e esse tempo, o que eu ganho?” Quando penso nesse paradigma em termos de desenvolvimento de software, acho que o fator “escopo” funciona bem como um substituto para “qualidade”. Para ser claro, no entanto, não estou falando sobre o quão “bom” um software acaba sendo. Estou falando sobre o motivo pelo qual desenvolvemos software em primeiro lugar e sobre os principais riscos que surgem ao presumir que um orçamento e um prazo rígidos resultarão em um software que faz o que precisa fazer. No software, o custo e o tempo não significam nada se a qualidade não estiver presente.
Por que nos contentamos com menos no software?
Deixe-me fazer uma pergunta a você: Quantas vezes você já usou um software que simplesmente não funciona? Pode ser algo tão pequeno quanto um botão que não faz o que deveria fazer em um aplicativo que você usa no seu telefone. Ou algo maior, como uma redefinição de senha que faz você entrar em um loop infinito sem nenhuma maneira real de recuperar suas credenciais. É frustrante, com certeza, mas isso acontece com tanta frequência que a maioria de nós nem pensa mais nisso. “Ah, bem”, pensamos, e depois seguimos em frente. Em outras palavras, fomos programados para aceitar um padrão de qualidade inferior em software do que em qualquer outro produto. E até mesmo as grandes empresas são culpadas por contribuir para isso. Quantos produtos do Google você usa todos os dias que estão em “beta” há anos, sem previsão de término? Se fingirmos que o software nunca está realmente pronto, poderemos perdoar os desenvolvedores por produzirem produtos defeituosos. Mas o que acontece quando você substitui algo como o Google Hangouts por um produto do qual uma empresa depende todos os dias para funcionar? De repente, os riscos se tornam muito maiores quando o software corporativo não funciona como planejado. O que leva a uma pergunta ainda maior…
Como você mede a qualidade do software empresarial?
Acredito que um dos principais motivos pelos quais a qualidade é frequentemente deixada de lado no gerenciamento de projetos é o fato de que, para muitos, é muito mais difícil de medir quantitativamente do que o custo e o tempo. Como você mede o custo? É fácil: você mede em dólares. A grande maioria dos projetos de software começa como qualquer outro projeto corporativo, com um orçamento definido medido em um valor em dólares. Esse é o custo, e é a medida mais concreta que você pode ter. O mesmo vale para o tempo. Você pode medir quantas horas por dia tem disponíveis, o quanto pode trabalhar com sua equipe e até que ponto pode dividir algo em pequenas partes antes de chegar a um ponto em que o desenvolvimento simplesmente levará um determinado tempo mínimo. E se meus anos na Força Aérea trabalhando das 6h às 20h me ensinaram alguma coisa, é que você obtém retornos decrescentes quanto mais tempo trabalha – você só pode flexibilizar suas restrições de tempo até certo ponto antes que elas se rompam. Nesse sentido, o tempo rapidamente se torna uma restrição tão absoluta quanto o custo. Mas e quanto à qualidade? É mais abstrato. Você pode definir um escopo de trabalho, mas como saber se esse escopo foi cumprido? Mais do que isso, se você entra em um projeto com um orçamento e um cronograma arbitrários, como pode realmente ter certeza de que deu ao projeto o orçamento e o tempo necessários para entregar o escopo que você espera? Você não pode jamais pegar a noção de qualidade e torná-la absoluta se não tiver uma maneira padrão de medi-la. Deixe-me esclarecer uma coisa agora mesmo: A qualidade pode parecer abstrata, mas, na verdade, não é. Você não precisa se preocupar com isso. Ela é tão simples quanto as restrições de tempo e orçamento. Aqui está um exemplo. Outro dia, entrei em um McDonald’s – algo que não faço com muita frequência – e tive meu primeiro contato com os quiosques de autoatendimento. Vi que havia um senhor no caixa tentando fazer um pedido, então fui até o quiosque. Levei apenas alguns segundos para digitar meu próprio pedido personalizado e pegar meu recibo. Meu pedido foi digitado, pago e estava no balcão para mim antes que o homem que estava fazendo o pedido no caixa tivesse a chance de fazer o seu. Nesse caso específico, a qualidade é uma medida de quão bem os quiosques de autoatendimento resolvem o problema comercial dos longos tempos de espera no McDonald’s. Eu diria que os quiosques fizeram exatamente isso em minha experiência e, portanto, eu diria que essa é uma solução de qualidade. Aqui está o ponto principal: A verdadeira medida da qualidade é se algo atende ou não às necessidades de sua empresa. Como profissionais de qualidade, sabemos exatamente como medir a qualidade. Podemos quantificá-la e qualificá-la. Não esperamos apenas que haja qualidade; vinculamos nossas medidas de qualidade às necessidades comerciais que você tem. Afinal de contas, o que importa se o software “funciona” quando você clica em um menu suspenso se ele não atende às suas necessidades comerciais?
A qualidade é a única restrição real
Se a sua empresa dedicar algum tempo para pensar criticamente sobre o motivo pelo qual está desenvolvendo um software – qual necessidade comercial deve ser atendida -, agora você tem três restrições. Você tem seu orçamento, tem seu horizonte de tempo e sabe como medir se o software atende ou não à sua necessidade. Em outras palavras, você sabe o que significa qualidade. Mas uma vez que você determina o que significa qualidade, acredito que essa é a única restrição que importa no longo prazo. Daqui a cinco anos, não importará o quanto você gastou ou quanto tempo trabalhou em algo se a qualidade não estiver lá e não funcionar. No mundo atual da mídia social, você não tem uma segunda chance. Você realmente quer deixar a qualidade ao acaso e esperar para ter um fracasso público para o mundo ver?