What is a team?

A couple of months ago I gave a series of talks on creating team charters. As part of my preparation for this piece of work I asked myself a number of questions about what a team actually was, and what sorts of questions teams should be asking themselves regularly. Some of this content was used in the talks, but I’ve tried to make this article more about teams than team charters, as I’ve written and talked about these a lot elsewhere.

What is a team?

A team is a group of people who collaborate to deliver value. Value is anything that a customer would pay for.

A team doesn’t have to all report to the same person, or do the same kind of work, they just need to be able to combine their skills and expertise in a way that delivers something that someone else finds valuable.

Why does the team exist?

Each team should understand why is exists, and be able to articulate that in a short phrase. This should be a mission statement (what you do now), but may also incorporate elements of a vision statement (what you hope to achieve).

You should also understand who your stakeholders are, both the people you deliver work to, and the people outside the team who you depend on for things that you need. Ideally a team should be able to control everything it requires to deliver value, but this is unlikely to be the case in most organisations, and you are likely to have stakeholders who provide data centres, networks, offices or financial processes. Think about everything you need to do your work, and work out where it comes from, and how to get enough of it for what you need to do.

What skills does a team need?

That depends very much on what the team are responsible for delivering, but can be split into 3 main categories:

  • Subject matter expertise
  • Organisational skills
  • Leadership and management skills

These skills should be present across the team, but it’s fine for one person to have aspects of all three. What you don’t want is people who don’t have any of these skills, as they will find it harder to contribute meaningfully to the team.

How many people should be in the team?

That very much depends on what skills the team needs, and how those skills are distributed between individuals.

I like teams of 4-6 people, because they are small enough to make collective decisions quickly, but large enough to realistically contain a good mix of skills and experience. I may also add 1-2 interns, graduate trainees or apprentices, especially if the work being delivered would benefit from the unique experience people at the start of their career will bring. It’s also a good way to ensure that people starting out are being given a positive experience about what it’s like to be in a team.

How do we empower a team to be self-organising?

A self-organising team understands what it is there to do, and receives work from customers rather than managers. It prioritises work based on what value it adds to one or more customers, but also improves how the work is done so that valuable work is delivered more often. It is free to make decisions on how the work is done, providing any institution-wide restrictions are factored in. The larger the institution, the more likely a team will be restricted in some of the tools it uses, or in where and when it works, but it is still worth thinking about these things and contributing expertise towards redefining the institutional standard, rather than just using something different and then struggling to collaborate with other teams.

Working in this way can require a bit of unlearning, especially for people who hold leadership or management roles. An understanding of the key principles of Agile can help with this, as very often ceremonies associated with Agile (especially Scrum) are used to plan and deliver work in a self-organising team.

How does leadership and management work in a self-organising team?

In a traditional team you would expect the team manager to provide all (or most) of the leadership. management, and organisational skills, but also a fair amount of subject matter expertise. In an agile team we still need all of those skills, but they are more likely to be split more evenly between different team members.

How this might work:

  • One person who has a primary responsibility for ensuring that the work the team does continues to provide value to customers.
  • One person who has a primary responsibility for providing an environment for the team to do their best work.
  • Several people with subject matter expertise, who also have enough leadership, management and organisational skills to ensure that they can deliver within their subject area without hitting blockers on a daily basis.

Ensuring the skills are more equally distributed helps the team when one of more people are on holiday or otherwise unavailable to work. It means that a team is better positioned to deal with things that might slow down delivery, and that the team is not reliant on one person for many different things.

What meetings should the team attend?

There are a number of internal meetings that we find useful:

  • Daily stand up, to ensure that we have a collective understanding of what we are doing each day, and that we can identify anything where we might need help
  • Sprint planning, so that we understand what is being delivered in the next 2 weeks, and who is doing what
  • Retrospectives, to enable us to scrutinise how we work, and suggest improvements that can be fed into the next cycle

We still conduct 121 meetings, but these are less like status update meetings, and more about personal and professional development. Meeting every day to talk about our work doesn’t make 121 meetings less important, it just means we can focus them more effectively.

What about all those other meetings we attend?

Review all meetings and regular time commitments to ensure they add value to customers or directly contribute to improving how the work is done:

  • Why do you attend the meeting?
  • What contributions do you generally make?
  • What outputs do you get from the meeting, and are they valuable?

These questions should help identify meetings that could be dropped in order to free up more time for collaboration and individual contributions.

It is expected that people with leadership and management responsibilities will attend more meetings that individual contributors, but that in general there will be less meetings than in a traditional hierarchical team. Managers should be protecting their teams from meetings where possible, but this does not mean that people should stop collaborating with other teams; just that they do it in a way that only the people who are directly contributing to the collaboration are involved.

Setting up the pipeline

I’ve been meaning to try and set up a pipeline that achieves the following:

  • I write all my blog posts in Markdown and store them in a Github repository
  • Github actions creates a new github page on my staging blog
  • This is then pushed to WordPress, where a new post is created
  • The WordPress post is then promoted on Mastodon

I think I’m mostly there, but am still debugging. I’ve had two mostly working solutions, but neither meets all the requirements yet.

How I Buy Music in 2024

Earlier this year I ran out of space to store records. I could ship a load of old ones to our storage unit, but I really do like having my music around me so that didn’t feel like a good idea. I was also noticing the the already high price of records was creeping up, from £20 to well over £25 in most cases. So apart from a few new releases from Wrong Speed Records, I’ve not bought vinyl at all this year, and have instead reverted to either digital music or CDs.

Both of those formats provided challenges for me though. Digital music is great, but it means I have to think about backups, and having multiple copies in case of disk failure. I largely solved that by saving all new music to Dropbox, and then making it available on all my computers that way. I also back up to a large hard drive in my main computer that contains everything I have ever downloaded since 2021. The challenge with CDs was that the 20+ year old machine I used to play them on died over a year ago, so I was just ripping them to MP3 and playing them that way.

That wasn’t too much of a problem to start off with, as two of my main sources of music was the albums I get as part of my subscription to The Quietus magazine, and a Bandcamp subscription to the music of Constellation Records. In both cases new music arrives every few weeks, and I download it and play it on my computer. My computer is plugged into an amp, which is connected to the speakers from my old CD player, so the sound is pretty decent.

In the end I did buy a CD player, and another cheap amp to connect it to some other vintage speakers I have. So now I have my record player and CD player routing to one sound system, and my home and work computers to the other. That way I can play any music I own in my home office without too much effort with cables and switches. It also means I spend a lot less money on music because CDs are under half the price of records, and digital music is cheaper still.

After doing this for a few months, I can’t say I notice a huge difference in sound quality between anything I listen to, and I’ve enjoyed the subscription music a lot, whilst also spending far too much time on Ebay tracking down things I want to own on CD that other people are getting rid of. That’s where the real cost saving happens, and I’m operating on an average of about £3 per CD right now.

We are also setting up a media swap scheme at work, so I can take in any CDs I don’t want anymore, and hopefully pick up a few things from other people.

So that’s how I’m consuming music in 2024. I still have Spotify for when I’m walking the dog or on my work computer, but my default is still very much an ownership model, with a strong preference to buy directly from the artist or the record company. That way money goes to the people who make the music, and should hopefully support them sufficiently to make more.

Corne Build Guide

The Corne is a 42-key split mechanical keyboard.

The Corne I started with is the RTG model, ordered from Mechboards. I have also now built a few from scratch, using whatever the cheapest kit Mechboards sell is. These are what I use now, anywhere that I use a computer for any length of time.

