Development of Enterprise Information Systems has historically been the domain of two closed groups: internal software teams, and large proprietary software vendors such as SAP and PeopleSoft. But current broad trends in enterprise information technology are making it both increasingly possible, and likely, that these systems will be created by external companies that deliver targeted incremental functionality through lean and agile practices, and are not associated with any specific technology. IT trends contributing to this change include:
- External hosting. Cloud delivers significant cost savings. But cloud also implies that applications that previously were hosted internally, are now increasingly accessible and may even be hosted externally. This makes it far easier and more viable for a third party to build and integrate these applications.
- XaaS. New generation enterprise services like Box.net and SalesForce.com are easily accessible for development outside of the enterprise. Also, these services are highly standardized, have well defined and broadly understood API, and have mainstream paths for integration. These are natural candidates for third party development.
- Open Source technologies are increasingly mature, have achieved compelling functionality, and have high market adoption. Importantly, they are also becoming well accepted and mainstream for internal enterprise IT teams. This movement away from specialization and toward well understood and broadly licensed components favors the viability of external development.
- UI/UX. Companies have increasing awareness that design and user experience are critically important for EIS. Internal teams continue to turn to vendors with expertise and specialization in this area.
- Company Culture. For cultural reasons, in some situations companies are more comfortable outsourcing software development. Development projects may be seen as too risky for those making decisions inside. Use of a vendor can be an important insurance policy to help manage this risk.
- Integration technologies. Integration is a key competency- perhaps the key competency- in building enterprise information systems. The faster we integrate, the faster we can meet key requirements and deliver really useful functionality. Integration technologies are improving rapidly, especially the movement to message based, asynchronous, reactive systems. Internal teams continue to engage externally for expertise in this area.
- Development culture. With the increasing importance and visibility of EIS, organizations continue to be motivated to engage external teams to help evolve their own internal processes past outdated models that are in need of change. And on the other hand, software developers themselves may be increasingly motivated to work outside the organization.
- Offshore and Managed Service Models. Today it’s far easier than ever before to build systems across globally distributed teams. And this in turn makes it more compelling for organizations to contract with vendors to take effective advantage of this important trend.
- Language and development tools. Software languages and tools are changing rapidly and are more and more powerful. Large companies will engage external companies for expertise in these innovations.
- Patterns. Patterns of software language and software development are a key building block for strategic information systems. Like language and development tools, large organizations are engaging external companies as leaders of innovation in this area.
- Ease of contracts. Today it is easier and more viable for companies and vendors to create high quality contracts for development of enterprise software. Modern development methodologies such as Agile require KPI and performance measurement as critical to their execution. These data also allow companies to measure and guarantee the delivery of contractually agreed rates and quality levels.
Individually, these trends have influenced software development for years and are not new. One important consequence is that cutting edge development practices, including Agile, will increasingly be applied to distributed, cross vendor teams.
Together these trends are driving powerful changes in the way companies view strategic development of software for their own use.