• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Desenvolvimento de Software para Baixa Plataforma
 

Desenvolvimento de Software para Baixa Plataforma

on

  • 1,506 views

Fase Artística, Fase Engenharia, Fase Arquitetura, Lean Manufactoring, Lean IT e LSD

Fase Artística, Fase Engenharia, Fase Arquitetura, Lean Manufactoring, Lean IT e LSD

Statistics

Views

Total Views
1,506
Views on SlideShare
1,506
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Desenvolvimento de Software para Baixa Plataforma Desenvolvimento de Software para Baixa Plataforma Document Transcript

    • Desenvolvimento de Software para baixa plataforma1 Fase Artística ● ou artesanal ● profissionais não especializados ○ Engenheiros ○ Matemáticos ○ Adm. Empresas ● sem metodologia ● sem padrões ● soluções diferentes a cada aplicação ● aplicações caras ● objetivos "simples" e específicos ● computadores fora da rede2 Fase Engenharia ● problemas aumentavam ● complexidade aumentava ● máquinas em rede ● software caros ● longo tempo de desenvolvimento ● necessário desenvolver ○ novos paradígmas ○ tecnologias de software ○ metodologias ● profissionais ○ reviram técnicas antigas ■ não funcionavam ● Oritentação a Objetos ○ paradigma da computação que une funcionalidade e estado no objeto ○ MIT em 1950/1960 para ambientes de inteligência artificial ○ formalmente em 1960 com Simula 67 ○ anos 70 com Smaltalk da Xerox ○ predominante em 1990 com ■ Visual FoxPro3 ■ C++ ■ Delphi ● Design Pattern ○ veio da engenharia e arquitetura (1977) ○ livro publicado em 1994 ○ marca uso de conceitos de outras áreas ● RUP(UML) ○ metodologia proprietária pela Raional (hoje da IBM) ○ surgimento em 95~98 ● CASE 1989~1995 ○ Computer Aided Software Engineering
    • ○ x CAD ○ cojunto de ferramentas e métodos ○ criar sistemas ■ alta qualidade ■ sem erros ■ fácil manutenção ■ sem depreciação ○ Geradores de Código ■ podiam criar produtos ● Framework ○ Enterprise JavaBeans ■ EJB 1.0 em 1998 ■ J2EE ● especificação ● API muito complexa ○ .Net em 2000 ○ Rails, Django, Sinatra3 Fase Arquitetura ● problemas ○ mais relacionados a negócio ○ alta volatilidade de regras ○ custo do software ○ tempo de desenvolvimento ○ tempo de resposta ● uso do embasamento da fase Engenharia ● uso de Frameworks ● RAD ○ modelo de processos de desenvolvimento iterativo e incremental de ciclo de vida extremamente curso (60 a 90 dias) ○ lança a idéia de planejamento mínimo e rápida prototipação ○ 1980 - modelo desenvolvimento espiral Barry Boehm ○ 1982 - modelo desenvolvimento evolucionário Tom Glib ○ RIPP ■ Rapid Interative Production Prototyping ○ melhor fase 1990 ○ MSF ■ Microsoft Solution Framework ■ 1994 ■ boas práticas ■ Microsoft usa Cascata/espiral ● Agile ○ conjunto de métodos de desenvolvimento criado como resposta ao uso indiscriminado do CMMI, RUP, PMBOK
    • ■ processos lentos e gordos ■ grande "Lead Time" ■ muito Work in Process○ framework conceitual○ Agile Manifesto em 2001○ DSDM ■ Dynamic System Development Method ■ 1994 ■ primariamente par disciplinar o RAD ■ 2007 ganha autonomia ■ baseado em limitação ● tempo ● recurso ■ JAD ● Joint Application Design ● processos para colega de requerimentos ● o usuário participa do desenvolvimento ● JAD workshops ○ IT ○ knowledge workers○ AUP ■ Agile Unified Process ■ RUP para Agile ■ desenvolvido pela IBM○ Agile Modeling ■ suporte a outros métodos ■ diminui a falta de modelagem ■ proporcional alguma documentação○ Crystal Clear ■ metodologia "leve" ■ projetos não críticos ■ foca eficiência e habilidade ■ foca pessoas e não processos e ferramentas○ XP ■ Extreme Programming ■ 1999 ■ foco ● qualidade ● responsividade na mudança de requerimentos ■ TDD ● Test Driven Development ● Kant Beck 2003 ● técnica baseada no ciclo curto ○ caso de teste ○ teste ○ código ○ teste ○ refatora ■ BDD ● Behavior Driven Development ● resposta ao TDD ● Dean North 2003
    • ● técnica insentiva colaboração ○ desenvolvedores ○ QA ○ negócio ○ não técnicos ● o comportamento determina o teste ● primeiro framework - JBehave ○ java ● RBehave ○ Ruby 2007 ○ incorporou ao RSpec ○ livro de RSpec e Cocumber em 2010 ● guiado por valores de negócio ○ Outside-in Development ○ FDD ■ Feature Driven Development ■ 2002 ■ processo baseado em "melhores práticas" ■ foca ● funcionalidade de valor para o cliente (feature) ● baseado em modelo ○ Scrum ■ "restart" de partica rugby após pequena infração ■ mais voltado a gerenciamento ■ novos paradígmas para gerenciamento ■ empirical process control ■ decisões tomadas pela equipe ○ Lean Software Development ■ derivado ● Lean Manugacturing ● Lean ID ■ tradução para princípios e práticas ● 2080 ○ Software Concept ○ 2005 ○ "inversão" do princípio de pareto ○ princípios ■ foco em funcionalidade ■ construção ou compra ■ prototipação ■ técinicas agile4 Lean Manufactoring ● Manufatura enxuta ● sistema Toyota de produção (TPS) 1990 ● filosofia de gestão ● totalmente focado na criação de VALOR para o cliente final ● valor é qualquer "coisa" que o
    • clientes esteja pronto para pagar● na otimização busca-se preservar o valor com menos trabalho● estratégia na eliminação de disperdícios● eliminando disperdício melhora qualidade, tempo e custo● ferramentas ○ processo contínuo ○ análise do fluxo (kanban) ○ produção por pull (kanban) ○ melhoramente contínuo (kaizen) ○ qualidade total ○ flexibilidade● tipos desperdícios ○ mura ■ irregularidade ○ muda ■ supéfulo ■ desnecessário ○ muri ■ impossível ■ muito difícil● classificação ○ Transportation ■ riscos ■ danos ■ perdas ■ custo ■ não transforma o produto ○ Inventory ■ de materiais ■ de trabalho em processo ■ de produto acabado ○ Motion ■ danos a quem cria o produto ■ desgaste de equipamentos ■ stress de funcionários ■ acidentes ○ Waiting ■ produto parado ○ Over-processing ■ além do pedido pelo cliente ■ melhor que o necessário ■ mais precisa que o necessário ○ Over-production ■ aumenta ● inventory ● waiting ● motion ● etc ○ Defects ■ retrabalho
    • 5 Lean IT ● extensões dos princípios Lean para o desenvolvimento e gerenciamento de IT ● basea-se na eliminação de desperdícios ● desperdício ○ trabalho que não adiciona valor ○ nova classe ■ Employee Knowledge ● falha em captar novas idéias ● retenção do conhecimento ● implementação incremental ● complementar a uma metodologia6 LSD ● Lean Software Development ● livro de Mary Poppendieck e Tom Poppendieck ● 2003 ● 7 princípios Lean ○ Eliminar Desperdícios ○ Aumentar conhecimento ○ Postergar definições o máximo ○ Entregar o mais rápido possível ○ Fortalecer a equipe ○ Integridade implicita ■ apresentação ■ entrega ■ implementação ■ acesso ■ facilidade de uso ■ preço ■ solução de problemas ○ Visão do todo ■ desenvolvimento por pedações ■ valor pelo todo ■ Think big, act small, fail fast; learn rapidly ● 22 ferramentas ○ Reconhecer disperdícios ○ Aprender a reduzir disperdícios ○ Feedback ○ Iterações ○ Sincronização ○ Definir desenvolvimento básico ○ Criar opções ○ Definir Momento último para definição ○ Tomada de decisões ○ Sistema Puxado
    • ○ Teoria do Enfileiramento○ Custo de atraso○ Auto-determinação○ Motivação○ Liderança○ Expertise○ Integridade percebida○ Integridade conceitual○ Refactoring○ Teste○ Medições (instrumentação)○ Contratos