I just came across an article published in the Financial Times last week on how soccer clubs have been starting to use more and more player performance statistics over the past years when trying to find players to hire. The article (“A football (soccer) revolution” by Simon Kuper) ranges from the first steps taken by managers like Arsène Wenger in the late 1980’s to today’s analysis tools that try to model complex situations during games and create correlations between individual behavior and team success. It feels like computers could be telling clubs which players to trade and how to build up the team without any human intervention.
So will we really be building our sports teams around the needs and requirements of computers in the future? Well, this may sound like pretty unlikely science fiction and probably even the best computers won’t be able to predict when a striker will have a bad day again in the next matches. Interestingly, on the very same day the FT article was published, “Fast Company “published an article that is not related to sports, but has a headline that made me stumble: “5 Tips That Make Your Meetings iPad-Friendly”.
Not enough that computers may tell you how to build soccer teams, now your meetings have to be designed to meet computers’ needs? Not quite. In essence, the article tells you how to use the capabilities of the iPad to make meetings even more productive and gives recommendations like using a stand or which app to use for taking notes – so basically it’s a lot more harmless than the headline suggested. But it made me reflect about the situation in our companies:
The basic idea is that computers and software support the business, strategy and processes. So software programmers collect requirements from those in the business, design according to these business requirements, develop and test with the business to make sure the software doesn’t disrupt the business. That’s pretty much like Manchester City using software to identify a midfielder with an 80% pass accuracy to support their existing midfield.
Nearly all relationships between companies and software work like this. Companies e.g. offering business process management software or ERP systems earn a fortune with this traditional model.
However, what if it was the other way around? What if we would go for the extreme model of computers telling clubs which capabilities they lack and which players to buy – or in our context: What if we not only designed our meetings for iPads, but our business for software? Jumping too far? Well, maybe.
But let’s look at it from this angle: The evolution of software development as a discipline has been a lot faster than the development of economic theory over the past couple of years. It’s been mainly driven by the goal to be more efficient and effective and some of the brightest minds in the world have been involved. Therefore, most probably some of the approaches and solutions found in software development are quite clever and creative.
So why not learn from it? Just like soccer coaches try to learn from software what is really relevant to be successful, I tried to come up with some things managers in business can learn from software and software development.
This list is in no particular order and clearly not extensive. I just put together a couple of points, hoping to inspire some of us to think further and maybe come up with more ideas on how to improve management approaches by learning from software trends.
- Frontend vs. Backend thinking
While traditional business strategy is still often relying on ideas like the Porter U-curve, telling companies that they can be either quality or cost leader, in computing we differentiate between frontend and backend. While the back-end is where processes have to be performed as quick, effective, reliable and cheap as possible, the frontend has to be as user-(customer-) friendly as possible.
We not only need to think about where to best put up the line between frontend and backend – this also calls for a completely new job description: Who can serve as the middleware in our companies? People that understand backend processes (production, supply chain, etc.) and customers and their requirements (frontend) at the same time. They will become the success factor for companies that are trying to bridge the gap between being cost-efficient and quality/value leaders at the same time.
We are used to having software in different versions and improvements added instantly whenever a group of them are ready to go. In business we are not. When defining the setup of organizations, we are always looking for the big bang. Everything has to be well defined and durable, and organizational structures will stay intact for years – often until the top manager changes.
And people like it. They want to know where they belong and what their responsibility is. Yet this doesn’t allow for improvement to be added on the fly. So often when we realize that our setup has a weakness, we wait until the weaknesses add up to a big problem. That’s not very effective.
If we could develop organizations into being flexible and comfortable with more organizational changes, we could have something like beta versions of organizational setups. Something we think might be quite good but we want to test first, always being ready to change things.
- Distributed Systems
Despite having the technology in place to have people working together which are not in the same geographical or organizational location, we tend to create local organizations in one place. And even if we decide to set up a “project organization”, project members are moved into one place or virtual organization to guarantee for focus and intact command lines. In contrast, in distributed computing tasks are moved to the node in the network which is best suited to perform a job, maybe because it has better data available or capabilities that are more suitable for the job. This creates a better availability of the best resources and allows for scaling the system up in case more resources are required. If we wanted to transfer the idea to our companies, we would have to a) allow for nodes to fail, i.e. for project members to not deliver the expected results, which means be more flexible than most companies today, and b) have trust in the project members – also something not all companies are strong in today.
- Search Engines
In the internet, the most important players are not those creating content anymore, but those driving traffic to the relevant content. That’s why Google and Facebook are the highest valued internet companies these days.
Why don’t we have search engines in our companies? And I’m not talking software this time. How about human search engines? People that crawl the company just like the Google engine does, in this case by wandering around, talking to others to understand what they are doing and how. People that host social exchange just like Facebook does by bringing the right people together. People that answer searches – “I know someone who could help you”. While many argue that knowledge management in companies has failed, as computers can’t perfectly manage the complexity, how about a human approach?
Even today, there are people who try, people that connect others. But these people are usually those that are heavily loaded with work anyway and have very limited resources. Full-time company-internal scouts won’t create a positive business case instantly, as the value they create probably can’t be easily measured. But how would you measure the value Google creates? Yet, we all agree it is enormous.
- Agile Development
While traditional software development collected requirements and built software based on those requirements (waterfall approach), agile development uses teams with members from different functions that jointly develop software from scratch in multiple iterations, learning and improving from iteration to iteration.
Interestingly, this approach is not existing in software development only, but in other business contexts, too: The basic idea is identical with the idea of design thinking as promoted by design companies like IDEO for developing all kinds of products or services – not (only) software.
Definitely worth having a closer look at.
These are just a few ideas, and there can be lots more. Just think about how we could translate e.g. open source approaches or object oriented programming to the business context.
So what are your ideas? How could we learn from software development just like soccer coaches today learn from analytical tools? At the end of the day it’s all about building a strong and capable team that beats the competition – in both contexts.