I’ve done this before (in 2016), I always think it’s a great idea to round out the year by summarising what I’ve read and learned. It’s far better than a quick check in GoodReads or The Story Graph!
The Phoenix Project
I try to read The Phoenix Project every year because it’s such a fundamental book for IT management.
What am I Going To Take Away? Every reread I pick up on something different. This year I’m going to try to model the workstations in a software development team.
The Unicorn Project
I had little doubt that I was going to enjoy any follow up to The Phoenix Project and The Unicorn Project didn’t dissapoint. It has to sit on that list of Must Read books for IT professionals.
What Am I Going To Take Away? The value of proper documentation and onboarding and the importance of end to end testing of an entire system.
I’ve always enjoyed Dan Pink’s books, Drive is a classic everyone should read. I didn’t think When was quite as strong but there’s lots of interesting stuff going on.
What Am I Going To Take Away? Are there optimum times of day to run certain scrum ceremonies?
The Mark of Calth
A set of short stories set on Calth following the World Eaters betrayal of the Ultramarines during the Horus Heresy. I’m not usually a fan of the short story books but this one had some decent stories.
Some easy listening while we were going through the start of lockdown, a hapless temp who signs up for a whole set of weird jobs.
Unification (short story)
I don’t think I even remember this one. Something to do with a Death Guard warrior from the Horus Heresy to the “present day” in the 41st millenium perhaps?
The continuation of the story from Dark Imperium. Ultramarines battle against the Death Guard.
A fun if fairly predicable story about AI taking over the world.
On Writing Well
Quite an interesting book about writing but, ironically, a little dry in places – especially when a section wasn’t something you were likely to find much use for (sports reporting in my case). Good examples of simplifying language.
The Solar War
I’ve been working through the Horus Heresy series but this was my first foray into the conclusion, The Siege of Terra – I’ll definitely read the others!
The Little Book of Ikigai
Less of a book about finding happiness and contentment and more about accepting the status quo in between lots of interesting facts about Japanese culture. Interesting but wasn’t a game changer for me.
Building Communities of Practice
Really interesting short read about taking a structured approach to building Communities of Practice. Maybe a little idealistic.
What Did I Take Away? Using a maturity model to slowly build and measure a community’s sustainability rather than going about it in a haphazard manner.
The Man With the Golden Gun
Classic Bond, very very dated in terms of his views about women, Russia, and pretty much anything. But still good fun.
Game changing. Proper strategies for organising teams and understanding how they communicate between them. Highly recommended.
What Did I Take Away? Consider architectural goals when designing team structure andbe aware of cognative load on teams. Consider the use of platform teams to provide platforms for product teams to consume.
Scientific Secrets for a Powerful Memory
Interesting book about human memory. Teaches and explains some of the memory hacks used by memory champions.
I Am Slaughter
Despite having one of my favourite space marine chapters (the Imperial Fists) in it I didn’t really get to grips with this one. It’s the start of a long series and I’m not convinced I’ll pursue it. Maybe it was because I was having a rough few days while I was reading it and didn’t really give it a fair chance?
It’s ok to embrace you’re weird. Actually some good advice about embracing your deamons (not demons) and the fact that it’s rarely what people have said but you’re own baggage which drives your reaction. Some good stuff, if a little self help style – got me meditating though which can’t be a bad thing.
Spear of the Emperor
I wasn’t sure whether I’d do this but I really did. I loved that it was told from a mortal woman’s perspective as opposed to a space marine’s. Only problem is now I want to buy and paint even more models just so I can paint them in a slightly different shade of blue…
Getting Things Done
Really good book (see my review). I’d never really considered personal organisation as something you had to learn and develop. More as something which you should just know…
What Did I Take Away? Being organised doesn’t happen by chance. Develop a system and constantly challenge it. Get your commitments out of your head and onto paper.
I picked this up in an airport spotting it was by Patrick Lencioni (of 5 Dysfunctions fame). I have to admit I wasn’t blown away. After a repeat of everything in 5 Dysfunctions it all got quite woolly and repetitive.
What Did I Take Away? Try to define the team values before hiring anyone into it.
Understanding Non-Verbal Communication
Everyone wants to know about non-verbal communication because they want to be able to tell when people are lying. In reality this course was so much more! Enjoyed listening about personal space and dominant/submissive posture.
What Did I Take Away? Consider my non verbal communication when delivering messages. Everything from where I’m sat to what I’m wearing plays a part in the communication.
I was really impressed with this, I wasn’t 100% convinced when I bought it but it was on a £3 sale at Audible so I was willing to give it a go. I’m really glad I did. John is obviously obviously a director and investor in many many businesses – I’m not, but I do like a good routine and there was lots in here to like.
What Did I Take Away? Quite a bit actually! We’re the sum of our routines not our individual one of actions. Tracking and improving routines and handing them our internal computer leaving our mind decision free is a powerful thing. I also REALLY like the idea of tracking your routines and keeping an eye on the averages. A highly recommended book this one. Oh, and actually reflecting and implementing thigns from books instead of just reading them. So expect more book review posts next year.
A total of 22 books – considering the year we’ve all had I don’t think that’s bad!
Next year I want to do a lot more book reviews, not especially for you but for me. It’s not enough to just consume pages. I need to take something away and implement change from the best ones.
This morning I finished listening to Routine Machine on audible. The book is by John Lamberton, who describes himself as The King of Routine and in it he discusses the power of a good routine and how it helps him (and many others) achieve financial suggess and good health.
I’d highly recommend it. There are some really good ideas in there and it really gets you thinking about long terms goals and the small steps we take each day (how agile is that) towards achieving them.
Of course the book isn’t perfect, there are a few ideas and comments I really don’t like. Especially around the Director or Investor of any company locking himself away for a week to write a book and ignoring all emails and messages of people who work for him who require help with emergencies. I take John’s point on board – that he shouldn’t be a bottleneck and that these emergencies often don’t actually need his help. But I can’t help thinking that he and Simon Sinek would have a very heated debate on that one!
However, there was so much I did find valuable that I’d recommend you read it to. Here are my highlights:
Big goals aren’t achieved by a few big actions, we achieve them by doing lots of good little actions day after day, week after week, year after year.
The biggest asset you have to achieving success is time, don’t expect success overnight – aim for it and embed the habits you need to make it happen into your daily routine.
Track these habits in an excel spreadsheet (other spreadsheets are available) and give yourself gold stickers to ensure that they are sticking.
Don’t bite off too much too soon.
Don’t read books without taking the message way. Read the book, follow the instructions.
Identify what’s important and make sure you schedule time for those things first. Put the big immovable objects in your calendar first, not the day to day 30 minute meetings we’re all a slave to.
Although John told me to write a review I don’t want to share all the advice (because second hand is never as good as the source). Instead, if I’ve peaked your interest then grab a copy and have a read.
I was recently lucky enough to speak at DDD2020. I spoke at DDDNorth last year, but this was a completely online and very different to anything I’d done before. The organisers did an amazing job and created an amazing virtual event.
Personally I hope they consider doing an online version of the conference even once the shadow of covid has gone.
If you would like to watch my talk you can find it on youtube along with dozens of other talks from the day.
The guys were kind enough to send me a shiny certificate!
I hope you enjoy the video. If you have any questions please get in touch!
One of the initiatives I sponsor at work which I’m most proud of are our weekly tech talks. The company had a long history of doing them, a small group of people would volunteer to talk about something for about an hour on a Friday afternoon. But the prep was hard work and there was no consistency. We could have talk three months in a row and then nothing for the next six. Worse still the same people always felt pressured into talking which seemed very fair on them.
Inspired by this I went back to work and set about seeing if we could pull off something similar. Sophie had explained how important it was to keep the schedule going week after week. If you start missing weeks those odd weeks develop into hiatuses and then the entire thing stops. She also strongly advised bacon sandwiches but I didn’t have a budget so we relied on BYOB (Bring your Own Buttie) instead.
Over the next few weeks I set about pitching my idea and recruiting speakers. I wanted twelve. I figured that if I could find twelve people willing to give a talk and get them on a weekly schedule then it would be worth doing and I might stand a chance of the talks becoming a sustainable weekly occurrence. I got fifteen.
We booked a meeting room and opened up Skype for anyone who wanted to dial in. We also made sure we recorded all the sessions so if someone couldn’t attend they could watch it at a later date.
At the time of writing we’ve had:
60 consecutive mic drops pausing only for holidays
Over 20 different speakers
20+ hours of recorded videos
Even the global pandemic didn’t slow us down, we simply moved to 100% online!
So here are my steps for starting up your own weekly tech talks:
Plan out your first three months in advance to make sure you have sustainability
Hold your talks at the same time and place every week
Unless for a specific reasons the talk and questions should take less than 30 minutes
Don’t limit to “Tech Talks” some of our best talks have been on sleep, agile, management practices, books, and communication skills. Encourage variety!
Always have a back up speaker, try to have two
Survey your department to find out what talks people are interested in
Many larger companies are following the lead of companies like Spotify’s to create engineer led communities, sometimes called Guilds. The concept is simple, and very good. Creating a cross team culture of engineering excellence to drive best practice forward among employees sounds like a brilliant idea. In this post I’m going to discuss my experience of working with Communities of Practice and my thoughts on their true value.
Companies usually start a CoP initiative when they want to engineers to take ownership of:
Defining Standards and Best Practice
Training and developing it’s members
Breaking down Silos around teams
Hiring and building a better team
It sounds great right?
As with most things the reaslity isn’t quite as straightforward as that.
As anyone who reads my blog may pick up I enjoy a little amateur psychology, I believe it helps me in my role as a team manager. One of the things I’m acutely aware is the tribe mentality of scrum teams, when people get so focused behind their products they often find it difficult to see other teams as allies – too often they’re seen as impediments to deliveries or competing products. Forming a Community of Practice asks people to shift their focus and split it away from their scrum teams to think as a wider team. It can be hard to sit with two hats on!
So, how do you get started?
There’s a very good book by Emily Webber called Building Successful Communities of Practice which outlines a very good approach. She talks about a Community Maturity Model which outlines various objectives the forming community should aim to hit as they grow. By splitting out into distinct Potential, Forming, Maturing, and Self Sustaining phases. It’s important to realise that giving someone a goal and letting them go is not enough to build a Community of Practice.
With CoPs I’ve helped develop it’s crucial to start with a small group of engaged people who set goals and achieve them. Using these successes and achievements as an example to recruit more members and take on more ambitious goals. You can force dozens of people to join a meeting but you won’t get engagement, you want to be able to hold up what the community has achieved, show it off, advertise it, and ask other people if they would help deliver the next goal.
Communities should set their own goals. They need the ability to ask their members what work is needed and the autonomy to be able to go and make it happen. Otherwise they’re simply a vehicle for management to share project work between teams.
Finally, these formative and fragile communities need real organisational support. They need people to have goals set around forming the community, these people need time (I recommend setting the expectation of a day a week out of regular team duties), they also need a discretionary budget. Breakfast, coffee, prizes, and events go a long way to getting people in the door to hear what you want to achieve and once you’ve got them a social budget is a great way to help those cross team relationships form!
If you’ve been involved in Community of Practices or “Guilds” as they’re sometimes known let me know. What advice would you give to someone who wants to form them in their organisation?
It’s been over three years since I wrote my post Four Types of Work in an Agile World and a lot has changed since then but it is still, by far the most popular post on my blog. I wanted to take a minute to revise the post as I believe things have changed, in the industry in general – not just my head!
When I wrote about this topic originally I described the four types of work introduced by The Phoenix Project as:
I discussed how we used the product backlog to mange the first three and introduced slack into everyone’s sprint and a SWAT team to mop up as much of the Unplanned Work as possible to avoid it jeopardising the planned work.
Over the subsequent years I’ve considered this a little futher. Partially as my knowledge of DevOps and Scrum have grown, but also because – let’s face it, no one wants to be in that SWAT team!
The first change I’d make to The Phoenix Project’s famous 4 types of work is to recognise that in reality all work is either Planned or Unplanned. Internal Projects are a type of Planned Work and Changes are an implementation phase of both. Lets say instead we have:
Next I’d argue that my previous approach of having a distinct team to shelter the project team is incorrect. It’s another phase of waterfall, splitting different phases of the Develop, Verify, Run into different teams creating silos which don’t talk to each other or share learning. As someone once said – if it’s you getting paged at 3am because the website has crashed you’ll quickly make sure you resolve it in office hours!
Teams must be either orientated around projects or focused on delivering platforms as described in Team Topologies. Those teams must ensure the entire lifecycle from design to operation. To do anything else is to isolate that team from the user and reduce feedback see DevOps 2nd Way).
These teams must also ruthlessly hunt down and eliminate the technical debt which leads to this unplanned work. Creating a buffer team to try to contain the work will only last until lack of feedback and continuously declining quality consume that buffer and overflow back to the development team.
Tech Debt can only be paid down by:
Increasing the frequency of deployments (thereby decreasing the delta).
Allocating between twenty and thirty percent of the team’s capactity to preventative maintenance and tech debt work.
Improving operability and monitoring in production.
Teams have to be utterly ruthless when they resolve issues in production to take action so that they can’t happen again. Or at least that they will be much easier to detect and resolve the next time. Unfortunately, many businesses do not invest the time necessary to maintain their own products. This leads to conflict between the teams and the business and ultimately fails both sides.
This is where it is so important to have your Product Owner on side. I won’t attempt to duplicate many excellent articles on the value of paying down tech debt and having that conversation. I’d only be repeating the words of others. What I would say is that providing meaningful metrics on code quality using tools like StyleCop, Fortify, and SonarQube help quanitify the risk to the business of continuing to operate in this way.
If you want to get your Planned Work back on track you need to hunt down and destroy the sources of Unplanned Work (this is not to say you shouldn’t respond to change when it comes along). It means that Unplanned Work is a symptom of technical debt, either in the form of bugs, lack of clarity, or poor operability.
If you want your team to be able to get on with improving your product, you need to ensure that they aren’t getting distracted by people struggling to use it – otherwise you won’t have anyone wanting to use it at all!
I’m very proud to say that I’m going to be giving a talk entitled “A Geek’s Guide to People” at DDD2020 on the 12th of December. I’ve loved being involved (both speaking and attending) at the DDD conferences for many years and am glad I can contribute this year. It’s going to be interesting doing it virtually!
After I wrote about Getting Things Done last week I began to think how the GTD approach could work for developers working in a Scrum Team.
There’s no doubt in my mind that scrum is one of the best working processes for software development teams (yes there are others but scrum is incredibly prevalent and many teams across the world have a lot of success with it). However, having an effective scrum process does not guarantee that developers are productive or that they remember to complete the myriad of other day to day work tasks.
But let’s talk firstly about why GTD can help developers and why it’s not just another process to follow. Have you ever turned up to a meeting and had that sinking feeling when you realise you’ve forgotten to do your actions? Have you ever forgotten your timesheet? What about those times when you have tried to get your head down to write code but can’t quite forget all the other jobs miscellaneous jobs which you have to finish before the end of the day? This is because there are many tasks associated with your role which do not relate to the product or the team.
As well as writing code we ask our developers to complete an endless array of other tasks such as regulatory training, end of year reviews, interviews, timesheets, and other initiatives. These, in my humble opinion, have no place on a Sprint Backlog. They’re not for the value of the team or the but they do detract time from the sprint. Annoyingly, we we don’t provide a mechanism for developers or testers to track these if we’re not using the board – we just expect them to “be organised” and somehow find that time during a planning session. This isn’t fair and it isn’t good enough.
Our goal has to be to assist developers with the tasks their job requires which don’t fit nicely into a sprint format.
Before we go any further I’d like to point out that GTD and Scrum are not entirely unrelated ideas. The five steps of GTD are:
These match up almost perfectly with their scrum equivalents of:
Sprint Reviews and Retrospectives
David Allen, the creator of GTD, suggests reviewing your entire project list every week to ensure actions are kept up to date and nothing is missed. This process draws many parallels to a team reviewing its progress against a larger goal in a Sprint Review.
Implementing GTD for Developers
But how would you go about implementing GTD for a developer without treading on the scrum process? The first thing to realise is that the two frameworks manage work for different areas. Scrum is about product development, GTD is about managing your personal workload. There’s a crossover, where you’re working on work specifically for the product (hopefully a significant part of your day), but there are also significant areas where both work independently.
The first step, as with pure GTD, is to capture everything. This can be on paper, on your computer, or in a notetaking app. This list will form the basis of your in tray and should contain everything which is in your head or on your desk at the moment. You can limit it to work, but personally I’d recommend including your personal life too.
Your list may include items like:
One of the key tenants of GTD is to move all these items out of your head and into an inbox. Free up your brain for making decisions and having ideas not for storing stuff which would be better suited to a piece of paper. Chances are the first time you run through this you will end up with hundreds of items on this list, far more than you ever expected! If you find yourself slowing down take a look at the GTD Trigger List to see if you can tease out any more and I’m sure you’ll think of a few you’ve forgotten.
Don’t be intimidated by the sheer number of items you’re finding now. They’re already in your head, the only difference is now you’re seeing that list for real. If we can visualise it, we can throttle the number of items in progress – just like you would on a scrum board.
Going forward you’re going to capture items as soon as you think of them you don’t have the chance to forget them (remember what we said about remembering actions from meetings?). This list should never grow this large again.
Capturing Actions From Email
Email can be a particuarly tricky one so I’ll cover that one specifically. I recommend creating three folders:
I’ll explain about Waiting For later on but I want you go through your inbox and move every single email into either Action Required (you need to do something with this) or Archive. If you added it to the first folder, put it on your list.
Your goal should be to repeat this process at least daily. Remember your inbox is just that – it’s an in box. You should empty your inbox and decide what to do with it (not necessarily action it) as often as is reasonably possible.
Once you’ve constructed your list from your mind, various postit notes, your scrum board, and your inbox you’ll have a lot of work on your hands. I’m expecting you to have well over a hundred items. However, this list makes sense to you now but it won’t after a days (or even hours). We’re not going to complete these items all at once and we need to know that whenever we come back to then will still be clear to us. We want to record actions, things we are going to do – not just vague bullet points.
Implement login functionality
Reply to Billy’s email requesting feedback
Call hair dresser to confirm appointment
Reply to boss’ email and answer question
Check metrics on live site are within expected range
Note that all of these are now specific things for you to do, not vague points designed to remind you. David Allen (the creator of Getting Things Done) teaches us that one of the biggest causes of procrastination is not knowing what the next action or decision should be. Save your future self from that frustration by deciding what is actually needed right now, before you file it away to be done in the future.
GTD uses projects to organise work. The definition of a project is very broad.
“Projects are defined as outcomes that will require more than one action step to complete and that you can mark off as finished in the next 12 months.”
We’re going to use the actions list you captured to create your project list. I would recommend you keep a couple of high level projects to group various pieces of work together. I use:
However you should choose the ones which seem most appropriate to you. Within each of these I would create a project called One Off Actions.
Next you’re going to work your way down your inbox and create and organise as you go. The question you should keep asking yourself is whether your task is part of a wider project or if it’s a one off action. At this point you should also make a note of any deadlines for any of your actions.
Organising Actions Which Relate to Scrum Tasks
Many of the actions you have will relate to work you are currently undertaking on behalf of the scrum team. Code this, Code Review that, etc… There are a couple of ways to approach this. You could either create a duplicate item on your own system to track your work on the scrum board or you could ommit these from your personal system.
There are advantages to both. Having work listen on both makes it less likely you’ll lose track of something however at the expense of organisational overhead and keeping things in sync.
Personally I would recommend that you don’t track work you are doing as part of the scrum team in your GTD system as I would want to create a single source of truth. However, as long as you’re consistent I don’t believe there’s real harm either way.
As you are working through your actions you will undoubtedly encounter projects which are waiting someone else to complete an action. One of the most common reasons projects go off the rails is because a task is sat with someone and it is never followed up. This is where the additional folder we created in your email comes in useful.
Whenever you have an action which is sat with someone else tag that action with the word Waiting. I would also record the date it was delegated, the name of the person, and the date you wish to follow it up. Depending on the technology you are using you will have different mechanisms for doing this ranging from reminders and tags to simply changing the title.
Drop any corresponding emails into that new Waiting For inbox folder so those messages are always close at hand. BCC yourself into any emails you send asking for someone to pick something up and drop it in that folder!
If at all possible keep the action sat in the same project folder, this will help maintain context with the overall project.
Agendas are one of the hidden gems of GTD. Inside your work folder (although you could possibly do it for others too) I want you to create a folder for Agendas and then others underneath for:
1:1 with Boss
Along with any all hands calls or mentorship sessions you take part in. These folders represent everything you want to discuss in those upcoming meetings. This means if you have an issue you need to speak about you will never have that frustraiting feeling of not being able to quite remember what it is.
This means you can gather frustrations or highlights for the retrospective throughout the week and make a list of items you want to talk to your boss about rather than having to think of them on the spot. You can also capture any items which come from either of those two meetings quickly and easily in your inbox for clarifying and organising later.
Once you’ve raised your point and got your answer you can check them off. Remember you can use Waiting For if someone doesn’t have the solution for you right away!
While creating your actions is it often helpful to tag (or otherwise highlight depending on the technology you are using) the next action which is required to move a project along. I also tag my actions with Email, Phone, and/or 15Minutes to help me catagorise each item so I don’t have to jump from one application to another and can pick up quick tasks in between meetings.
By now you should have a list of all the actions you have committed to and their appropriate due dates. David Allen recommends you should reseve some time each week to zero your inboxes, review your projects, next actions, waiting for lists, and agendas and I would agree.
You’re looking for anything which is out of date, irrelevant, or no longer needed. You’re also looking for the next steps to progress your projects.
I would add one add additional suggestion. Ensure you schedule your personal GTD review before your sprint ceremonies. If you don’t have a clear vision of your commitments outside the sprint then you are never going to be able to give a fair view of capactity in those planning sessions. If you know you’ve got a large task to complete for a senior manager you’re now aware of that task and can take on less work in the sprint planning session.
Now we’ve got this wonderfully organised list of work it’s time to do some! There are a number of ways for deciding what to work on:
How long it will take
How urgent it is
Whether you have the right tools required (and to a degree the inclination) at that time.
Obviously the vast majority of your time will be for scrum tasks (or at least I hope it would be). However as we mentioned at the start it’s important that these other pieces are picked up and not forgotten about. I would recommend finding a certain amount of time each day to review this list and look for any actions and make sure you have plenty of time to complete them before their respective deadlines.
10 minutes at the start of the day (ideally before the daily standup) is all that’s needed to make sure you can plan effectively and you don’t miss anything which needs doing alongside your scrum deliverables.
A Note On Technology
I deliberately haven’t talked about technology in this post. The tool doesn’t make the system but it’s clear you’re going to need a good tool to keep this system working.
In his book David Allen talks a lot about Pen and Paper but also doesn’t go too much into digital tools (although personally I think he’s a little naive assuming that people won’t reach for an online tool first.
Personally I’d recommend Todoist, I find it very intuitive and reliable and they have a great GTD guide available which walks you through many of the suggestions I’ve made. However clearly there are other applications and tool available – please feel free to share any suggestions you’ve got in the comments.
In this post I’ve tried to explain why using a system like GTD is so important to developers and how it can be used to handle work which the scrum process doesn’t. I’d highly recommend having a read of the Todoist GTD Guide and giving their free version a go. If you have any other suggestions on how to integrated the two processes I’d be very keen to hear them.
I was recently talking with a colleague I respect greatly about personal organisation. He said he’s a great believer in the GTD method. I raised an eyebrow, it sounded like some kind of car maintenance routine. But, when someone who seems to always have his eye on any number of spinning plates throws three letters in your direction I find it’s a good idea to listen.
As a developer I’ve grown up with scrum and kanban. When I moved into management I started creating ToDo lists but no matter how hard I try they always seem to fall out of date. David Allen’s book, although fairly exhaustive really opened my eyes to a better way of working.
I don’t want to go into too much detail on the GTD methodology, there are far better resources out there and the book itself is very comprehensive. However, there a few nuggets in there which are too good not to share.
The first revelation for me was that your inbox is not your ToDo list. It’s a capture tool, used for recording every commitment you make and idea you have. Allen’s approach is to frequently empty your inbox by actioning, scheduling, or delegating tasks. The same principle applies to an email inbox. Don’t let it build up, move items out into Archive or Action Required folder so you’re not digging through thousands of messages for the ones you need.
The other ideas I liked were the concept of Agenda projects to keep track of topics to cover in specific meetings and using a Waiting folder for work you are tracking but have been delegated to other people.
Hopefully this has given you a taster. If, like me you find actions slipping through the cracks or found time wasted while you were looking for the next task I’d highly recommend the book.
It’s quite iterative, the first couple of chapters contain most of the secrets. These are then expanded upon and developed in subsequent pages. It’s also very… almost technology phobic. I appreciate that the methodology should be tech agnostic, something you can do with a pen, paper, and a few folders. But in this digital first world I’d have started with a technological approach. However, the Todoist post I shared above gives a very practical guide of how to implement it using their (frankly outstanding) software.
I recently listened to the audiobook version of Matt Skelton and Manuel Pais’ book Team Topologies. It was so good I bought the kindle version while I was still halfway so I could make notes and highlight the good bits (most of the book it turns out).
The book takes several principals such as Conway’s Law and really applies them to business teams. This is something I’ve seen first hand. When several teams work on one large product the codebase becomes decoupled if the teams are given ownership of particular components. However, if teams are expected to work across the codebase the solution becomes monolith and the teams become a super squad.
In the book the authors argue that there are actually a very limited number of team types in a modern organisation. I don’t want to list them because I’d strongly recommend you to buy the book and read the descriptions for yourself. However, if the various types it was the concept of platform team which intrigued me the most.
I actually think Matt and Manuel underplay the huge value of a platform team. They discuss brilliant ideas about consumable APIs and documentation for product teams which consume them. However, a data driven business like mine I believe we should run far more platform teams and far fewer product teams. If we want our Product Owners to be able to innovate and prove the value of ideas quickly we need our data sources and components to be as plug and play as possible. This allows any product or concept to be built and tested very quickly. If all these services were owned and managed by platform teams, instead of falling down the gaps between product teams the solutions would be more robust and the lead times far lower.
If you’ve never given any thought to how teams are created and assigned areas of ownership then this is a brilliant book to read. If you’re not sure how your teams communicate and share information then this book is essential.