Tuesday, May 12, 2009

World crisis and software development industry

      What is going on?

      It’s almost impossible not to address this topic. Everybody asks me: what is going on? Where do we go? Not that I know or I am an authority in the field, but because they hope I do same as I hope someone did a brief analysis in this direction. Too much “hope” in the same phrase... Not a good start for an analysis on crysis.

      From the first time in IT world the question “where do we go from here” is NOT about technology or methodology.
      You might reply by reminding me the crash of “.com” Silicon Valley era when software industry had a serious fall down. Well that was something else: that was the fall of an artificially inflated IT era, when developers and IT corporations were making extraordinary amounts just by knowing something that was not on everybody’s desktop as it is now and just by adding one more on-line shop to the very few existing at that time.
The “.com” era fall was generated mainly by the growth of offer and decrease of needs, it was a natural evolution that usually happens when you have too many offers for the few customers. Other causes were: offshore corporations hitting the market with prices lower by 20 times than US companies, etc... It’s a long discussion, but it all seems now that it happen slowly and natural, following general economical rules as any other business.

      Today’s crisis

      Today is far more different. Today we do not go through a supply-demand un-balanced situation but we go through a large set of behaviors. The question: “Where do we go from here?” is not only about getting on research and inventing yet another cool thing that will attract customers. It is not only about offshore and outsource. It is not about focusing on higher skilled resources and not even the opposite: lower paid resources. It is a combination of reactions depending on who asks the questions and who responds. It is company’s feeling and reactions, it is company’s skill to adapt to be agile, to survive. There are no general rules or strategies but there are general trends and statistics. “Agile” is the word and we are going straight towards “Extreme”. But it is not even as simple as adapting the “Extreme” word and going with it. I would play now with words and say that you have to be more agile than just applying for “Agile” methodology.

      Software industry reactions?

      Ok, enough of that.
      One of the characteristics of a crisis is that no one knows a darn thing. We all live by statistics. We take decisions based on what is going on around, without forecasting, without planning too much. We react as we feel for the moment, the next moment determining other reactions. Will survive the one who knows how to position himself on the wave, how to twist and turn so his boat does not get smashed.
      Is the old story of the boat: you turn your boat based on the wind direction. No, we don’t go with the wind, but you check the wind every second and react every second after. Sometimes against the wind, sometimes with the wind: whatever keeps you alive. You have no idea where you go, you target some location but not really believe you will make it. You try to minimize the wasted time for turning and definitely you try to avoid the wrong direction, but the problem that defines a crisis situation is that you never know the wrong direction: there are no signs for that as in a normal economy is.

      I’ve been looking at several IT companies and their behavior during crisis, but after I asked all questions and looked at all factors and reactions, I reached the conclusion that I am looking at the wrong part of the problem. These companies will react based on their clients’ reactions. Software companies are the boat and the Client is the wind. So let’s see how the Client reacts.

      I would simply classify their reactions as following:
      1. Panic. They just stop everything with no plans or reactions whatsoever. They close all software ongoing contracts, they dismiss their entire IT departments and reduce IT costs to absolute 0 or very close to that. These are usually companies that “can survive” with the software they already have and the loss of IT support is less than painful than losing cash.
      2. In-source. They stop all contracts they have externally, they stop buying any software products and they keep a low maintenance in-house with whatever resources they already have. They survive and maintain their software but reducing external costs. This is about companies that need to keep a certain flexibility. This is when the Client realizes that he has to stay agile, has to have a way to adapt, of course about the client that is not yet completely out of financial tools.
      3. Extended / planed maintenance. All NEW is stopped and the client will plan, hire, train and adapt it’s internal IT department or even an off-shore small company to maintain and eventually grow / adapt it’s systems. This is about companies that are still moving on the market. They loose, of course, but they can afford to plan for better, they see a need to automate their processes, they see a strong reason to still invest in software (even if reduced) because software will lead to cost decreases eventually.
      4. Negotiation. The Client will maintain its’ current investment, but will strongly negotiate all costs and resources involved. They will look at prices, they will perform an extended and annoying control over everything it happens, they will doubt your estimations and they will doubt they need the software, sometimes with suspicion on everything that defines the relation with the software provider. This is about companies that are doing well on the market and want to keep both their growth and their relationship. It is about the Client that still has background energy and is taking the “crisis” as an opportunity to do what he planes to do, but on lower costs and more control. More demanding.
      5. Invest. This is the best scenario, when the Client focuses his last breath and last financial tools on technology. It is about the Client that sees software investment as the solution for his escape, for his survival during the crisis. This is planned and targeted, it is the most demanding client, his life might be on software’s provider’s hands, but it can be a win-win situation or a loose-loose situation. It is a gambling.

      As you see above, you cannot count on “no reaction”, you cannot count on more cash or positive negotiation. Unless you are lucky or the client in stupid or going to crush eventually anyway.

      Everyone reacts and the main characteristic is “reduce costs” even if they would all look into “automate everything and fire everybody”, not everybody can go there.

      What is software industry’s response to Client’s reactions.

      The main reactions of the IT world are somehow justified by the above categories but not everyone parses the information the same way. Software corporations will:

