Trend in Cloud Computing Adoption – 2012

What can we expect from cloud computing in 2012? Where will cloud computing be one year from now?

  1. Basic premise of (1) economy of scale, (2) pay what you use and (3) better utilization through sharing will remain intact – though some reports challenging the extent of cost saving will emerge.
  2. Amazon will extend its lead over others with the most comprehensive offering on IaaS – competitors will try to carve out their own niche.
  3. Google will not make much headway in the enterprise segment – perpetual beta does not gel with enterprise.
  4. Microsoft will do just enough on office suite to keep competition at bay – but not too much to cannibalize its core office business.
  5. Same will happen with major ERP vendors – they will make just enough noise but stop short on cannibalizing their core business.
  6. Every vendor will look for a pie in the private & hybrid cloud – but the actual adoption will be very low the talk will shift to governance being the key.
  7. Critical concerns (both real and perceived) like (1) security, (2) privacy, (3) SLA and (4) compliance also remain – like credit card usage on net objections will slowly go away – but tipping point will not be 2012.

Do you agree with these points?

Actually, this is what I had predicted for 2011 and these points look perfectly valid for 2012.

Would I want to add any other point to this list? I don’t think so.

Cloud Computing Adoption progressing at a Snail’s Pace

If you look back at the important cloud computing events you will find that nothing of much significance had happened in 2010. The same can be said for the 2011 and I suspect that 2012 will not be any different.

But, one thing has changed during the 2011.

Neither cost saving nor flexibility is the primary driver for cloud adoption

There is clear indication that mobility has become the prime reason for cloud adoption.

Here are the results of two surveys:

  1. IBM: 51% of respondents stated that adopting cloud technology is part of their mobile strategy.
  2. CSC: 33% adopted cloud primarily for accessing information from any device as against only 17% who adopted for cost saving.

The implication is that cloud computing is becoming an enabler for mobility and mobility is the big thing. Cloud computing becomes a means to an end.

What will the implication be?

  • Budget will get allocated for mobility and not for cloud computing though people will use cloud to achieve mobility.
  • Mobility solutions will include a cloud component rather than a cloud solution with mobility component.

Amazon, Google and Microsoft

Amazon continuous to lead in the IaaS with more offering and more availability zones – it is also trying to get into PaaS.

Microsoft still continues to do just enough on office suites to keep competition at bay – it is fighting a battle of survival in the mobile and tablet space.

Google has still not made much headway into the enterprise – in spite of changing direction in many ways.

  • It has a new CEO.
  • It has closed down Google Labs.
  • It has a reasonable successful launch of social media platform.
  • It discontinued Google App Engine for Business.
  • It has modified its search algorithm to incorporate social data.

On the whole, as far as cloud computing is concerned, there is hardly any change.

What about Big Data?

Most analysts have proclaimed that “Big Data” is the next big thing. Big data without cloud computing is difficult to imagine.

  • Is Big Data part of cloud or is it part of analytics?
  • Is it to be treated as a separate category?
  • Or, is it a solution in search of a problem?

It is obvious that application of big data is limited to few specific set of problems. The key point we need to remember is that big data will not be of any use unless you are ready to ask the right question – but that is a separate topic.

Finally…

For everything to go into cloud and for us to access it from any device from anywhere we need wireless bandwidth. Do we have enough of it?

Look at some of these stats (picked up from this article):

  • In 2011 October, number of wireless devices in the U.S. exceeded the number of people.
  • By 2014, voice traffic will comprise only 2 percent of the total wireless traffic in the United States.
  • Smartphones consume 24 times more data than old-school cell phones, and tablets consume 120 times more data than smartphones.
  • Mobile networks in North America were running at 80 percent of capacity.
  • With advancements in connected cars, smart grids, machine-to-machine (M2M) communication, and domestic installations such as at-home health monitoring systems, wireless demands will only increase.

Will cloud computing hit a road block of limited wireless bandwidth?

Advertisements

5 Questions you need to ask before you outsource an Agile project

If you think that the following points are an oversimplification of a very complex subject of outsourcing agile project – you will be right and I agree with you.

However, I think these questions are a good starting point for your research before you actually go ahead and outsource an agile project.

1. Why do you want to do the project in an Agile mode?

Here are three possible reasons for wanting to do an outsourced project in agile way. Take your pick:

