Software Creation Mystery - http://softwarecreation.org

Economic Forces and Software Genesis

“Somebody has to pay for all this.”Kent Beck



NYSE

Why do software projects exist?

A rational self-interest is a foundation of economics – maximizing expected benefits and minimizing expected cost. Software is one of the important instruments in hands of businesses, organizations and individuals that helps to achieve both goals. We could make money developing software and we could become more efficient and reduce cost. Benefits are not only limited to profit and money as with government, science or open source volunteers.

Economic forces start, drive and end software projects. These forces are complex, unpredictable and demanding. And they are the main reason for existence of the software.

What are economic forces?

Economic forces operate on 3 levels – internal, market and macro. You can find below description and examples of these forces.

Internal

  • Vision, strategy and capabilities define what software should be built. Microsoft main business is Windows and Office, but Ray Ozzie replaced Bill Gates as chief software architect and are quietly changing the vision. He probably realizes that Microsoft strategy should change to stay competitive. Otherwise it will be dead.
  • People expertise, skills and experience define what is possible to build. Google raise, power and innovations come from talented people. It recognizes it and became #1 company to work for in 2007. Google has best recruiting machine, great perks and developer centric culture. We all know results – now it is one of the most innovative and growing software companies in the world.
  • Resources, time and finances define what could be afforded in reality. Smaller companies can only dream about Google (157B market value) and Microsoft (292B) resources and large-scale projects. However, software development is not capital intensive and it is possible to grow start-up with few people to become a big corporation. Google did it in 10 years, Facebook is doing it now.

Market

Macro

  • Politics and regulations – taxes, laws and licensing. Microsoft claims Google bolsters piracy. Google is claiming that Microsoft desktop search violates anti-trust settlement. Microsoft claims open source software like Linux violates 235 of its patents. And so on.
  • Economic – growth, interest rates, inflation, labor. Economy is the king and affects any market participant. Only 50% of Internet companies survived dot-com bubble burst.
  • Society – norms, interests and preferences. More than 50% of teenagers are using Facebook and Myspace and it seriously impacts their lifestyle.
  • International – globalization, cultures, business climate. Offshore IT services change landscape for software development – the forecast is $29B in worldwide customer spending.
  • Technology – innovation, application, trends. Internet, mobile devices and other new technologies radically change software application, business models and lifecycle. Internet can be considered #1 technology innovation for changing software and world in general. Only creation of computers is more important event for software.

What are economic paradigms to create and deliver software?

  • Retail – packaged software done by centralized effort of the single company (Microsoft, Adobe)
  • In-House – own programmers (many brave companies who develop software themselves)
  • Contract – contracted outside company (IBM, Accenture)
  • Open Source – multiple participants (companies, individuals, organizations) develop product together (Linux, Firefox)
  • Online Service – online hosted software available as a service over Internet (Google, Yahoo)

Are relation between business and software development happy?

Unfortunately, these relations are not happy in the many cases. These two worlds have contrary expectations from each other.

  Description Expectations
Traditional Business Unpredictable, often changes directions, unclear what are needs & requirements, complex and ambiguous problems Quick reaction for direction changes, frequent updates; predictability, reliability; meeting timeline and budget; high quality
Traditional Software Development Absence of firm and proven principles, limited people ability to operate complex mental concepts, difficulty with building software solutions for ambiguous and changing problems. Stable and well defined requirements, time to come up with design and proper implementation, minimum distractions and changes

Software development is one of the most troublesome instruments in hands of business. Even excellent business decisions are worth nothing without good implementation. When project is started, two other groups of forces start to play – Human and System. And they add much more complexity and challenges to the rational nature of economic forces.

Question: Do you agree that economic forces are primary in the software life?

AddThis Social Bookmark Button AddThis Feed Button


Comments

You seem to mix the hosted software model (Google, Facebook) with the build-to-ship model (Microsoft). Also, Google, Facebook and Microsoft have business models that are totally different. It seems unlikely that anyone can draw conclusions by comparing them.

Good read though. Keep it up.

Comment by Steven Devijver | June 21, 2007 10:39 am

Steven,

It is difficult to compare Google, Facebook and Microsoft, but I think it is possible. At the end, all of them have a financial bottom line, investors and customers. All of them want to be successful, make money and these companies use business practices that could be compared. In addition they do compete for the our attention and even try to solve the same needs (collaboration, productivity, etc.)

Thanks for your comments!

Comment by Andriy Solovey | June 21, 2007 12:21 pm

This blog have little value without you and your comments, thoughts and discussions. Please, leave your comments. You are welcome to debate and criticize any idea, but, please, don't attack other people. Thanks for your contribution!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Subscribe without commenting

Software Creation Mystery - http://softwarecreation.org
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .