What’s this all about?
It’s my attempt of categorising the functions of a company or the roles in a project in a way that focuses on the value to the end client and hopefully some ideas on how to increase it.
I’m a software developer so the examples and ideas are around software development but feel free to try and apply it to your own industry.
Where do we start?
The first thing we’ll do is to create four columns and start placing different functions, actions or roles in the columns. Honestly I think this is the most difficult part, figuring out where everything belongs. Anyway back to the columns, each of the four columns has some special attributes.
The first column is the stuff that the client asked you to do. As a software developer I’ve included things like bug fixing, features, design and documentation.
This is the stuff the client does not ask you to do but you do anyway and bill the client for because its part of your expertise and needed for the things in the 1st column. As part of developing software we need servers, to test what we’ve done, etc… It greatly adds value to what finally gets delivered to the client!
As an example I can deliver the software on a CD to the client and expect them to install it on their server themselves. It’s far more valuable if I can install it for them on their servers, it’s still kinda work that was asked for, even if not explicitly.
So this column is kinda like the stuff we ask the client if we can do.
So in this column is the business functions we need to support our value to the end client. It’s things like planning: how to tackle the project, sprint planning, etc …
This is the general business functions like HR, billing, etc …
I’ve gone a bit lite on the 3rd and 4th column because by far most of my time is spent in the 1st and 2nd column and none in the 4th column. It’s in no way a reflection of the importance of the functions or roles in the 3rd and 4th columns. I’ll hopefully show you why in the next section.
Left to Right
So the idea here is what happens when we start chopping off column. So we’ll start with the 1st column. When we chop of the 1st column the next column becomes redundant.
So on the 2nd column some of those items might seem value adding and something that indeed a client might ask a provider to fulfil. The problem; we don’t provide it as a 1st degree value. You’ll likely find companies that offer this as a 1st degree value service, they’ll have a 2nd degree value column full of other things that make them worth engaging with. If a company can’t explain their investments in the 2nd column they’re likely not worth engaging with.
When we drop the 2nd column we’re left with planning nothing and no way of providing concrete value to the client, without a 2nd column, the functions in the third column become redundant.
Likewise when we drop the 3rd column the 4th becomes redundant because we have a HR role with no employees and no positions to fill.
Right to Left
This is the part where I explain why the columns on the right are equally important, simply put: without those we can’t do any of the other. Without HR we don’t have resources to do planning or execute those plans. Without planning we can’t do anything because we don’t know what to do. Without being able to setup server or development environments we can’t develop software.
Ah. but now you’ll say we’ve been able to function without one of those functions before. If you think hard enough, you’ll likely(I’m still trying to build this model at the moment) find that you filled one of those roles. They’re roles not job descriptions or people. At its simplest HR might be a decision to do something, planning a simple thought on how to do it and then a set of various tasks, some more valuable and some less. This model can be applied to a single person, single project, a train of thought or maybe writing a blog post.
So in a way the rightmost columns are the most important if you’d still like to rank them by importance. I’d still consider all of them equally important.
Billable and Non Billable
So I’ve separated columns one and two as billable and columns three and four as non-billable. I doubt this is accurate but so far it’s working for me.
One of things I’ve found so far is that the more left you go the less it becomes about soft skills and more and domain expertise and vis versa.
Ultimately it’s the domain expertise that the client needs and splitting it in the middle makes sense so far.
What’s the point of all this
It’s a different angle on how a company works, or at least the start of a view of one. It’s a view that’s focused on the end client and the engagement with the end client.
What to take away from this?
It’s a way to look at a company that helps to systematically increase profits, let’s say that you spent 50% of your resources on the 1st and 2nd column that means you’ll need a 200% markup to break even.
It’s a way to look at a company that helps streamlining it. Start by streamlining a company from right to left, making sure not to drop the quality. Having issues delivering quality to a client make sure you’re hiring the right people, streamline and make sure your hiring practices are up to standard.
My role is spent mostly in the 1st and 2nd columns. I’m focusing on making things on the 2nd column easier and cheaper while maintaining quality, In many cases increasing quality.
Another interesting thought for a software company is where does something like code review fits in? I think where it fits in, has a lot to do it your attitude towards it. Some people consider code review as a necessity of delivery and that the software has to have zero technical debt. Others consider it as a teaching tool, to grow the overall skills of the company rather than a condition of delivery. Depending on our view we can have a look at placing it in the second or third column. If it’s a condition of delivery: 2nd column, teaching tool: 3rd column.
Also, where do we put project management, 2nd column or 3rd column? If we have the verifiable resources(talent) for project management like an employee with a degree in project management it belongs in the second column. If it’s more a soft skill that we’re applying it’s a 3rd column thing.