Bill of materials

  • Corne light kit from Mechboards
  • Two controllers and sockets
  • 42 switches (Choc v1 or v2, or MX)
  • 40 1U keycaps and 2 1.5U keycaps to match switches chosen
  • Cable to match controllers chosen (almost certainly a USB-C cable)
  • A case, if you don’t want to use the one included in the kit. Currently I’m using this case which makes it look a lot better, as well as being significantly more stable on my desk. I’ve also now screwed a metal plate on to the bottom to give even more stability.

I’ve also built a few of these using PCBs I’ve ordered in bulk. This allows the use of third party cases without generating waste, but does require buying at least some TRRS jacks (PJ-320A), and a cable to connect them.

These are some good build guides that I have either used myself or found afterwards.

I don’t plan on trying to compete with these or duplicate them too much.

All the example code in this guide will be assuming that the Vial firmware will be used. It requires having a working installation of the vial-qmk github repository. It will also assume you’re using some kind of RP2040 controller.

Flashing Controllers

Flash each controller to test they work, and to define which controller belongs to which side of the keyboard.

Firstly test that your firmware compiles:

qmk compile -kb /crkbd/rev1 -km vial

Then flash each controller in turn:

qmk flash -c -kb crkbd/rev1 -km vial -e CONVERT_TO=promicro_rp2040 --bootloader uf2-split-left
qmk flash -c -kb crkbd/rev1 -km vial -e CONVERT_TO=promicro_rp2040 --bootloader uf2-split-right

Once you have done this then label the controllers so you are absolutely sure which is which.

Then build the keyboard, using whatever set of instructions you have chosen. Some third party cases will have their own instructions which should definitely be read in full before soldering anything.

Finally, use Vial to configure your keymap.

A few further hits and tips

  • Once you have soldered your controllers and TRRS jacks, plug the keyboard into a computer, and short every single socket to test that the right key codes are sent. I use QMK Configurator for this.
  • Depending on the height of your sockets, you may have the choose between having hot-swappable controllers and using an OLED screen. I’ve not yet managed to get both working on the same keyboard without the OLED cover pointing up at a weird angle. This may bother you less than it bothers me though.
  • If you’re using Vial and you want RGB, OLEDs, and loads of QMK features then you will likely find that your firmware is too large for a pro-micro controller. RP2040s will work fine though.

New Music

I’ve worked for my current employer for 24 years. On the day I had my interview, I bought two albums on the way home. Once was Kid A by Radiohead, the other was Lift Your Skinny Fists Like Antennas To Heaven by Godspeed You Black Emperor!. It amuses me that this week I’m writing about two records that are made by some of the same people, and then one that definitely wasn’t.

My three records for 4th October are:

I think I know what I’ll be listening to on Friday.

Reflections on Brave New Work by Aaron Dignan

Reflecting on Brave New Work by Aaron Dignan (a book I have been reading and thinking about a lot recently), I think the concept of organisational debt is key. This would be anything where the way the work is being done slows down delivery or adds unnecessary layers of bureaucracy. In my organisation we have loads of this, and I wonder if we would do better at getting rid of it if we referred to it as debt.

I also found the list of aspects to consider when designing an organisational operating system matched quite closely to things I am already thinking of. These are listed on page 54:

  1. Purpose: The fundamental reason for the organisation’s existence beyond profit.
  2. Authority: How decisions are made and who has the power to make them.
  3. Structure: The organisation’s architecture, roles, and teams.
  4. Strategy: The approach for achieving the organisation’s goals and staying competitive.
  5. Resources: Allocation and management of the organisation’s assets.
  6. Innovation: The process and culture around new ideas and improvements.
  7. Workflow: How work gets done and processes are managed.
  8. Meetings: The role, frequency, and structure of gatherings.
  9. Information: How data is collected, shared, and utilised.
  10. Membership: How people join, leave, and belong to the organisation.
  11. Mastery: Development and growth of individual skills and capabilities.
  12. Compensation: How rewards and recognition are handled within the organisation.

So for example if processes were getting in the way of work being done, this could be classed as organisational debt logged against workflow. Or if retaining key staff was an issue then it could be logged against membership. If we come up with a problem statement that articulates the issue it might allow us to more clearly see what is slowing us down.