(A) You are already engaged in outsourcing and have established a good working relationship with the outsourced vendor. You have tried agile way of working internally and it has worked for you. You want to extend it to outsourced projects.

(B) You want to outsource a new project because you do not have internal bandwidth to either work on the requirement or on the development. You expect that outsourcing will help you overcome the bandwidth limitation and agile methodology will help you to evolve the requirements through multiple iterations.

(C) You do all your projects in an agile and to achieve immediate cost saving you plan to outsource some piece of work. So, it is natural for you to choose agile way of executing the project.

If you have chosen (A) then you then you have a good chance of success. The primary criteria for success of agile are trust and good communication and you seem to have both in place.

If you have chosen (C) then you may pull it off but you need to scale your expectation down on the immediate cost saving potential. It takes time, effort & energy to build relationship – initially that is going to be an overhead.

However, if you have chosen (B) then …

As it is, agile is communication intensive. When you bring in outsiders the communication load becomes more. So, if you are not in a position to devote time to understand what you need and create the stories, if you are not in a position to spend time to clarify doubts and answer questions as and when required, if you do not have time to meticulously review the deliverables of every iteration – your project will be doomed.

You should either understand agile well or you should understand outsourcing well before you try agile outsourcing.

2. Do you want to outsource just this project or are you looking for a partner?

This question is relevant only if you do not already have an outsourcing partner.

Agile without trust does not work.

Trust gets established between individuals and not between organizations. There is no substitute for an initial face to face interaction. At the start of the project key people from both sides should together at the same location and work together for a reasonable amount of time. One month would be ideal. If you want to optimize on cost, you should still have at least one week of working together.

Agile without a mechanism for smooth and effective communication does not work.

Setting up effective communication channel, be it dedicated communication link, be it video conferencing facility, be it necessary tooling infrastructure all require investment.

To establish these takes time … and effort … and energy. Doing it for just one project may not give you sufficient return on the investment that you make to get the whole think working.

Therefore, take a long term view and look for a partner who can help you with multiple projects.

3. What type of commercial model you should look at?

There are 3 alternatives – either one or a combination can work for you.

(A) You can have a Time & Material (T&M) contract where you agree on the rate for different people will different levels of experience and expertise and pay the vendor according to how much time they spend on your project. Though this is the simplest mechanism all the risks are with you and the vendor has no incentive to work more efficiently.

(B) The second alternative is to have a Fixed Price contract where you define the scope of the project in sufficient detail and agree to pay a fixed price for it. This runs counter to the basic philosophy of agile where you actively encourage requirements to evolve and change. Therefore, for fixed price to work you need to have a mechanism to compensate the vendor for changed requirement and rework, which you may do in a T&M basis. However, you need to keep in mind that what is a change and what is within scope can become a very controversial topic.

(C) The third commercial model can be based on some objective measure of the amount of work done. People have tried many different methods of sizing like using Story Point or Function Point. Each has its own advantages and disadvantages. The one I like is MK-II Function Point (this and this). It gives a good basis for calculating incremental effort. However, it does not cover effort required for rework, refactoring and impact of technological change.

I do not think there is one best method of structuring a commercial model. However, a good approach is to sign a Master Services Agreement (MSA) which specifies the overall terms and conditions including rate but does not get into specifics of a project. The scope of work can be outlined through a Statement of Work (SOW) which can include high level product backlog.

You may have to try out different model – combination of models – and see which one is best for you. Starting point would be to create a flexible MSA.

4. What payment term should you have?

Since Agile is iterative and there is emphasis on continuously delivery of “potentially shippable product”, you need to pay either at the end of each iteration or you need to pay at the end of a pre-agreed time period like at the end of the month.

If you decide to pay at the end of each iteration then you need to decide if you will enforce a mechanism of accepting the delivery of iteration. You need to decide what you will do if there are bugs or other forms of deficiencies found. You have 3 choices:

(A) You accept the fact that some amount of defects are inevitable and expect that those defects will be fixed in the next iteration and go ahead and make the payment anyway – this is not a very good idea.

(B) You set a threshold of defect and create a separate sprint to close those defects and accept the iteration only after all the defects are closed – this may upset your sprint planning.

(C) You do not your sprint plan but expect the vendor to correct the defects in addition to whatever is expected to completed in the sprint and release the payment only after all the defects are closed – this will put additional load on the team but will force them to deliver better quality product.

