O documento apresenta as credenciais e experiência de Heitor Roriz Filho como Agile Coach e treinador. Ele tem 17 anos de experiência no mercado de desenvolvimento de software e treina times em práticas ágeis como Scrum e XP desde 2007. Ele oferece treinamentos e coaching em português, inglês, espanhol e alemão para a América Latina e Brasil.
3. Há 17 anos no mercado
Desenvolvedor de software
◦ Natural, Cobol, Clipper, Delphi, Java
Analista de Sistemas
ScrumMaster, Product Owner
Treinamento e coaching desde 2007
Agile Coach and Trainer, Rally Software
◦ América Latina e Brasil
◦ Inglês, português, espanhol e alemão
Fortalecimento da comunidade
www.massimus.com
Agile Software Engineering
Heitor Roriz Filho
4. Treinamentos
◦ Scrum para PMPs (Agile PM)
◦ Mastering User Stories
◦ Scrum Introduction (CSD track)
◦ Agile Estimation and Planning (CSD track)
Agile Coaching
◦ Um Scrum Coach não só tem histórias para contar e
respostas para dar, mas acima de tudo tem perguntas para
cada ocasião. Um bom coach sabe que Scrum é a arte do
possível, o melhor time é aquele que entende suas
limitações e, sobretudo, o seu potencial.
www.massimus.com
Agile Software Engineering
Heitor Roriz Filho
5. SWEBOK (IEEE, Computer Society)
◦ The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that is, the
application of engineering to software.
Computer Engineering, Computer Science,
Management, Mathematics, Project
Management, Quality Management, Software
Ergonomics, Systems Engineering
Sommerville, Pressman, etc.
Agile Software Engineering
Heitor Roriz Filho
6. SDLC (Software Development Lifecycle)
◦ Modelo Cascata
Dr. Winston Royce
Agile Software Engineering
Heitor Roriz Filho
8. Complexidade do software
Popularização dos métodos ágeis:
◦ Scrum
◦ XP
Teoria vs. Prática
Construção de software é uma disciplina
legítima de engenharia?
Agile Software Engineering
Heitor Roriz Filho
9. A construção de software não pode ser
considerado uma disciplina puramente de
engenharia
Também não é uma “arte”, como a pintura de
um quadro
Criatividade
Boas práticas
Aspectos
humanos Arte Craftsmanship Engenharia Linguagem
Tecnologia
Orgânico
Agile Software Engineering
Heitor Roriz Filho
10. Desenvolvimento ágil de software
Extreme Programming
Responsabilidade,
baby steps
Valores Princípios Práticas
Multidisciplinaridade,
Comunicação, local de trabalho
Simplicidade, Feedback, informativo, user
Coragem, Respeito stories, trabalho
energizado, pair
programming, TDD,
integração contínua,
design incremental
Agile Software Engineering
Heitor Roriz Filho
11. Promove a multidisciplinaridade
Amadurece o time
Aumenta a interação
Pares devem ser rotacionados com frequencia
Agile Software Engineering
Heitor Roriz Filho
12. 1. Posso desenvolver sem TDD?
2. Sou Agile se não faço TDD?
R1: Sim. Mas cuidado ao se considerar Agile.
R2: Dificilmente.
Agile Software Engineering
Heitor Roriz Filho
13. Agile Modeling, S. Ambler
◦ Caixa de ferramentas
◦ Possui boas práticas
Domain Driven Design, Eric Evans
◦ Nada de novo
◦ Contexto
Ponto em comum:
◦ Simplicidade e foco
Design and code for today!
Agile Software Engineering
Heitor Roriz Filho
14. Por iteração
Atividades
concorrentes
Agile Software Engineering
Heitor Roriz Filho
15. Colaboração com analistas de negócio, ou o
cliente, ou o Product Owner, ou Analista de
Requisitos
Conhecimento PROFUNDO por parte de todos
da equipe de desenvolvedores :
◦ Do negócio
◦ De práticas ágeis
Agile Software Engineering
Heitor Roriz Filho
16. ATDD (Acceptance Test Driven Development)
BDD (Behavior Driven Development)
◦ Simples e iniciam com especificação em linguagem
natural
Agile Software Engineering
Heitor Roriz Filho
17. Requisitos A
n
á
l
i
s
Design e
Implementação Teste
Agile Software Engineering
Heitor Roriz Filho
18. ATDD
Requisitos A
n
á
l
i
s
Design e
TDD
Implementação Teste
Agile Software Engineering
Heitor Roriz Filho
19. Com certificação CSM: apenas 3 dias
◦ Prática de Engenharia Ágil
Sem certificação CSM: todos os 5 dias
◦ Scrum Introduction (1 dia)
◦ Agile Estimation and Planning (1 dia)
◦ Prática de Engenharia Ágil (3 dias)
Ao final é realizada uma prova
Agile Software Engineering
Heitor Roriz Filho
20. Vivenciar as práticas XP
Sentir os valores, interagindo no cotidiano
Aprender sobre visual management sob a
ótica do time
Ajudar na implantação na sua empresa
def test_create_user_fails_with_bad_password
assert !@auth.account_exists?("newacc")
return_code = @auth.create("newacc", "a")
assert !@auth.account_exists?("newacc")
assert_equal :invalid_password, return_code
end
Agile Software Engineering
Heitor Roriz Filho