Posts Categorized in Software development

At Redgate, we’re fascinated by software development and how to do it smarter, better and more intelligently. How do we reduce the burden of legacy code and technical debt, for example? How do we use test-driven development to make the code as robust as possible. How do we apply UX principles and skills to make the complicated software we develop intuitive to use?

27 August 2014

27 August 2014

Providing help documentation for PowerShell cmdlets

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

13 August 2014

13 August 2014

UX katas – heuristic evaluation

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

21 July 2014

21 July 2014

Five steps to an effective sprint retrospective

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

18 July 2014

18 July 2014

Code kata 7: Producer-consumer problem

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

27 May 2014

27 May 2014

Take security in your STRIDE

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

10 April 2014

10 April 2014

Code kata 5: SOLID chess

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

19 March 2014

19 March 2014

Code kata 4: Word ladder

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

24 February 2014

24 February 2014

Code kata 3: Refactoring

The kata This kata was inspired by a truly ugly piece of code we came across in Redgate Towers. It had a whole bouquet of code smells: long methods, a lot of indentation, static variables, inconsistent naming, code that was duplicated with small modifications, and a couple of small bugs. And, gloriously, it was... Read more