There is one more point which you need to keep in mind. One of the benefits of agile is to fail early rather than fail late.

So you need to have a clause in the contract of project termination midway if you realize that you are not going to get the business benefit originally envisaged.

5. Are you sure the vendor understands your definition of “done”?

One of the principles behind agile manifesto says “Working software is the primary measure of progress”.

However, in an enterprise context is that enough? Would the same set of people who have developed the code going to maintain it for years to come? Is there a requirement to follow any organizational coding standard and guidelines? Do you have any architectural standards that are practiced? Is the application usable? What about performance under real life load? Does it have to integrate with other pieces of software?

So, you need to have a clear definition of what is done. Here is an indicative list of points that your definition should take into account:

  • How you are going to test the delivery?
  • How much documentation is required?
  • Is there any architectural or design standard that needs to be followed?
  • Do you have a coding standard and code review guideline?
  • Do you need to have a Usability testing done?
  • What are the integration needs and how will you test it?
  • How are you going to measure performance under load?
  • Who is responsible for fixing issues while deploying in preproduction and production?

Not having a mutually agreed and a clearly written down definition of “Done” is one of the source of future potential dispute.

Finally…

There is no clear definition of what Agile Methodology means. So you need to thrash out any difference in understanding between you and the vendor. You may find it difficult to adhere to some of the points mentioned in the Agile Manifesto but do keep in mind the 3 important elements which makes Agile agile:

  1. Iterative development and regular delivery of working code
  2. Self-organizing team and emerging design
  3. Direct communication and immediate interaction

[Update: A version of this article is also published in Global Delivery Report]

Cross-Platform Mobile Visual Development – a Tool Comparison

Mobile development tools are changing rapidly.

I had started work on comparing cross-platform mobile tools about a month back. I had initially started with a list of 26 tools. Few got added on the way.

However, what is most interesting is that in this short period of time one of the tools (Open Plug) was discontinued. It was a Flash based tool. Since Adobe decided to discontinue Flash for mobile in favor of HTML5 – they really had no choice. Another tool (Pyxis Mobile) has been renamed as (Verivo Software).

Coming back to mobile tool comparison – I had categorized the tools into five categories (here is an overview). They are:

(1)    Mobile Web (JavaScript-CSS library),

(2)    Visual Tool (No access to Code), (this post)

(3)    App Generator (Native application for multiple platforms),

(4)    Hybrid App (Leverages embedded browser control),

(5)    Game Builder

In this post I give an outline of the Visual Tools where you use a visual editor to build the application. Some of these tools do not give you any access to underlying source code.

Here are 5 tools – the ordering is alphabetic.

1. Application Craft

2. Dragon RAD

  • Home page: Link
  • Genesis: Offshoot of Seregon Solutions Inc., a provider of mobile enterprise application platform software
  • Version: 4.0
  • Licensing: Paid with 30 day free evaluation – see this
  • Download: Link
  • Documentation: Video tutorial & Webinar
  • Sample application: Link
  • Implementation: Only one
  • Wikipedia: Yes
  • Article on how to use: From Zombo

3. July Systems

  • Home page: Link
  • Genesis: Cloud based solution – tight coupling between development tool and hosting
  • Version: 3.5 released on March 2011
  • Licensing: Details not available on the site
  • Download: Not freely available
  • Documentation: Video overview
  • Sample application: Link
  • Implementation: List of customers
  • Wikipedia: Yes
  • Article on how to use: No third party article

4. Net Biscuit

5. Verivo

Have you seen this Wiki?

Here is an interesting wiki – WikiMobidex.org which lists mobile offering from different suppliers. Any supplier can register and add a page for their offering. More than 200 suppliers are listed.

Do let me know if there are any errors and omissions in the details I have provided.

[Update: There are 5 platforms which I have not covered but has been pointed out by readers – (1) iBuildApp, (2) Kony, (3) Tiggzi, (4) JaeMobi & (5) Formotus]

Home page: Link

Home page: Link

Home page: Link
More detail: Link
Home page: Link
Home page: Link

<<Previous (Mobile Web Tools)

Next>> (Mobile App Generator)

Do People Lie More on Email?

Yes, if you are to believe the study done by Mattitiyahu Zimbler and Robert S. Feldman of the University of Massachusetts. (See this)