In the retention example above, the problem statement may actually draw out the fact that whilst retention is how it manifests, it’s actually because we don’t pay good people enough, which sits in the domain of compensation. Shining a light on particular pain points may allow us to start to address them in a meaningful way.

There are also two key concepts that come up throughout the book:

People Positive is a mindset that views people as inherently capable, trustworthy, and motivated. It challenges the traditional, often negative assumptions about human behaviour in the workplace, such as the belief that employees need constant oversight, strict rules, and external incentives to perform well. Instead, People Positive organisations believe that:

  • Inherent Potential: People have vast potential and, when given the right conditions, can achieve remarkable things.
  • Trust and Autonomy: Employees thrive when they are trusted and given autonomy to make decisions.
  • Intrinsic Motivation: People are motivated by more than just money; they seek purpose, mastery, and a sense of belonging.
  • Whole Person: Recognising that employees are whole people with lives outside of work, and that respecting this leads to better engagement and productivity.

Complexity Conscious refers to the understanding and acceptance that modern organisations operate in complex and dynamic environments. This mindset acknowledges that:

  • Non-linearity: Organisations are complex systems where small changes can have large, unpredictable effects.
  • Uncertainty and Adaptation: Predicting the future is inherently difficult, and organisations must be adaptable and resilient to thrive.
  • Emergent Solutions: Solutions often emerge from the collective input and interactions of individuals, rather than from top-down directives.
  • Interconnectedness: All parts of an organisation are interconnected, and changes in one area can impact others in unforeseen ways.
  • Continuous Learning: Emphasises the need for continuous learning and experimentation to navigate complexity.

I think both of these are key, and are a different way of thinking that many organisations could benefit from.

Living through history – thoughts on the XZ vulnerability

I have been following the XZ backdoor vulnerability story with interest. Not just because I use Linux and therefore it affects the technology I rely on, but also because I’m interested in the people and processes that underpin open source software, and software development in general.

Linux has relied on volunteer contributions from the start, and in general that fosters a collective sense of responsibility for delivering a great product that meets the needs of the people who use it. But there is also a risk that there won’t be sufficiently skilled volunteers to do what needs to be done, or that the expectations of users cannot be reasonably delivered by volunteers who are likely to also be juggling a paid job and family responsibilities.

This issue has highlighted those risks, but also been a great example of a community coming together to quickly fix an issue in a way a commercial organisation probably never would. By working in public, being transparent, and delivering value quickly, the community has proved that this development and support model can work, but also that there are lessons we can learn about culture, contributor burn out, and how we can continue to release value at pace whilst at the same time maintaining the integrity of the product.

I don’t have answers, but it’s good to see people pulling together, and I do think we’re probably living through history right now.

I also think the standard is being set for documentation related to this kind of issue. These are the pages I’ve bookmarked in relation to this, either to keep up to speed with developments, or to highlight what good practice looks like when it comes to being curious enough to shine a light on things that don’t look right:

Journal Fragments

Excerpts from my journal over the last few days that fit the themes of this blog.

Technology

I have my full travel setup operational now. I did start with my small computer, but found myself missing the extra screen and the familiarity of the laptop. So the laptop is once more the primary computer for non-work stuff, which makes it easier to swap in the other laptop after Easter when I need to do some work here.

I didn’t intend to bring my docking station here, but as it was still in my bag I thought I’d install displaylink-debian to make my life easier. I have it running on my other laptop, and as of this morning I have it running on this one too.

I think I have a good understanding of what technology I prefer to use now, and as a result have an idea about what I would like my next computers to be. Right now a single USB-C cable for everything is where I’m at; especially as I have several docking stations which make this possible wherever I am.

Based on my usual criteria for laptops, and assuming I was buying new, the models I should be looking at are:

  • Thinkpad X13
  • Thinkpad L13
  • Thinkpad L13 yoga
  • 13″ MacBook Air

