This is the ninth in a series of articles about how we can learn about software architecture by studying and comparing it to the sport of Baseball. This series was inspired by the book Management by Baseball.
I have previously talked about the unique role of coaches in the game of baseball and talked about the special role of the manager in the game of baseball. The coaches and managers are responsible for making the team successful during a game and across the course of a season. The manager will spend some time concerned with how the team will play in future seasons with some of the decisions that he makes, but ultimately his responsibility is the here and now. In a great example of separation of concerns, the long term success of the team (or franchise) rests on the shoulders of another person: The general manager.
The general manager of the team is an executive position within the business organization of the company. They are responsible for the baseball operations of organization, but they are beholden to the business operations of the company that is the organization. Some of the things that general manager does routinely in the organization:
- Player transactions – staffing the 25 and 40 man roster as well as all the minor league franchises
- Player acquisition and development – drafting and developing young players and acquiring veteran players via free agency
- Staffing the coaches and managers – one of the most high profile activities is the firing of the team’s manager
- Managing the costs of talent – the salary of the players must be weighed against team revenue and organizational goals
The Greatest General Manager of All Time?
It would be an incomplete discussion of the role of the general manager without mentioning the person who I think is the greatest baseball general manager of all time: Branch Rickey. Like many General Managers, Rickey started off as a player in baseball before going into the business side of baseball. He was a success General Manager with several clubs, most notably the St. Louis Cardinals and the Brooklyn Dodgers. But what made him such a great general manager was things that he did that were innovative and beyond the traditional role of the general manager.
Re-inventing the game – As the General Manager of the St, Louis Cardinals, Rickey created what is now known as the farm system. The farm system is minor league baseball team that is affiliated with the major league or “big” club. The Farm system allowed the major league team to develop and retain talented younger players. Prior to Rickey’s innovation, the minor league teams could sell or trade their talent to any team. The affiliation gave the major league club the rights to the player when they were ready for the big leagues. This gave the Cardinals a distinct advantage over their competition for many years.
Breaking the color barrier – When Rickey was a college coach for a while and was appalled at the segregation that took place with players of color. He vowed to do something about it and when he was the GM of the Dodgers he was finally in a position to take action. He signed Jackie Robinson to a minor league contract and later promoted him to the major league squad, bringing an end to the era of players being denied the rights to play baseball. This also gave the Dodgers (and the other teams that quickly followed them) a temporary distinct advantage in signing talented players that other teams passed on simply because of race.
These are 2 of the most notable things that he did – there were dozens of little innovations that he made to the game during his years as a General Manager.
Software Architecture General Managers
I have talked before about the different types of architects, but have tried to avoid the hierarchy of architects that some organizations put too much emphasis on. But talking about the general manager creates a natural point to talk about the role of an Enterprise Architect versus a solution architect. Enterprise Architects are responsible for the macro view of all the of the systems in an organization and with the long term health and strategy of those systems.
Some organizations make the mistake of thinking of them as a “super architect” who should be able to do all the things that the other architects do. Other organizations can make the mistake of thinking that the Solutions Architect should be subordinate to the Enterprise Architect. Many of the soft skills are the same between the Solutions Architect and the Enterprise Architect, but we should think of them as separate duties, like the manager and the general manager in baseball. Solution Architects have the scope of the solution they are designing and building and should be focused on the current version and maybe one or two versions out. They cannot be hung up on the long term strategy of a service bus that is several years out. The Enterprise Architect should also not be thinking too narrow on the here and now either. They need to focus on the longer term and not any specific application.
Be like Branch Rickey
If you have the opportunity to be in a general manager like position, studying some of the things that Branch Rickey did is not a bad thing. He used business process and radical change to accomplish great things. He did not just focus on being the best general manager; he changed the rules of the game. I love this quote from him:
“Luck is the residue of design” – Branch Rickey