“…some degree of deception present in all three forms (face-to-face, instant messenger, email) of communication, it was increased in both instant messaging and e-mail, with e-mail messages the most likely to contain lies…”

The author goes on to draw the conclusion that “deindividualization” effect leads to lying. When people grow psychologically and physically further from the person they are in communication with, there is a higher likelihood of lying.

No, if you go by what is written in the book “59 Seconds: Think a Little – Change a Lot” by Richard Wiseman. In this book he quotes a study by Jeff Hancock and his colleagues at Cornell University and goes on to say that:

“…people in lied 14% of emails, 21% of texts, 27% of face-to-face and 37% of telephone…”

In this case the author concludes that when somebody has to put things in writing the chances of lying comes down.

[I have not given the details of the study – you can look it up.]

Which is correct?

Both explanations look very logical.

So, what is the truth?

How two academic studies can have such diverse result?

Which one should you believe?

Fooled by Randomness

If you have not read this book “Fooled by Randomness: The Hidden Role of Chance in the Markets and in Life” by Nassim Nicholas Taleb, I suggest that you read it. However, let me warn you that you might be put off by the style of writing.

But for now, you can have a look at these articles which outlines the main thesis of the book.

  1. Book Extract – The nature of probability is easily misunderstood, and misinterpretations of statistics abound.
  2. Review by Mark Wainwright – Try as we might, we continue to see patterns where none exist, misunderstand the role of randomness, seek explanations for chance phenomena, and believe that we know more about the future than we do. And that is the point of this book.

May be, here lies the explanation of how 2 studies can come to such diverse conclusion.

We live in a complex world

Our world is complex – especially when we deal with human being.

You have to accept the fact that the day of finding simple and elegant explanations for every trend that we observe are over. Any trend that we observe may be just a random event. The cause and effect correlation presented to us may look neat but is likely to be totally erroneous.

Be skeptical of all such studies.

Agile Practice and Work-Life Balance

Do you really believe that adopting agile practices will help you achieve work life balance?

One of the principles behind agile manifesto hints that it is possible:

“…Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely…”

However, the real world is different. We live in a world where we have an obsession with “Growth” … obsession with “Achieving more with less” … obsession with “Goal orientation” … obsession with “Stretch target”. To this you add the fast pace of change in everything around us – you will find that status quo is something which is very difficult to maintain.

Couple of days back I received a mail from Hema and here is an extract from that mail:

“…. I am a big believer in Agile and have been looking for companies that do real agile and have good work life balance. Do they exist or should women just move out of IT industry if they want work life balance if they care a lot about their kids? Are some roles better suited than others?…”

Many of you may echo this same sentiment … may ask the same questions. So, where do we look for an answer?

Assumptions contained in this statement

There are several assumptions inherent in that statement.

  • Adoption of true agile will lead to work-life balance
  • IT industry suffers more from work life imbalance than many other sectors
  • For a specific organization, work-life balance or imbalance will be uniform across
  • Work-life imbalance is role specific
  • This problem is specific for women

Are all these assumptions true?

Main reasons of work-life imbalance

In my opinion, the single reason which leads to work-life imbalance is when somebody (it may even be you) makes a commitment which cannot be fulfilled without putting in extra effort from your side – and you are not ready to face the consequence of not meeting the commitment.

The reason of why you cannot meet the commitment can be several. The commitment was made…

  1. …without an understanding of the complexity involved
  2. …in a competitive situation where the options was to either accept the deal with the given conditions or walk out of it
  3. …without considering the impact on other commitments already made
  4. …assuming a team composition, which for some reason cannot be realized – either people have left or you cannot find suitable people
  5. …from the top with the assumption that certain percentage improvement to status quo needs to be done
  6. … was derived from some higher level goal and handed down as given

Will adopting agile solve this problem? I really doubt it.

What can you do to avoid such situation?

The problem is not restricted to IT alone – neither is it limited to certain roles. Even if you are a school teacher you might find that you have been handed out with responsibilities which go much beyond teaching.

Agile practice, by itself, is unlikely to help you achieve work-life balance. Given today’s business environment it may even make it worse.

