Upload
massimus-ct
View
2.248
Download
0
Embed Size (px)
DESCRIPTION
Apresentação sobre as aspectos da Engenharia de Software, sua evolução e a contribuição de Agile.
Citation preview
Licença de distribuição e uso
Heitor Roriz Filho, MSc, CSP
Agile Coach and Trainer
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
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
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
SDLC (Software Development Lifecycle)◦ Modelo Cascata
Agile Software Engineering Heitor Roriz Filho
Dr. Winston Royce
Agile Software Engineering Heitor Roriz Filho
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
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
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
Promove a multidisciplinaridade
Amadurece o time
Aumenta a interação
Pares devem ser rotacionados com frequencia
Agile Software Engineering Heitor Roriz Filho
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
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
Agile Software Engineering Heitor Roriz Filho
Por iteração
Atividades concorrentes
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
ATDD (Acceptance Test Driven Development)
BDD (Behavior Driven Development)◦ Simples e iniciam com especificação em linguagem
natural
Agile Software Engineering Heitor Roriz Filho
Agile Software Engineering Heitor Roriz Filho
Requisitos A
n
á
l
i
s
eDesign
Implementação Teste
Agile Software Engineering Heitor Roriz Filho
ATDD
TDD
Requisitos A
n
á
l
i
s
eDesign
Implementação Teste
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
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
Agile Software Engineering Heitor Roriz Filho
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