Entropy and Equilibrium in organizations


My pal Dennis Howlett and I were discussing today morning about what makes a large company resist change. A lot of thoughts ran through my mind and I thought I better write it down . Strangely – my thoughts revolved around laws of physics when I looked for answers . No idea why , but this is roughly how I try to answer the question .

Entropy is a measure of disorder in a system . Generally, higher the entropy – the more energy a system needs to just remain a system . There is very little energy available to do something else . Remember the first law of thermodynamics – there is only a certain amount of energy available to a system . Organizations are like that too – given a certain resource level , there is only so much that can be done .

What a company stands for changes with time . Pre-IPO , there is a great focus on increasing the valuation of the company . Size of the company is small and most of the employees have stock options as their primary compensation (or upside ) . When that unity of purpose is there – everyone has the same goal for the most part . If I work in engineering and my buddy works in sales and all we can hire is one extra person – it is relatively straight forward to figure out which team gets the extra headcount .
Both of us know that if the company gets valued higher – we both will be sufficiently compensated to not worry about who has a bigger team and whose team earned more kudos .

Now let’s say the company went public and we still can hire only one person . Now the company has many goals – revenue , profit , employee morale , net promoter score and a hundred other KPIs . Every team is aligned to a subset of the goals – and only a small number of people (occasionally only the CEO and CFO) are measured on all KPIs . Compensation is now not primarily stock for most employees – it is MBO driven . So entropy kicks into high gear – a lot of energy gets spent in just keeping the company running – by optimizing across different goals . This leaves hardly any energy to do anything to move forward .

That is what makes larger companies resist change in my opinion . I think this is one of the biggest causes for innovator’s dilemma . Someone with low entropy and more energy to spare comes along and wins the market while you are fighting your inner devil (which you created yourself and sustained ) .

Physics – statics and dynamics – uses the concept of equilibrium a lot . Inertia is a big deal – unless an unbalanced external force doesn’t act on it, an object just continues to move like it always had , or will sit dead on its tracks . Organizations display this behavior in spades .

This is why incremental changes don’t always give much impact in many companies – those are easy to balance out . Often times – individuals try to push really hard to make a difference . But force is proportional to mass and acceleration . Individuals have less organizational mass and hence need tremendous acceleration to show impact . On the other hand – establishment has plenty of organizational force and just needs a tiny acceleration to provide the balancing force . So things come back to equilibrium pretty soon . Maybe there is an exception like Steve Jobs where the CEO is the individual forcing the change – but even then, we have seem the world doesn’t have too many who could pull off what Jobs was able to .

I should stop now – I am not even sure if this line of thought is useful . But I did promise my daughter that I will help her organize her toys ( does that count as decreasing entropy?) . So off I go 🙂

Advertisements

Making peace with polymorphism


So India is getting a new prime minister – and he is the leader of BJP, an organization based on Hinduism / Hindutva . Now , what exactly that means gets interpreted differently based on who you ask . But given the overwhelming majority that the party got in parliamentary elections – it looks like vast majority of the population of India is leaning towards a definition along the lines of “one god , many manifestations”.

Concept of god is a complex one – there are religions that explicitly reach there is only one god , and that you are a big time sinner if you don’t agree . The treatment of god in Hinduism is interesting to say the least . The fundamental notion is that there is only one god – but that god could have many forms or manifestations . There are some 33 million gods – or 33 million forms of god – in Hinduism . The followers of these 33 million gods haven’t always agreed on whether it all converges to one central concept of god .

If I understood correctly – a triumvirate of gods (Brahma, Vishnu, Siva for creation , sustaining and destruction of life/world) were at the top of the hierarchy of gods . Entire kingdoms were formed and wiped out in India on the basis of “my god is more powerful than your god ” principle -even though there was a universal umbrella of Hinduism that covered them all .

The interesting thing about polymorphism is that once we step outside the world of religion ( I believe the right word specifically is polytheism) – it is a less contentious topic .

Nature has a lot of examples in animal kingdom – like jaguars which look black and which look spotted . I think the biological way of saying it is “multiple phenotypes within one species that live in the same habitat” . It’s a necessary result of evolution. But the moment we extend evolution to the world of religion – all bets are off . Somehow we can’t seem to take a leap from butterflies and jaguars to our own life .

