Agile Software Development Techniques for Daily Use

18
Agile Software Development Techniques for Daily Use. What to Do When the Sprint Starts?

Transcript of Agile Software Development Techniques for Daily Use

Page 1: Agile Software Development Techniques for Daily Use

 Agile Software Development Techniques for Daily Use.

What to Do When the Sprint Starts? 

Page 2: Agile Software Development Techniques for Daily Use

What is TDD?

Write a test that use the methods you haven’t written yet.

Page 3: Agile Software Development Techniques for Daily Use

Test Last

• Hard to write tests• Slow to execute tests• No tests during development• Errors leak to production• Bus factor

Page 4: Agile Software Development Techniques for Daily Use

Test First / TDD

• Code testability for free• Fast test execution• Controlled development process• No regression• Executable Documentation

Page 5: Agile Software Development Techniques for Daily Use

Intent

Page 6: Agile Software Development Techniques for Daily Use

Cost of development

Time

Cost

Traditional

TDD

Page 7: Agile Software Development Techniques for Daily Use

Your turn …

• What to do?– develop SET 

• How?– Java– TDD with JUnit–Methods: size, add, contains, remove– Storage: fixed size array

Page 8: Agile Software Development Techniques for Daily Use

Example

Page 9: Agile Software Development Techniques for Daily Use

Your turn …

• What to do?– develop SET 

• What’s left?–  size– contains– add– remove

Page 10: Agile Software Development Techniques for Daily Use

TDD = Safety net

Page 11: Agile Software Development Techniques for Daily Use

Legacy Code

Code without tests

Page 12: Agile Software Development Techniques for Daily Use

Working with Legacy Code

• Make code testable• Capture behaviour• Refactor• Add features using TDD

Page 13: Agile Software Development Techniques for Daily Use

Example

Page 14: Agile Software Development Techniques for Daily Use

Your turn … 1/2

• What to do?–Write a test

• How?– Understand the code–Write a test• Minimal code change• No bug fixes

Page 15: Agile Software Development Techniques for Daily Use

Your turn … 2/2

• What to do?– Scrap item• In stock items only• Number of scrapped

• How?– TDD– Refactoring– Bugs

Page 17: Agile Software Development Techniques for Daily Use

Literature