Of the different people, process, and technology dimensions of an organization, structure is by far the most fundamental. Without a sound structure, people in the organization lose their culture and compete for individual rewards rather than for the good of the organization. Without structure, processes have no home and internal economies collapse because of conflicting objectives. Without structure, technology is no longer pursued for business reasons and either languishes or is simply pursued as a research interest rather than for the good of the organization. While these concepts hold true for any information technology organization, they are especially true for software development organizations, no matter what their size .
Many a small software startup begins life with no more than a couple of developers working out of a garage. Not much organizational structure is required at this point in a company's history, however organizational structure still exists. For instance, in 1977, when Bill Gates and Paul Allen formed their partnership and officially named it Microsoft, the company had minimal organizational structure. Less than a dozen employees worked at Microsoft's first office in Albuquerque, New Mexico, and everyone knew who was in charge. No complicated organization charts were needed to figure out everyone's reporting structure. At the same time, all employees knew what their role was in the company and what they were trying to accomplish. This was because any organizational structure that was needed could be informally communicated among each of the employees .
At the other end of the spectrum are IT departments of Fortune 500 companies, large independent software vendors , and commercial system integrators. An entry level programmer at Microsoft today probably needs several different organization charts to show the reporting structure among 20,000+ employees and up to Bill Gates. Having organization charts alone, unfortunately , is no guarantee of a healthy corporate structure. In any large organization, there are many dimensions to measuring the success of the corporation's structure. While no organizational model fits all development departments, certain traits stand out among companies that routinely produce successful software products.