by Richard | Nov 29, 2017 | Culture, Practical
When working on a codebase as a team, especially in a corporate environment, there are choices you can make that can have unexpected impacts. The tendency is for a standardized build, and on the surface this can be appealing. It’s easier for procurement, because...
by Richard | Nov 29, 2017 | Culture, Testing
When teams start out with writing tests for their codebase, it’s very common to have difficulties because certain types of code are harder to test or “untestable”. A mistake that’s commonly made is to try to use mocks or similar, and make a...
by Richard | Oct 6, 2017 | Culture, Practical, War Stories
An easy mistake to make with Microservices is simply choosing to use them in the first place, when the context calls for a different solution. Microservices have become “trendy”, all the cool kids are using them, leading to what Thoughtworks call...
by Richard | Sep 3, 2017 | Culture, Practical
Building software is often a huge investment – and so it’s no surprise that quality is not something to take lightly! Traditional “Quality Control” focuses on catching bugs, and preventing defects, to manage the user’s experience of the...
by Richard | May 10, 2017 | Culture, Introspection, Practical
One of the classic causes of problems in software engineering is a disconnect between specification and implementation – often in the form of ambiguity, incompleteness, or contradictions. Defects can be introduced at through the way requirements are described, that...
by Richard | Apr 20, 2017 | Continuous Improvement, Culture, Practical
Continuous Release is the practice of releasing code to end-users in a fully automated fashion, releasing every commit that passes checks with no batching. It is the logical extension of Continuous Integration (CI) – where all commits by a team are to a central...