Made Tech Blog

Writings on building software delivery capabilities and delivering digital & technology outcomes for ambitious organisations.


The Strawman: TDD

There have been a few rumblings recently between the subculture of TDD-lovers and the rest of the programming community, as always. I’ve heard reports that TDD doesn’t work, that it is snake oil, and that there are studies to suggest that TLD and TDD are no better than each other in a scientific study.

Slicing code

The primary goal of slicing software is to make it cheap to ship, and inexpensive to ship additional features.

Choosing the right supplier post IR35 reform

With the latest reforms to IR35 having come into effect on April 6th, public sector bodies (PSBs) are facing the mounting challenge of keeping teams filled. This, coupled with the Civil Service-wide recruitment freeze introduced in 2010, is a particular problem for PSBs tasked with delivering digital projects, where software engineering teams were once largely made up of contractors who now have an incentive to look elsewhere for work. The reforms are here to stay, so what options do PSBs have in terms of continuing to deliver good digital products?

Finding Ethics in Data Security

We live in a world increasingly intertwined with software; the Internet of Things allows companies to collect data relating to not only what we type, but on where we are, who we are with, how we drive our vehicles, and more intimate details like our sleeping patterns and heart rates. In the near future it will be trivial to sequence an individual’s genomic information and make predictions about their personality traits and health.

The Digital Classroom

From keeping in touch with friends, to hailing a cab, and even allowing us to control the temperature of our houses from our phones, Technology has become increasingly pervasive, changing the way we do things and how we interact with one another. Contrary to what some would think, Education was not left out of this revolution. In recent years, an incredible number of digital tools and platforms have seen the light of day which try to improve how people learn, how teachers share their knowledge and allowing pedagogical resource providers to reach an ever increasing number of people. But in Education, things cannot change as rapidly as in other sectors because the cost of doing something wrong has long lasting consequences. Pedagogical practices have been refined over the years and introducing changes requires a lot of thought.

Using Ansible for infrastructure

For the last year or so, the majority of our new projects at Made Tech have used Ansible as our go-to tool for provisioning and configuring our servers with the software that runs on them. We’ve paired Terraform with Ansible and Chef previously for creating our cloud resources, but have recently been experimenting with using Ansible to see if the one tool was capable of both of these stages in our infrastructure setups. We’ve not been disappointed with our experiences so far.

James Stewart Joins Made Tech Advisory Board

Every organisation considering digital transformation (or even just a new technology project) worries about access to skills.

Things We Learned Building a Complex React App

React is a fantastic tool for building frontends. We’ve been using it for small applications for a while, and recently used it for a more complex app. Given the library, and the mass of libraries you’ll use with it, are still brand new, we encountered many architectural and code challenges throughout development which haven’t been solved before.

Dismantling Silos

A silo exists in an organisation when one group within the organisation has differing goals to another. In most organisations there are groups of people that, usually, have an objective to fulfil by an agreed upon date. For example, the Sales team is set a mandate to increase the number of customers of the company by 10% every month, whereas the Support team has internal performance goals, and one of them is to deliver support within a fixed budget.

How to run a successful retrospective

At the end of an iteration it’s good to take some time to reflect as a team to assess what worked, what didn’t work, and what could be improved upon. This can result in future iterations being more efficient and productive, as well as increasing happiness in the team.