Os prós e contras do Big Design Up Front - e o que eu faço em vez disso

Uma cachoeira pode correr? Um galgo pode desacelerar?

Eu administro meu próprio negócio de design independente há 18 anos. Começar quando a cascata era tudo o que tínhamos, depois fazer a transição para extrema agilidade e todas as variações intermediárias.

Como freelancer, trabalho para uma variedade de clientes - grandes e pequenos - em uma ampla gama de produtos digitais: de simples sites de brochuras a complexos aplicativos da web e móveis. Ainda uso o processo em cascata BDUF quando é adequado ao projeto. Outras vezes, a atmosfera exige uma abordagem altamente iterativa e ágil.

Freqüentemente, alterno diariamente entre essas metodologias de design opostas, conforme mudo o foco de um projeto para outro. Isso me ajudou a me adaptar a ambos e a perceber os pontos fortes e fracos de cada processo. Praticar ambas as metodologias regularmente me coloca em uma posição única para entender quando uma funciona melhor do que a outra. E isso me fez pensar se o BDUF ainda tem um lugar no mundo do design moderno e do desenvolvimento.

Antes de discutirmos BDUF vs. Agile, vamos começar com algumas definições:

Cascata

Uma abordagem de projeto sequencial relativamente linear em que o progresso flui em grande parte em uma direção ("para baixo" como uma cachoeira) através das fases de pesquisa, concepção, projeto, construção, teste, implantação e manutenção.

Aumentar ou diminuir o zoom

No design, diminuir o zoom significa focar na totalidade de um sistema de design, avaliando sua eficácia e garantindo que ele funcione em conjunto de forma consistente e harmoniosa.

Aumentar o zoom é o ato de focar em uma parte menor do todo - um recurso, página, fluxo do usuário, etc. - trabalho prático de design que cria soluções de design individuais.

Iteração

Um processo cíclico de prototipagem, teste, análise e refinamento de um produto ou processo. Com base nos resultados do feedback ou teste das partes interessadas, são feitas alterações e refinamentos.

Integração

Um ato de combinação em um todo integral.

Custo, barato, caro

Nesse contexto, refere-se ao tempo e esforço despendidos em design ou desenvolvimento, não necessariamente uma relação direta com o custo monetário.

Engenharia, desenvolvimento, codificação

Usado de forma intercambiável - para traçar a linha entre onde o design termina e a implementação técnica começa.

O que é BDUF?

Big Design Up Front é uma abordagem em que o design de um site, aplicativo ou software é concluído e aperfeiçoado antecipadamente, antes do início de sua implementação. É necessário um processo em cascata e depende da previsão . Essa foi a metodologia predominante décadas antes do advento do Agile. Os sites e software costumavam ser muito caros para construir, então era necessário resolver o máximo possível antes que a engenharia custosa acontecesse.

Pense nisso como traçar o curso de um navio. Se você já conhece a rota, o clima, as correntes e as marés, pode planejar a viagem antes de entrar na água. Depois de deixar o porto, você não precisa perder tempo se orientando.

Designers que estão no mercado há mais de uma década - ou trabalham fora da bolha de “produtos” do Vale do Silício - provavelmente aprimoraram sua arte usando o BDUF. É a sua zona de conforto de design.

Suposições BDUF

  • Podemos conhecer totalmente os objetivos, requisitos e escopo do projeto antecipadamente - e é improvável que esses sofram mudanças significativas.
  • As revisões de design geralmente são mais difíceis e caras de fazer depois que o código foi escrito. A eficiência é obtida classificando o máximo possível no design.
  • Podemos e devemos julgar se uma solução de design é boa ou eficaz antes de ser totalmente funcional.
  • Os engenheiros podem identificar os desafios de desenvolvimento enquanto ainda estão no design, para que possamos encontrar soluções alternativas de design antes de digitar o código.
  • Se deixados por sua própria conta, os engenheiros vão bagunçar as coisas. O design precisa liderar o caminho ou a UX e a estética serão prejudicadas.

