Passion * Technology * Ruthless Competence

Monday, May 10, 2004

Unlikely Source on Architecture

I just finished reading this great book on architecture. It talks about governance, optimizing ROI, the importance of precision measurements, the opportunity found in inefficiency and how that inefficiency is often perpetuated by "conventional wisdom" that needs to be overcome or even disregarded in order to realize the opportunity.

You just have to get past the baseball on the cover.

The book is Moneyball and it about the Oakland Athletics, one of the best teams in baseball despite having the second lowest payroll in the game. The author, Michael Lewis, chronicles the A's 2002 season when they won 103 games and had a winning percentage second only to the Yankees, who spend literally three times as much on players than the A's can. The A's are successful because they precisely measure the contribution of individual players and exploit the inefficiency of how players are valued by other teams. In the process, they make decisions that fly in the face of "traditional" baseball, but you can't argue with the fact they've been to the playoffs four years in a row. You could say, the Oakland A's have been architected to win.

I found the methodology that the A'a use to determine a player value facinating. Where other teams value batting average and RBIs, the A's care much more about on-base and slugging percentage. The reason? The A's have figured out that on-base and slugging are much more important to the team's success. Obviously, batting average and on-base percentage are related stats, but they aren't identical and that difference leads to an inefficiency the A's can exploit. Players who get lots of walks have lower batting averages but higher on-base percentages and are typically undervalued by the market.

We've seen similar inefficiencies from valuing the wrong attributes in our industry. For example, early on in the web era, there was little understanding of the importance of scalability over performance. As a consultant in the late 90's, I often saw systems designs that optimized performance at the expense of scalability. It took a long time for people to realize how much more important scalability was. It didn't help that scalability was harder to measure and was often counter-intuitive. Throwing away objects between method calls? What lunatic came up with that idea? Of course, MTS turned out to be a big success and defined the processing model we still use today.

Today, everyone has pretty much figured out the value of scalability over performance. The question is, what will the next opportunity be? Or, to use the A's terminology, what are people overpaying for?

Posted By at 6:43 PM Pacific Daylight Time
Change Congress
Recent Bookmarks
Tags .NET Framework (2) __clrtype__ (9) ADO.NET (5) Agile (7) AJAX (3) Architecture (288) Guidance (6) Interop (2) Modelling (61) Patterns (7) Process (4) SOA (94) Web Services (5) ASP.NET (25) Async Messaging (2) Azure (1) Battlestar Galactica (3) BI (2) BizTalk (4) Blogging (117) dasBlog (11) Podcasting (4) BPM (1) C# (11) C++ (4) Capitals (5) CardSpace (3) CLR (2) CodePlex (1) College Football (10) Comedy Central (1) Community (81) Concurrency (6) Consumer Electronics (1) Database (13) Debugger (23) Dependency Injection (2) Development (121) C Plus Plus (1) Embedded (5) Lanugages (41) Media (2) P2P (11) Rotor (1) SharePoint (6) SOP (3) DIY (1) DLR (25) Domain Specific Languages (15) Durable Messaging (5) Dynamic Languages (11) Dynamic Silverlight (1) Education (3) Enterprise 2.0 (1) Entertainment (14) ETech (15) F# (51) Functional Programming (17) Game Development (2) Guidance Automation (3) Hardware (8) HawkCodeBox (1) HawkEye (3) Health (1) Hockey (31) Home Electronics (1) Home Network (5) Hosting API (1) Humor (5) IASA (1) Idempotence (3) infrastructure (5) Instrumentation (4) Integration (2) IronPython (112) IronRuby (16) Java (2) Job (3) Kodu (1) LangNET (2) Lightweight Debugger (5) LINQ (23) Live Framework (3) Live Mesh (2) Lost (1) Master Data Management (1) Media 2.0 (6) Microsoft (31) MIX06 (2) Mobile Phone (1) Monads (5) Morning Coffee (172) Object Oriented (4) Office (5) Open Source (8) Open Space (2) Operations (3) Other (135) Art (1) Books (1) Family (33) Games (18) General Geekery (27) Home Theater (1) Movies (23) Music (20) Politics (3) Society (1) Sports (37) Working at MSFT (19) Parallel Programming (3) Parsing Expression Grammar (16) patterns & practices (2) PDC08 (5) Politics (48) Polyglot (3) PowerPoint (2) PowerShell (39) Presentation (7) Projects (1) HawkWiki (1) Pygments (5) Python (6) Quote of the Day (4) Refactoring (1) Research (2) REST (18) Reuse (5) Robotics (2) Rock Band (4) Rome (5) Ruby (23) Ruby on Rails (1) Sci-Fi (2) Scripting (4) Security (3) Service Broker (14) SharePoint (2) Silverlight (20) Social Software (1) Software + Services (2) Software Design (2) Software Engineering (1) Software Factories (11) Software Industry (1) Space Elevator (1) Spark (1) SQL Server (2) Stephen Colbert (1) TechEd (7) TechEd06 (1) TechRec League (1) Television (6) Travel (7) Unified Client (1) Unit Testing (4) USC (1) UX (1) Virtual PC (2) Visual Basic (2) Visual Studio (20) Volta (2) Washington Capitals (37) WCF (31) Web 2.0 (67) Web Services (7) WF (21) Windows (3) Windows Live (29) Windows Live Writer (3) WPF (8) Xbox (1) Xbox 360 (54) XML (11) XNA (15) Zune (4)
Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion.