Visual Studio and ITIL
We have a lot of discussions with customers on the topic 'How does VSTS support ITIL?'.
First some definitions:
- ITIL
covers Service Delivery and Service Support but not Development. It mentions Development but does not take care how it is done e.g. from a Process perspective.
Microsofts Operational Framework (MOF) is based on ITIL.
The IT-Lifecycle (Plan, Build, Deploy, Operate) is covered by MOF and MSF. MSF focuses on Plan and Build, MOF on Deploy and Operate (MOF itself defines 4 quadrants {Change, Operate, Support, Optimize} but I want to keep it simple by matching it on the ISO Lifecycle). Of course MSF and MOF overlap on their borders.
MSF as a Development Framework is included in Visual Studio Team System (VSTS).
So how does VSTS support MOF and how are MOF and MSF working together?
Be aware that the term 'Configuration' has a quite different meaning within ITIL than within Development. In ITIL, a configuration is a tested and agreed package in a Production environment, not some code etc under development or test.
Let's look where ITIL interacts with Development from a Dev's perspective:
Service Planning
- ITIL looks at Services from a business and operational view. Maybe the most important artifact is a Service Level Agreement (SLA). From the Users and Dev's point of view the Service Level Expectation (SLE) is the bridge to the SLA. The user has an expectation, the development has to satisfy it and the operation has to enable it. In the next edition of the Architect Journal, Arvindra Sehmi and Beat Schwegler will address those topics in deep.
- Security is a major tenet influencing all players at all levels. As it is part of ITIL also, it shows the necessity of an Enterprise wide Security concept implemented and managed at the different levels as appropriate.
- Capacity planning influences especially the requirements on scalability.
Problem Management
An incident can be transferred to a problem. It can be kept as it is by flagging it as a 'Known Error' which is held in a special repository used by the Help Desk / Incident Management or it can become a Dev Change Request which will be transferred to the Change Management.
Change Management
- The central instance for ITIL is the Change Advisory Board (CAB). Members of the CAB review Change Requests (CR), analyze their impacts and approve/decline them. Referred to MSF at least the Project and Product Manager should participate in the CAB where appropriate.
- The Project Manager has to define new Dev Tasks for a submitted change (either Dev or Operation originated). That leads to two CR tickets: One in the ITIL environment (a CR) and one at Dev level (e.g. a MSF task).
- A new release is built by development, tested and if agreed deployed.
Release Management
- Within ITIL, the Release management is responsible for deploying a configuration from a Definitive Software Library (DSL) to the intended location. The Development is responsible to provide all necessary artifacts (tested and approved) in the DSL.
- Microsoft's Dynamic System Initiative (DSI) introduces System Definition Models (SDM) which are supported by the VSTS Distributed System Designers. These SDMs include all necessary informations about environments and their requirements at the different layers (Application, Hosting, Network, ...).
- In particular, the Deployment Diagram enables the generation of XML and HTML Deployment Reports which can be used to feed a self written, custom Deployment tool (Future Versions of SMS will bridge today's gap in automating deployment).
Conclusio: VSTS in combination with Team Foundatiuon Server (TFS) supports ITIL. There is some effort necessary to align the customer's development and delivery/support/management process. With the bunch of Web Service Interfaces of TFS and the abilities of VS2005 including the extensibility points I would state: Visual Studio is ITIL enabled.