Pontos fortes do BDUF

  • Se você sabe exatamente o que deseja, esta é a maneira mais eficiente de chegar lá.
  • Uma vez que todo o design é feito de uma vez, há ampla oportunidade para diminuir o zoom, integrar com frequência e projetar de forma holística.
  • A experiência do usuário é projetada e refinada por designers, e a documentação do design determina a funcionalidade a ser desenvolvida pelos engenheiros. Cada papel desempenha seus pontos fortes.
  • Projeto fácil de custear e programar, pois é uma quantidade conhecida desde o início.

Pontos fracos do BDUF

  • Não é facilmente adaptável a mudanças de escopo ou pivôs de propósito. Você pode ter que nadar de volta até a cachoeira para começar novamente se os objetivos ou requisitos mudarem.
  • O design não é tão facilmente testado e validado, porque nenhuma parte dele está totalmente funcional até perto do final do processo linear.
  • Não tira proveito de novos aprendizados ou melhores soluções que podem surgir durante os estágios posteriores do processo em cascata.

Design Ágil e Emergente

A metodologia de desenvolvimento ágil foi projetada para projetos complexos, não determinísticos e não lineares. Ele prioriza ser adaptativo em vez de preditivo , reduzindo o salto de fé que é necessário antes que as evidências sejam obtidas.

O Agile tem como objetivo dividir um projeto em partes menores. As equipes multifuncionais usam sprints com prazos curtos para trabalhar em versões aceleradas de todo o processo em cascata - com o objetivo de projetar, produzir e testar algo em cada sprint. Seu aprendizado é então integrado ao escopo em evolução do projeto e ajuda a definir a direção dos próximos sprints e iterações.

Se o BDUF é uma viagem muito bem documentada e planejada com antecedência, o Agile está tirando seu navio do porto com apenas uma vaga ideia de para onde você está indo, e então explorando, planejando e se adaptando na água. É uma série de pequenas apostas, em vez de uma única aposta bem calculada.

O Manifesto para Desenvolvimento Ágil de Software é baseado em doze princípios (via Wikipedia):

  1. A satisfação do cliente pela entrega antecipada e contínua de software valioso.
  2. Bem-vindo a mudanças de requisitos, mesmo no desenvolvimento tardio.
  3. Entregar software funcional com frequência (semanas em vez de meses)
  4. Cooperação estreita e diária entre empresários e desenvolvedores
  5. Os projetos são construídos em torno de indivíduos motivados, em quem se deve confiar
  6. A conversa cara a cara é a melhor forma de comunicação (co-localização)
  7. O software funcional é a principal medida de progresso
  8. Desenvolvimento sustentável, capaz de manter um ritmo constante
  9. Atenção contínua à excelência técnica e bom design
  10. Simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é essencial
  11. Melhores arquiteturas, requisitos e designs surgem de equipes auto-organizadas
  12. Regularmente, a equipe reflete sobre como se tornar mais eficaz e se ajusta de acordo

Design Emergente

As metodologias ágeis requerem uma nova maneira de pensar, que foi descrita como design emergente . O design emergente visa fazer o oposto do BDUF - design mínimo ou nenhum design inicial para que possamos enviar, testar e validar o mais rápido possível.

Suposições de design emergente

  • Não podemos entender totalmente o problema ou sua solução ideal sem muitos testes e aprendizado. Os requisitos e o design devem ser deduzidos , então é melhor começar a construir o teste o mais rápido possível.
  • A mudança é mais barata no código do que durante o design. (Ou pelo menos igualmente caro).
  • O design não pode ser julgado ou validado até que seja construído e utilizável no mundo real.
  • Os designers podem criar soluções tecnicamente impossíveis ou caras se seu trabalho não for frequentemente integrado e testado.
  • Muito design inicial (e qualquer documentação) é um esforço desperdiçado, pois os requisitos serão alterados ou novas soluções surgirão antes mesmo que o design seja implementado.

