desenvolvimento Ágil de software
DESCRIPTION
Apresentação sobre as aspectos da Engenharia de Software, sua evolução e a contribuição de Agile.TRANSCRIPT
![Page 1: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/1.jpg)
Licença de distribuição e uso
![Page 2: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/2.jpg)
Heitor Roriz Filho, MSc, CSP
Agile Coach and Trainer
![Page 3: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/3.jpg)
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
Agile Software Engineering Heitor Roriz Filho
www.massimus.com
![Page 4: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/4.jpg)
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.
Agile Software Engineering Heitor Roriz Filho
www.massimus.com
![Page 5: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/5.jpg)
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
![Page 6: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/6.jpg)
SDLC (Software Development Lifecycle)◦ Modelo Cascata
Agile Software Engineering Heitor Roriz Filho
Dr. Winston Royce
![Page 7: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/7.jpg)
Agile Software Engineering Heitor Roriz Filho
![Page 8: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/8.jpg)
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
![Page 9: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/9.jpg)
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
Agile Software Engineering Heitor Roriz Filho
Arte EngenhariaCraftsmanship
Criatividade
Aspectos humanos
Orgânico
Boas práticas
Linguagem
Tecnologia
![Page 10: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/10.jpg)
Desenvolvimento ágil de software
Extreme Programming
Agile Software Engineering Heitor Roriz Filho
Valores Princípios Práticas
Comunicação, Simplicidade, Feedback,
Coragem, Respeito
Responsabilidade, baby steps
Multidisciplinaridade, local de trabalho informativo, userstories, trabalho energizado, pair
programming, TDD, integração contínua, design incremental
![Page 11: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/11.jpg)
Promove a multidisciplinaridade
Amadurece o time
Aumenta a interação
Pares devem ser rotacionados com frequencia
Agile Software Engineering Heitor Roriz Filho
![Page 12: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/12.jpg)
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
![Page 13: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/13.jpg)
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
![Page 14: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/14.jpg)
Agile Software Engineering Heitor Roriz Filho
Por iteração
Atividades concorrentes
![Page 15: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/15.jpg)
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
![Page 16: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/16.jpg)
ATDD (Acceptance Test Driven Development)
BDD (Behavior Driven Development)◦ Simples e iniciam com especificação em linguagem
natural
Agile Software Engineering Heitor Roriz Filho
![Page 17: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/17.jpg)
Agile Software Engineering Heitor Roriz Filho
Requisitos A
n
á
l
i
s
eDesign
Implementação Teste
![Page 18: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/18.jpg)
Agile Software Engineering Heitor Roriz Filho
ATDD
TDD
Requisitos A
n
á
l
i
s
eDesign
Implementação Teste
![Page 19: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/19.jpg)
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
![Page 20: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/20.jpg)
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
Agile Software Engineering Heitor Roriz Filho
def test_create_user_fails_with_bad_password
assert [email protected]_exists?("newacc")
return_code = @auth.create("newacc", "a")
assert [email protected]_exists?("newacc")
assert_equal :invalid_password, return_code
end
![Page 21: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/21.jpg)
Agile Software Engineering Heitor Roriz Filho
![Page 22: Desenvolvimento Ágil de Software](https://reader034.vdocuments.pub/reader034/viewer/2022050905/549675ecac7959132e8b5129/html5/thumbnails/22.jpg)
Heitor Roriz Filho – Agile MC & Agile Metrics
AGILE SOFTWARE
ENGINEERINGHeitor Roriz Filho, MSc, CSM, CSP
http://www.massimus.com
http://br.linkedin.com/in/hroriz@hroriz