Showing posts with label vendor management. Show all posts
Showing posts with label vendor management. Show all posts

Sunday, April 3, 2016

No more empires

Apple wants to be a rebel. To do so, they need an empire to rebel against. For the past two decades, Microsoft was their empire. Prior to Microsoft's rise, the empire was IBM.

IBM had a long and storied empire. It was the first to have an empire in IT, and perhaps the only company to do so. (More on that later.)

IBM had a comprehensive empire, starting with mainframes. They sold everything you needed for computers. They sold the processors, the card readers and card punches, tape drives, disk drives, and even the cables to connect them. They sold operating systems, utilities, compilers, and job scheduling programs.

Empires must be all-encompassing. They must sell everything one needs. If they don't they are not truly empires.

When DEC introduced its line of mini-computers, IBM competed with them, by selling its own minicomputers. (And operating systems, terminals, and printers for the minicomputers.)

When microcomputers became popular, IBM introduced the PC. To offer a solution quickly, IBM used other manufacturers for several components: Epson for printers and Microsoft for the operating system.

IBM maintained its empire until Microsoft took control with Windows. The breakup was ugly and has been documented by others, so I won't go into those details. But build an empire, Microsoft did.

Microsoft's empire was different from IBM's. IBM's empire was all-encompassing, from hardware to software to supplies. Microsoft's empire was limited to software. It sold no processors, disk drives, or other peripherals. (I'm ignoring the Xbox and the Surface tablet and the Microsoft keyboard and Microsoft mouse, which are not insignificant but not really to the point.)

Microsoft did keep the "we supply everything" mindset for its software empire. It provided the operating system, office programs (Word, Excel, Powerpoint, Outlook, etc.), developer tools (Visual Studio with compilers for various languages, SourceSafe and TFS), databases, accounting software, ... you name it, Microsoft offered it.  They even created a file packager like PKZIP but with proprietary technology (a thing called "OLE Structured Storage", which let one contain multiple files in a single file, but without compression).

Today Microsoft does not dominate in every aspect of IT. It dominates in some areas (desktop operating systems, office software), competes in others (cloud services, tablets), and fails in others (phones). One could build a modern cloud/mobile app with only Microsoft technology, but without iPhone and Android support, it would have very limited acceptance. But one cannot build a mobile/cloud app with only Apple technologies (they don't offer cloud services). One could use Google's technology; they offer phones and tablets, cloud services, and development tools, but you would still lose the iPhone market. No one vendor has all of the solutions.

Will we see another empire in the IT world? Microsoft took the empire role from IBM, will someone take the role from Microsoft?

A new empire would be difficult to arrange. It would have to become the dominant supplier of IT hardware and software. Even if it followed Microsoft's lead and provided only software, it would have a large task. Software ranges from operating systems to office programs to development tools to business software to databases to analytics to games to video editing to ... you get the idea. And don't forget that a lot of software is available via open source.

I think we will see no new empire rise. I think we will see no one company offer everything one needs, and be dominant in all of those areas. The breadth of technology is too wide.

With no single, dominant provider, we will see instead a market with multiple providers. And that makes things less convenient for some.

An empire offers simplicity and comfort. In the era of the IBM empire, one could select IBM as the vendor, knowing that it was a safe choice. The saying was "no one was fired for buying IBM equipment"; IBM made the best, and if IBM equipment didn't solve the problem, no one else's would either. (At least that was the belief.) When Microsoft built its empire on Windows, they became the safe choice.

With the rise of mobile and cloud technologies, there is no one provider for all technologies. One has to select from multiple vendors and get their technologies to work together. One can never be sure that one has the best tool for the task. Is Microsoft Azure the best cloud solution for you. (More to the point, is it acceptable?) How to develop apps for iOS and Android, and should you include Microsoft Mobile? Do you develop a desktop version of your app? What tools do you use to build it?

The good news is that there are several "right" answers to these questions. Microsoft Azure, Amazon AWS, and Google Cloud are capable platforms. There are multiple tools to develop for iOS, Android, and Windows. You don't have to find the one and only one tool that will work for you.

The bad news is that you have to think more about your objectives, the tools you want to use, and the techniques you will use. It is the thinking part that will frighten people who are used to picking the safe choice.

Wednesday, February 6, 2013

New dimensions in system design


The technology environment is changing. The change is significant, affecting the basic dimensions with which we measure systems.

The center of the old technology world was Windows. Manufacturers built PCs to run Windows. Suppliers built software to run on Windows. Systems were local -- that is, they ran in a single location. Before the internet era, everything lived in your data center. Even with the internet, systems ran in a single data center. (Or possibly two, for redundancy.)

With everything in one data center,  

The age of "Windows as the center of the universe" has passed. Today, we have multiple environments. The simple universe of one technology has been replaced by a universe of multiple galaxies.

Today, systems that are spread across multiple hardware installations. Systems consist of one (or several) front end "user clients", possibly for the iPhone, Android phones, and web browsers. The back end consists of not one but many cooperative services, each handling a small portion of the work. These can include web servers, database servers, queue managers, and content distribution networks.

But the change is larger than that. The set of basic elements is changing. In the old world, systems were built from a database, access, and programs written in a specified language. Those "dimensions" of the application defined its "space" in the data center. Vendors were defined by how well they met the needs of the organization in those dimensions.

In the new world, systems are more complex. Instead of a single database, a system may use several. Instead of a single web server, an application may use multiple, depending on the transaction being processed. We use virtualized processors to host servers, and cloud computing to manage the virtualized servers. We no longer think of a system as "a Java application"; we think of it as "a Java, Javascript, SQL, NoSQL, message queues, and some HTML and CSS" system.

In such a complex world, we design our systems with a new collection of "building blocks", and we look for vendors to provide those building blocks. Those elements of system design are: hardware, software, content, and services. These are the dimensions for system architecture and vendor offerings.
Let's look at the big providers:

Microsoft clearly supplies software: Windows, Office, Visual Studio, and many other packages. They are getting into the hardware game. Microsoft has offered hardware for years, in the form of the Microsoft Mouse, the Microsoft Keyboard, and today with the XBOX, the Kinect, and the Surface. They also offer cloud services and content (music, books, and movies).

Google offers some hardware (the Nexus phones and tablets) but also works with manufacturers. They offer the Chromebook hardware that runs their Chrome browser. They offer cloud services. They have also gotten into the music and video markets, with Google play and YouTube.

Amazon.com offers hardware, but only the the form of the Kindle. They do not offer PCs or phones. They have a rich offering of services with their cloud systems.

Apple offers hardware, software, content, and little in the way of cloud services. Their MacBooks and iPads (and the operating systems) are respected by all. They provide content in the form of music, movies, books, and newspaper subscriptions. Yet their focus is on consumers, not the enterprise. This is clear in their iCloud offerings, which are designed for individuals.

In this light of hardware, software, services, and content, the other "big names" of the tech world are lacking:

Barnes and Noble offers hardware (Nook tablets and e-readers) and the software to run them, but nothing for development or the office. They offer content but not services.

IBM offers hardware and software but not content. They don't sell books or music. They offer cloud services, in addition to their old-school consulting services.

Facebook offers services and content, but not hardware and software. (This is why the rumor of a Facebook phone keeps returning.) Facebook uses cloud computing for their servers but doesn't offer it to customers. They offer other services, such as a platform for games and an authentication service for web site log-ins.

Yahoo offers services and some (limited) content but not hardware or software.

I'm not claiming that a vendor needs all four of these components to be profitable. IBM and Yahoo are doing rather well. (Barnes and Noble not so much, but that is a problem specific to their market.) But the presence (or absence) of these four components is important, and decides how a vendor can assist a client.

The new dimensions of hardware, software, services, and content affect hiring organizations too. Systems will need all of these components (to one degree or another) to satisfy a customer's needs. When looking for solutions from vendors, and when looking to hire, companies will have to weigh the strengths of the vendor (or the candidate) in all of these areas.
The smart, big vendors are offering all services. The smart, small vendors will offer a carefully selected subset and ensure that they can provide quality. The same goes for candidates. The heavyweights will have expertise in all areas, the middleweights light expertise in all and strength in a few, and the lightweights will be capable in one or two.

The task for vendors (and candidates) is to build their skills along these dimensions, and present them to clients.