Whether you are an independent developer or a company, you can't just do your own thing and make programs that you find cool. You have to consider the microenvironment and the macroenvironment in which you operate, to adapt and take advantages of emerging opportunities and to minimize potential threats.
Your microenvironment consists of actors that affect your ability to produce effectively in your chosen markets. Those actors are the suppliers, who build and maintain software, products and technologies that you use yourself (For example, Microsoft makes and maintain .NET and Visual Studio). There are also the distributors, and these days, the software distribution happens mostly online, on your website, on your partners websites or on marketplaces (like the Android market place). Some other important actors in your microenvironment are your customers (users and companies that buy or use your applications) and your competitors (other developers, products and websites that target the same customers).
Your macroenvironment consists of broader forces that affect not only your company but also the other actors in your microenvironment. These forces are largely uncontrollable. If we consider the economic forces for example, due to the effect of supply and demand, things such as national economic growth, inflation and unemployment can affect your sales. When money people make less money, they are less likely to buy your apps. There are also the social forces such as world population, the change in the age distribution and the change in household composition. Moreover, cultural forces may have implications for the way in which business is conducted. For example, it has been observed that some types of products and services are considered offensive or banned in some eastern countries, like China where Facebook and Google face some censorship issues.
There are some other factors in the macroeconomic environment such as technological forces and political and legal forces, which, in our context, ensure compliance with local and global IT laws, regarding patents and copyrights for example.
Last but not least, the physical forces: it is mainly environmental issues and natural disasters, such as if some random hurricane suddenly came up in the area where your servers are located, blowing them up and incidently making you lose your data and your customers. Unfortunately, as I mentioned before, the macroenvironment factors are mostly uncontrollable. However, it's important to monitor the risks and be prepared to react.