KiteFrame LogoKiteFrame


Read our latest pieces on improving software delivery performance

Published on

A note on estimation

I see a lot of Scrum teams estimating stories on their backlog. Should they be?

Published on

Exceptions in Java

Exceptions allow us to handle errors elegantly, enabling the normal flow of our code to stay focussed on the task at hand, and letting us explicitly deal with the exceptional cases independently.

Published on

What is legacy blindness, and how can I avoid it?

Legacy software has a strong influence over the way that we think about a domain; we can use tactics to learn from its models and improve upon them, while avoiding falling into the trap of reimplementing the same solutions.

Published on

Aggregate Design Part 1: Transactional Consistency

Drawing well-defined boundaries around clusters of objects within your codebase is vital to reducing contention between users and optimising the availability of your system. Understanding the invariants within your domain is key to understanding where these boundaries can be drawn.