Pontos fortes de design emergente

  • O design evolui com o tempo e pode tirar proveito de novos aprendizados.
  • O design é um esforço colaborativo e não um processo solitário e recluso. Como disse Manuel Dahm: “Isso exige que o designer passe da torre de marfim solitária do gênio criativo para o apartamento compartilhado da mente da equipe.”
  • O design e o desenvolvimento acontecem em paralelo, o que facilita uma tremenda colaboração entre equipes e rápida solução de problemas. Os incêndios podem ser apagados ao primeiro sinal de fumaça.
  • Pouco resta à suposição ou intuição. O design só é implementado se for comprovado pelo sucesso dos dados. A incerteza sobre a eficácia do design é removida.

Fraquezas de design emergente

  • O Agile pode ser muito focado na produção e encoraja a fábrica de recursos.
  • Ironicamente, o contexto dos sprints permite uma integração mais frequente no nível macro, mas oferece menos oportunidades para um pensamento de projeto profundo e holístico. Foco muito estreito e visão ampla insuficiente significa menos chance de integração no nível dos sistemas de design. Isso pode levar a um design medíocre e inconsistente que carece de polimento e integridade.
  • O custo do design é difícil porque é um alvo móvel ditado pelo feedback das partes interessadas e pelos ciclos de sprint. O escopo total do design pode não surgir até a metade (ou mais adiante) de um projeto.
  • O ciclo de sprint e repetição geralmente termina quando surge um design “bom o suficiente”. Então, ele é lançado sem muitas oportunidades de elevar o design além da mediocridade. Os designers perdem suas prioridades de controle de qualidade quando as decisões são ditadas apenas pelos dados.

Just Enough Design Inicial

“Um grande design inicial é estúpido, mas não fazer design inicial é ainda mais estúpido.” - Dave Thomas

Eu costumava pensar que o ágil era inimigo do bom design, mas então percebi que o ágil ruim não deixa espaço para um bom design. Eu resisti em abraçar uma forma ágil ou trabalhar porque muitas das minhas experiências destacaram os pontos fracos do design emergente e não os compensaram com seus pontos fortes.

Em Is Agile the Enemy (of Good Design)? , John Cutler diz que “boa” cachoeira supera o Agile qualquer dia.

Eu tenho que concordar.

Qualquer metodologia de desenvolvimento de produto tenta responder a perguntas de design quando é mais barato fazê-lo . Os apoiadores do Agile acreditam fortemente que ele é mais barato em pequenos incrementos durante sprints curtos. O BDUF funciona quando é mais barato no início e é considerado uma integridade. Mas nenhum deles trabalha para designers quando não produzem um bom resultado de design.

Não acredito que o BDUF ou o Agile encontrem o equilíbrio certo. Está em algum lugar no meio. Portanto, minha metodologia de design preferida é Just Enough Design Up Front (JEDUF).

JEDUF para o resgate

JEDUF reconhece que algum projeto abrangente é necessário para permitir um trabalho mais detalhado. Nem sempre podemos atirar com “desenvolvimento cowboy”. Primeiro, precisamos de alguns postes. Precisamos de arquitetura e design para criar uma base para nossos sprints.

  • O trabalho de design inicial pode ser difícil, mas deve sempre ser o melhor possível, dadas as informações disponíveis no momento. Sim, muito mais trabalho de design terá que surgir mais tarde, mas não queremos refazer nenhum design se pudermos acertar na primeira vez.
  • O design inicial deve ser considerado os aspectos mais fundamentais de um projeto ou produto, para informar as prioridades a serem construídas e testadas durante os primeiros sprints. Em outros termos, identifique os riscos mais altos e, em seguida, projete primeiro para eles. Isso estabelece a base para um sistema de projeto, testado no início e frequentemente por peças desenvolvidas de maior valor. Alguns chamam esse projeto inicial necessário de “todo primitivo”.

