Archive for the ‘Software Case Studies’ Category

The Functional Idiot

February 16, 2013

accountant-funny2

Here is a story. I’m sitting in a room with an extremely intelligent  person. Our new VP of product marketing – Mr Y. He has an MBA from one of the finest universities in the world ,a track record as a C level executive in a Fortune 100 company. He is articulate and presents an amazing vision for the future of our company. Moreover, he defines concrete examples how we will be using social media and go beyond traditional  enterprise marketing. I’m quite impressed. Finally, we have someone in marketing who knows what he is talking about.

One month later, Mr Y Speaks in an executive forum. He repeats exactly the same story with the same social media example and same jokes. I’m getting a bit suspicious , but as the great Jack Welch said – communicating your message is one of the top leadership roles. So, I give Mr Y the credit that he is talking to a new audience.

Two months later, Mer Y is already working with us for four months. We are in a customer conference. The same exact story, word by word 😦 . Two months later he was not working with us anymore …

He is probably a “Type A” functional idiot.

I recently learned the term “Functional Idiot” which I really like. Unfortunately it is not well-defined, yet. The Urban Dictionary definition for “Functional Idiot” is :

A person who suffers from functional idiocy.

Which does not help much. However, almost everyone seems to “Get It”, so they must have worked with some.

There can be a few of ways to describe a functional idiot:

  • Type A functional idiot – A complete idiot who made it through the system to obtain an important function or position (e.g. George Bush Junior :))
  • Type B functional idiot – A very smart person in specific domains who behaves like an idiot in other domains  (e.g. Steve Jobs’ failure to admit he needs to shower to smell good)
  • Type C functional idiot – A person who used to be very smart and effective, but became outdated and irrelevant (e.g Dan Margalit might be an example for the Israeli audience)

Let’s say you are walking around the office and you spot a “Functional Idiot”  make a stupid decision. Let me provide you with tools to rationalize it.

Here is a second story. In a board meeting, you realize one of your board members (Let’s call him Prisoner X)  suggests the company should release a “simple self-service” version of your costly, sophisticated enterprise product. This could have been   a great suggestion. But we already did it six months ago and discussed it multiple times with him.

The challenge is that Prisoner X is quite smart and has a very good track record in the industry. How can we explain the fact he get’s $40K$ a month ,but is not able to remember the main products of his four companies?

Prisoner X is probably a type B functional idiot. He is very smart in the big picture and in identifying opportunities, but he is very bad in operational work and following details.

Type C functional idiots are easier to spot. You would usually find them in the CTO office, they have the word “Strategy” in their title.  in a recent example I was observing a very long thread on the pros and cons of C vs C++. The heated discussions was taking place in 2012 by people with an amazing track record in the high-tech industry history. And it was a very interesting discussion to have. In 1996.

To conclude,It is essential to identify functional idiots and tell them apart. Otherwise  we are all doomed 🙂

Mitigating the risk of lawyers

May 16, 2012

It’s not a crime to be innocent, these things we have not done
But you’re not some little child, spring is past and gone
Well I know my craving heart and I’ve seen your vicious eyes
And I think we know the truth, both you and I
Don’t flutter your lashes like a little girl
And ask me why it’s such a cruel, cruel world, no
Don’t ask any more stupid questions
You already know the answers to,

New Model Army, Stupid Questions

Lawyers represent a huge risk to the business. Most of them believe their role is to insure they can never be blamed for any decision made, rather than the traditional role of a business – to make money.

And I’m not even talking about external lawyers who are looking for ways to sue you 🙂 these are your own employees who earn their living of your business.

A typical discussion with the legal department goes something like this:

  • Manager: Can I Do X?
  • Legal:No, it is risky.
  • Manager:But It is Really Important.
  • Legal: I’ll check.

Legal never get back so the managers pings legal two weeks later.

  • Manager : What’s the answer? Legal : You can’t.
  • Manager : Why? Because it is very risky for IP\TAX\HR\Contract reasons.
Happy Legal Expert Taking Risks

Happy Legal Expert Taking Risks

