The 'tech team on demand' model
I break down how I set up and operate tech teams that clobber traditional tech teams on pretty much every dimension.
I was reflecting recently on a client I’ve been working on for awhile where I set up and have been overseeing their small tech team to build an online marketplace.
We use contractors and pay them only for the work that they do using an hourly rate and having them clock time to the clickup cards that they work on.
There are about 4 developers, 1 designer, 1 QA and 1 product person / project manager.
It is extremely cost effective and flexible and this is already about the 4th time i’ve set up and run this model.
But I think it’s worth breaking it down a bit because i still hear of loads of companies that are wastefully blowing lots of money away on tech in my view.
And when i hear about how they operate i start laughing at how stupidly wasteful it is. The shit i write below works like clockwork and i’ve been doing it for several years now.
How to set up the team
I hire the team members all from Upwork and usually find and onboard them within a couple of days. They are typically from places like Pakistan or India as we are a fully remote team.
Note that I mainly use Bubble (no code platform) and Wordpress developers but have also used it a bit for normal front end and back end developers in the past. It’s a bit harder, but still works more or less the same as there are so many good developers contracting now.
The days when developers are in short supply and high demand are over baby… and I love it! You can hire solid developers at the drop of a dime in places like Vietnam these day at reasonable rates.
Typically I start everyone with orders for just 5 hours of work at the agreed upon hourly rate, which is often around $20/hour. Then when they prove themselves to be reliable i typically increase this to 20 or 30 hour orders.
I onboard them all to Clickup and Slack and tell them that they must participate in our daily standup, which typically lasts about 15 minutes long.
The onboarding is a checklist in a clickup card with various links that they should go through on their own. I invest no time in their onboarding as it is all automated.
One piece of onboarding is the basics of the ‘Beast method’ where they are shown how to use Clickup correctly using the rules:
Everything is a task
All work is an update to a task
Inbox should be cleared at least once a day
And voila! They are onboarded!
The processes the team uses
Everyone is assigned their own tasks via Clickup cards. The status ‘Ready for Dev’ signifies they should start it and as soon as they do they should change status to ‘In dev’ and put a target due date.
Each time they work on the task they do two things:
They put a comment as to what they did
They clock time to the card
Before each standup they should put in their plan for each card that they will work on and a recap on whether they achieved their plan from the previous day. This keeps them accountable to doing the things that they said they would do.
Additionally if they ever need clarification or are blocked, they comment on the card and either the PM or me chime in almost immediately as we are clearing our own Clickup inbox about every hour.
If they need to change the due date on a card they always put a comment explaining why. Deadlines need to be respected.
How the team interacts with the business team
The business team is taught to write their own tickets on the clickup cards. Using a very simple format that includes:
Context: Why are we doing it?
Goal: What is the outcome you’re trying to achieve?
You can look at the screenshot above as an example.
Why doesn’t the PM write all of the tickets as in most traditional tech orgs?
Because I want the biz folks to feel ownership for what they ask for. And they are the ones that ultimately are responsible for the results as they have KPI’s to hit.
The business folks are also following all of their requested cards and so they get all of the comment updates that the developers make. Which they are free to respond to and ask questions.
But essentially they see the progress of the card just like I do… real-time. Because they’re also clearing their Clickup inbox a couple times a day.
So the PM is not doing the useless function of just re-writing the requests of the business team. Rather they are just checking to ensure they understand and agree with what is being asked. If not, me and the PM can comment and disagree.
Ultimately we are the ones that move a card from the status ‘In spec’ to ‘Ready for dev’, which signifies that the developers can start working on it. So this ensures that we are aligned with everything.
As we do this the business team rarely ever asks me the standard questions of why something is taking so long or when something will be done. Because they have all the same updates themselves via clickup and can question anything at any time.
The alignment i’ve seen between tech and business teams by using this approach literally destroys the horseshit i saw in large tech orgs like Wayfair, Lazada, etc. Business operates in lockstep with tech and I almost never hear any complaints.
How do we ensure the team is efficient?
The entire team is clocking time to the clickup cards using the time tracking feature.
I have a dashboard that i use to pull out the time clocked by each member of the team each week and I track this in a spreadsheet.
Whenever they use up the time on their Upwork order, I open a new order so that there is a positive balance.
Then about every 6 weeks or so we estimate all of the cards that were done by the entire team in terms of points. The points reflect the complexity of the tasks, so a 5 point task is a harder then a 2 point one. Pretty much the same concept as scrum story points.
We take the amount of time each developer spent on their tasks and divide by the number of points to arrive at a time per point. We then multiply that by their hourly rate to get to a cost per point. You can see a real example of this exercise above.
Everyone needs to maintain a rate that is less than $40 per point otherwise they are cut from the team.
We also add 1-2 new developers periodically and then use this process to cut the lowest performing 1-2 people.
Competition and efficiency are built in. It keeps people honest and on their toes.
The way i like it ;)
How things have evolved
When you use this system you find that once things are setup and run smoothly, you rarely have any major issues.
Business and tech develop a strong, trusting relationship based on trasparency.
And costs remain in check. If we wanna pause development or reduce our spend, we do so immediately like flipping a switch.
Nobody in the team is making a set salary…. they are being paid based on what they do. So if we wanna drop tech spend to zero for a few weeks to keep cash burn down, we just do it.
No laying people off. No apologizing to anyone. Nothing. It’s just business as usual baby!
On the otherhand if we wanna ramp up our velocity to do a lot more we also do this at the flip of a switch. Within a couple days i can have 5-10 more devs onboarded and working efficiently.
Who else among these large tech orgs achieves anything even close to this?
<crickets>
Closing thoughts
I have some friends and ex-colleagues that work in some of the larger, traditional tech orgs and so I hear them complaining to me sometimes.
I find it hilarious when i hear these stories.
It’s kind of like when you’re accustomed to driving fast cars and then you hear about someone who’s still using horse & carriage as their primary mode of transport.
They have these large, expensive tech teams.
Operating by antiquated processes that result in horrible efficiency.
Often with a horrible, intransparent relationship between tech and business in which both sides are very frustrated with each other.
And with almost no flexibility in terms of their spend.
Hahahahaha
That shit’s a JOKE!
What would you recommend to developers in western countries? Change their profession, become managers like you? Start their own business?