IT management system. SharePoint
Introduction…
In continuation of a large article in three parts,
“ The History of a Single Infrastructure. MS solutions. Part 1 "
" The history of one infrastructure. MS solutions. Part 2 "
" The history of one infrastructure. MS solutions. Part 3 ”, I
will consider in more detail the issue of creating an“ IT management system ”based on SharePoint Server 2007.
The main goal, when creating the system, was to obtain tools for managing an enterprise’s IT with minimal effort, using available resources. That is, we did not have our knowledge in order to do “everything right”, nor did we have the financial resources to acquire or develop a suitable system.
Factors ...
In the meantime, the question of the need for equipment management was acute. It was necessary to take into account the equipment available to the ITU (take into account the quantity, location, movement, repair, modernization, receipt and write-off). There was a lot of equipment and there were many operations associated with it and requiring accounting. Important requirements were the possibility of joint work of IT staff and reporting to management. A search on the Internet did not help to find a suitable option for free software (perhaps it was poorly searched). Excel was also not well suited to our needs.
It was not possible to convince management of the need to purchase any serious system, as - not that scale. Yes, and I myself understood that this was not reasonable, as they say, "not a hat for Senka."
Decision…
The solution was found quite quickly (as described in the third part of the "History"). These are SharePoint linked lists. The connectivity provided through the use of Lookup Field columns. And data consistency is ensured by workflows (WorkFlow) created using SharePoint Designer. Workflows (RPs) are attached to the list and are triggered by the event - the creation and / or change of the list item. Multiple RPs can be attached to one list. RP can create, delete, copy and modify list items, send e-mails, perform comparisons of various conditions, wait for certain events to occur, etc.
It all looks something like this - there are “lists” that are designed to store melons, there are “logs” (the same lists (Custom List), in fact), designed to record changes in lists and events associated with them, there are also “ directories "(directories (the same lists)), designed to substitute duplicate data. The interaction between these lists is provided by workflows. Most of the "code", which is intended to ensure the consistency of the data - checking the correctness of the entered data, protection against changes, "protection against the fool."
For example, we have a “Equipment List” that stores melons about existing equipment. There is also a “Hardware Change Log”, with which all the data on the “Equipment List” is managed. Both of them use directories ("Customer Directory", "Directory of Performers", "Directory of departments", "Catalog of premises", "Catalog of printing equipment", etc.). Workflows have been created for the “Equipment List” and the “Equipment Change Log” that do not allow you to create items directly in the “list”, provide creation and change through the “log” (receipt, installation, removal, cancellation, repair, etc.) .
Details ...
Lists (Lists). For some lists (“Hardware list”, “Hardware change log,“ Software change log ”, etc.), it was required to use“ Content types ”- this is, if in a simple way, when for each type of content its own forms are created and in the menu When an item is created, the names of the content types appear. For example, in the “Hardware Change Log” we select “Create> Installation / Removal / Receipt / etc.” And, at the same time, each type has its own list fields. In the "Equipment List" also, the equipment is divided into content types (PC, Printing Equipment, Monitors, etc.). In addition to this division, for the equipment, of course, there are additional categories organized quite standardly - a field of the "Select Value" type.
Forms(Forms). Forms for creating, viewing and editing elements. There are no simple mechanisms for controlling the display of fields in the form, i.e. which fields to display when creating, which when viewing and editing. You can use direct editing in the database of the field parameters (ShowInDisplayForm, ShowInEditForm, ShowInNewForm) of the list using some software, of which there are many (for example, SharePoint Manager ), you can also create the necessary forms yourself (which, in my opinion, is too time-consuming). And for a while we used the first method until we tried the Office Toolbox solution .
Office Toolbox (just what we lacked) allows us to visually manage forms by adding a menu to the “list parameters” and, moreover, allows editing fields to be displayed in read-only mode, which turned out to be very convenient for us.
Lookup columns(Lookup Fields). With the substitution of values from another list, everything turned out not to be as good as we would like. For example, in the “Equipment Change Log” we create an installation record (that is, we move it from the warehouse to the customer), select the equipment that we want to install, the substitution field offers a choice of all elements of the “Equipment List”, most of the values are obviously wrong - they are already installed, I would like to automatically reduce the proposed options and choose only those that are actually in stock. And SharePoint does not offer any additional mechanisms for filtering substitution values (it discards only empty values). And we don’t like to “get involved with small third-party programs that help solve big problems” and prefer to use what is and what that we can support on our own. Therefore, for example, the “Equipment List” has acquired additional fields created specifically for substitution (for example, “Equipment Name in the Warehouse”). These fields contain “intelligible values” that are modified by workflows. Wherever required, we took this “not-so-pretty” approach.
Connectivity (Lookup). On many forms (creating, viewing, editing an item), it is required to display entries from other lists associated with the selected item. Otherwise, why do we need all of these linked lists? For example, equipment - you need to see the installed software, entries from the logs (equipment changes, other expenses, incidents, configuration changes) with the total values of the amounts and quantities. Here again, SharePoint Designer comes to the rescue. We open our form, select the required data source, drag the required fields, get the web part (DataFormWebPart), configure filtering, appearance, results. Nothing works. We are looking in Google for the magic phrase “SharePoint LookupId = 'True'”. In the list of the first we find the solution, apply and everything works.
Views. The same was not easy. For example, how to differentiate access to views? No, there are no mechanisms. But there was a way out - to specify for the presentation page another main page (MasterPage) using SharePoint Designer. And to give out permissions to objects of the main pages is easy to hand out.
Calculated columns (Calculated Fields). We use it everywhere - we calculate everything that is calculated. But, for example, you cannot use the Today function in calculated fields, which is absolutely necessary, only in data representations. And sometimes you need to calculate your birthday, life, etc. Although, if you really want to, there is one method - " SharePoint TODAY field and calculated fields ...". We use it, and it works, but with one remark - the value is not recalculated automatically, for recalculation it is necessary to update (change) the element. Therefore, if it’s critical, workflows are of help (we have such an implementation - “Birthdays”, where everything is updated automatically, promptly congratulated the perpetrators by e-mail and published congratulations on the portal).
Another example - how to reflect in the view, data for the current month, and for the past? Use computed columns. There is, for example, the date of equipment change - we calculate the first date of the current month, the first date of the next month and compare these values with the value of [Today] in the view. Or, it is necessary to classify incidents by decision time, having a start time and an end time - we determine the evaluation criteria, calculate the decision time and assign, based on this value, the category of decision time.
Results…
The functionality that we ultimately received was located on the “IT Center” node of the portal and received the proud name “IT Management System”. The functionality of this system can be divided into the following areas: IT Project Management, IT Asset Management, Cost Management, IP Configuration and Document Management, Knowledge Management, Incident Management, Technical Support Management. I’ll try to describe ...
IT project management . Separate subsidiary node of IT Center. There is little interesting, the functionality is slightly different from the template of the "Project Management" node.
There is a list of “Strategic Tasks”, “List of Projects”, “List of Project Tasks”, “List of Project Milestones” and a reporting page with key performance indicators (KPIs). The lists are connected, deviations are tracked, but there are no links with the rest of the functionality of the “IT Management System”. Therefore, I won’t describe much, I think it’s worth combining and making “IT Project Management” the “tip of the iceberg” of the IT management system. That is, make sure that the "Strategic Tasks" and the projects (activities) associated with them are primary and can be traced throughout the system.
IT asset management is represented by the “Equipment List”, “Equipment Change Log”, “Software List”, “Software Change Log”, and “FOCL List”.
The “Equipment List” is intended for storing equipment records by content type and is capable of presenting data in any necessary form - for example, equipment by type, by unit, by owner, cost of equipment by unit, by owner, by type of equipment, etc. , which made it easy to create any reports of an economic nature. When viewing the “Equipment List” items, entries from all linked lists are displayed.
The “Equipment Change Log” is intended to record any equipment work (for example, replacing spare parts, installing, removing, sending in for repair, returning from repair, entering the warehouse, writing off). The “Equipment Change Log” allows you to track equipment investments by month and equipment repair costs.
A “software list” is intended for storing records of software (software), is capable of presenting data in any necessary form - for example, software by type, by manufacturer, by unit, by owner, cost of software by unit, by owner, etc. , which also allows you to create any reports of an economic nature. When viewing the “Software List” items, entries from all linked lists are displayed.
The “Software Change Log” is intended for recording work with software (for example, installation, removal, acquisition, decommissioning). The “Software Change Log” also allows you to track software investments.
The "FOCL" list is short and is intended to separate the FOCLs separately, to show their location and investments in them.
"RM replacement magazine" is intended for fixing replacements of consumables for printing equipment (RM). Makes changes to the special fields of the “Equipment List”, which allows us to calculate the estimated date of the next replacement. That is, there is some semblance of PM acquisition planning.
Cost management is represented by the lists “Journal of expenses on the Internet”, “Journal of other expenses”, “Journal of acquisition of spare parts”, “Journal of acquisition of RM”.
The “Journal of Internet Expenses” is intended to record expenses related to the Internet (payment of communication lines, traffic, DNS, Internet site, contextual advertising, etc.).
The “Other expenses journal” is intended for fixing the payment of IT services to third parties (consulting services, technical support, audit, software development, equipment repair, etc.).
The Spare Parts Purchase Journal speaks for itself. Allows you to track the cost of spare parts. Used by the Hardware Change Log when adding entries such as “Replacement Parts”. Reflects the status of the spare parts warehouse.
The “Journal of Acquisition of RM” is intended to record the acquisition of consumables for printing equipment. Used by the RM Replacement Journal. Reflects the state of the RM warehouse.
IP configuration and documentation management is represented by two lists: “IP configuration change log”, “IP documentation change log” and “IP documentation” document library.
“IS Documentation” is intended for storage and collaboration with documents in Visio, Word, Excel formats. Previously developed documentation is available in this library.
The "IP configuration change log" is intended for the detailed registration of all changes in IP software settings. If the configuration changes require changes to the documentation, the “IP Configuration Changes Log” creates entries in the “IP Documentation Changes Log”, at the same time, the contractor is appointed and notified by e-mail, that is, the processes of timely updating of the documentation are provided.
Knowledge management is represented by just one list - the “Knowledge Base” (KB), designed to store articles about problems, errors and methods for solving them.
Incident managementrepresented by three lists - “Incident Log”, “Incident Log with Vendors” and “Malware Incident Log”.
"Incident Log" is intended for registration and management of incidents with hardware and software. Those. details are recorded of what and when happened, how and when it was decided, if necessary, an article from the KB is indicated.
The Vendor Incident Journal is designed to record and manage incidents with suppliers. That is, the supplier "messed up" (did a bad one), and we wrote down, and we will continue to know who we can work with and who should not ...
The Malware Incident Log is designed to record and manage malware detection incidents. Those. the client said “bad software”, we received a notification by e-mail, recorded in the journal, the client received a notification that he was on the “board of honor”. The restraining factor, so to speak ...
Technical support management is represented by the lists “Service Requests”, “Requests for the acquisition of RM”, “My requests for service”, “My requests for the acquisition of RM”, “Frequently Asked Questions” and the library of wiki pages “ IP User Instructions. "
The journal “Service Requests” is designed to register and manage user requests for technical support. The ITU employee receives the request and fixes the time, the client, creates a description, assigns the type of request, fixes the method of submitting the request, sets the priority, status (accepted / executed / executed / rejected), writes a comment (what has been done / not done), fixes the time to resolve the request . The client, in turn, receives e-mail notifications when creating a request and changes in its status.
The journal "Requests for the acquisition of RM" is intended for registration and management of user requests for the acquisition of RM for printing equipment in the technical support service. An ITU employee receives a request and records all the necessary data. The client also receives notifications when a request is created and its status changes.
The magazines “My Service Requests” and “My Requests for the Acquisition of RM” are designed so that the client can, using the “IT Center”, leave and monitor requests. The client leaves a request, technical support is notified, the OIT employee processes the request, the request ends up in the Service Requests journal and is then managed from there. The user, as usual with us, is notified of all changes by e-mail and, in addition, can track the status where he left the request (after the request is accepted, no one can change it, except for the RP).
The “Frequently Asked Questions” list is a help in the format of “short questions and answers”.
"Instructions for the user of IP" are intended to expand the available user information provided with the system and applications, as well as to describe the specifics of a particular IP. The instructions have a detailed step-by-step description of the actions, supplemented by graphic images to facilitate the perception of information.
Reporting is presented by the IT Management page, the Reports library and lists of key performance indicators (KPIs) grouping KPIs by category and process (KPIs of investments, costs, IP management processes, incident management, technical support management). The reporting page displays all KPIs by group and links to other ITU reports (documents posted in the Reports library).
Also, when viewing the elements of directories ("Customer Directory", "Directory of Performers", "Directory of Suppliers", etc.), entries from all linked lists related to the selected item with total values (amount, quantity), etc. are displayed. e. The watch page is a reporting page for the selected item.
IT Management Reporting Page In addition , the IT Center has other lists and document libraries. The “Notifications” list is intended for publishing messages to users. Messages are reflected on the main page of the "IT Center" and on the main page of the portal, if necessary.
The Discussion List is designed to communicate with users "without formalities." The discussion of issues is conducted in the style of a "forum", any employee of the enterprise can create a discussion or participate in the created ones.
Functionality “Polls” is used to collect user feedback (for example, on the effectiveness of the technical support service, on the effectiveness of information support, on user satisfaction with existing solutions).
Libraries of documents “General Documents” and “Internal Documents”.
Conclusions…
And so what do we have?
We built the system in such a way that “in principle, there is no need to do it”. But, nevertheless, “if you really want to, then you can” ... Because, as it turned out, it has already proved in practice its right to exist.
What are the disadvantages besides architectural?
First, as I have already said, the OIT project management functionality (strategic goals and activities) is “torn off and suspended in mid-air”. It is necessary to work on this issue and make “Goals and Projects” primary, to provide an opportunity to combine investments, costs, work on equipment, software, configuration changes, documentation, etc. within the framework of projects. I think it should turn out to be "rather entertaining."
Secondly, there is no way to manage your IT budget. There is an annual budget, on paper and in electronic documents, broken down by quarter and month, but KPIs are tied to it “manually”. Here we need to think about how to ensure a dynamic relationship between the target values of indicators and budget planning.
And what are the benefits we got?
The whole system turned out to be quite flexible. We "easily and naturally" customize, complement, expand and dispense with highly paid developers.
The system allowed management to find the answer to the eternal question - “What are they doing in IT there?” These systems may also be an argument in favor of expanding or downsizing ICT staff.
The system made it possible to better organize the work of the ITU, to streamline the internal processes, helped to determine the tasks, the area of responsibility and successfully position the ITU in the enterprise structure.
Hardware and software management fully met our expectations. We put things in order in equipment accounting. We can see all the necessary information, a history of changes.
The system made it possible to organize effective PM management for printing equipment. We always know how much is, how much and who needs it.
Query management also helps ITOs to be more organized and not get into trivial matters. Request management does not oblige customers to use strictly defined methods for submitting requests - a request can come from anywhere and anytime. We do not create additional obstacles for users (as many people who know who are responsible for IT at other enterprises argue - “that, they say, if you implement request management, then users must fill out requests in the system on their own and that’s the only way”, I think this judgment is incorrect and I believe that “the only way” usually does not work and has “imaginary utility”). Also, having about 2000 records in 1.5 years, it can be interesting and very useful to analyze these data in order to increase the efficiency of the ICU.
Configuration management and documentation are very difficult to overestimate. The process of updating the documentation is up and running. The “Configuration Change Log” is a huge collection of useful detailed step-by-step instructions (what / how / why). Allows you to easily delegate the execution of critical tasks to "irresponsible performers."
Knowledge management has proven its worth a thousand times. The knowledge base is an invaluable intangible asset of ICU. For example, finding a solution to a problem, we will write a detailed article and we can safely forget. As the saying goes, "Better a bad pencil than a good memory." But there is another unaccounted for positive effect - when developing an article, it is necessary to describe in detail the cause-effect relationships and all possible methods of solution. And this makes us study the issue more deeply, understand the essence of the problem, contrary to the usual methodology for many - “somehow fixed it and forgot it”. The knowledge base is substantially supplemented with step-by-step instructions of the “Configuration Changes Log” and methods for solving the problems of the “Incident Log”.
Incident management also exists for good reason. The Malware Incident Log disciplines users. The Supplier Incident Journal disciplines suppliers and offers us, albeit “sluggish,” but still “control levers." Allows you to objectively evaluate the quality of the service provided. The "Incident Log" offers us an objective picture of problems with hardware and software; it can serve as the basis for a decision on the replacement of problem components.
Reporting management system saves a lot of time. Reporting on IT work for management is a relic of the past, ruthlessly uprooted. What the system offers fully satisfies the management needs for reporting.
That’s all, but it doesn’t leave the feeling that I missed something. It is difficult to immediately identify all the explicit and implicit advantages of our solution. I remember the important one - I’ll supplement it.
The system was created, guided by the principle "Effectively manageable can only be what can be reliably measured" and we still have work to do ...