I have learned a few rules to mitigate the risk from the legal department.

  • Learn the principles. My two MBA courses on contracts and law in information systems have given me enough basics to ask hard questions.
  • Managers should understand employees’ social rights , benefits and different employment models etc. This is important part of the role, not “HR department role”.
  • Always start from the business goal. The lawyer cannot argue about that because he does not understand the business and because you are the owner.
  • If you are hiring the lawyers get the good ones who understand business and are service oriented.
  • If you are using internal legal and  get bad service – complain. Legal is a service provider , just like the IT department. If their responses are slow, inaccurate or unhelpful to te manager one should talk to their executive and ask for assistance.
  • Demand domain expertise. High-Tech Lawyers should understand the difference between SaaS ans On Premise, for example.
  • Use standard forms,standard contracts, standard NDA etc. It is not scalable to rethink these for each relationship.
  • Request service, not consulting. For example :”   want to have a OEM partnership with X in two weeks because it is going to add 20M$ for us next year. Please handle the legal parts ASAP”
  • Give the lawyers context and business reasons: what  are you trying to achieve, who is the other side, what’s the urgency, what’s the reward.
  • Don’t go legal unless you have to.Risk is everywhere – bugs, features, unhappy customers. As managers we manage risk without even thinking about it. Lawyers are trained to think only about the risks and have a very strong bias against action. In decisions where risk is understood and  is small , it is better to leave legal out of the picture.
  • Unless we are talking about tax or death issues , no one is going to come back to the manager 10 years from now and blame him anyway
  • Insurance is a great way to quantify risk and can be used in many cases. For example , instead of  long debates on what will happen if your web site is crashed by aliens,  it is simpler to buy insurance.
  • “Risk to legal department” != “Risk to the business”
  • Magic words: “I understand the risk and I accept it, If things go wrong this is my business decision”.Since most lawyers are just looking to cover their behinds, this is what they need to hear.

The Big Red Button of Product Management

February 25, 2011
A Big Red button

Image via Wikipedia

A fictional dialog between an investor and a product manager:

Investor: Why isn’t our user interface as simple as Google or Twitter or DropBox?

Product Manager: Did you have a chance to login into our application lately?

Investor: Never. But I really want us to have just one single button, so anyone can use it.

Product Manager: You do know we are constructing nuclear weapons? (Drum Roll)

The B28 Type Thermonuclear Bomb

The B28 Type Thermonuclear Bomb

Commodity Clouds? You must be kidding

January 29, 2011

A commodity is a good for which there is demand, but which is supplied without qualitative differentiation across a market. Commodities are substances that come out of the earth and maintain roughly a universal price. Wikipedia

I find it hilarious when some people describe clouds or the IaaS market as a “commodity”, or even worse – “legacy”.

It is a common mistake that I see again and again by people who don’t have a clue in what they are talking about or just ignore the little details.

These are the little details you might call “reality”.

[picapp align=”none” wrap=”false” link=”term=oil+rig+sea&iid=8827400″ src=”http://view4.picapp.com/pictures.photo/image/8827400/file-photo-ocean-guardian/file-photo-ocean-guardian.jpg?size=500&imageId=8827400″ width=”500″ height=”341″ /]

The first point I want to make is that “Commodity” is often misinterpreted as “Easy to Produce” or “Low Margin,Bad Business”.

Take a look at oil production. While the end product does not have qualitative differentiation,its production requires some of the most sophisticated technology available. Drilling oil from the bottom of the sea necessitates huge investments, great science and an amazing technology.

Moreover,  six of the ten biggest companies of the world are in the oil production sector, so maybe it is not such a bad business to be in.

Another example would be X86 chips. The X86 architecture is more-or-less the same as it was 30 years ago. It is available universally and there is no qualitative differentiation between different items. However, building a new FAB costs around $2B and Intel is one of the most successful companies on earth. No one would argue that there is no intellectual property in chip design.

[picapp align=”none” wrap=”false” link=”term=slow&iid=285366″ src=”http://view1.picapp.com/pictures.photo/image/285366/road-leading-the-ocean/road-leading-the-ocean.jpg?size=500&imageId=285366″ width=”380″ height=”380″ /]

The second important point is that vision is nice, but reality is nicer. My friend  told me that in the late 90’s the technologists in Check Point thought that Intrusion Detection technology is an erroneous direction to follow. They thought that comparing signatures of attacks is reactive and it does not help the customer  to passively monitor the attacks.

[picapp align=”none” wrap=”false” link=”term=inception+stills&iid=9386959″ src=”http://view4.picapp.com/pictures.photo/image/9386959/stills-from-christopher/stills-from-christopher.jpg?size=500&imageId=9386959″ width=”500″ height=”333″ /]

While they were right  in their long-term vision, ISS sold hundreds of millions in IDS software ,in the meantime. Moreover, when the market shifted to IPS ( Intrusion Prevention systems) , ISS had good solid technology to start from, which took Check Point  five more years to accomplish. As my father, the CFO, used to say, “The markets fix themselves in the long run, but in the long run we all die”. Technology adoption cycles are longer than they seem.

Some analysts are looking too far ahead. For example, two years ago everyone talked about hyper-visors as being commoditized. Microsoft and Citrix will give it it for free, KVN is for free anyway and VMWARE would have to follow. Surprisingly, in the last 12 months VMWARE sold more than $2B worth of , guess what, hypervisors.

Why are 200,000 customers being so silly and paying so much money when the analysts say differently?

For one reason, because Microsoft Hyper-V does not support NFS, yet, which is probably used by 40% of customers. Because Hyper-V can not handle memory over-commit, which means you’ll get about 30% less capacity from the same hardware. Because VMWARE Virtual Center is two generations ahead of Microsoft’s management server, and there is not much use for a hyper-visor that can’t be managed. See a nice post from 2008 about it.

So are the analysts the stupid ones?

Of course not. But they have not installed a hypervisor in the last five years. Furthermore , they are probably right in the long run. In three years from now (five years from 2008:) ) hypervisors might become a commodity. But it is much slower pace than it seems at first.

Remember how in 2000 Broadband Internet was just around the corner ? We’re in 2010 and only South Korea has upload and download speeds above 20Mbps . More on the commodity subject and especially in clouds in my  next post.

Contracting Heaven

August 26, 2010

A man walks down the street,
He says, Why am I soft in the middle now?
Why am I soft in the middle?
The rest of my life is so hard!

Paul Simon, “You Can Call me Al”

On a previous post I described some “Contracting Nightmares“.

Today, the focus would be on the full half of the glass. The freelancers that killed a dragon for us.

The ground rules are:

  1. Hire a person you know well, and consider to be a top performer (“Shakel” in Hebrew). Don’t lower the bar for temps.
  2. Hire a trust worthy individual who shares your core values and understands your “language”.
  3. Hire him, or her, to work in their field of expertise.
  4. Hire “over qualified” contractors, for short-term assignments.

[picapp align=”none” wrap=”false” link=”term=dragon&iid=5130299″ src=”http://view.picapp.com/pictures.photo/image/5130299/close-toy-dragon/close-toy-dragon.jpg?size=500&imageId=5130299″ width=”380″ height=”234″ /]

In my experience, only the following combinations work out well

  • A Well defined, isolated  project

For example “back-porting open source Japanese fonts library from 2.4 to 2.6″.We had to do it for our SSL-VPN products.It was an ugly job, but somebody has to do it. It was not really related to any domain expertise we had inside the company and it was a non trivial task. On the other hand, it was a pretty well-defined project so the contractor could scope it well.

  • Hire a contractor for at least 6 months as an integrated team member

For our GUI team we needed an additional developers(see post) but could not find candidates that met our expectations.

We had three hiring experiments with outside help. The one that works well is outsourced from an external company, but has passed all our usual tests. He was not a “compromise”  in any way. Moreover, he is an expert in .Net ,so training time was less than a month. Since he came from an external company we got a 12 months commitment.As a result the on-boarding costs are smaller, and we still have a lower  financial commitment.

We also examined the company’s background, since in previous attempts we realized the “best” in some companies may not be productive enough in our environment. In other words – contracting is more expensive than in-house, therefore contractors should be just as good as full-time employees , if not better.

One drawback for this method is that the freelancer cannot become an owner of core functionality, since his future is always “at risk”.

The other drawback is that such contractor requires managerial attention,making it suitable to well established teams.

An Over Qualified Beautiful Old Car

An Over Qualified Beautiful Old Car

  • A research and scoping project

In Cloudshare’s very early days (aka as IT Structures) we wanted to have our first paying customer ASAP. Our feeling was that  real customer’s feedback is critical for our success. We only had  two developers at the time, so we hired I.Z to help us with building a virtualized networking architecture.

IZ was an experienced team leader and architect that lead two complex networking projects in his previous roles. He was in between jobs, as he was considering his next career steps (being both a great singer + a talented coder).

We were considering which remote console protocol to use ( VNC\RDP\ICA) and needed objective results showing how well each worked over different latency and packet lost conditions. To our surprise, there was not updated research available.

IZ came out with objective and clear results in a new territory’s for us in which he had  domain expertise. Till this day our remote access performance is one of our key advantages over other solutions in the market.

I trusted him, so we could work on time and materials base. He trusted us that we will not nickel-and-dime him. I always prefer to pay by the hour, as scoping is hard for complicated projects.Both sides feel wrong if the estimate is wrong for a fixed costs project.

Outlook 2010 Quick Steps Are Cool

June 13, 2010

Quick Steps are an easy ways to program repeatable actions without the need for Macros and programming. Here is a sample of rejection letter to a candidate.

1. Ask admin to send formal rejection letter.
2. Move CV to Negative Answer folder.

Now I’m asking myself if I can change #1 to just replying directly with our formal letter….

Outlook 2010 Quick Steps

Outlook 2010 Quick Steps - Non relevant Candidate

And here is another sample to fight Gmail’s lack of “Priority” flag.

This Quick Step forwards current email and add [low] to subject as well as low priority flag.

Outlook 2010 Quick Steps

Outlook 2010 Quick Steps - Forward Low Priority

Doctor, Doctor. I’m out of disk space.

May 21, 2010

In the last month I have seen more doctors than I have in the last ten years. I’m OK, but I happened to be around  lots hospitals and doctors.

I usually see my own family doctor once a year, to get the approval for my fitness room. I don’t like being sick (who does?), and luckily for me I rarely do.

Big disclaimer before I begin. My knowledge in medicine and biology is as poor as my familiarity with  Western-Bavarian sausages. Maybe even poorer. Take my insights with a huge grain of salt. Feel free to correct and add.

  • It’s really hard to be a doctor. How do they remember all the facts and patients after 24 hours of running around? And the impact for any decision is critical.
  • Doctors don’t think of us as “customers” even when they charge 900 NIS per hour. While even repairmen have started respecting their customers time, the medicine men have a different set of priorities.
  • Some areas of medicine seem extremely primitive from a software perspective.  Imagine a $30,000 EEG device running on Windows XP with a big “Out of disk space” warning . When I asked why, the team  said the nurse has to clean the drive by copying video files to CD’s. The main nurse is in vacation and the secondary nurse does not work on  Sabbath.  Can’t they get one terabyte drive on eBay?
  • Many of the patients records are still kept on a white sheet of paper next to the patients bed. And yellow stickers are used for important messages. why can’t it all be entered in a normal information system ? Less mistakes, better supervision, doctors can see the status from home, global experts can help etc. It’s a pretty straight forward IT system. Not a simple one, but common.

[picapp align=”none” wrap=”false” link=”term=medicine+humor&iid=5083107″ src=”4/0/d/9/Couple_wrapped_in_46ba.jpg?adImageId=12936327&imageId=5083107″ width=”380″ height=”285″ /]

  • Seems like the brain is pretty much a mystery.  EEG analysis of the brain examines secondary variables and almost feels as palm reading. Is it because the basic data is bad, or better algorithms are needed ?
  • When one goes to dentists (private in Israel)  the treatment is much better. They keep time, they explain the options, they give you your records. I’m not sure why this is the case. Maybe because they don’t get bad habits from public hospitals. Or maybe because they face more competition.
  • The doctors still don’t get the customers’ right for full information and the internet-aware-patient. Even when the law forces them to notify the patient of all the options and risks. A common reaction would be to make the customer sign a paper ,just like he would in the bank (the one nobody reads).
  • On a positive note, I have much more respect for nurses. Their role is much harder than I imagined and their dedication and knowledge are highly impressive.

Did Bernard Madoff’s Programmers use PERL,C++ or Python?

March 18, 2010

According to the Wall Street Journal ,Two former computer programmers at convicted Ponzi-scheme operator Bernard Madoff‘s firm were indicted on charges they allegedly helped Mr. Madoff hide a massive fraud from regulators.

Obviously, the most interesting question for us is “What Language have they used ?”

[picapp align=”none” wrap=”false” link=”term=bernard+madoff&iid=4023620″ src=”2/a/a/0/Doll_Maker_Debuts_c792.jpg?adImageId=11383341&imageId=4023620″ width=”234″ height=”351″ /]

1. They should have done it Python. Python web site promises:

  • You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.

Two programmers, $10B, that”s a pretty immediate productivity gain.

2. Maybe PERL would have been better. After all, TIMTOWTDI

3. Actually, The Zen Of Python following quotes suggest the programmers couldn’t have used it for the scam

  • Special cases aren’t special enough to break the rules.
  • Flat is better than nested.
  • There should be one– and preferably only one –obvious way to do it.
  • If the implementation is hard to explain, it’s a bad idea.
  • Explicit is better than implicit.

4. Maybe C++.  No judge can ever convict them. Probably written using multiple inheritance and nested templates. Unless,of course,  Bjarne Stroustrup is the key expert witness for the  prosecution.

5. From C++ Philosophy. Enough Said.

  • C++ is designed to give the programmer choice, even if this makes it possible for the programmer to choose incorrectly

6. Other  Hints for PERL as the suspect

  • The preface to Programming Perl begins, “Perl is a language for getting your job done.”
  • No written specification or standard for the Perl language exists

7. However, the recursive nature of Ponzi scheme suggest LISP could be useful.

Please share your thoughts and comments on this important subject.

[picapp align=”none” wrap=”false” link=”term=Bernard+Madoff&iid=7041323″ src=”b/a/9/8/US_Marshals_Auction_4559.jpg?adImageId=11382852&imageId=7041323″ width=”350″ height=”233″ /]

Americana 2010

March 7, 2010

Should we talk about the weather?

Should we talk about the government?

  1. New Jersey Family Forced To Cover Up “Indecent” Snow Babe. Funny.
Nude Venus in ICE

Nude Venus in ICE

2. SF police chief backs off Taser plan

3.  Snow from the plane. New York to California.

Snowy America

Snowy America

4. Recession sign – No Greylock party in the RSA conference this year.

5. Recession sign two- “Coyote Point” inn has stopped serving bagels for breakfast. Just toast for the poor guests.

6. I heard that some American companies removed all the text from their user manuals, since they were sued by people who can’t read.

When a nation embraces ignorance, maybe that’s not a good sign (I apologize for insulting the illiterates , but I assume they are not reading my blog).

7. How come 5GB cellular surfing package costs $23 per month in Israel  and  $60 in California? and coverage in Israel is much better.

8. No recession sign

Dog Spa

Dog Spa

9. Recession for the tall – Continental offers extra leg room – for $59.

Does it mean a short person like me gets a discount on current prices ?

10. Why do closed captions have a ten  seconds latency after the video and sound?

How do people who really need it get by ?

Closed Captions Latency

Closed Captions Latency

11.  America’s Top Psychic Directory. Jet-lag makes me watch infomercials.

You must be kidding

You must be kidding

12. No Lawyer is worth $600 per hour.

Lady Ga-Ga or: How I Learned to Stop Worrying and Love the Facebook

January 30, 2010

The western world ended quite suddenly.

The news, and pictures, about Lady Ga-Ga actually being a man, were first reported by Steve Jobs as he presented Apple’s new iPlot gadget at a secret location.

127 journalists immediately tweeted the story , and it was soon re-tweeted by 13,068 followers.

[picapp align=”none” wrap=”false” link=”term=lady+ga+ga&iid=6140998″ src=”1/7/b/5/Lady_GaGa_performs_c55e.JPG?adImageId=9661170&imageId=6140998″ width=”500″ height=”612″ /]

The tweets were automatically converted 1675,042  LinkedIn notification which turned into automatic 300,000 WordPress Updates.

Than Google picked the news up and sent alerts to 1,020,068 Lady Ga-Ga followers and 1,002,900,3 day traders.

However, the big problem started as the new automatic “Google Alert” to “FaceBook comments” mechanism kicked in.

Since Facebook comments are automatically generting Tweeter alerts ,a vicious positive feedback cycle was created.

Tweeter->LinkedIn->WordPress->Google->Facebook->Tweeter.

Soon, 95% of the computing power of the western world was targeted at breaking the (false) news to the same people again and again.

When New York  lost its electric power, due to the high consumption by data center. Google decided to cancel Google wave and create a super algorithm to solve the problem.

They took five of their Nobel prize winners, who have been working on JavaScript optimizations, and asked them to solve the problem.

Google Geniuses quickly realized the problem is similar to solving the “ipartite graphs with no induced cycle of length > 6”  problem, but just when they were ready to solve it, the network on their Android t-Mobile crashed. The only person to hear about Amazon’s EC2 explosion  was President Obama, with his secure Blackberry.

As San Francisco,Tel Aviv, Rome and London lost all electric power the mob started rioting the food supplies. Unfortunately they starved after two days because all of the food was organic.

Luckily , China was saved, as Google decided to block them, or vice versa.