I’m a project manager, so unsurprisingly I can find myself in animated conversations with other project managers regarding how best to manage the work that our team members are doing. We all have our favourite techniques and methods, but the process generally starts with making the work each member of the team is planning... Read more
Sssshhh. There’s a revolution going on. Quietly, purposefully, and without fanfare, Database Lifecycle Management is looming on the horizon for every developer and DBA. A continuous, agile-based approach to integrating, coordinating and managing the different phases of database delivery. Whoah, there. Database Lifecycle Management? Application Lifecycle Management, yes, but how on earth can you... Read more
We’ve been working on a new product that involves writing Windows PowerShell cmdlets (pronounced “commandlets”) for our customers to use and, to make their lives easy, we want to provide rich built-in help documentation. There’s no easy way to do this out of the box, so I’ve written a tool that allows us to... Read more
The “extended” UX team sharpening their swords… At Redgate, our software engineers run regular “code katas”, workshops where developers practise their coding skills on simple problems, then discuss the experience afterwards as a learning exercise. So, a while ago, I thought it might be a good idea to use the same Kata principle on... Read more
In a typical agile software development process, sprint retrospectives are meetings run at the end a development iteration. In those sessions the team looks back on what they have done and how they have done it, and decides what they can do to improve. More succinctly, the team inspect and adapt. In my experience,... Read more
First, apologies for nodding off and not posting for the last few weeks. I have the usual set of excuses, which you can guess easily enough without the need to read them here. So, on to the kata: something a bit different, this time. It’s a repeat of a kata we had a go... Read more
When you phone up for house insurance, the insurance company asks you; ”Do you have a five lever mortice deadlock? Does it comply to BS3621? Do you have a burglar alarm and so on? These are all very standard questions for this situation, and we need to make sure we are asking similar questions... Read more
The kata Following on from last time, this is based on Uncle Bob’s now-famous bowling game kata, with the added spice of adhering to the open-closed principle of SOLID. The kata is well-documented online, but briefly, the idea is to write a program that takes in a series of scores for each ball a... Read more
The kata Let’s get this clear: we’re not going to write a chess-playing AI in this kata. The idea is a bit more humble: to write a program that can work out valid moves for a set of chess pieces. The purpose of this kata is to practise writing SOLID code. Use TDD, but... Read more
Naming things can be very hard, yet a well-chosen name can really help a reader understand how your code works. This code kata is an old favorite, one that we’ve done before, but this time we’ve added an emphasis on naming things well. The kata A word ladder is a sequence of words (each... Read more