Design thinking e a Engenharia de Software

Coasting2008

Estou sempre à procura de relacionar as práticas da Engenharia de Software, com as semelhantes de outras áreas, principalmente de Arquitetura e de Design (Gráfico, Moda, Produto, etc.). Precisamos, sem dúvida alguma, de arejamento da mente para conseguir pensar fora da caixa (um chavão, mas vejam a postagem Pensar fora da caixa e a inovação), enxergar o desenvolvimento de software mais próximo do design, semelhante a essas áreas. Para me ajudar a pensar, topei com um artigo muito interessante da HBR-Harvard Business Review que deixei para ler nas férias, porque durante o semestre letivo (especialmente o último) é quase impossivel arrumar tempo continuo e sossegado para leituras mais desafiantes, que fazem pensar e rever conceitos.

O artigo descreve, rapidamente, uma parte do processo de criação na área de design, fortemente baseado em prototipagem e prova de conceito. E apresenta um case, aplicando os conceitos no design das Coasting Bikes da Shimano. Desenvolvido para a Shimano inicialmente, o projeto gerou a linha de bikes que pode ser vista no sitio da Shimano, que iniciou a produção em série. Hoje a bike-conceito é produzida por vários fabricantes, para atender a um segmento específico do mercado. O projeto é centrado no usuário, e no caso apresentado, os objetivos do projeto foram: -proporcionar uma experiência melhor ao andar de bicicleta (provide a better riding experience); -projetar uma plataforma inovadora para o produto (design an innovative product platform); -habilitar uma experiência de compra mais convidativa (enable a more engaging purchasing experience).

Uma pergunta que ajudou os designers a pensarem foi: porque as pessoas mais velhas não usam bicicletas mais frequentemente? Analisando o contexto, chegaram à conclusão de que as bicicletas disponiveis no mercado são, de certa forma, intimidantes para essa faixa etária e para uso urbano: um monte de marchas, dois controles para passar marcha, freios muito violentos, que obrigam a ficar atentos a um monte de detalhes para não sofrer acidente. Vocês já tentaram andar numa bike dessas? Eu até tenho uma, mas confesso que é de fato muita coisa para prestar atenção, obrigando o ciclista a prestar mais atenção na pilotagem da bike do que no prazer do passeio propriamente dito. O resultado do desafio: uma bicicleta com freio no pedal (contra-pedal, como se dizia antigamente), assentos confortáveis, apenas três marchas nas catracas trazeiras, acionadas automaticamente pela velocidade da bicicleta, guidon de pega fácil sem obrigar a encurvar demais as costas. Confiram nas fotos dos links acima.

Qual a relação com a prática da Engenharia de Software? Antes de mais nada, design não corresponde ao que chamamos de projeto. Design é mais abstrato, mais próximo dos requisitos, do entendimento do problema, das necessidades do usuário, da procura por soluções similares, etc. Projeto, para nós, é já ir pensando em solução de implementação, o que para o designer é outra etapa, lá na frente. Portanto, temos ai uma diferença fundamental, que são as disciplinas iniciais de Modelagem de Negócio e Requisitos (extração e análise de requisitos). Fundamentais para o perfeito entendimento do problema e para evitar o maior desastre em projetos de engenharia de software: requisitos especificados erradamente porque não foram entendidos, requisitos não especificados, ou requisitos atendidos parcialmente.

Um outro ponto muito interessante, é que para o designer, o primeiro passo depois do entendimento do problema, é procurar problemas semelhantes em outras áreas, buscar inspiração em outros produtos, outras soluções. No design essa etapa é fundamental, antes de começar a pensar em solução especifica para o problema em questão. Decididamente, nós da Engenharia de Software não fazemos isso, partimos direto do que for possível especificar de requisitos para o projeto propriamente dito, e dai para a implementação, o que ficar faltando é feito depois, levando ao retrabalho.

O outro passo digno de nota, é a prototipagem. O designer produz protótipos antes de os produtos irem para a produção em massa. Para submeter a idéia à crítica de seus prováveis clientes e compradores, possibilitando a melhor adequação do produto a seus verdadeiros objetivos. A prototipação é quase inexistente na Engenharia de Software, limitando-se ao protótipo de interface e, mesmo assim, já pensando em interface como um componente definitivo do software final, e não como uma ferramenta de abstração que permita melhorar o entendimento de requisitos do problema e a interação com o usuário.

O argumento de que o Engenheiro de Software lida com prazos apertados e concorrência muito forte não vale aqui, porque o contexto para os designers é exatamente o mesmo. Ou vocês acham que um arquiteto tem todo o tempo do mundo disponivel para produzir uma solução? E o designer de produto? De moda? De revistas? De fotos?

Infelizmente, na Engenharia de Software partimos para copiar os modelos de desenvolvimento baseados em processo duro, semelhantes ao modelo de produtividade da Toyota que influencia fortemente todo o mundo produtivo. Esses modelos, embora muito eficazes e eficientes, praticamente eliminam a criatividade obrigando a seguir passos e iterações pré-estabelecidos, iguais para todo problema, com artefatos pré-estabelecidos e que muitas vezes não se aplicam a todo e qualquer problema. Com isso, deixamos de reconhecer que cada problema tem caracteristicas próprias que podem exigir soluções de desenvolvimento customizadas e especiais.

Vou voltar a esse tema em breve. Ainda temos muito que aprender, estamos dando cabeçada a procura de modelos, mas até agora não encontramos os modelos mais aderentes à nossa realidade. Muita teoria, muitas propostas, mas muito pouco resultado.

(este artigo foi escrito por zeluisbraga, e postado no meu blog zeluisbraga . wordpress . com) (this post is authored by zeluisbraga, published on zeluisbraga . wordpress . com)

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Marcado com: , ,
Publicado em Arte, Educação, Engenharia de Software
3 comentários em “Design thinking e a Engenharia de Software
  1. […] This post was mentioned on Twitter by Vinicius Carvalho and José Luis Braga, Igor Souza. Igor Souza said: Design em engenharia de software, http://bit.ly/bdjofB […]

  2. Léo disse:

    brilhante. as vezes, tenho a impressão que a tecnologia (menssageria, protocolos, etc) direciona o modo de pensar na construção das aplicações e sistemas. esse parece ser o caso SOA em que se privilegia o design. analise de robustez ! abraço Léo

  3. Steffen disse:

    My friend Steffen Kemper instructed me to see your weblog,
    this guy stated you composed beautifully and thus I would learn a lot.
    He wasn’t completely wrong ; ). Very good work, continue creating this unique marvellous job.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: