B
 D
 U
 F
Gilmar Pupo
  @gpupo
Big       B
Design    D
Up        U
Front     F
         Gilmar Pupo
           @gpupo
Sobre @gpupo
• Desenvolvedor e consultor em GTI
• Dependente de documentação, bookmarks e
  anotações
• Doctrine ORM, Symfony, Perl, Bash, Linux,
  jQuery e o que funcionar...
• Membro e co-fundador do #maisagil
• Empreendedor no @hotellinux

         www.gilmar.eti.br   www.gpupo.com




                                             Times ágeis. @gpupo
BDUF/BRUF
Big design up front (BDUF).
Big requirements up front (BRUF).




                                    Times ágeis. @gpupo
BDUF/BRUF
Aprendemos e acreditamos na metáfora da
construção de prédios, suas plantas e seus operários




                                            Times ágeis. @gpupo
BDUF/BRUF
Aprendemos e acreditamos na metáfora da
construção de prédios, suas plantas e seus operários




                                            Times ágeis. @gpupo
BDUF/BRUF
Aprendemos e acreditamos na metáfora da
construção de prédios, suas plantas e seus operários




                                            Times ágeis. @gpupo
BDUF/BRUF
E o sonho se realiza...




                           Times ágeis. @gpupo
BDUF/BRUF
               “The
               Project
               Management
               Triangle”

               Ou

               “Iron triangle”




            Times ágeis. @gpupo
BDUF/BRUF
                                                    “The




                 Previsibilidade
                                                    Project
                                                    Management
                                                    Triangle”

                                                    Ou

                                                    “Iron triangle”




Risco reduzido                     Garantia de entrega




                                               Times ágeis. @gpupo
BDUF/BRUF
  Pontes normalmente são entregues no
prazo, dentro do orçamento e “não caem”




                                Times ágeis. @gpupo
BDUF/BRUF
   Pontes normalmente são entregues no
 prazo, dentro do orçamento e “não caem”

                    X

 Softwares raramente são entregues no prazo
ou dentro do orçamento. E normalmente eles
                 tem bugs




                                  Times ágeis. @gpupo
Pesquisa do The
          Standish Group
                    Foco de identificar:

●   As falhas dos projetos de software
●   Os maiores fatores que influenciam estas falhas
●   Os pontos chave que podem reduzir estas falhas




                                           Times ágeis. @gpupo
BDUF/BRUF




            Times ágeis. @gpupo
BDUF/BRUF

Projetos cancelados                             Projeto dentro do prazo,
ou não utilizados                               dentro do orçamento e
                                               com boa parte do escopo




          Projeto funcionando, mas entregue
         sem atender ou custo, ou esforço ou
                 com o escopo parcial


                                                       The Standish Group Chaos Report




                                                            Times ágeis. @gpupo
Standish Group  EUA
• > 250 bilhões de dólares cada ano
  no desenvolvimento de software
• custo médio de um projeto em uma
  grande empresa é de 2.3 milhões
  de dólares




                            Times ágeis. @gpupo
Standish Group  EUA
• custo médio de um projeto em uma
  empresa média é de 1.4 milhões de
  dólares
• 434 mil dólares para uma empresa
  pequena




                           Times ágeis. @gpupo
E a grande maioria destes
       projetos falha.


      Os projetos de
desenvolvimento de software
       estão no caos
E a grande maioria destes
       projetos falha.


      Os projetos de
desenvolvimento de software
       estão no caos
trocam-se processos e nomes
trocam-se processos e nomes


    E os os projetos de
desenvolvimento de software
    continuam no caos
BDUF – BRUF
 Uma década e os mesmos erros.


Tem algo errado?




                                 Times ágeis. @gpupo
BDUF – BRUF     Fatores de fracasso
●   Requisitos Incompletos: 13.1%
●   Falta de envolvimento do usuário: 12.4%
●   Falta de recursos: 10.6%
●   Expectativas não realistas 9.9%
●   Falta de apoio executivo: 9.3%
●   Mudanças de requisitos: 8.7%
●   Falta de planejamento: 8.1%
●   Não precisa mais daquilo: 7.5%
●   Falta de gestão da TI: 6.2%
●   Analfabetismo tecnológico: 4.3%

                                          Times ágeis. @gpupo
BDUF   Fatores médio de fracasso
●Falta de insumos do usuário: 12.8%
●Requisitos & Especificações incompletas: 12.3%
●Mudanças nos requisitos & especificações: 11.8%
●Falta de apoio executivo: 7.5%
●Ambiente tecnológico incompleto: 7.0%
●Falta de recursos: 6.4%
●Expectativas irrealistas: 5.9%
●Objetivos nebulosos: 5.3%
●Ciclos (tempo) irrealistas: 4.3%
●Novas tecnologias: 3.7%

                                         Times ágeis. @gpupo
Evolutionary design

“With evolutionary design, you
  expect the design to evolve
 slowly over the course of the
   programming exercise…”
Evolutionary design

   “There's no design at the
beginning. You begin by coding
      a small amount of
  functionality, adding more
 functionality, and letting the
   design shift and shape!”

        Martin Fowler
“Gerenciando o desenvolvimento de
grandes sistemas de software” -
Winston W. Royce, em 1970.
BDUF/BRUF




            Times ágeis. @gpupo
BDUF – BRUF // motivos
1)Mistakenly compare software development to civil
engineering
2)Get motivated to do so by the business
3)Think comprehensive requirements documentation
means something
4)Don't know any better
5)Are overly specialized
6)Believe programmers don't have the skills to model
themselves
7)They got sidetracked by traditional data
professionals.

                                             Times ágeis. @gpupo
BDUF – BRUF // impacto
1)It reduces your willingness to embrace
evolving requirements

2)It increases the chance of poor decisions

3)It increases the chance your vision will be
ignored

4)It decreases morale


                                        Times ágeis. @gpupo
BDUF – BRUF // impacto




                 Times ágeis. @gpupo
Escopo fechado
• A incompetência sempre é do
  desenvolvedor (?!)




                            Times ágeis. @gpupo
Escopo fechado
•   Garantias geram desperdícios
•   Software não é igual
•   Software não é prédio
•   Você não sabe o tempo




                               Times ágeis. @gpupo
BDUF   Fatores Sucesso
●Envolvimento do usuário: 15.9%
●Apoio executivo: 13.9%
●Declaração de requisitos clara e limpa: 13%
●Planejamento apropriado: 9.6%
●Expectativas realistas: 8.2%
●Milestones pequenos: 7.7%
●Equipe competente: 7.2%
●Propriedade: 5.3%
●Visão e objetivos claros: 2.9%
●Trabalho duro e equipe focada: 2.4%

                                           Times ágeis. @gpupo
BDUF – BRUF // solução
1)You still need to do some initial envisioning up front,
including both requirements envisioning and
architectural envisioning

2)You're still doing some initial up front modeling, it's
just that you are doing so in an effective and agile
manner.

3)You should create very slim, high-level models early
in the project which overview the scope of the effort
and identify a likely architectural strategy.


                                                 Times ágeis. @gpupo
“Gerenciando o desenvolvimento de
grandes sistemas de software” -
Winston W. Royce, em 1970.
Arte
Arte




       Possível fazer por blocos?
Funcionalidades
   não são
 commodities
Existe um ciclo de
aprendizado
Big design up front (BDUF)
Lean
●   Levar a tomada de decisão para o chão da fábrica

●   Empowerment

●   Autonomia




                                            Times ágeis. @gpupo
Lean
●   Levar a tomada de decisão para o chão da fábrica

●   Empowerment

●   Autonomia




                                            Times ágeis. @gpupo
Escopo aberto
• Princípio de Pareto
• 20% entregue,
• Menor frustação na quebra de
  espectativas




                             Times ágeis. @gpupo
Some Design Up Front is
        Good
Like a horse with blinders on,
avoiding some degree of Big
Design Up Front (BDUF) can
force your team and project into
tunnel vision, because… If you
don’t look at what you’re building
in its entirety, it is harder to see
the big picture, to have to that ah-
hah moment that leads to a break
through, to maintain conceptual
integrity, or have a successful
project.

                                       Times ágeis. @gpupo
Design
●
  Faça o justo necessário:
não faça aquém nem além do
que deve ser feito na iteração
●  Refatoração : sempre que
puder melhore o código



                         Times ágeis. @gpupo
Big problem

“When you're up against a big
problem it's easy to get stuck
— you'll overthink the problem,
spend days or weeks worrying
  about it and sketching out
   solution after solution.”
Big problem

“Sketching is great, but at the
end of the day we've found it's
better to get something done.
   That means focusing on
      something small. “
            Jonathan Smiley - ZURB
Comece
algo
pequeno
Evoluá-o



     Comece
     algo
     pequeno
Design
● Foco nas tarefas que
agregam valor na visão do
cliente
●   Fazer o simples e depois
evoluir o código de acordo
com a necessidade


                        Times ágeis. @gpupo
Estimativas




               building a plan
                you and your
                customer can
                work with and
                    believe in

              Times ágeis. @gpupo
Big design up front (BDUF)
Estimativas
parar de tentar obter algo que as estimativas iniciais
não pode dar (precisão e exatidão) e focar no que
realmente importa:

 a construção de um plano que você
e seu cliente pode trabalhar e
acreditar dentro




                                              Times ágeis. @gpupo

Mais conteúdo relacionado

PPTX
Tema 2
PDF
Website Redesign Presentation
PDF
How to make friends and influence developers - @stekenwright at #TechSEO Summat
PPTX
Content Strategy: The Importance of Content Strategy in Marketing
PDF
The Other C Word: What makes great content marketing great
PDF
6 Step Content Strategy
PDF
Cost Effective Multilingual Content Optimization in An International SEO Process
PDF
1695182741762.pdf
Tema 2
Website Redesign Presentation
How to make friends and influence developers - @stekenwright at #TechSEO Summat
Content Strategy: The Importance of Content Strategy in Marketing
The Other C Word: What makes great content marketing great
6 Step Content Strategy
Cost Effective Multilingual Content Optimization in An International SEO Process
1695182741762.pdf

Mais procurados (20)

PPT
Forget the Fairy Dust - How to Create Content That (Actually) Works
PDF
Validando hipótesis de negocio - Alex canizales
PDF
SEO Migrations for International Web Setups
PDF
THE SCIENCE BEHIND EFFECTIVE FACEBOOK AD CAMPAIGNS
PPTX
How Search Works
PPTX
Modelo PPT para apresentação de propostas de redes sociais
PDF
A Simple method to Create Content using NLP
PDF
Apresentação Agência de Mídias Sociais | B-Young
PDF
Build Systems, Not Stuff
PDF
Slides That Rock
PDF
BrightonSEO Slides April 2023
PDF
Secrets to a Great Team
PPT
Presentation social media marketing for Real Estate
PDF
The 4 Most Important PowerPoint RULES for Successful Presentations
PDF
Crap. The Content Marketing Deluge.
PDF
Managing the politics of content
PDF
Strong but wrong
PDF
PubCon, Lazarina Stoy. - Machine Learning in Search: Google's ML APIs vs Open...
PPTX
Shopify SEO - BrightonSEO 2021
PDF
Marketing's 7 Deadly Sins
Forget the Fairy Dust - How to Create Content That (Actually) Works
Validando hipótesis de negocio - Alex canizales
SEO Migrations for International Web Setups
THE SCIENCE BEHIND EFFECTIVE FACEBOOK AD CAMPAIGNS
How Search Works
Modelo PPT para apresentação de propostas de redes sociais
A Simple method to Create Content using NLP
Apresentação Agência de Mídias Sociais | B-Young
Build Systems, Not Stuff
Slides That Rock
BrightonSEO Slides April 2023
Secrets to a Great Team
Presentation social media marketing for Real Estate
The 4 Most Important PowerPoint RULES for Successful Presentations
Crap. The Content Marketing Deluge.
Managing the politics of content
Strong but wrong
PubCon, Lazarina Stoy. - Machine Learning in Search: Google's ML APIs vs Open...
Shopify SEO - BrightonSEO 2021
Marketing's 7 Deadly Sins
Anúncio

Semelhante a Big design up front (BDUF) (20)

PDF
12 passos para um código melhor
PDF
Palestra Geinfo 2011 - Desenvolvimento ágil no governo
PPTX
Metodologia ágil
KEY
1. Abordagens Ágeis
PDF
Open Up – Gerenciando Projetos Sob Principios Ágeis
PPTX
Synapses Scrum
PPTX
Introdução às Metodologias Ágeis de Desenvolvimento
PDF
UNIFESO 2019 - Gestão de Projetos Além do Óbvio
PDF
Agile, mudando o foco
PDF
PDF
PPTX
Continuous Delivery
PDF
Métodos Ágeis - Manifesto Ágil, Scrum e XP
PPTX
Team System - Metodologias ágeis e conceitos - scrum, msf, xp (TechDays 2007)
PDF
Tradução resumida do livro "The Elements of Scrum"
PPTX
Gestão Ágil de Projetos
PPTX
Desenvolvimento ágil de software
PDF
29110 rioinfo painel_i v1
PDF
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
PDF
Bate-papo com Especialista Terra XP
12 passos para um código melhor
Palestra Geinfo 2011 - Desenvolvimento ágil no governo
Metodologia ágil
1. Abordagens Ágeis
Open Up – Gerenciando Projetos Sob Principios Ágeis
Synapses Scrum
Introdução às Metodologias Ágeis de Desenvolvimento
UNIFESO 2019 - Gestão de Projetos Além do Óbvio
Agile, mudando o foco
Continuous Delivery
Métodos Ágeis - Manifesto Ágil, Scrum e XP
Team System - Metodologias ágeis e conceitos - scrum, msf, xp (TechDays 2007)
Tradução resumida do livro "The Elements of Scrum"
Gestão Ágil de Projetos
Desenvolvimento ágil de software
29110 rioinfo painel_i v1
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
Bate-papo com Especialista Terra XP
Anúncio

Último (12)

PPTX
Utilizando code blockes por andre backes
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
Jira Software projetos completos com scrum
PDF
Manejo integrado de pragas na cultura do algodão
Utilizando code blockes por andre backes
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Tipos de servidor em redes de computador.pptx
Processos no SAP Extended Warehouse Management, EWM100 Col26
Viasol Energia Solar -Soluções para geração e economia de energia
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Conceitos básicos de Redes Neurais Artificiais
Analise Estatica de Compiladores para criar uma nova LP
Jira Software projetos completos com scrum
Manejo integrado de pragas na cultura do algodão

Big design up front (BDUF)

  • 1. B D U F Gilmar Pupo @gpupo
  • 2. Big B Design D Up U Front F Gilmar Pupo @gpupo
  • 3. Sobre @gpupo • Desenvolvedor e consultor em GTI • Dependente de documentação, bookmarks e anotações • Doctrine ORM, Symfony, Perl, Bash, Linux, jQuery e o que funcionar... • Membro e co-fundador do #maisagil • Empreendedor no @hotellinux www.gilmar.eti.br www.gpupo.com Times ágeis. @gpupo
  • 4. BDUF/BRUF Big design up front (BDUF). Big requirements up front (BRUF). Times ágeis. @gpupo
  • 5. BDUF/BRUF Aprendemos e acreditamos na metáfora da construção de prédios, suas plantas e seus operários Times ágeis. @gpupo
  • 6. BDUF/BRUF Aprendemos e acreditamos na metáfora da construção de prédios, suas plantas e seus operários Times ágeis. @gpupo
  • 7. BDUF/BRUF Aprendemos e acreditamos na metáfora da construção de prédios, suas plantas e seus operários Times ágeis. @gpupo
  • 8. BDUF/BRUF E o sonho se realiza... Times ágeis. @gpupo
  • 9. BDUF/BRUF “The Project Management Triangle” Ou “Iron triangle” Times ágeis. @gpupo
  • 10. BDUF/BRUF “The Previsibilidade Project Management Triangle” Ou “Iron triangle” Risco reduzido Garantia de entrega Times ágeis. @gpupo
  • 11. BDUF/BRUF Pontes normalmente são entregues no prazo, dentro do orçamento e “não caem” Times ágeis. @gpupo
  • 12. BDUF/BRUF Pontes normalmente são entregues no prazo, dentro do orçamento e “não caem” X Softwares raramente são entregues no prazo ou dentro do orçamento. E normalmente eles tem bugs Times ágeis. @gpupo
  • 13. Pesquisa do The Standish Group Foco de identificar: ● As falhas dos projetos de software ● Os maiores fatores que influenciam estas falhas ● Os pontos chave que podem reduzir estas falhas Times ágeis. @gpupo
  • 14. BDUF/BRUF Times ágeis. @gpupo
  • 15. BDUF/BRUF Projetos cancelados Projeto dentro do prazo, ou não utilizados dentro do orçamento e com boa parte do escopo Projeto funcionando, mas entregue sem atender ou custo, ou esforço ou com o escopo parcial The Standish Group Chaos Report Times ágeis. @gpupo
  • 16. Standish Group EUA • > 250 bilhões de dólares cada ano no desenvolvimento de software • custo médio de um projeto em uma grande empresa é de 2.3 milhões de dólares Times ágeis. @gpupo
  • 17. Standish Group EUA • custo médio de um projeto em uma empresa média é de 1.4 milhões de dólares • 434 mil dólares para uma empresa pequena Times ágeis. @gpupo
  • 18. E a grande maioria destes projetos falha. Os projetos de desenvolvimento de software estão no caos
  • 19. E a grande maioria destes projetos falha. Os projetos de desenvolvimento de software estão no caos
  • 21. trocam-se processos e nomes E os os projetos de desenvolvimento de software continuam no caos
  • 22. BDUF – BRUF Uma década e os mesmos erros. Tem algo errado? Times ágeis. @gpupo
  • 23. BDUF – BRUF Fatores de fracasso ● Requisitos Incompletos: 13.1% ● Falta de envolvimento do usuário: 12.4% ● Falta de recursos: 10.6% ● Expectativas não realistas 9.9% ● Falta de apoio executivo: 9.3% ● Mudanças de requisitos: 8.7% ● Falta de planejamento: 8.1% ● Não precisa mais daquilo: 7.5% ● Falta de gestão da TI: 6.2% ● Analfabetismo tecnológico: 4.3% Times ágeis. @gpupo
  • 24. BDUF Fatores médio de fracasso ●Falta de insumos do usuário: 12.8% ●Requisitos & Especificações incompletas: 12.3% ●Mudanças nos requisitos & especificações: 11.8% ●Falta de apoio executivo: 7.5% ●Ambiente tecnológico incompleto: 7.0% ●Falta de recursos: 6.4% ●Expectativas irrealistas: 5.9% ●Objetivos nebulosos: 5.3% ●Ciclos (tempo) irrealistas: 4.3% ●Novas tecnologias: 3.7% Times ágeis. @gpupo
  • 25. Evolutionary design “With evolutionary design, you expect the design to evolve slowly over the course of the programming exercise…”
  • 26. Evolutionary design “There's no design at the beginning. You begin by coding a small amount of functionality, adding more functionality, and letting the design shift and shape!” Martin Fowler
  • 27. “Gerenciando o desenvolvimento de grandes sistemas de software” - Winston W. Royce, em 1970.
  • 28. BDUF/BRUF Times ágeis. @gpupo
  • 29. BDUF – BRUF // motivos 1)Mistakenly compare software development to civil engineering 2)Get motivated to do so by the business 3)Think comprehensive requirements documentation means something 4)Don't know any better 5)Are overly specialized 6)Believe programmers don't have the skills to model themselves 7)They got sidetracked by traditional data professionals. Times ágeis. @gpupo
  • 30. BDUF – BRUF // impacto 1)It reduces your willingness to embrace evolving requirements 2)It increases the chance of poor decisions 3)It increases the chance your vision will be ignored 4)It decreases morale Times ágeis. @gpupo
  • 31. BDUF – BRUF // impacto Times ágeis. @gpupo
  • 32. Escopo fechado • A incompetência sempre é do desenvolvedor (?!) Times ágeis. @gpupo
  • 33. Escopo fechado • Garantias geram desperdícios • Software não é igual • Software não é prédio • Você não sabe o tempo Times ágeis. @gpupo
  • 34. BDUF Fatores Sucesso ●Envolvimento do usuário: 15.9% ●Apoio executivo: 13.9% ●Declaração de requisitos clara e limpa: 13% ●Planejamento apropriado: 9.6% ●Expectativas realistas: 8.2% ●Milestones pequenos: 7.7% ●Equipe competente: 7.2% ●Propriedade: 5.3% ●Visão e objetivos claros: 2.9% ●Trabalho duro e equipe focada: 2.4% Times ágeis. @gpupo
  • 35. BDUF – BRUF // solução 1)You still need to do some initial envisioning up front, including both requirements envisioning and architectural envisioning 2)You're still doing some initial up front modeling, it's just that you are doing so in an effective and agile manner. 3)You should create very slim, high-level models early in the project which overview the scope of the effort and identify a likely architectural strategy. Times ágeis. @gpupo
  • 36. “Gerenciando o desenvolvimento de grandes sistemas de software” - Winston W. Royce, em 1970.
  • 37. Arte
  • 38. Arte Possível fazer por blocos?
  • 39. Funcionalidades não são commodities
  • 40. Existe um ciclo de aprendizado
  • 42. Lean ● Levar a tomada de decisão para o chão da fábrica ● Empowerment ● Autonomia Times ágeis. @gpupo
  • 43. Lean ● Levar a tomada de decisão para o chão da fábrica ● Empowerment ● Autonomia Times ágeis. @gpupo
  • 44. Escopo aberto • Princípio de Pareto • 20% entregue, • Menor frustação na quebra de espectativas Times ágeis. @gpupo
  • 45. Some Design Up Front is Good Like a horse with blinders on, avoiding some degree of Big Design Up Front (BDUF) can force your team and project into tunnel vision, because… If you don’t look at what you’re building in its entirety, it is harder to see the big picture, to have to that ah- hah moment that leads to a break through, to maintain conceptual integrity, or have a successful project. Times ágeis. @gpupo
  • 46. Design ● Faça o justo necessário: não faça aquém nem além do que deve ser feito na iteração ● Refatoração : sempre que puder melhore o código Times ágeis. @gpupo
  • 47. Big problem “When you're up against a big problem it's easy to get stuck — you'll overthink the problem, spend days or weeks worrying about it and sketching out solution after solution.”
  • 48. Big problem “Sketching is great, but at the end of the day we've found it's better to get something done. That means focusing on something small. “ Jonathan Smiley - ZURB
  • 50. Evoluá-o Comece algo pequeno
  • 51. Design ● Foco nas tarefas que agregam valor na visão do cliente ● Fazer o simples e depois evoluir o código de acordo com a necessidade Times ágeis. @gpupo
  • 52. Estimativas building a plan you and your customer can work with and believe in Times ágeis. @gpupo
  • 54. Estimativas parar de tentar obter algo que as estimativas iniciais não pode dar (precisão e exatidão) e focar no que realmente importa: a construção de um plano que você e seu cliente pode trabalhar e acreditar dentro Times ágeis. @gpupo