The other example is programming – specifically object oriented programming . I learned procedural programming before OOP and had to be taken kicking and screaming into the new world . One of the smartest things about OOP is that you can arbitrarily define a base class to suit yourself and derive as many sub classes out of it . Or in terms of interfaces – you can have one interface and many methods . If you think of the concept of god as the base class – it becomes easy to understand that many religions can exist with their own nuances .

In programming, when you don’t like someone else’s definition of class – you can over ride it and define your own class and take it from there . I believe that if we exercise independent thought – we can decide to follow any existing beliefs about god , or create own belief systems . And for those who don’t care for the concept of god – think of some sub classes as ones that take all or partial null values . So atheists , “I am spiritual, but not religious” types et al can all be covered in this approach .

Answers are both within us and around us – whether it is about god or anything us . It’s up to each of us to decide what combination works for us .

OK – I needed to get that out of my system . I feel better already 🙂

My wish list for the new Modi Government in India


Modi led BJP swept the elections – clearly indicating the people of India want big changes . Here are my personal “wish list” items on what changes would be great for India in policy terms when this government is in power.

1. Revamp public distribution.

India does well in pockets – but it is practically the most inefficient supply chain I know of in any country. People starve on parts of the country when there is food rotting in other parts – some times food rots in godowns within state when prices increase at super markets for essential stuff like Onions and rice . This needs a big overhaul

2. Amend the constitution – remove “socialist”

Nehru and team decided India needs to be a socialist republic . That is not modern India . If socialist policies were what the people wanted , Congress would have won on its election promises of dole outs to the poor . No strata of society voted for Congress – and it is time to acknowledge its time to move away from socialism as a defining characteristic of India

3. Double down on agriculture and manufacturing

India – and some states like Kerala especially – need to wake up and smell the coffee on agriculture and manufacturing . India is extremely well focused on services and financial markets , which won’t help in a downturn . People can live without services and financial markets are built on speculation – they need to be balanced by agriculture and manufacturing . There are pockets that do great in agriculture and manufacturing – but if we take the country as a whole , it is not a good picture for a nation of a billion people .

Also – these two things give India a better ability to stand up to other countries on foreign policy . Most business schools in India used to teach the post WW2 story of how trade happened between Japan and US and how the hunter became the hunted . Sadly, that is not exactly how reality unfolded for India

4. Introduce mandatory one year apprenticeship for all engineering students

India produces a lot of engineers every year . However , most of them do not have any real skills when they come out of engineering college . It takes a year of working at some company before people figure out the basics of real engineering . And vast majority never work in real engineering – they join IT services companies . Why is it that engineers don’t have an apprenticeship requirement like doctors and accountants ? It should be implemented ASAP

5. Bring consistency in taxation and monetary policy

India has a very complex tax system and it swings widely in short period of time , making it hard to plan investments . On top of that – for the most part, Reserve Bank of India gets pressured to do unnatural things on Monetary policy . It is beyond high time that this stopped . Aadhar – despite implementation troubles – seems like a good step in right direction . But it solves only a part of the problem . I hope Modi gets some serious firepower into financial policy making and then sticks to it long term .

6. Take some consistent stances with neighbors

States ruled by regional parties and centre ruled by national parties who need their help in coalition politics is the reason India could never have a consistent relationship with Bangladesh , Srilanka etc . Now BJP has a clean majority in lower house, but still need some regional help in upset help to push bills . Now is as good a time as any to solve the problems with smaller neighbors .

This gives time , resources and energy to focus on the two big ones – Pakistan and China . Those are probably going to be “frenemies” at best even if trade improves , but that is a lot better than what it is today . Stability in the region can also help redirect extreme defense spending on to other things like infrastructure, health and education

Win or lose , AAP has changed elections in India for good


If there is an award for political immaturity, I will nominate AAP for that . But that said, I have to give them a standing ovation for changing the fundamentals of election politics in India .

Gutsy all the way

AAP won in Delhi . Then they left in 49 days – which irked many (including me). And then they decided to field more candidates than Congress and BJP. Vast majority of those candidates are political unknowns – yet they believed in a common cause (anti-corruption) and fearlessly fought the battle . I am pretty sure most will lose – but they will lose with heads held high . Common man figured out they can be the change they want to be

Grass roots

AAP came from nowhere – and built up a massive momentum nationwide . Political immaturity made sure they couldn’t capitalize – but they are well set for next Loksabha elections . They were pretty organized in using their volunteer resources to drum up votes

Picking the right Goliath