But none of these are upgradeable, so I am seriously considering getting something slightly bigger so that I have the option to upgrade the memory later on. Or I might just go down the refurbished route again and get something that will last me 2-3 years.

Looking at the 14″ laptops, the E14 and L14 are both very customisable, and meet the specifications I’m after on everything except for size and weight. The prices to add extra memory are really reasonable as well, so it might just be that we go for something that meets the specifications we need now, with anything else being a stretch goal. I don’t need 40 or 64 Gb of memory in a laptop, especially when I have that in my desktop and rarely use more than half of it.

Books

I finished The Internet Con by Cory Doctorow last night. It’s a really important book that anyone who uses the internet should read. Today I’ll start Dead Centre by Tim Farthing, which is the only other book I bought with me. I have my Kindle though, with a huge backlog of fiction, so it’s not like I won’t have things to read.

Music

I am listening to the new Jiin record, although once I start the book I will switch to Dead Centre by Reigns. I am also feeding Spotify with music for the family playlist. I only listen to Spotify whilst walking the dog, but it’s good to hear a few new favourites making their way into what we listen to in the car.

There is a new record shop in Newport, that has only been open 2 weeks. I bought Dresden Dolls and East India Youth CDs, and resisted buying a lot of expensive records. This is a shop I will definitely support, and will return to again in June.

Including values and feelings in the yearly review

It’s yearly review time, and as usual I’m very much enjoying reflecting on all the great things my team have achieved over the last 12 months. There are a couple of fairly new things we have added to our yearly review process that help us focus on the right things, and make the conversations more meaningful to us:

The first is values-based objectives, where we identify behaviours that align with our values, and write objectives that will make us better at consistently demonstrating those behaviours. So if collaboration is a value, then we plan to work with some different people, or if we value transparency then we develop new ways to work in public and share our ideas and decisions as widely as possible. I love this kind of objective, and I think it helps keep the values front and centre throughout the year.

The second is a new one for this year. Over the last few weeks we have started to record how tasks we have completed made us feel, and not just how well they went. Building this into our retrospectives has led to some interesting insights, so we are going to do the same with our yearly objectives. No-one is likely to feel wholly positive about everything they do, but by at least thinking about it we can start to understand the type of work that we prefer, and the things that are likely to require a bit of extra motivation to start. We have been talking about things that make us grateful in our daily stand-up for a while, and this seems like a natural extension.

My Travel Setup

As we prepare to start our third year/season of splitting our time between Birmingham and the Isle of Wight, I thought it was about time I blogged about my current travel setup. In this context, “travel” mostly refers to what I use on the island, but also partly to what I use when I am somewhere that isn’t one of the usual paces I live or work.

Things I store here

Apart from the table and chair, I think I have had most of this stuff over a decade. But it still serves me well for 9 weeks of the year.

  • Desk riser – this is one of those adjustable ones that can convert any desk into a standing desk, but can also raise a laptop or monitor to the correct eye height
  • Folding table – slatted, so that it will break down into a small enough package that it can be easily stored
  • 24″ Monitor and cables – an old one that I’ve had over 10 years and that was replaced at home by something newer
  • Desk mat – because of the slats I need something to provide a surface that my laptop, keyboard and pointing device can sit on without moving around
  • Speakers – old Logitech ones that I used to use at home before I wired up my home computer with an amplifier and dedicated speakers
  • Extension lead – to power everything
  • Webcam – I do also travel with one, but if I am working here it’s really important to have one, and the webcam in my laptop is not good enough for work. This is a really old Microsoft one that we have quite a few of in various places
  • Folding chair – from B&M, and small enough to be storable. I used to use a patio chair, but I needed something that would be better for my posture
  • USB mouse – in case I forget my trackball
  • Amazon Basics USB hub, that I use to connect my keyboard, trackball and camera to whatever laptop I am using. It’s like a docking station, but cheap and old.

Things I carry with me