Refactoring specifications

56
@theNeomatrix369

description

In the past I have seen many a times, that only after we have delivered something to a client do we find out that we missed out on a feature or two. However tiny they might have been, they were mentioned in the spec. Nudged by this experience I have decided to take this seriously and develop a methodology for myself that will make my work closer to accurate than in the past. In this session I will walk you through how I start with a simple piece of text (possibly obscure requirement), expand on it, and make it clearer till we can start writing code that will bring the specification to life. The example I show is of a mini-specification but the principles behind the technique shown, are universal and could be applied to other full-size specs as well. I hope towards the end of the presentation, the code "hums" the same tune as the specification! And that you will be able to do something similar if not better, leaving with an additional tool in your tool-chest. The presentation will be roughly 40% slides and 60% demo of code snippets. There won't be much live coding but a number of code snippets will be shown.

Transcript of Refactoring specifications

Page 1: Refactoring specifications

@theNeomatrix369

Page 3: Refactoring specifications

@theNeomatrix369

Page 4: Refactoring specifications

@theNeomatrix369

●●●●●

Page 5: Refactoring specifications

@theNeomatrix369

Page 6: Refactoring specifications

@theNeomatrix369

Page 7: Refactoring specifications

@theNeomatrix369

Page 8: Refactoring specifications

@theNeomatrix369

Page 10: Refactoring specifications

@theNeomatrix369

Page 11: Refactoring specifications

@theNeomatrix369

Page 12: Refactoring specifications

@theNeomatrix369

Page 13: Refactoring specifications

@theNeomatrix369

Page 14: Refactoring specifications

@theNeomatrix369

Page 15: Refactoring specifications

@theNeomatrix369

Page 16: Refactoring specifications

@theNeomatrix369

Page 17: Refactoring specifications

@theNeomatrix369

Page 18: Refactoring specifications

@theNeomatrix369

Page 19: Refactoring specifications

@theNeomatrix369

Page 20: Refactoring specifications

@theNeomatrix369

Page 21: Refactoring specifications

@theNeomatrix369

Page 22: Refactoring specifications

@theNeomatrix369

Page 23: Refactoring specifications

@theNeomatrix369

Page 24: Refactoring specifications

@theNeomatrix369

Page 25: Refactoring specifications

@theNeomatrix369

Page 26: Refactoring specifications

@theNeomatrix369

Page 29: Refactoring specifications

@theNeomatrix369

Page 30: Refactoring specifications

@theNeomatrix369

Page 31: Refactoring specifications

@theNeomatrix369

Page 38: Refactoring specifications

@theNeomatrix369

Page 40: Refactoring specifications

@theNeomatrix369

Page 41: Refactoring specifications

@theNeomatrix369

Page 43: Refactoring specifications

@theNeomatrix369

Page 44: Refactoring specifications

@theNeomatrix369

●●●●●●●

Page 46: Refactoring specifications

@theNeomatrix369

Page 47: Refactoring specifications

@theNeomatrix369

Page 48: Refactoring specifications

@theNeomatrix369

git clone [email protected]:neomatrix369/RefactoringSpecifications.git

●●●●●

Page 51: Refactoring specifications

@theNeomatrix369

Page 52: Refactoring specifications

@theNeomatrix369

Page 53: Refactoring specifications

@theNeomatrix369

Page 54: Refactoring specifications

@theNeomatrix369

Page 55: Refactoring specifications

@theNeomatrix369

Page 56: Refactoring specifications

@theNeomatrix369