Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Utilizando Design Thinking como método de desenvolvimento de software

Utilizando Design Thinking como método de desenvolvimento de software

Apresentação na FISL 18, Porto Alegre, Brasil

Weldys Santos

July 13, 2018
Tweet

More Decks by Weldys Santos

Other Decks in Programming

Transcript

  1. Problemas com o desenvolvimento de software • O software é

    intangível e difícil de ser discutido • Cada projeto é diferente • Métricas não são necessariamente as mesmas • O cliente não sabe o que vai receber (e nem o que quer receber) • O time de desenvolvimento tem dificuldades sociais
  2. Modelo Waterfall • Milhões de especificações que acabam não refletindo

    a realidade • Tudo leva muito tempo • Grande quantidade de “departamentalização”. Designers, programadores, clientes, gerentes: Todos separados • No fim, nada era bem aquilo do que foi especificado
  3. Modelo Waterfall • Grande tempo de pesquisa e entendimento do

    que deve ser desenvolvido • Grande tempo para design (projeto), prototipação e discussão • Planejamento de arquitetura é feita de forma organizada
  4. Agile • A arquitetura pode não ter necessariamente a maior

    qualidade • Tempo sempre muito curto entre iterações • Documentação normalmente pobre • Planejamento curto, preferindo as entregas rápidas
  5. Agile • A comunicação com o cliente é mais fluida

    • Entregas rápidas fazem o cliente entender o que ele realmente quer • Fail-fast permite que o time de desenvolvimento corrija falhas rapidamente • Protótipos e provas de conceito rapidamente desenvolvidos
  6. Design Thinking • Modelo criado por Tim Brown, CEO da

    Ideo, empresa de Design • Processo de pensamento que permite organizar informações e tomar decisões • Processo totalmente centrado no ser humano para entender o mundo ao redor • Toma por base: • Empatia • Colaboração • Experimentação
  7. - Tim Brown, CEO IDEO “Design Thinking é uma abordagem

    que utiliza a amplitude de pensamento de designer e métodos para resolução de problemas para atender às necessidades das pessoas de um modo tecnologicamente viável e comercialmente viável. Em outras palavras, o pensamento centrado no ser humano é a inovação”
  8. 1 Descoberta 2 Interpretação 3 Ideação 4 Experimentação 5 Evolução

    Como abordar o desafio? Como entender o desafio? Como criar? Como concretizar o desafio? Como aprimorar?
  9. 1 Empatia 2 Ideação 3 Elaboração 4 Implementação 5 Evolução

    O que pensam os usuários? O que é viável e praticável? Elaborar em iterações curtas o novo protótipo Tarefas definidas. Hora de desenvolver! Com as lições aprendidas, pensar nas próximas iterações
  10. 1 Empatia O que pensam os usuários? Analisar com o

    cliente (e validar) tudo que deveria ser julgado como desejável, pensando nas pessoas que usarão aquele produto, sem restrições
  11. 2 Ideação O que é viável e praticável? Resignificar todo

    o processo do projeto com o cliente, dentro do que é viável e praticável e encontrar soluções que podem realmente ser desenvolvidas
  12. 3 Elaboração Elaborar em iterações curtas o novo protótipo Desenvolver

    através de iterações curtas e começar a desenvolver o protótipo para as primeiras validações. Importante que sejam prototipadas inicialmente as funcionalidades que mais agregam valor
  13. 4 Implementação Tarefas definidas. Hora de desenvolver! Identificar todas as

    tarefas definidas na etapa anterior e iniciar o processo de desenvolvimento da solução. Aqui será respondida a seguinte pergunta: “Como fazer”?
  14. 5 Evolução Com as lições aprendidas, pensar nas próximas iterações

    Lições aprendidas para a próxima iteração. Melhorias, correções e todas as mudanças no projeto. Mudanças devem ser sempre bem- vindas.
  15. Métricas • As métricas de Waterfall e Scrum são aplicáveis.

    • É possível usar o Planning Poker como técnica de priorização • Por se tratar de centralização no usuário, o sucesso do software depende de métricas de mercado, como KPI (Key Performance Indicator) • Conversão de uso do software (ou taxa de adoção) • Engajamento de software / Feedback do usuário
  16. Resultados • Metodologia relativamente nova • Uma via para humanização

    do processo de software • O Design Thinking melhora a comunicação interna e externa do time • A participação do cliente é menos importante que a do usuário do software • Métricas ainda são muito subjetivas, o que (por enquanto) pode inviabilizar em algumas organizações