Arvind Kejriwal is the proverbial David . He needed to pick a Goliath – Modi , Sonia or Rahul . I think he made the best choice possible by fighting against Modi in Varanasi .

This move immediately marginalized an already weak Rahul and Sonia . And Though Varanasi is a BJP friendly place – Modi and AK are both outsiders there . You can’t fight lions in their den – you will just die . But you can fight realistically by drawing the lion outside its den . That is exactly what AK did with Modi .

He might still lose – but he will have enough popularity to carry it for AAP in Delhi state polls . If he wins – then he can question Modi’s credibility to run the country . It is win win either way .

There is surely a flip side . AK was so obsessed with Varanasi that he was barely in the other 425 places where AAP was contesting . Same is true for their other leaders . So in the grand scheme – this might be a failed political strategy for AAP to not do optimal resource allocation .

Real debates

Most often – there are no real debates in Indian politics . It’s traditionally a game of empty one way promises . AAP changed the game – they made sure other parties had to take stances on issues . That is probably the biggest positive for India in this election . Not only did political parties express their stances on issues – common man felt they could ask questions too .

AK also set a precedent of answering all questions from the press . His answers were not always concise or good or logical – but he did answer everything the best he could . That forced more leaders of other parties to get out of their comfort zones and give real answers . Few more elections of this kind – and Indian politics might look quite different .

When the dust settles

Tomorrow night US time , the results will start pouring in . Modi probably will become PM although a lot of non-Hindu Indians would hate that .

I can only hope that

1. BJP leaves it’s election rhetoric on religion and focuses instead on development of the country as a whole when they form the government
2. AAP wins Delhi state elections and gets some experience running a state and making principled compromises
3. Real debates continue to happen and the citizens of India hold their leaders to a higher standard
4. In the event of hung parliament , leaders of the parties show some strength in forming long term alliances for a stable government

MongoDB for the non-technologist – It is not just what we make, it is what we make possible !


I borrowed the title from an inspiring Intel slogan from 2008. http://www.intel.com/content/www/us/en/history/history-2008-annual-report.html

How exactly does someone choose one database over another?

That of course depends on who the “someone” is – the answer differs whether you are a developer, and ops person, an architect, an executive or an end user. If you are a developer , an ops person , a consultant or another kind of IT expert, and you are reading this – you probably already know why you chose MongoDB over other databases. Your next step is probably to convince someone else on “why MongoDB “ . And typically that person does not come with deep technical background like you do.

A good part of my job is to explain to our partners and customers what is new and different with MongoDB – in non technical terms . And having done that a few times now – I thought maybe it is worth typing it into a blog post and get some feedback from my readers . So here is my attempt – I am happy to explain more, answer your questions and accept and fix any flaws in my current thinking .

I think one of the best ways to explain a database to a non technical user is to explain what kind of apps can be powered by it, how it will help the business and their day to day life.
It is not just what we make – its what we make possible with MongoDB that drives the massive adoption (Did you know that there are about ten thousand downloads of MongoDB every day now?)

So, what are the three biggest challenges that an IT organization faces today ?

1. Keeping pace with the business that seemingly changes its requirements every day.

It is not as if IT wants to say NO to every request that comes its way – it is frustrating to explain to a business user that “ can you add just this one field to capture this attribute?” is not like adding a column to an excel spreadsheet and altering a formula or two. Coming to think of it – I know many analysts at my past clients who will not alter their complex spreadsheets for fear that something will get messed up. Yet the same folks hate it when their IT colleagues say NO to their change requests. You have to change the data model, update information, change code in multiple places and there is a high risk of something else going wrong while you were adding “just one field to the screen”. So IT pushes back and introduces increasingly complex governance procedures , which further frustrates the business users. Some version of this story plays out every day in companies all over the world. There are tables that hold billions of lines – like sales orders, financial document line items etc where “just one field” to be changed takes months to fully implement.

RDBMS has many benefits – but to make use of it, you need to agree upfront to a given schema and then try everything possible to not change it after you start coding and loading data. I once worked in a project where an extra column in a table that is in production needed the approval of the CIO of that $40 Billion annual revenue company. With its dynamic schema (thanks to JSON) – MongoDB is a lot more flexible . You can tweak your schema as you learn more about data. This is not to say that there needs to be no schema design at all. It just means that you have a lot more ability to respond to changing requirements as projects progress. Bottom line – You don’t need to say NO as many times to business anymore.

2. Ability to start small and expand when needed

