Arquitetura Ágil, uma abordagem disciplinada

3,590 views

Published on

Arquitetura Ágil, uma abordagem disciplinada

  1. 1. Arquitetura  Ágil,     uma  abordagem  disciplinada   Adriano  Tavares   adriano.tavares@gmail.com   BH,  19  de  outubro,  2013  
  2. 2. Adriano  Tavares     SoKware  Architect,  Agile  Coach   adriano.tavares@gmail.com   hGp://adrianotavares.com   @adrianotavares   hGp://br.linkedin.com/in/adrianotavares         DAD  Black  Belt/CerCfied  Instructor   hGp://DisciplinedAgileConsorCum.org  
  3. 3. MoCvação   ü Apresentar  uma  abordagem  disciplinada  de   como  o  responsável  pela  arquitetura  pode   atuar  no  ciclo  de  vida  de  desenvolvimento  ágil.    
  4. 4. Publico  alvo   ü  Desenvolvedores,  líderes  técnicos  e  arquitetos  envolvidos   em  aCvidades  de  design  de  soluções  técnicas  de  soKware  e   miCgação  de  riscos  técnicos  ao  longo  de  um  projeto  ágil   desde  seu  início  até  a  sua  colocação  em  produção.  
  5. 5. ©  ScoG  Ambler  +  Associates   5  
  6. 6. 5  Mitos  comuns  que  cercam  a   Arquitetura  Ágil   1.  Agilistas  não  “fazem  arquitetura”   2.  Agilistas  iniciam  direto  na  codificação   3.  Agilistas  não  seguem  estratégias  de   arquitetura  corporaCva   4.  Agilistas  não  modelam   5.  Agilistas  não  documentam  
  7. 7. 5  Realidades  sobre  Arquitetura  Ágil   1.  Arquitetura  é  tão  importante  que  agilistas  a   endereçam  ao  longo  de  todo  o  ciclo  de  vida   2.  Agilistas  disciplinados  investem  em  visualização  inicial     (Just  enough  up  front)   3.  Agilistas  disciplinados  trabalham  em  estreita   colaboração  com  profissionais  corporaCvos   4.  Agilistas  disciplinados  modelam  explicitamente    de   uma  forma  leve  ao  longo  de  todo  o  ciclo  de  vida   5.  Agilistas  disciplinados  documentam  entregáveis   conCnuamente  
  8. 8. ACvidades  na  Iniciação  de  Projetos   EsCmaCva  Inicial   Modelagem  Inicial  dos  Requisitos   Modelagem  Inicial  da  Arquitetura   JusCficar  o  Projeto   Cronograma  Alto-­‐nível  do  release     65%   70%   75%   80%   85%   90%   95%   Source:  AmbysoK  2009  Agile  Project  IniCaCon  Survey  
  9. 9. Contextos  para  adaptação  da  agilidade  em  escala   Agility   at   Scale   Disciplined   Agile   Delivery   Agile   Disciplined  agile  delivery  com  um  ou  mais  fatores  de  complexidade:   §  Times  grandes  (>30)   §  Times  geograficamente  distribuídos   §  Compliance  regulatórios  (PM,  EA,  SP)   §  Complexidade  de  domínio  ou  técnica   §  Questões  culturais/organizacionais   §  Distribuição  organizacional   •  •  •  •  •  Foco  na  entrega  (Delivery)   Ciclo  de  vida  dirigido  por  Risco-­‐Valor   Auto-­‐organização  com  governança  apropriada  (>15<30)   Dirigido  por  metas   Aderência  CorporaCva   •  •  •  •  •  Foco  na  construção   Ciclo  de  vida  dirigido  por  valor   Times  alto-­‐organizados  (<15)   PrescriCvo  (Scrum,  XP,  AM)   Aderência  a  Times  de  projeto   The Agile Scaling Model (ASM), é um framework conceitual desenvolvido pela IBM  
  10. 10. Disciplined  Agile  Delivery  (DAD)   Disciplined  Agile  Delivery  (DAD)  é  um   framework  de  processo  de  decisão     As  principais  caracterísCcas  de  DAD:   ü Abordagem  ágil  hibrida;   ü Pessoas-­‐primeiro;   ü Ciclo  de  vida  de  entrega  completo;   ü Dirigido  por  metas;   ü Focado  em  soluções  de  TI;   ü Ciclo  de  vida  Risco-­‐valor;   ü Aderência  CorporaCva;   ü Escalável.  
  11. 11. DAD  é  uma  abordagem  ágil  híbrida   DevOps   Outside  In  Dev.   OpenUP   Scrum   Lean   XP   Agile  Data   Agile  Modeling   Kanban   …  e  mais   DAD  uCliza  estratégias  comprovadas  de  várias  fontes   fornecendo  uma  estrutura  de  decisão  para  orientar  a  sua  adoção  e     customização  de  uma  maneira  dirigida  pelo  contexto.  
  12. 12. Pessoas-­‐primeiro:  Papéis  em  Cmes  DAD  
  13. 13. Ciclo  de  vida  DAD  básico  
  14. 14. Quem  é  o  responsável  pela   arquitetura  em  Cmes  ágeis?  
  15. 15. O  Que  faz  o  Architecture  Owner?   ü  Orienta  a  criação  e  evolução  da  arquitetura  da  solução;   ü  Lidera  o  esforço  inicial  de  visualização  da  arquitetura;   ü  Lidera  a  equipe  nas  questões  e  práCcas  de  arquitetura;   ü  Entende  as  diretrizes  e  os  padrões  de  arquitetura  da  sua   organização  e  garante  que  a  equipe  os  segue;   ü  Garante  que  o  sistema  vai  funcionar,  incenCvando  o   desenho  e  refatoração  apropriado;   ü  Garante  que  o  sistema  seja  integrado  e  testado   frequentemente;   ü  Tem  a  palavra  final  sobre  as  decisões  técnicas,  mas  não   as  dita.  
  16. 16. Times  pequenos  (<15)   •  Architecture  Owner  geralmente  é   assumido  pelo  Team  Lead.   •  Não  há  necessidade  de  atribuir  o   papel  formalmente.   •  Baixa  necessidade  de  trabalhar  o   escopo  e  a  arquitetura  na  iniciação.   •  Baixa  necessidade  de  automação  de   ferramentas.  
  17. 17. Times  Médios  (>15<30)     •  Necessidade  de  maior   esforço  de  planejamento   durante  a  iniciação.   •  Reuniões  Diárias  com  cada   Cme  e  reuniões  de   coordenação  dos  Cmes.   •  Necessidade  de  apoio.  
  18. 18. Times  Grandes  (>30)   Sugestões  de  organização   de  sub-­‐Cmes:     •  Features     Time  que  trabalha  em   uma  feature  fim-­‐a-­‐fim.   Necessidade  de:     •  Coordenação  de   gerenciamento  de   projetos.   •  Coordenação  de   requisitos.   •  Coordenação  da   Arquitetura.   •  Componentes:     Time  focado  em   compoenentes   específicos.   •  Integração     Time  focado  na   integração  das  features   e  componentes.    
  19. 19. Arquitetura  Ágil  em  Times  Grandes   •    •  •  Times  grandes  são  sinônimo  de  maior  complexidade  de  domínio,  complexidade   técnica  ou  desafios  culturais   Iniciação:   –  InvesCr  um  pouco  mais  de  tempo  nos  requisitos  iniciais;   –  Abordagem  “API  First”  para  a  arquitetura  onde  você  define  a  interface  para   componentes  no  início  do  projeto;   –  É  provável  que  haja  um  pouco  mais  de  especificação  inicial.   Construção:   –  Product  Owners  terão  de  coordenar  as  dependências  de  requisitos;   –  Architecture  Owners  terão  de  coordenar  as  dependências  técnicas;   –  TDD  pode  precisar  ser  melhorado  com  testes  independentes  em  paralelo.  
  20. 20. DAD  é  dirigido  por  metas  
  21. 21. Agilistas  Disciplinados  adotam  uma   abordagem  dirigida  por  metas   Meta         IdenCficar  a   estratégia  técnica   inicial   *   Questões   Nível  de  detalhe   Tipos  de  visões   Estratégia  de  Modelagem   Estratégia  de  Entrega     *   Opção   Opção  Default   Vantagens   Desvantagens   Considerações   Informal  Modeling  Sessions   Formal  Modeling  Sessions   Single  Candidate  Architecture   MulCple  Candidate  Architectures  
  22. 22. Meta:  IdenCficar  a  estratégia  técnica   inicial  
  23. 23. Meta:  Provar  a  Arquitetura  o  mais   cedo  possível    
  24. 24. Arquitetura  ao  longo  da  construção   Architecture  owner  facilita  as   decisões  arquiteturais     ao  longo  da  construção   Visão  Arquitetural   guia  os  esforços  de   desenvolvimento   MiCgação  de  riscos  mais   cedo  provando  que  a     arquitetura  funciona   DAS  e  modelos     são  atualizados   quando  necessário   Architecture  spikes   para  explorar  as   questões  técnicas  
  25. 25. Conclusão   ü Formalize  o  papel  de  Architecture  Owner  quando  seu   Cme  crescer;   ü Adote  uma  abordagem  de  arquitetura  colaboraCva;   ü Adote  metas  para  guiar  o  trabalho  de  arquitetura;   •  IdenCficar  a  estratégia  inicial   •  Provar  a  arquitetura  o  mais  cedo  possível   ü Emergent  Design  é  uma  abordagem  consistente  para   Arquitetura  Ágil  Disciplinada.  
  26. 26. Disciplined  Agile  CerCficaCon   DisciplinedAgileConsorCum.org   Disciplined  Agile  Yellow  Belt     –  IndicaCon  that  the  person  is  new  to  disciplined  agile  but  eager  to   learn   –  Beginner  cerCficaCon   Disciplined  Agile  Green  Belt   –  IndicaCon  that  the  person  is  striving  to  be  a  professional   –  PotenCal  to  be  a  junior  coach   –  Intermediate  cerCficaCon   Disciplined  Agile  Black  Belt   –  IndicaCon  that  the  person  is  an  expert   –  OKen  a  senior  coach,  instructor,  or  agile  transformaCon  lead   –  Expert  cerCficaCon  
  27. 27. CerCfied  Disciplined  Agile  Courses   DisciplinedAgileConsorCum.org   Introductory:   DA  101:  The  Disciplined  Agile  Delivery  Experience  Workshop  (21  PDUs)   DA  103:  Disciplined  Agile  Delivery  for  ExecuCves  (7  PDUs)   DA  104:  IntroducCon  to  Disciplined  Agile  Delivery  (14  PDUs)     Advanced:   DA  203:  Agile  Architecture  with  Discipline  (7  PDUs)   DA  210:  Disciplined  Agile  Delivery  for  Experienced  Agile  Professionals  (7  PDUs)   DA  301:  Advanced  Disciplined  Agile  Delivery  (7  PDUs)   DA  305:  Disciplined  Agile  Delivery  +  Advisor  Coaches  Clinic  (21  PDUs)  

×