Proudly brought to you in association with S A Partners, a world-leading business transformation consultancy.
Dr James Coplien. James is a writer, lecturer and researcher in the fields of computer science.
James is known for his work on patterns in software, program design. James and Jeff Sutherland and 18 co-authors published the book titled "A Scrum Book, The spirit of the game". This book outlines many of the key patterns of success in achieving high-performance teams. Let's get into the episode. James, thank you so much for joining me today.
Start in life: Technology and people.
James started as an electrical engineer in training, went on to an undergraduate degree in computer science and later gained a PhD. In the doctorate, he began with a technological focus. He loved to tinker with electronics as a kid and built some simple computers at home before actually using a real one. James went to college, started work at Bell Laboratories, loved the technology there, and enjoyed the work. He did what he feels now were some pretty amazing things.
Several years later, a friend of his, Moody Ahmad, said, "You know, it is all about people, this technology stuff", and that's what got James into the human side of things. He still keeps his fingers in technology, specifically object-oriented programming. But his passion is more on the human side, working with organisations and looking at development processes and organisational structure. James has worked a lot with Jeff Sutherland in the early days and is still part of the Scrum community.
Working at Bell Laboratories - all problems are people related.
While working at Bell Laboratories, he had a great boss, Steve Bauman, who said, "There's never been a technical problem that Bell Laboratories has been unable to solve". All the problems were people problems. James is an extrovert and likes working with people. He speaks about working with Bell Labs Research, studying development processes. At that time, AT@T tried to break into the European market with the ISO nine 1000 trade barrier and needed ISO compliance. They had documents and made role activity statements from these. James was to study the organisation and make role activity statements based on his findings. When they compared reports, there was no correlation, and he was never allowed to publish his results.
It was so clear to James that that's where the problems are. The dysfunction in organisations is usually a people issue. If processes are not the right thing to study, what is? Relationships and social networks.
The Mess Pattern and working with Nonaka Sensei
James thought it's about relationships and social networks. But then he started noticing specific configurations arise again and again, in sick organisations, like highly centralised control by managers, or disconnected roles, or time serial sequences. And some patterns reoccur in successful organisations, and is what James called the 'mess pattern'; it had no recognisable structure.
Later, James was doing many empirical organisational studies over ten years of between one and 200 organisations to find out what made them work. In one especially effective organisation, of only twelve people with four developers, one of the things that made them effective was the four developers meeting every morning to discuss:
What did we do yesterday?
What are we going to do today?
And what impediments are in our way?
James published a paper on the mess pattern. Others began to notice, and James worked with Jeff Sutherland, co-authoring "A Scrum Book, the Spirit of the Game" with many other co-authors. He also immersed himself in Japanese culture and learned about Takeuchi and Nonaka. James worked with Nonaka Sensei, who had studied successful organisations in Japan and noticed a pattern of everyone doing everything simultaneously. It reminded him of sashimi on a bowl of rice: every task was overlapping. What would the human equivalent of sashimi be? Well, it's people overlapping each other, like people with their arms around each other's shoulders, like a scrum in rugby. And that's where the word Scrum comes from in Agile.
The work by Takeuchi and Nonaka grew on James. He was also always interested in the Chinese classics. These elements emerged into an integrated worldview, a whole system that is wonderfully beautiful and consistent. Christopher Alexander had a similar view of architecture. He wrote a book called "A Pattern Language" and another called "The Timeless Way of Building". So this would become another part of the language and formalism that James uses to describe and convey how one approaches the development of a complex system, something like a development organisation.
James believes that the term 'patterns' probably came from his previous work with software patterns. So initially, he was looking at patterns and architecture and software architecture for object-oriented programming. He is also one of the founders of the Hillside Group, which launched the patterns in the software discipline.
Buffalo Mountain Pattern
James wrote his first pattern, terribly terribly named Buffalo Mountain pattern (you can hear the humour in this episode!) It was an organisational pattern that used the same form and systems thinking regarding how many complex systems and emergent behaviour works. Alexander had seen this in architecture. Biologists use the term for the configurations that arise spontaneous symmetry breaking, which is how patterns form from more scientific theory and theoretical point of view.
Everybody is doing everything all of the time: the heart of Scrum.
Swarming is also known as single piece continuous flow or one by one production.
Did Scrum come from the Toyota Production System? Well, kind of. This notion of single piece continuous flow has to do with waterfall development, which is what Toyota does. Relating to Nonaka Sensei's observation of the sashimi type of behaviour - everybody doing everything at the same time is the swarming pattern.
Cross-functional team and co-located team patterns
You can't have specialisation. Anyone in the team needs to be able to look and say, Oh, this work needs to be done, and pick it up and do it. That's what enables everyone to do everything all the time. You also need a co-located team.
If you're swarming, you need a plan for what you're doing during the day. And that's the daily Scrum. The daily Scrum is not simply a reporting meeting with an agenda. The daily Scrum is a planning meeting; it's a small extension of sprint planning that you do day by day to accommodate what you've learned from urgent requirements.
A Scrum Book
Jeff (Sutherland) worked with the 18 co-authors, including James, on this book.
If you're at the beginning, you can use the patterns described in the book to move from incompetence to competence. Patterns aren't for building buildings. Patterns are to develop you: they're to put you in touch with the insight you were born with so that you can follow your instinct.
James believes that A Scrum Book is a Trojan horse book on the sociology of development. There's nothing technical in it, and there's nothing in it about software. It's about people. Humanity research grounded in sociological research, psychological research.
So it's not about how to do Scrum. It's how to be a whole human being as part of a culture that wants to do great things. And how do you do that? You'll figure it out!
Can patterns scale an organisation?
Have you seen a large (50-100 people) organisation really working well, where people contribute fully? Where everything fits together and adding more people corresponds to the productivity of the organisation? Probably not. James has not seen a single good study of a software organisation that shows us that scaling works. Four people created Skype, and then the company grew to 2000, and it died.
Because every person you add detracts from the effectiveness of other people on the product for about 25% for six months. Imagine taking a team with a velocity of 100 and splitting it in two. The resulting teams each have a velocity of about 30, for a total of 60. This means to get back to the original 100, you have to double the size just to break even.
So James doesn't think this scaling is a good idea. He does believe that scoping is essential.
James talks about multi-site development: he hates it. But sometimes it's necessary because you need someone in the country for localisation or because they're close to the resources they need for manufacturing.
James speaks about the management tradition of hierarchy and small world theory. So small world theory can do for 8 billion people what Scrum at scale cannot do for 600 people. What's wrong with this picture? Why does this work for 8 billion people? Because it's not hierarchical.
Scrum of scrums
A scrum master from each team would get together with the scrum masters from the other teams after the daily Scrum. It didn't work as scrum masters were process people, not technical people, and the problems were technical problems.
A hub is like the new Scrum of scrums, but it doesn't have to be about technical issues; it can be the organisation's core competencies. We could have a testing Scrum hub where did the testers come together to decide what conference we go to next? Or a chess hub where people who want to play chess just come together to play chess to blow off steam. Or management hubs. Hubs are common sense; they are what people would do naturally to work in a large community.
Steve Johnson, an innovation researcher, notices that innovation tends to come from cities, and this is why cities spawn innovation. Well, part of it is that you have a lot of diversity: having many different perspectives on things. And part of it is because you break down the hierarchy. People just meet each other in the street and have these chance interactions.
Where does management fit?
So often, in Scrum, people will say, okay, the whole world is these five developers and a product owner and a scrum master? Well, no. Who sweeps the floors, who runs a cafeteria, who locks up things at night? Management does have a function. You see this in Japanese corporations, not in managing development, but in managing the corporation. So there's more than just a scrum team.
In Japanese culture, you have executive management, and they don't interfere with development; development manages itself.
Executive management runs the corporation and answers the questions:
Where do we get funding?
What market should we be moving into?
What strategic alliances should we have with other companies?
What is our marketing strategy?
Should we start a new product?
Should we kill a product? A product owner will not commit suicide and kill their product; they need someone above them. What makes companies great is cutting the fat: noticing the projects that will not go anywhere and cutting it.
The Executive has the money and power - the big guns. If a team of developers can't solve their problems, they need to get help, maybe from another Scrum Master or Product Owner. And if they can't solve it, they go to management. If something prevents the team from getting something to the customer in this sprint, management has the big guns. And so they're there to serve the team.
The CEO of an organisation could be both the product owner, the one who's accountable for ROI, or the Scrum Master, who serves the entire organisation. The goose that lays the golden eggs is the developers. Managers have a servant function in that they should do everything to help the developers at their level. On the other hand, developers aren't in the position to steer the big ship. That management function is still needed to steer the ship. But we don't need our middle managers and hierarchy.
James speaks about organisational structure in Denmark - it is very flat. Management is not viewed as a real glory power job. It is not about filling out the hierarchy with control points or having an extensive formalised governance system for interaction between managers: the governance is emergent and is very lightweight.
Toyota management made a strategic decision to export cars. So why do you find all their vehicles in Australia, in the US and in Europe? It's because it subsidises the price of building cars back in Japan and lowers the cost they can charge for Japanese people. So this is a strategic decision on the part of the management of the company.
A manager is looking for making those kinds of strategic decisions, setting the vision and level of value for their organisation. They can kill projects. A product owner, on the other hand, like a chief engineer at Toyota, is looking at value from their product. How can you make this car perform well? Get good gas mileage? Have sexy styling? Different dimensions of value from each other.
How does someone in a traditional hierarchical organisation struggling with keeping up make a change?
James recommends the book "Becoming a Learning Organisation". And the authors said, fundamentally, some organisations and some industries are so woven into the fabric of a culture that it's just hopeless to change them. The examples they gave were the post office and government. They have some economies of scope. But the cost to serve society is very high creates tremendous inefficiencies because they're dealing with throughput rather than latency. James lives in Denmark, and it takes about six weeks for him to get a letter from North America. Why? They're dealing with throughput because they have this vast scale and struggle to optimise latency. James believes it could work if you turned it loose to self-organisation, like Federal Express. They have discovered the value in lowering the latency, which is worth charging money for: there is a market for reducing the latency (of product moving from one place to another).
So what to do if you're in a large legacy organisation to create change?
James offers the following advice; become a rebel, insulate a small group, build a skunkworks off to the side. Show that you can take on the organisation and rebuild what they make with your small team. But it would be challenging if you have a blocker - someone who finds a reason to say it didn't work.
James had a friend Dennis De'Bruleur who taught him everything he knows. In 1979, James joined AT&T with a workforce of one million, designed for volume rather than latency. It took six years to develop a new system, though the systems were huge and ultra-reliable; three seconds of downtime a month: incredible quality and incredibly great products. AT&T faced a new world with rapidly changing technology; the internet and IP were coming along to support voice. And Dennis said the best thing that AY&T could do is build garages up and down Naperville Road. Imagine the line of garage shops, small startups, like Hewlett and Packard did.
How about turning people loose? Yeah. Have your people get out there and give them money to do something interesting. And you're scaling your business. James thinks big companies shouldn't grow the existing development; instead, they should put the money into something else. Toyota figured this out a long time ago. If they build an assembly line for a car, they'll create between 300-600 thousand cars and then rather than putting money into improving that assembly line, they design a new car. So don't grow the current organisation. Build a new product.