What follows is a short exploration into the differences, inspired by reading a recent article on the HealthCare.gov.
Commercial Versus Internal IT Software
Since software companies derive their revenue from the products they create, their investments in research & development is proportional to revenue, and they are forced through competition to foster environments of continuous innovation. The measure for success in software companies is simple: revenue. To drive this revenue, you need to be able to envision, develop, market, and sell your product against sometimes fierce competition. As a result, the greatest asset of a software company is its people, and so the industry culture has evolved to select for professionals that are self-directed, innovative, flexible, and willing to take risks. Commercial software cultures tend to be informal and non-authoritarian.
There are very different forces at work though in software developed by IT professionals for internal use within an organization. The drivers in IT software are reducing OPEX and/or improving internal customer experience, and so budgets are proportional to the potential savings or efficiency gained. After committing to development, internal IT software projects have no competition, and are generally expected to front-load their investment / innovation before moving rapidly into sustaining. As a result, the industry has evolved to place greater value on the management and process for developing software, rather than innovation. Their more formal and management-driven cultures tend to attract people interested in making a long term commitment to a company and/or a management career ladder.
Most of us in high tech can spend our entire careers working for software / SaaS companies without ever giving a thought to the culture of internal software development. All that changed for me in 2007 when my startup was acquired by a large hardware company with no established software culture besides internal IT. So it was with great relief when I returned from to my startup roots in 2010, to a culture and environment I understood.
So for those of us in high tech, take a moment today to thank our forebears - Bell Labs in the 1960s, Xerox PARC in the 1970s, and Microsoft / Apple in the 1970s / 1980s - who pioneered the cultures in which we build our software today.