One of the things that always happens when a new term comes up in our industry is confusion about what it really means. This is after the phase when everyone claims that the term is actually not new and is something that they've been doing all along. I've already blogged about that phase of SDS here.
Now we are in the (very healthy) phase where we all argue about what the term REALLY means. This is really good progress!!
One thing that I'm seeing consistently on the web is references to things that look suspiciously like Storage Hypervisors being defined as Software Defined Storage. Let's be clear: Storage Hypervisors are a very good thing, but they are not the same as SDS.
SDS is a Storage Management Architectural Pattern that allows for the remote management and configuration of storage assets. Storage Virtualization is a technique for creating "virtual" storage assets (LUNS, Shares, Objects) on top of heterogeneous storage platforms.
Let's say you had four arrays from four different manufacturers. To make this simple, let's say they're all block devices that support iSCSI (yes, simplistic but stay with me here). If I were to apply an SDS style architecture, I would simply create a control plane (like ViPR from EMC) to manage them. Whenever I wanted to do anything (provision a LUN, unmask a LUN, turn on Dedupe, etc.) I would go to the SDS control plane and issue my requests. I would be ignorant of the underlying implementation (it's an ABSTRACTED control plane) but what I get back is an IP address pointing to the iSCSI end point on the actual SAN that I already had. Thus, SDS allows me to abstract the management of my SAN but does not fundamentally change my data path. Got it? OK...
Let's take the same example, and install a Storage Hypervisor. In this case, I install an appliance (either virtual or physical) and that appliance then mounts LUNs against my existing four arrays. See the immediate difference here? In this case, the Storage Hypervisor is the consumer of the storage. Then, the storage hypervisor does it what it does (formats with it's own file system, adds meta data, etc.) and then RE-PRESENTS this storage to the actual clients. This can be in the form of new LUNS or shares or whatever. AT THE SAME TIME, this storage hypervisor might have a very slick SDS style abstracted management layer. However, these are totally separate things.
For an example of this, take a look at the V-Series from NetApp. These are basically NetApp head units that mount LUNs from non NetApp arrays. They then format the luns with WAFL and pretend they're disks. This is a great example of a "storage hypervisor" but not really SDS since it does not offer an abstracted control plane.
Got it? Awesome!!
Friday, March 7, 2014
Monday, January 6, 2014
Top 5 Software Defined Storage Myths
Whoah. Everyone has an opinion about Software Defined Storage (SDS) these days. That's awesome!
Unfortunately, we have some really funny ideas running around about what SDS really is. The only way to prevent this is to build up a standard
definition and then compare alternates against this definition. When they don’t hold up, you have to call out
those willing to twist the term. Here
are some common SDS myths that we’ve seen running around the internet lately:
Myth 1: SDS Isn’t Real
Our favorite is that claim that SDS is not a real thing and
therefore I can call any product I want SDS.
This one is particularly awesome because it refutes itself
instantly. If there is no such thing as
SDS, why on earth would you even use this term?
If it means nothing, then by definition your product or architecture is
not SDS because SDS is nothing.
See? Silly argument. SDS is a real thing and we see customers
asking for SDS features daily. For
vendors who claim that SDS isn’t real:
stay on the path you’re on. More
money for the rest of us.
Myth 2: SDS is the Same as Storage
Virtualization
This one is more interesting. In this case, people are comparing two terms
that are pretty loosely defined and claiming they are the same. Tougher to refute because both terms a bit
fuzzy so comparing them is twice as hard as just talking about one. In looking deeper at this argument, we mostly
see this being proposed by folks who already make Storage Virtualization technologies. This is red light number
one. When someone takes a new term and
applies it to something they’ve been doing for years, you should be
suspicious. Yes, it’s possible that they
were way ahead. Most likely, they’re
just twisting the facts. Second, it
appears that most people who use the term “Storage Virtualization” apply it to
the notion of providing a software aggregation layer on top of existing storage
back ends. While this is super
interesting technology, it is certainly not new and it mixes data plane and
control plane architecture. One thing we
know for sure is that SDS implies a segregated control plane. This means that traditional Storage Virtualization
products are not SDS. They may embrace
SDS style control planes but the notion of a virtualized data plane is not
required for SDS so they’re not synonymous.
Myth 3: SDS means Software Delivered
Storage
This one is really fun.
Basically, there are some vendors out there who have very cool software
only storage products. We won’t name
them to protect the innocent, but ten seconds on Google and you can find
them. They are claiming that because
they’re software only (no hardware as part of the bundle) that they’re
SDS. That’s pretty silly. If you take a look at most of the major
“legacy” storage players out there, what you will see is a software solution
that’s bundled with hardware. The vast
majority of SAN/NAS products out there are software running on pretty standard
Intel/AMD hardware. They choose to
bundle the hardware and software into a package to make it simpler do deploy/service and perhaps
to gain some revenue on the hardware, but fundamentally all the value in the
platform is software. By breaking this
delivery model and selling just software, does that mean I have an SDS
solution? Obviously not. SDS is not a business model. SDS is a Storage Management Architectural
Model. If software only vendors want to
create an abstracted control plane, then that’s great and they can support
SDS. However, a traditional SAN can do
the same thing if they choose to do so.
There is nothing inherent to SDS that requires you to have a software
only business model.
Myth 4: SDS means Object Storage
Ummm. What? We would not include this at all but there
are some folks who seem to think this.
The notion that object stores are somehow related to SDS is pretty
bizarre but it seems to be common.
Perhaps because many more modern storage systems are starting to be
object based?? We don’t really
know. The reality is that object stores
are not new. Things like S3 and CDMI
have been around for years and some of them have SDS attributes and some
don’t. Object stores are really cool,
but they’re data plane constructs. They
are completely orthogonal to what SDS is trying to achieve.
Myth 5: Traditional SANs Cannot
Support SDS
Again, quite a silly notion.
As we have discussed, SDS is all about abstracting control surfaces from
data plane and data services. There is
no inherent reason why you cannot do this on a traditional SAN or NAS
platform. What is true is that many of
these platforms were designed before the concept of SDS was formalized but it’s
not true that they cannot adapt to this new management paradigm. It’s up to the SAN vendors to decide how/if
they want to join the SDS world or not.
Since we are highly abstracted from the underlying implementation there
is no reason why we cannot support traditional architectures along with newer
software only or object store based systems.
Who's got more Myths?
Sunday, December 1, 2013
The New Hotness: Software Defined Storage
One thing I love about the industry I work in is the great passion and the awesome competition for ideas that we have.
One thing I really hate about our industry is all the people who just take their existing product and then re-label it as the new hotness. Come on people, you're better than that.
Just as Cloud before it and SDDC more recently, the term "Software Defined Storage" (SDS) has suddenly become very hot in the storage industry. Amazingly, it turns out that almost every storage vendor ALREADY HAS a great SDS product that they've been making for years!! WOW! These guys are really good.
Wait, what?
Yes, that's right. Now that SDS is hot, everyone is simply claiming that their product is already a great SDS platform (surprise!). Sometimes they do this by simply redefining the term (see here for example). Others just blatantly ignore the facts. Still others do actually have really cool SDS products.
You can see the problem here. Those not very close to the subject quickly become confused. What does this term actually mean? What should I do about it? Is this something I should really care about? This then becomes FUD (Fear, Uncertainty and Doubt) that prevents truly great products from being adopted because of all the noise. You can see this happening with SDS on Wikipedia where they claim SDS is simply a marketing term and doesn't really have a definition or purpose.
That's really sad because SDS is actually one of the more revolutionary things to come out of the storage world I quite a while.
So, what is SDS, really?
Anyone care to offer a different definition? Let's get it on!
One thing I really hate about our industry is all the people who just take their existing product and then re-label it as the new hotness. Come on people, you're better than that.
Just as Cloud before it and SDDC more recently, the term "Software Defined Storage" (SDS) has suddenly become very hot in the storage industry. Amazingly, it turns out that almost every storage vendor ALREADY HAS a great SDS product that they've been making for years!! WOW! These guys are really good.
Wait, what?
Yes, that's right. Now that SDS is hot, everyone is simply claiming that their product is already a great SDS platform (surprise!). Sometimes they do this by simply redefining the term (see here for example). Others just blatantly ignore the facts. Still others do actually have really cool SDS products.
You can see the problem here. Those not very close to the subject quickly become confused. What does this term actually mean? What should I do about it? Is this something I should really care about? This then becomes FUD (Fear, Uncertainty and Doubt) that prevents truly great products from being adopted because of all the noise. You can see this happening with SDS on Wikipedia where they claim SDS is simply a marketing term and doesn't really have a definition or purpose.
That's really sad because SDS is actually one of the more revolutionary things to come out of the storage world I quite a while.
So, what is SDS, really?
Software Defined Storage (SDS) is
a Storage Management Architectural Pattern that allows for the remote
management and configuration of storage assets. Because SDS is a
management architecture, it is completely abstracted from the underlying
hardware infrastructure. In other words, SDS describes a “Control Plane”
architecture that is separate and distinct from a “Data Plane” (or “Data Path”)
architecture. SDS is being driven by the movement of datacenter
architectures to highly automated, policy driven management frameworks (such as
VMware’s vCloud Suite or OpenStack). This movement is closely related to "Cloud" and to what is sometimes referred to as "Software Defined Data Center" or SDDC. These frameworks require highly
abstracted management layers in order to isolate the Cloud Management Framework
(CMF) from underlying infrastructure details and/or changes. There are
three main components to these Cloud infrastructures: Compute, Storage
and Network. SDS is the control plane for the Storage component of cloud
infrastructures.
SDS has the following mandatory
attributes:
1)
All functions must be
available via a simple remoting interface. This is normally done via a
web style (SOAP, REST, etc.) interface but this is not a requirement.
2)
SDS is defined as a
“Control Plane” or out of band management channel. This is normally done
via an IP based management network but this is not a requirement. Note
that SDS cannot be implemented in band by definition due to the restrictions of
physical connectivity.
3)
SDS solutions must
offer a single control plane (also referred to as a “control surface”).
Underlying systems can be disjoint or multi-vendor but the SDS solution must be
unified to claim that it is actually a SDS solution.
4)
SDS is independent of
the “Data Plane” or I/O path. This implies that all current and future
storage protocols (FCP, FCOE, iSCSI, NFS, etc.) can be driven by an SDS based
interface. However, all dependent components must also be managed by a
single control plane. For example, FCP based solutions must have a single
control plane for zoning and LUN masking.
5)
SDS implies deep
integration with physical storage assets and supported operating systems and
hypervisors. Being able to present, remove, backup, replicate and perform
other storage operations implies a deep level of integration with the
underlying physical asset and the hosts (physical or virtual) being
serviced. However, SDS does not specify how this is performed. SDS
is not synonymous with virtualized storage.
It is important to note that SDS
is not synonymous with cloud nor is a SDS compliant platform required in cloud
scale architectures. However, SDS does provide many of the storage
abstractions required by these types of architectures. Also, SDS is not
synonymous with “Virtualized Storage” which is also commonly associated with
cloud scale architectures.
It is important to note that
abstraction and “virtualization” of Data Plane constructs (LUNs, iSCSI, Storage Aggregation Layers, Storage "Hypervisors," etc.)
is separate from but related to control plane constructs. Innovations
such as auto-tiering, Flash based cache, de-duplication, virtual storage
controllers, software based arrays, etc. are all concentrated in the data
plane. Each of these provides opportunities for SDS innovation via the
control plane but they, themselves, are not directly related to SDS nor is SDS
dependent on any one of these data plane technologies or architectural models.
Anyone care to offer a different definition? Let's get it on!
Friday, November 8, 2013
Should Architects Evangelize?
When making radical changes to operating practice, you by definition will be injecting large amounts of change into the organization you are working with. Things like private cloud are different enough that they will cause strain within organizations who attempt to implement these new technologies. I find that there is an interesting dichotomy within the IT business around change and progress. The business is populated by people who love technology and often pursue the latest bright shiny object just because it is, well, new. Is it better? Who knows? At the same time, we work within extremely large infrastructures that are incredibly expensive to build and thus are very long lived. These two things seem at odds and often create a type of cognitive dissonance that seems to escape some people.
This is especially true of the press covering the high tech
world. They’re always searching for that new thing which means that the
tried and true technology that actually works usually gets short shrift.
If all you did was read the blogosphere or the high tech press, you’d think
that things were very different than they actually are. I spend most of
my working life worrying about private cloud adoption. This is something
that’s been around for a few years now and you’d think that it’s a known
thing. However, the reality is sharply at odds with this. Recently,
I conducted an informal survey of about a hundred customers. I asked them
questions like “do you have a private cloud.” Unsurprisingly, about 50%
claimed to have one. We then we asked, "do you allow self service
provisioning?" Very surprisingly, only about 50% of those companies said yes.
This means that only about 25% of the total (admittedly small) sample had even
the most basic cloud feature enabled. There’s always debate about what
“cloud” really means, but pretty much everyone agrees that self-service is a
necessary basic feature. Let’s be clear, we didn’t ask if ALL their
workloads were running on a cloud style architecture. We just asked if
ANY of their infrastructure supported it. This means that the vast
majority of enterprise workloads are not running on a cloud. This may be a stunning revelation to those who are already talking about the "post cloud era."
As an architect, this is disappointing. I really think
that my customers can benefit from the concept of cloud. Whether they buy
my product or not, the core concept of cloud has immense power. If
they’re not aware of the benefits or don’t really understand the term, I can’t
really help them reach their full potential.
This brings us to the question of evangelization. The
first person I ever met who called himself an evangelist was Guy Kawasaki when
he worked at Apple. His business card just said “Software Evangelist” which
I thought was pretty cool. I wish I’d been more careful with the card, I
thought I’d kept it but couldn’t find it the other day when working on my new book about architects. Sigh.
Being an evangelist is a funny thing. Much like
“Architect” the job description is a little fuzzy. What I can say is that
I know a good one when I see one. For many companies evangelization is a
key part of their business strategy. Rackspace for example is doing an
awesome job of pushing their agenda for OpenStack via evangelization.
Yes, they’re doing it for self-serving reasons, but they are also doing a great
job of promoting what is essentially a free technology. That’s good for
all of us. On the other hand, doing it poorly can be really
annoying. Not to be mean, but if you look at what my old employer,
Microsoft is doing in this space, it’s not amazing. The last OpenStack
talk I attended by a MSFT presenter quickly turned into a naked sales pitch for
their product. The audience then checked out and started to
disengage. It’s a fine line, but you need to understand why
Evangelization isn’t selling.
I bring this up because I believe that this is a key
skillset and activity for the fully actualized architect. Having a vision
is nice. Having a massive impact on the organization is what we live
for. The implication is that the journey to truth involves convincing
others that your vision for the future truth is a big part of that journey.
If you’re a senior IT guy and you’ve never worked for a
vendor in a customer facing role, this may not be an obvious skill that you’ve
spent time developing. On the other hand, I’m sure you understand that
you need to have political support to get anything done. Everyone’s heard
the joke about the “Eighth Level” of the ISO stack. In fact, the joke is so common that you usually don’t
have to explain it to people. I think that’s because it’s fundamentally
true. Like many things, it’s the shared understanding of the truth that
makes it funny.
If you shy away from the term evangelist or if you feel this
is really selling in disguise, think about how you would like to learn about
something new. Pick an area of technology that’s completely foreign to
you. Would you rather be exposed to that new area by a sales guy? Or
would you rather talk to someone you consider a peer? Unless you’re
strangely into self-abuse, I’m guessing the latter (no disrespect to sales
guys…. OK, that’s a lie, it’s pretty disrespectful). If you are learning
about a new technology, do you want to talk to someone who thinks that
technology is crap? Wouldn’t that be a pretty short conversation?
“Hey, should I use the new FOO operating system? Nah, that’s crap.”
OK. End of conversation. So, now you’re talking to a pretty
technical person who’s really enthusiastic about something that you know very
little about. What do you call that? Yep, evangelization.
Now that we agree that evangelization is a vital part of an
architect’s role, let’s talk about what it really is.
It’s selling.
Wait, what? Didn’t we just agree that everyone hates a
salesman? Yep. That’s true. People hate being sold to.
Being really, really, good at selling means that you don’t really sell at
all. The true master salesman seeks to understand the customer’s
underlying need and then satisfies that need. When this happens, it’s
called “customer service” which we all love. When the salesman tries to
force fit you into a product or solution with zero regard for what the customer
really wants or needs, it’s called “being sold to” and most of us hate that.
I mentioned this in my book “Why we Fail” about enterprise
adoption of private cloud. The best book I’ve ever read about selling to
technical people is called “Let’s Get Real or Let’s Not Play” by Mahan Khalsa. In that book Khalsa introduces many
awesome concepts, but one of them that I really like is what he calls “Peeling
the Onion” to get down to what a customer really needs. The implication
for us as architects is that we need to understand both the underlying business
requirements and the capabilities brought by the technologies. It is by
merging these two that we become evangelists. Essentially, the future
truth that we week to create is assembled by merging these two things.
This discovery process has many forms. In most cases, all the information
we need is hiding in the heads of those around us. Despite our best
intentions, most of the really critical facts are not written down and will
never be discovered by browsing the web or reading whitepapers. It is by
talking to business stake holders, users, engineers, administrators and others
that the architect can begin to bring those two domains into alignment.
Once you really understand where that overlap occurs, you
form your vision. You begin to understand what application, platform or
service can satisfy the stated and un-stated requirements. You begin your
march towards that future truth. However, you cannot do this by yourself.
Any serious enterprise system is going to be too large for a single person to
implement. This implies that you will require fellow travelers. How
will you recruit these brave souls? How will you help them understand why
the future truth you envision is superior to what they have now? What
secret superhero skill does the architect use to project this future truth onto
others and entice them to journey into this great and glorious unknown future?
Wait for it.
Oh yes my brother; it’s evangelization.
Friday, September 27, 2013
What's Worse than a Strategy Consultant? A team with no strategy.
I have to admit that I've done some really embarrassing things in my career. And believe me, it's a long strange trip from a fresh minted UC Irvine Information and Computer Science grad to where I am now.
Along the way, I've had some really cool job titles. Like "Technical Director" or "Director, IT Architecture." You get the idea. However, one job title that struck me as wrong an still sounds absurd to me is "Principal Strategy Consultant." I mean, if anyone tells you that they are a strategy consultant you have to question what they actually do. And to be a "Principal?" Does that mean you're the king of the do nothings?
What it actually meant is that I got paid to go into businesses, ask dumb questions and then tell them what they were doing wrong. Man, I loved that job.
As you can imagine, this gives me a funny way of looking at the world. Or to be more accurate, I'm pretty f'd up and that job just brought out the worst in me. My first boss told me that I had a "Columbus Complex." He explained that meant I would take a look at a map, figure out that the shortest path from A to B was a straight line and to hell what any of the "experts" said. Those of you who know me: you can stop laughing now. After all, old Chris was right. Let's forget that he thought the Caribbean was "East India". I mean, it IS EAST OF INDIA, right? So, two points for trying.
Getting to the point here, I'm a long term guy. When I talk to people about their products or their services, I'm always looking at a multi year horizon. That's not really "long term" for other industries like the guys who manage forests or something but it's pretty long term in the technology business. Looking five years out in our business is really tough. It's so difficult in fact that many product teams that I've worked on don't really try.
And that's a shame.
I call it "Lack of Strategic Context." Which is a fancy way of saying you have no clue where you're going. A director I was talking to the other day put it this way: "Why are we debating if you should take the train, fly or drive? You don't even know which city you're going to."
You see the problem? If you have no destination in mind then you're just wandering in the desert. That's no way to lead your tribe, my friends. Having an ultimate destination in mind is vital. Even if you're wrong, it's better to have one in mind that to have nothing.
Don't believe me? OK. Let's talk about what happens when you don't have a strategic context:
There is no one single way to get this done. In the end, all that matters is that you have a shared long term vision amongst the team members. You can spend a week in a conference room or go build teepees in the desert together (and yes, I actually did that once; not recommended). However you get there, you need to have a single unified vision of your long term future together.
This really only works if you are the team leader or you have great support from your leadership. You cannot "manage up" on strategy. Here are some tricks that I've used with various teams I've worked with in the past.
ITA
Along the way, I've had some really cool job titles. Like "Technical Director" or "Director, IT Architecture." You get the idea. However, one job title that struck me as wrong an still sounds absurd to me is "Principal Strategy Consultant." I mean, if anyone tells you that they are a strategy consultant you have to question what they actually do. And to be a "Principal?" Does that mean you're the king of the do nothings?
What it actually meant is that I got paid to go into businesses, ask dumb questions and then tell them what they were doing wrong. Man, I loved that job.
As you can imagine, this gives me a funny way of looking at the world. Or to be more accurate, I'm pretty f'd up and that job just brought out the worst in me. My first boss told me that I had a "Columbus Complex." He explained that meant I would take a look at a map, figure out that the shortest path from A to B was a straight line and to hell what any of the "experts" said. Those of you who know me: you can stop laughing now. After all, old Chris was right. Let's forget that he thought the Caribbean was "East India". I mean, it IS EAST OF INDIA, right? So, two points for trying.
Getting to the point here, I'm a long term guy. When I talk to people about their products or their services, I'm always looking at a multi year horizon. That's not really "long term" for other industries like the guys who manage forests or something but it's pretty long term in the technology business. Looking five years out in our business is really tough. It's so difficult in fact that many product teams that I've worked on don't really try.
And that's a shame.
I call it "Lack of Strategic Context." Which is a fancy way of saying you have no clue where you're going. A director I was talking to the other day put it this way: "Why are we debating if you should take the train, fly or drive? You don't even know which city you're going to."
You see the problem? If you have no destination in mind then you're just wandering in the desert. That's no way to lead your tribe, my friends. Having an ultimate destination in mind is vital. Even if you're wrong, it's better to have one in mind that to have nothing.
Don't believe me? OK. Let's talk about what happens when you don't have a strategic context:
- Team dissonance. Ever been on a team that is not aligned? Ever been in a meeting where everyone is arguing and nobody can even agree what they're arguing about? On what basis are we trying to make a decision? It's very frustrating. Team members will not perform at their peak with high levels of team dissonance.
- No clear decision criteria. Without clear strategic goals, how do you make decisions? What criteria do you use? Not every decision has a strategic impact, but they all should be made in a strategic context so you can decide HOW to make the decision. What factors will you use to weigh your options? These are all strategic context issues.
- Duplicative or contradictory work. If your destination is unclear, how do you minimize the amount of repetitive or unnecessary work that gets done? Being able to decide what NOT TO DO is usually way more important (and more difficult) than deciding what TO DO.
- Multiple, conflicting agendas. Whether overt or covert, people will develop their own plan. Nobody likes wandering around in circles. Without a clearly defined joint strategic context, the team members will start establishing their own vision. The better the team, the worse this problem gets. Smart people will figure it out but they won't always come to the same conclusion.
There is no one single way to get this done. In the end, all that matters is that you have a shared long term vision amongst the team members. You can spend a week in a conference room or go build teepees in the desert together (and yes, I actually did that once; not recommended). However you get there, you need to have a single unified vision of your long term future together.
This really only works if you are the team leader or you have great support from your leadership. You cannot "manage up" on strategy. Here are some tricks that I've used with various teams I've worked with in the past.
- This is your strategy. It has to work for you and your style. You can hire a consultant to help with the process, but you cannot get strategy from other people. Just doesn't work. Most of the folks who hired me to be a strategy consultant ultimately failed because they really didn't believe in or accept what I was telling them. In the end, I realized that my job was more like a AA leader. They have to want to change.
- Strategy is a living thing. Don't waste time on long winded reports or white papers. I really prefer PPTs, but that's just me. Do what works for you. However, you really need to think of your strategy as the group's shared vision, not the paper or document. That's just an artifact. A point in time that you use to explain it to others. The point of strategic context is to get the team aligned, not to produce fancy documents or presentations.
- This is an in person, touchy feely thing. You cannot get a highly distributed team aligned to a group strategy or vision. I have NEVER seen this work. NEVER. Get the team together, work as a group for as long as it takes. Meet regularly to ensure that you're still on target. Go get drunk together. I have made more progress on this issue over beers after some trade show than I have ever done during a WebEx with guys from all over the world.
- This is about passion, not reason. Highly talented people are passionate about what they do. This means that they form emotional attachments to their work products. You need to recognize that. Allow them to vent that emotion when their pet project gets de-funded. Dissent within the team is awesome while you are discussing what you should do. Once the call is made, then it's time to get with the program or get lost. Your team needs to understand that it's OK to bitch or complain within these sessions but that it's not OK to be off message externally.
- Interview your team. Take time to sit down with each member of your team individually. Ask them to explain the team's long term goals. If they can't do it, you've failed to achieve strategic context for them. Keep in mind that this is your failure, not their failure. Explain the goals and reset. Repeat this process at least quarterly. Ask yourself if the goals are correct. If your own team doesn't get it, will anyone else?
ITA
Sunday, August 25, 2013
An Open Letter To MSFT's New CEO
Dear Sir or Madame:
Congratulations on your new job as the CEO! Microsoft is an amazing company and I truly wish you all the best.
As a twelve year veteran (1996-2008) of MSFT, I still consider my self a "softie" even though I've been gone for quite some time. In point of fact, I still consider "My Microsoft" to be the way the company was in the late '90's. The shambling wreck of a technology powerhouse that existed when I left really wasn't the company that I joined.
And that's a shame...
The reality is that Microsoft, like so many other proud companies has lost her way over the years. Instead of the amazingly innovative "take no prisoners" company that I joined in 1996, the current company is overly bureaucratic, slow and boring. Honestly, today's Microsoft feels more like IBM or HP.
Here are just a few things that have changed over the years:
1) The stock was doubling every 18 months. The reality is that kind of stock growth is unsustainable and everyone knows that. However, it went on for many years and it really drove our culture. We were willing to work hard and make personal sacrifices because we knew we were going to be rewarded if things went well.
2) It was a true "meritocracy." I know that this has been debated and discussed many times, but I was there and I can honestly say that you rose based on your merits. Everyone in the company was stack ranked and I always knew where I stood. It was brutal, competitive and perhaps not the most "nurturing" of environments but it make us stronger and leaner than our competitors.
3) We were empowered. Everyone was way to busy to go and ask permission to do the right thing. As a new employee, I actually sent a mail to my director asking if I should violate policy to help my customer with a particular bug they were experiencing (I wanted to give them a dev build to see if that fixed the problem which was not normally allowed). The answer I got back was very short: "Why are you asking me for permission to do the right thing? Just do it and let me know if anyone tries to stop you."
4) We were relentless. It really didn't matter who tried to compete with us, we were young and arrogant and we knew we could beat them. Whether it was Novell, Netscape or Lotus. We were better than them and we knew it. Naturally, that wasn't actually true but we had a swagger that allowed us to "punch above our weight." Note that those guys are mostly gone or out of the enterprise software business (yes, I'm aware that IBM is still around but when was the last time you saw someone using Lotus Notes or 123 for God's sake?).
Ah, the good old days.
Well, that's not going to come back. And honestly, most people would be aghast at the idea that MSFT might start acting like the arrogant bully that we used to be. Honestly, I don't know if it would even be possible to remake the company like it used to be and I don't think it would be desirable either.
On the other hand.....
There are tons of things that Microsoft can and should do RIGHT NOW to kick some butt and regain your luster.
1) Double down on Skype. The really amazing thing to me is that I still have a phone on my desk. Do you have any idea how silly that is? Buying Skype was one of the smartest things Steve ever did. You should make "Skype for Business" by immediately merging Skype and Lync. Then sell the crap out of it for peanuts. Kill off all the existing VOIP players. The PBX guys are on their last legs anyway. The thing that makes Lync struggle is PSTN connectivity. That should be automatic. Enter your credit card and your Lync server is instantly a Skype gateway to the PSTN. Similarly, there is no reason why my Lync client can't connect to the Skype backend, right? No more PBX. Make "Lync For Business" free with Office 365 and then charge for the PSTN gateway only. OMG.
2) Become a VC. Take that massive cash hoard and become your own VC. Fund interesting guys to write apps for Windows Phone, Azure and .NET. Yes, I know you're doing that now, but I'm talking about taking ALL OF IT and spending it on your platform. Holy Crap. That would terrorize Amazon! Then you can buy the interesting and successful ones and add them to the MSFT family. The reality is that you're way to big to do that kind of innovation in house. No problem, just seed some cash and let others do it for you! Yes, most of these ventures will fail, but if a real VC can make a profit doing it then you can also. For that matter, just hire Fred Wilson or someone else amazing to run it.
3) Bring back the stack rank. People love to complain about the stack ranking system. However, it was this culture of extreme competition within MSFT that made the company great. MSFT will never be a touchy feely company like Netflix. That's OK. Go with your strength. Think Tina Fey when she said "Bitch is the new black."
4) Don't buy Blackberry. For God's sake. Just don't do it. Hardware is a chump's game. Besides, Blackberry does zero to help you compete with iPhone and Android. Ask the sidekick guys about that.
5) Kill off the windows hawks. Windows has too much power in the organization. You need to allow office and other divisions to make money on other platforms. Office for iOS is OK, but it feels like it was intentionally crippled to keep the windows guys happy. Let them off the leash. Make every division give you a plan for multi-platform in mobile or just fire up a whole new mobile apps team that's separate from the platform team. Give them a goal of being the #1 ISV on both Android and iOS. MSFT was the #1 ISV on the Mac years ago. No reason why you can't do it again.
That's all you get for free. If you want more, I do consulting at pretty reasonable rates.
Enjoy your new job!! I'm sure it will be a rough ride.
ITA
Congratulations on your new job as the CEO! Microsoft is an amazing company and I truly wish you all the best.
As a twelve year veteran (1996-2008) of MSFT, I still consider my self a "softie" even though I've been gone for quite some time. In point of fact, I still consider "My Microsoft" to be the way the company was in the late '90's. The shambling wreck of a technology powerhouse that existed when I left really wasn't the company that I joined.
And that's a shame...
The reality is that Microsoft, like so many other proud companies has lost her way over the years. Instead of the amazingly innovative "take no prisoners" company that I joined in 1996, the current company is overly bureaucratic, slow and boring. Honestly, today's Microsoft feels more like IBM or HP.
Here are just a few things that have changed over the years:
1) The stock was doubling every 18 months. The reality is that kind of stock growth is unsustainable and everyone knows that. However, it went on for many years and it really drove our culture. We were willing to work hard and make personal sacrifices because we knew we were going to be rewarded if things went well.
2) It was a true "meritocracy." I know that this has been debated and discussed many times, but I was there and I can honestly say that you rose based on your merits. Everyone in the company was stack ranked and I always knew where I stood. It was brutal, competitive and perhaps not the most "nurturing" of environments but it make us stronger and leaner than our competitors.
3) We were empowered. Everyone was way to busy to go and ask permission to do the right thing. As a new employee, I actually sent a mail to my director asking if I should violate policy to help my customer with a particular bug they were experiencing (I wanted to give them a dev build to see if that fixed the problem which was not normally allowed). The answer I got back was very short: "Why are you asking me for permission to do the right thing? Just do it and let me know if anyone tries to stop you."
4) We were relentless. It really didn't matter who tried to compete with us, we were young and arrogant and we knew we could beat them. Whether it was Novell, Netscape or Lotus. We were better than them and we knew it. Naturally, that wasn't actually true but we had a swagger that allowed us to "punch above our weight." Note that those guys are mostly gone or out of the enterprise software business (yes, I'm aware that IBM is still around but when was the last time you saw someone using Lotus Notes or 123 for God's sake?).
Ah, the good old days.
Well, that's not going to come back. And honestly, most people would be aghast at the idea that MSFT might start acting like the arrogant bully that we used to be. Honestly, I don't know if it would even be possible to remake the company like it used to be and I don't think it would be desirable either.
On the other hand.....
There are tons of things that Microsoft can and should do RIGHT NOW to kick some butt and regain your luster.
1) Double down on Skype. The really amazing thing to me is that I still have a phone on my desk. Do you have any idea how silly that is? Buying Skype was one of the smartest things Steve ever did. You should make "Skype for Business" by immediately merging Skype and Lync. Then sell the crap out of it for peanuts. Kill off all the existing VOIP players. The PBX guys are on their last legs anyway. The thing that makes Lync struggle is PSTN connectivity. That should be automatic. Enter your credit card and your Lync server is instantly a Skype gateway to the PSTN. Similarly, there is no reason why my Lync client can't connect to the Skype backend, right? No more PBX. Make "Lync For Business" free with Office 365 and then charge for the PSTN gateway only. OMG.
2) Become a VC. Take that massive cash hoard and become your own VC. Fund interesting guys to write apps for Windows Phone, Azure and .NET. Yes, I know you're doing that now, but I'm talking about taking ALL OF IT and spending it on your platform. Holy Crap. That would terrorize Amazon! Then you can buy the interesting and successful ones and add them to the MSFT family. The reality is that you're way to big to do that kind of innovation in house. No problem, just seed some cash and let others do it for you! Yes, most of these ventures will fail, but if a real VC can make a profit doing it then you can also. For that matter, just hire Fred Wilson or someone else amazing to run it.
3) Bring back the stack rank. People love to complain about the stack ranking system. However, it was this culture of extreme competition within MSFT that made the company great. MSFT will never be a touchy feely company like Netflix. That's OK. Go with your strength. Think Tina Fey when she said "Bitch is the new black."
4) Don't buy Blackberry. For God's sake. Just don't do it. Hardware is a chump's game. Besides, Blackberry does zero to help you compete with iPhone and Android. Ask the sidekick guys about that.
5) Kill off the windows hawks. Windows has too much power in the organization. You need to allow office and other divisions to make money on other platforms. Office for iOS is OK, but it feels like it was intentionally crippled to keep the windows guys happy. Let them off the leash. Make every division give you a plan for multi-platform in mobile or just fire up a whole new mobile apps team that's separate from the platform team. Give them a goal of being the #1 ISV on both Android and iOS. MSFT was the #1 ISV on the Mac years ago. No reason why you can't do it again.
That's all you get for free. If you want more, I do consulting at pretty reasonable rates.
Enjoy your new job!! I'm sure it will be a rough ride.
ITA
Tuesday, July 2, 2013
The Four Types of Jobs
In a great article, Lou Adler argues that there are really
only four
job types in
the world. He describes them like this:
Everything starts with an idea. This is the first of the four jobs – the Thinkers. Builders convert these ideas into
reality. This the second job. Improvers make
this reality better. This is the third job. Producers do the
work over and over again, delivering quality goods and services to the
company’s customers in a repeatable manner. This is the fourth job. And then
the process begins again with new ideas and new ways of doing business being
developed as the old ones become stale.
If we apply this
taxonomy to the Architect Role, we can very quickly see how the “thinker” role
seems to apply. However, he also states
that most jobs are some combination of these with one or two of them being
predominant. In our case, it seems
pretty clear that the Architect role is a combination of Thinkers and
Builders. In fact, while interviewing
architects for this book, I realized that the variation of architects and how
they view their role is largely a display of these two factors playing
out. By having more of one than the
other, you get the various types of architects that we tend to see in our
lives:
·
The hand waver (100% thinker, 0% builder). We all know architects who are
really good on the whiteboard, but can’t actually make anything. My bias is that this type of architect is not
useful because no value gets produced by them directly. This is perhaps unfair because extremely
complex systems need people who are 100% thinkers to get the abstractions and
concepts right.
·
The Visionary (75% thinker, 25% builder).
This person is really bright and sees the future clearly. However, their light builder bias means that
although they’re aware of reality, they’re not really bound by it. Think Steve Jobs. While this model is worshiped in Silicon
Valley, it turns out that these folks have limited utility. You only need one visionary in your org,
right?
·
The Far Seer (50% thinker, 50% builder).
This person usually has an operational or dev background. They have vision but it’s firmly grounded in
reality. It’s tougher for these types of
architects to invent new paradigms but they’re really good at figuring out N+1
or N+2.
·
The “Gets Shit Done” (25% thinker, 75%
builder). This is the guy who simply gets it done. Give them a sort spec sheet and you see them
go to the white board right away. A few
hours later, you’re getting functional diagrams and then code shortly
thereafter. They’re probably building
their own prototypes. This type of architect
works really well in a small shop and in agile style dev organizations.
·
The Principal Engineer (0% thinker, 100%
builder). This guy is an architect in name only. Perhaps they rose up from the eng
organization or is the most senior guy on the team. Just because you can code rings around
everyone else on the planet, does not make you an architect. Sorry.
You may want to
apply these metrics to yourself. What
percentage of your intellect do you apply to the thinker or builder side of the
equation? When you work with other
architects, how do they align to this continuum?
Personally, I
find myself somewhere between the Far Seer and the Visionary. I’m no Steve Jobs, but I’m usually
comfortable thinking about complex abstract problems. However, I also like getting my hands
dirty. So, I fall somewhere in-between.
Subscribe to:
Posts (Atom)