One in a series on the Seven Pillars of Agile retrospective.
Technical Excellence
To what extent do you agree that each statement below is true of your team ?
-
Considered Design
-
We consider multiple possible ways to satisfy each business need, and make informed choices to achieve the best functionality, usability, and long-term sustainability
-
Our designs allow us to move forwards at a steady pace, without unpleasant surprises or panics
-
We keep technical debt manageable, and keep our design under control without requiring excessive quantities of rework
-
We consider our users performance requirements for each feature, and strive to meet or exceed them.
-
-
High Quality Implementation
-
Our code is clear and simple – “Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away”
-
Don’t Repeat Yourself – we refactor when we spot repetition. Are your ‘C’ and ‘V’ keys showing more wear than the rest ?
-
Cohesive, Single Responsibility classes – we don’t have big, bad classes; and if we encounter such beasts, we trim them rather than allowing ourselves to add to them.
-
We don’t abuse inheritance – our subclasses are genuinely substitutable
-
Our collaborators Tell each other what to do, rather than Asking for information
-
Our tests are fit for purpose – expressive to read, flexible to change, and reliable to run
-
Recent Comments