agile software development techniques for daily use

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

Upload: hristo-iliev

Post on 23-Jan-2017

100 views

Category:

Software


1 download

TRANSCRIPT

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