>      Look for more opportunities. They don’t count anymore on “stable” or “solid” contracts. Every potential client is a survival tools for them, even if it is only potential. Marketing suddenly increased.
>      Decrease rates. This is natural since rates go with the market, but it is also a survival tool since it leads to code reuse, framework reuse, open source components, software by leasing, etc...
>      Merge with other software industries. Sharing clients, reducing redundant costs with staff.
>      Increase outsourcing, especially for the ones that tried that before. If they didn’t do outsourcing before now, they rather don’t try now. Not a good moment to setup. Outsourcing is painful at setup and only pays back in time.
>      Decrease outsourcing (yes, contradictory with the above) especially if the “production” was done outside and design & analysis done in-side. There is it a trend to keep everything in-house, to reduce external investment, to keep the cash flow for your corporation, country, region...
>      Reduce staff. Unfortunately this is a natural measure to be taken when clients go away: they lead to the dismissal of assigned software resources.
>      Stop investment in custom development. In times of crisis there are very few to build a software for their business only. Everyone buys off-the-shelf software or invest in maintenance only. Targeting clients for custom development no longer works.
>      Expand the targeted clients, extend area. If previously IT companies built very niche and specialized tools, now they have to go with the low prices. To survive out of low prices, you need to target volume, you need to build your products so they get bought by a larger number of clients.
>      Recruit only multi-specialized resources, even if with medium skills. Resources ultra specialized on a specific technology are no longer targeted. Of course it is good to have them, but, unfortunately they do not get recruited in times of crisis. You need more of the one-man-show guys.
>      Look for cheap solutions. Instead of building things from the ground up, IT companies will look into incorporating already built modules or even take over open-source solutions and extend them. They will look into getting a larger profit margin so less work for same money. This will turn them into integrators, see one of my posts below on one of the most important technology skill these days.
>      Focus on services. Investment on long-term products stops or trims, custom development software is reduced, also. You need to review all your clients and see their needs. The client does not want to get rid of you! They want to have you around as much as you do, just that you need to see what are the new type of services (consultancy, integration, open-source configuration) so you survive same as he does.
>      ...

      Do I consider any conclusion on these above. Yes, a few:
>      Wake up. Something is happening and you cannot ignore it.
>      Think 3 steps ahead, don’t focus only on ongoing activities
>      Be low-priced on your activities. Your client will be, too and you are one of his activities.
>      Communicate constantly and keep everyone involved. Generate various partnerships.
>      Negotiate everything, revise all deals. Since no one knows the price in times of crisis, the price might mean anything.
>      Do not let down quality and services. Instead vary your activity as much as possible.
>      Remember, the money are usually THERE. The trust is actually gone. Target the money and keep up the trust.

.

No comments:

Post a Comment