Supporting an organization's technical needs requires a broad range of processes and skills. These broadly break down into two areas, application development and deployment and operations. Within these categories are sets of highly specialized processes such as application development, database design, network design, and quality assurance on the development side and security, monitoring and ITIL processes
on the operations side. Some processes bridge between development and operations such as disaster recovery, configuration management, version control, and change management.
Delivery of services for development or operations frequently involves external vendors and establishing and managing these relationships. Today, a broad range of outsourcing services are offered. It is important to conduct due diligence to select a capable vendor, to engage the right level of service, and then to carefully manage to agreed to service level agreements and deliverables. Because relationships and business needs are not static it is important that provisions for change be anticipated and planned for.