At the turn of the 20th Century, the father of modern Business Management – Frederick Winslow Taylor – discovered that he could significantly increase production output and decrease labour costs substantially by assigning simple, repeatable tasks to people on assembly lines.
Hit this. Turn that. Place this thing here. Repeat.
The tedious, repetitive nature of the job required ‘managers’ to supervise output and ensure that people simply complied with the micro-targets that their performance was measured against.
A great day out if you’re a business owner but a soul-destroying existence for production workers.
The success of this system led to its implementation across multiple roles within companies, from administration teams to software development teams. If we match our competitors, pound for pound, we’ve got an even shot at a slice of the pie.
If we build it, they will come.
“Uber, the world’s largest taxi company, owns no vehicles. Facebook, the world’s most popular media owner, creates no content. Alibaba, the most valuable retailer, has no inventory. And Airbnb, the world’s largest accommodation provider, owns no real estate.”
In the 21st Century, we live in an information age filled with complexity, uncertainty, and ambiguity.
Yet, companies primarily still operate following Frederick Winslow Taylor’s principles. This person is a salesperson. That person is a programmer. This person is the customer.
Instead of ‘simple, repeatable tasks’ job descriptions, we call them ‘pockets of excellence’ instead.
The brochure looks better, but not much else about how we view people’s roles has changed.
The world, however, has changed significantly.
Software as a Service blurred the lines between products and services, and technological advances altered supply chains and economies of scale in ways we simply couldn’t have imagined 20 years ago.
In 2006, a blockbuster rental was $2.99 per day. You got in your car, drove there with the kids, and spent a few hours fighting about who gets to watch what. By 2007, a Netflix subscription offered you 1000 titles for $5.99 per month, on-demand, from multiple devices.
You’d need to be Hemingway to write a sales script that pitched Blockbuster as a better option than Netflix. The same goes for the sales teams who woke up to AirBnB, Uber, and Facebook in their backyard.
When this happens, you need people who love problems more than they love solutions at the coalface.
A question that comes up a lot is that of uncertainty around having customers and software developers in the same room. How could this happen without the world escalating to DEFCON 1?
It turns out Software Developers are people too.
They have jobs, and personalities, and outside of work, they seem to get on with other people just fine. Some have even managed to procreate. Consensually.
I’m one of them. I have what is known to others as ‘a family’ too.
There’s a golden thread that runs through every role I have ever occupied. Software developer. Agile Coach. Agile Consultant. Entrepreneur.
A deep love for solving problems.
At the start of my career as a developer, I realised that I was often solving the least valuable problems. At times, the wrong problems. Why?
Because I was getting the ‘problem’ framed by a sales or customer services person who didn’t have the technical expertise to understand all the potential ways in which a problem might be framed or addressed.
It isn’t because they aren’t great at what they do. Many of the salespeople could sell ice to Eskimos.
It’s because sometimes a customer may not even recognise the opportunity a problem presents itself. They are seeking a solution to a specific symptom without optimising for the system as a whole.
I remember working in a payroll department and reducing the headcount from 10 people to 4 people within six months simply through continuous development and delivery of software that addressed problems rather than solutions.
I’m happy to say that those six people took roles in other areas of the business that allowed them to focus on creativity and passion rather than the repetitive, soul-destroying tasks that software development can address.
This is why having customers and software developers in a room is a great idea.
Customers who are experiencing pain and frustration love to talk about their problems. Software developers are great listeners, and they love to talk about customer and user problems.
No hidden agenda. No revenue targets in the back of their mind. No thoughts about incentive trips to Spain when Covid-19 eventually disappears.
Just two groups of people in a room wholly aligned on developing great questions that demand and command great answers. Great solutions.
Agile is about doing the most valuable work, in the right way, in order of highest priority.
What we often miss is how valuable it is to have the right people engaging our customers and stakeholders outside of the organisation.
Great software developers are people who are in love with problems. In love with the opportunity of solving that problem rather than the obligation of doing so.
Customers and Developers are a match made in heaven. Get them together frequently and consistently.
Have a chaperone if necessary. Potentially even with snipers on the roof as a precaution, but get them in the room and watch the magic start to manifest.
You’ll be happy you did.