Here are few suggestions which may work. Though, I should warn you that our world has become complex enough and competitive enough to ensure that you need to run fast to stay at the same place.

  1. Learn to say “NO”. There is lot of stuff written on how to say no – just do Google it. Many people believe that Steve Jobs succeeded because he could say no – Steve Jobs: Get Rid of the Crappy Stuff.
  2. Learn to “Slow Down”. Did you know there is something called “Slow Movement”? There is even a Wikipedia page on slow movement.
  3. If you are still confused about what you want to do read this book – What Should I Do With My Life? Remember one gentleman called William Henry “Bill” Gates – he just walked out from the most successful company at that time which he had built from scratch.

Finally…

Here is an interesting report from McKinsey titled Changing companies’ minds about women or see this link. So, there is some hope for women. However, things are not changing very fast, so …

There are consequence to “saying no”, “slowing down” and “changing your career”.

Be clear that you understand those.

[Update (January 2012): Here are two interesting HBR articles]

Apple, Google, Amazon – Three tech horsemen – who is the Fourth?

If you consider CNN Money survey it is IBM which has beaten Microsoft by a whisker. They did not consider Facebook as it is not publically traded.

If you listen to Eric Schmidt, it is off course Facebook. Off course anybody from Google will consider Facebook in the list because Larry Page is turning Google upside down to compete with Facebook.

However, if you go by what Jeff Bezos say then it has to be Microsoft. According to him “…they’ve done a lot of innovative things, some of which get overshadowed by their big existing businesses…”

So, who will it be – IBM, Facebook or Microsoft?

Consider the following facts and possibilities

  • Since 2009, IBM share has outperformed Microsoft (see this).
  • In the same period Google and Microsoft stocks have performed about the same (see this).
  • Facebook IPO, when it comes, is expected to round up anywhere between 50 billion to 100 billion US$ (see this).
  • Facebook’s IPO would be 6X bigger than Google’s (see this).
  • IBM has replaced expensive workers in North America with low-cost laborers abroad, which has helped keep margins and profits growing (see this).
  • By the end of 2012, Google+ may become the second most popular social media site (see this).
  • Google surpasses Facebook to become the most visited site of 2011 (see this).
  • Microsoft has a habit of coming from way behind and winning the war (see this).
  • IBM has bet big on analytics including cloud analytics & “Big Data”. The icing on the cake is when Watson won Jeopardy! (see this).
  • Microsoft has created the MetroUI for Windows 8, which has the potential of becoming a game changer like Kinect (see this). Or, will it be a flop like Vista.
  • The fate of Nokia and possibly Intel depends on the success of the next generation Windows OS (see this).
  • An x86 tablet with Windows 8 running all the legacy applications … anyone (see this)?

Ultimately it boils down to these 3 questions…

  1. How successful will Windows 8 be, especially for the Tablet?
  2. Will Facebook come up with an IPO and if it does how successful will it be?
  3. Is “Big Data” the next big thing in cloud or is it a solution in search of a problem?

If you have been following then you would probably have guessed that I feel that the first question is going to be a game changer.

If Windows 8 succeeds then it would be as disruptive as iPad or Android – it would have blurred the distinction between PC and Tablet.

On the other hand if it fails then posterity may consider this event as the starting point of the end of PC era.

How to Leverage Google’s “Search Plus Your World”?

Have you ever had the frustrating experience of trying to locate a post or a page in the web which you vaguely recollect having read sometimes in the past?

It happens to me quite frequently.

For example, recently, I read an article on “10 Ways to Sell an Idea” by Dennis McCafferty which I found to be quiet contrary to another article I had read few years back. I wanted to locate the article and it took me a long time to do it. In fact, it took me more time to locate the article than to write the post comparing the contrasting view – How to Pursue You Innovative Idea – 2 Contradictory Perspectives.

Now that Google has started leveraging your and your friend’s activities for searching – it may be an interesting idea leverage that to find stuff that you have liked in the past.

After I had added by blog to my Google+ profile, I have found it easier to search any of my past post by directly searching in Google rather than going to my blog and looking for it. Since the search result is personalized, the post that I am looking for invariably shows up in the search.

For example, to look for my post 6 Game Changing Technology Events Of 2011 – And 2 Non-Events I had to just type “6 events and 2” and bang the link shows up as the third item.

Obviously, when you do a similar search, you will not find the link.

Here is an interesting study from IBM – Tip for Getting More Organized: Don’t

So, that opens an interesting possibility.

Why not just keep liking and sharing all the post that you might find interesting? You may be able to find it easily in some distant future.