Globalcode – Open4education
Arquitetura de Software em Times Ágeis
Sérgio Giraldo
Scrum Master/Arquiteto de Software no HSBC
sergiorgiraldo@outlook.com
@sergiorgiraldo
Globalcode – Open4education
Arquitetura de Software
“The software architecture of a computing system
is the set of structure needed to reason about the
system, which comprise software elements,
relations among them, and properties of both.”
Globalcode – Open4education
Agile Manifesto,
Frameworks, Times
“Working software over comprehensive
documentation” {TOGAF, FEAF}
1 arquiteto de software X time auto-organizado
responsável pela arquitetura
Globalcode – Open4education
Responder a mudanças
“Responding to change over following a plan”
Globalcode – Open4education
Arquitetura evolutiva/Design
emergente
Em times ágeis, o design do software emerge das
entregas feitas iterativamente e é resultado das
decisões e intenções do time
O design pode ser separado em 2 partes:
arquitetura de software e detalhes
Globalcode – Open4education
Dia 1
Se o design emerge dia após dia, a arquitetura do
software deve ser pensada desde o primeiro dia do
seu sistema
Globalcode – Open4education
BDUF/Inércia
Quanto é preciso fazer, falar, documentar?
Impacto no custo
Globalcode – Open4education
Arquitetura o suficiente
Você pode ter sucesso ou falhar
Você pode ignorar, aceitar ou implementar
arquitetura de software
Faça apenas o necessário para seu sistema
alcançar os objetivos
Globalcode – Open4education
Riscos
Agile prega o acompanhamento constante dos
riscos do projeto
Globalcode – Open4education
Risk-driven model
1. Identificar e priorizar riscos
2. Aplicar técnicas para tratar os riscos
identificados
3. Avaliar o risco
Globalcode – Open4education
Risk-driven model
1. Identificar e priorizar riscos
2. Aplicar técnicas para tratar os riscos
identificados
3. Avaliar o risco
Globalcode – Open4education
Risk-driven model
1. Identificar e priorizar riscos
2. Aplicar técnicas para tratar os riscos
identificados
3. Avaliar o risco
Globalcode – Open4education
O suficiente
Não há mais riscos cuja aparição possa acarretar
o fracasso do seu projeto
Globalcode – Open4education
Agile e arq. orientada por
risco
Cada iteração deve reavaliar se há riscos novos e
se as ações mitigatórias continuam suficientes
Backlog de estórias e riscos
Globalcode – Open4education
Meus projetos
Sprint 0: workshop de riscos
Reuniões quinzenais de 30 minutos com o time
apenas sobre arquitetura de software
Spikes!!!
Globalcode – Open4education
3 bullets
Pense na arquitetura de software desde o 1º dia
Use riscos para orientar a arquitetura
Acompanhe os riscos junto com seu backlog
Globalcode – Open4education
Obrigado
sergiorgiraldo@outlook.com
@sergiorgiraldo

Arquitetura de software em times ágeis

Notas do Editor

  • #3 “A software architecture is an abstraction of the run-time elements of a software system during some phase of its operation. A system may be composed of many levels of abstraction and many phases of operation, each with its own software architecture.” FIELDING2 1: http://resources.sei.cmu.edu/asset_files/TechnicalReport/1996_005_001_16457.pdf 2: http://bit.ly/1fe7BXX
  • #4 1: http://bit.ly/1vDH6iO
  • #5 1: http://bit.ly/1vDH6iO
  • #6 1: http://www.amazon.com/Emergent-Design-Evolutionary-Professional-Development/dp/0321889061 2: http://www.ibm.com/developerworks/library/j-eaed1/index.html 3: http://www.amazon.com/Just-Enough-Software-Architecture-Risk-Driven/dp/0984618104