Além de JEDUF

Minha própria versão de JEDUF inclui oportunidades para descompressão e integração de design em vários estágios durante o projeto. Eu o chamo de Design Just Enough Up Front & Middle .

JEDUF & M equilibra pequenos sprints - foco ampliado - e oportunidades para integração holística de design de uma perspectiva ampla. Quando uma massa crítica de funcionalidade surge, o ciclo de sprint pode ser pausado para que um design mais profundo seja considerado.

Pense nisso como outra sessão de design inicial, apenas seus objetivos são mais sobre coesão do que exploração . Uma vez que o sistema de design parece holístico e sob controle - integrando e harmonizando as revisões de sprints e aprendizados anteriores - a próxima rodada de sprints começa. Cabe ao designer reconhecer quando a necessidade de uma quebra de design “intermediária” é necessária, e não deixar o projeto ficar muito preso às minúcias.

Eu descobri que JEDUF & M é a metodologia de design definitiva. Ele equilibra a adaptabilidade, as iterações rápidas e o foco na validação, o que torna o ágil tão poderoso - ao mesmo tempo que permite períodos de descanso, integração e pensamento holístico do sistema de design que podem se perder entre sprints e entrega de recursos.

Se, mesmo sob esse equilíbrio ideal de metodologias, você se sente ansioso quanto ao número de incertezas, pense assim: abrace a incerteza . Agora você está em uma posição de moldar o que essas restrições se tornam , em vez de tê-las predeterminadas e ditadas a você. Isso é mais responsabilidade, mas também mais flexibilidade. Se você lidar com essa função com desenvoltura, terá um resultado sem arrependimentos ou concessões, mesmo que o processo seja mais desafiador ao longo do caminho.

Ainda há muito espaço para BDUF

Você não pode se dar ao luxo de descartar este dinossauro completamente. Big Design Up Front é um modelo muito válido e eficiente quando usado nos projetos certos.

O benefício do design inicial aumenta conforme a complexidade do sistema diminui.

Nem todos os designers estão trabalhando em aplicativos corporativos complexos, com objetivos variáveis ​​das partes interessadas e soluções incertas. Nem todo projeto requer exploração, testes e validação do cliente em massa.

Não consigo imaginar uma abordagem ágil para projetar e construir um folheto simples ou site de portfólio. Meus clientes pensariam que estou louco. Nestes casos, o BDUF ainda está vivo e ativo.

BDUF e Agile são duas extremidades de um único espectro. Identifique o que você precisa validar antes, durante e depois de construir e, em seguida, adapte seu processo para facilitar o design certo no momento certo. A maioria dos projetos ficará em algum lugar no meio do espectro, não nas periferias radicais.

E não vamos esquecer que o processo em cascata não precisa ser tão rígido e linear quanto seus críticos fazem parecer. O BDUF ainda pode “entregar cedo e frequentemente”, coletar feedback das partes interessadas, iterar rapidamente e evoluir com o tempo. É que essa evolução acontece totalmente no domínio do design.

Podemos fazer mini-cachoeiras dentro de nossa grande cachoeira. Existem muitas maneiras úteis de obter pequenas validações e seguir em frente sem uma equipe multifuncional inteira empurrando-o diretamente para o código e correndo para o lançamento.

BDUF não significa que não haja capacidade de aprender, adaptar e melhorar o design por meio de feedback e iteração. Se isso é o que você acha que é o BDUF, talvez você tenha feito errado todos esses anos?

Por favor ? c volta se você achou isso valioso, e? f o lLow me f ou mais escrever como este, como eu desdobrar de 18 anos de conhecimento de design freelance?

Inscreva-se para receber meus melhores artigos em sua caixa de entrada.

Esta história também pode ser encontrada em solowork.co