There are very few companies today that have an IT budget that is growing every year . Capital intensive projects go through increasing levels of budget scrutiny – and for good reasons . One of the reasons for this is the “scale up” requirements of many databases. Scale out is typically cheaper than scale up – it takes less money to daisy chain several small servers than buy one big server. But if the database does not scale out well – your hands are forced into buying a big server upfront and not optimally using it for significant periods in time. MongoDB takes this problem away – you can start small and expand footprint over time. I should add here that before you scale massively – some significant thought needs to be put into deciding the best sharding key .

The same holds true for skills. Developer productivity is an important core aspect to MongoDB design. There is practically a driver for every possible development language out there – java, javascript etc. This means you can get started on MongoDB with your existing skills and very little training. In my own case, it took me less than 30 minutes to download MongoDB (http://www.mongodb.org/downloads and http://docs.mongodb.org/ecosystem/drivers/ ) and write a hello world . There is a vibrant community of developers who help each other on the technology – and there is world class online education (and traditional class room training too in case someone prefers that).

3. The need to standardize on limited number of technologies

IT landscapes are heterogeneous in nature. While that is hard to change – most companies prefer to standardize on as few technologies as possible. This is especially true for the lowest levels of the stack like Hardware, OS and database .

Once the decision to treat a database as standard is made – the team gets used to thinking “why not the standard?” when new applications need to be built. There will always be some applications (say 20% of the total apps) that are clear candidates for RDBMS – like the complex ERP like transactions. There will be another similar set of apps (say another 20%) that are obviously great use cases for MongoDB. That leaves about 60% of apps that could go either way. Typically the “why not the standard we chose” thinking will impact this important decision that has really big long term impact.

Standardization on as few platforms as possible is definitely a good thing to do – as long as the project team knows what were the use cases that were used to determine the standard platform when the decision was originally made. Many of those decisions would have been made in the past where the requirements facing an organization today couldn’t have been possibly considered ( say like handling sensor data or needing projects to deliver into production every week or every month instead of once a year).

Database is one of those layers where there was hardly any revolutionary changes done for decades. So these platform choices didn’t have to revisited by few generations of project teams. But that is not the case today. With MongoDB, Hadoop and similar technologies – there are modern ways of satisfying the data requirements better, faster and cheaper.
MongoDB is a general purpose database – a technology that can solve a variety of use cases. Check out a small sample of these use cases here http://www.mongodb.org/about/production-deployments/ .

Platform standardization decisions are not only about technology differentiators alone. An equally important part is the ease of doing business with the platform vendor. At MongoDB – we want to be the easiest vendor for our customers and partners to do business with. We believe in complete transparency – like putting our subscription pricing and discounting information on public domain. https://www.mongodb.com/products/subscriptions/pricing . I wonder how many traditional database vendors can do business with this level of transparency .

So , that is what we make possible at MongoDB – we want to make working with the technology and working with us as a business partner as successful , frictionless and transparent as possible . Everything else is secondary !

A half dozen suggestions to SAP


Vishal has left SAP – and despite the abrupt nature of his exit , he has given the company a lot to work on . In a few weeks from now, Bill will be sole CEO and he gets a great set of leaders in the board and in the top ranks of the company . I think this is a perfect moment for the company to disrupt itself and gain some significant momentum .

In no particular order , here are my suggestions .

1. Split the company into two – apps and platforms – and assign them to two divisional heads with P&L responsibility

If SAP is to become a great platform company (it’s already a great apps company) – it needs specific focus . Platform is a nebulous term – but for true greatness, SAP needs to play in more layers of the IT stack . Similarly – apps that were created decades ago need to evolve without being constrained by pace of platform evolution . For the “cloud company powered by Hana” to be a reality – both apps and platform business need cloud as a vital component .

2. Go make some bold acquisitions

Look at BI and middleware from SAP for example . They have large install bases – but they are a bit tired . Surely some of the innovation can be done organically – like how Lumira started . But SAP doesn’t have time to just build all the way . They need to make bold acquisitions quickly on both platform and apps side .

3. Sunset products with limited upside

SAP has built and bought a lot of stuff over the years . There are many products (not naming them because people who run them are friends that I don’t want to offend ) that have low adoption or no clear forward path . Those products need to be sunset (or migrated to something new ) and investment redirected to new areas. And this will help field sales and customers quite a bit too in eliminating confusion .

4. Double down on business suite and BI integration

It’s really SAP’s sweet spot . Yet – there is very little actual integration between Business suite and BI platform . CRM has some embedded BI as I remember , but the whole “insight to action” thing never totally materialized . I hope that Leukert and Reh can fix this with the right partnership between the apps team and BI team . This game is SAP’s to lose .

5. Renew the focus of product management

SAP has always had great engineering abilities . Product management needs attention in my opinion – and probably could use some external hiring to compliment the in-house talent . I would also go one step more and say that PM should be closer to the Customer organization than to engineering . All innovation is customer driven – if PM gets more customer exposure , it can only accelerate innovation .

6. On platform side, become more channel and open source friendly

As much as SAP has great technology at its disposal , reality is that there is hardly a customer that can survive with as SAP technology alone . So it is a must that SAP actively increases the openness of its platform and connect to other technologies . I am not naive to think that Hana itself will now be open sourced – but it is worth considering for medium to long term .

Similarly – SAP could make more use of channel partners . With Rodolpho being put in charge – I have a good feeling that channel will get to be an important part of SAP business . There are plenty of products in SAP portfolio that could be sold through channel alone I would think

Vishal Sikka leaving SAP – My initial thoughts


20140504-150133.jpg

I had heard this news over the back channel yesterday . Having known Vishal for a few years , and having worked for him for a bit – It was a surprise, but not exactly a shock . This photo above was a picture I took the last meeting I had with Vishal and Hasso before I left SAP .

As a friend, I think this is a good thing for him to do. It was a big job with a lot of stress . He could use a breather before his next adventure . For a man of his caliber , there is no dearth of opportunity in this world .

For SAP, there is both a real issue and a perception issue to overcome . Bernd Leukert is a known and respected entity in SAP leadership – and I think will do as good a job as any one else to keep the ship steady . What Hana needs is a set of apps – and Bernd’s pedigree is all on apps side . He has Bjoern Goerke and other leaders to take care of technology. I am a tad surprised Bjoern didn’t get into Managing Board – but I am sure it’s just a matter of time . So I think SAP board did the right thing in picking Bernd to be Vishal’s successor . I do expect to see some “thought leadership” cues from Bernd (and probably Bjoern too) at Sapphirenow Orlando on how he sees SAP evolve .

It’s not enough to build apps – it needs to fit into the “we are a profitable cloud company” message, which probably needs a renewed focus on mobile business too .

Rob Enslin goes to executive board with Bernd – and I think that was a no brainer too . Rob is as good as the best sales leaders anywhere in enterprise software today. When Bill becomes sole CEO in few weeks , I expect Rob to be a solid general for him . Congrats to Bernd and Rob – very well deserved . I just wish SAP managed to keep Sanjay Poonen too . But Steve Lucas is still there – so there is no real shortage of top talent .

And I think this reshuffle helps Bill McDermott get a great start on his tenure as sole CEO with almost a completely new board to assist him. With Hasso and Jim in supervisory board, he should have plenty of support to chart a great course for SAP. Wish you the best, Bill !

What about Hana , Vishal’s little girl ? As much as Vishal was the face of Hana – there are plenty of people who are experts on Hana in SAP at all levels . The real question is whether SAP continues to keep a technology focus on Hana , or let apps take front seat again and Hana just powering everything in background . Success of a platform is based on apps built on it – so I am hoping SAP strikes a good balance on apps VS technology when it comes to hana . SAP is not breaking down Hana numbers for its quarterly reporting anymore – so I am guessing such an equilibrium will happen soon .

I hope SAP keeps the Hana startup program alive and well – and in addition focuses on building a deeper relationship with other type of partners (HW, SI, SW, Cloud). Ecosystem is SAP’s biggest advantage – and it is important that the company takes the partners in confidence as they transition product and engineering leadership .

I do feel bad for my many friends in SAP who work in P&I – it’s always painful to go through a leadership transition and it’s after effects . I can only hope that you emerge stronger on the other side . I can’t even begin to imagine what I would have had to go through emotionally if I hadn’t left SAP .

I can only speculate what Vishal is going to do next . With his eye for spotting technology trends and passion to see world change for the better – my best bet is that he will become a VC or an Angel investor . But then he could surprise me by choosing to be an entrepreneur again , or join a big company (unlikely but not discounting it ). But whatever option he chooses – I just want to wish him the very best and hope he takes some significant time off to recharge . Good luck V !