“The purpose of the deployment management practice is to move new or changed hardware, software, documentation, processes, or any other component to live environments. It may also be involved in deploying components to other environments for testing or staging.”
Deployment management works closely with release management and change enablement. There are several deployment approaches; organisations will choose an appropriate approach depending on the nature of the release or releases:
•Phased deployment – deploys to part of the organisation or target group (for example, an office, or a country) each time, rather than the whole organisation at once.
•Continuous delivery – components are integrated, tested and deployed as needed, typically with an automated pipeline.
•Big bang deployment – the deployment is delivered to the whole organisation or target group at the same time.
•Pull deployment – users can download the software when they choose to.
Components need to be secured before deployment to protect their integrity. ITIL refers to these locations (whether physical or virtual) as the definitive media library and the definitive hardware store.
Deployment management is often only visible when something goes wrong. When an organisation’s IT services make the news, it’s often blamed on a deployment not performing as expected.
A failed deployment can have a significant impact on customer and user satisfaction, so putting some simple controls in place will lead to big benefits. Protecting the integrity of components before a deployment will include looking at levels of access and the audit trails that are in place, both internally and across any relevant external suppliers.
The technology available to support deployment management is becoming more and more sophisticated. I recommend regularly reviewing the tools used by your organisation to make sure you’re getting the best from them, and to identify where technological advances could be applied.
Infrastructure and platform management
“The purpose of the infrastructure and platform management practice is to oversee the infrastructure and platforms used by an organization. When carried out properly, this practice enables the monitoring of technology solutions available to the organization, including the technology of external service providers.”
These provide the environments that support the delivery of IT services. Infrastructure and platform management includes provision of technology to support value-creating activities and adopting to new technologies as they emerge. Each organisation needs to create its own infrastructure and platform management strategy to meet consumer needs, both now and in the future.
Infrastructure and platform management (often seen as the responsibility of IT operations) has evolved enormously in recent years. Application developers used to grumble that operations teams were too slow in giving them access to the environments that they needed, with new servers and new platforms being built using manual processes.
Some of the most important changes related to infrastructure and platform management are Operations as a Service (OaaS), site reliability engineering (SRE), and advances in technology.
OaaS describes how an operations team or an external supplier will work with development teams to create environments that meet their needs fully. The team that is offering OaaS will carry out all the environment administration, including security, backups, capacity management, etc. OaaS vendors are emerging that offer specialised capabilities in this area.
SRE was pioneered by Google and describes using software engineering techniques in operations to create scalable and reliable systems.
Access to advances in technology including Cloud hosting and containers can also make infrastructure and platform management more effective and much faster.
Software development and management
“The purpose of the software development and management practice is to ensure that applications meet internal and external stakeholder needs, in terms of functionality, reliability, maintainability, compliance and auditability.”
Software can describe anything from a single program to a larger suite of programs, for example, an operating environment. Software development and management ensures that software is fit for purpose and for use. Its activities include:
•Version control, sharing and management of code
Most software development follows either waterfall or Agile ways of working. Software development and management is a continually evolving practice, with ways of working that adapt as technology adapts.
If you want to know how effective your organisation’s software development and management practices are, you don’t need to look much further than your last few new products or services. Were they delivered on time? On budget? Did they meet the customer’s requirements?
We’ve already discussed how new approaches to software development like Agile are creating benefits for organisations, as well as bringing challenges such as integrating Agile ways of working with business processes like financial management.
My main recommendation here is to shift your thinking so that you no longer consider software development a finite project with a beginning and an end. Even when a new piece of software is released, it’s not ‘finished’. Effective software development and management includes monitoring live products and services and continually improving them.