Case study: IT order management system
4 min read

Case study: IT order management system

Case study: IT order management system
Photo by Bench Accounting / Unsplash

In a typical old-fashioned organization the IT department controls the IT equipment bought to the organization as they are the ones being responsible for them working correctly and being secure to use.

In the following use case there are various parties taking part in the ordering process. The process goes like this:

  • End users requests a new product
  • Supervisor / manager approves the request for ordering
  • IT department acquires the product and manages the order
  • Service Desk receives, prepares and delivers the product to the end user

Depending on the end users department the order would need to get accepted by his/her supervisor or another manager in his/her department. The IT department acquires the products and Service Desk is responsible for delivering the product to the end user.

The old way of doing things

The IT department had many roles in the process. The catalogue of "allowed" products to order was managed in a Microsoft Word file. After every update, the file was manually converted into a PDF file which was then linked to the Intranet.

Tracking the status information of all orders was kept in an Excel file. All the paperwork relating to one order had to be saved in the document management system, with the right metadata, manually. Then there was a step to send an email to the financial department about the new order, once again, manually.

By the way, we were living the time in which Office files could only be edited by one person at a time. Remember the days when you'd shout over your desk: "Could you please close the document so I can edit it!? Thanks!"

The process itself was basically in order (no pun intended), the big downside there being a lot of manual work involved with every order.

The call of software to the rescue

We searched for software solutions but it deemed difficult to find anything that wasn't too big and expensive. Nowadays there exists highly customizable "multipurpose form systems" that can be tailored to different use scenarios. Buying and tailoring one can still get very expensive though.

So back then it was decided that a custom software was to be made. The planned and implemented main features were:

  • Managing the catalogue of available products
  • Numbering the orders and tracking their status and information
  • Automatic permission approvance by email, depending on the department of the end user
  • Saving the related order documents with the order information
  • Informing the financial department about new orders automatically
  • Reporting features

Later the software were to receive more features like custom product request, automatic ordering / acquiring of products, ordering products to a buffer inventory, and so on.

The result

Screenshot of the software
The catalogue of products for order. The user interface is a bit plain, but functional. The language of the UI is Finnish, in case you were wondering.

In addition to the planned features, the software was built to be customizable from the start. In the product catalogue, products can have other products as an addon-option. "Ordering a laptop, why not get this docking station with it?" It is also possible to display other custom extra fields when end user chooses a product: "This phone is available in these 3 colors, choose from these colors the one you want to have."

All of these options and extra form inputs are configurable directly in the UI. You can build quite complicated forms with it as one product can be an option for another product and all of these extra fields also work recursively. And actually, you always assign these extra fields to a group of products, so you can easily have the same options and extra fields for multiple products.

So in this regard, the software is highly adaptable to the situations when you'd want the end user to fill any extra information with the order. These features were quite ambitious to include in the software, but have been working rock solid from the beginning.

In addition, there are options for enabling/disabling email notifications or adjusting the help text shown to the user. You can also skip some steps in the order process if you have the enough rights to do so.

Technical side of things

Some of the more technical features of the software include:

  • Single Sign On
  • Active Directory synchronization for user and group management
  • Role Based Access Management
  • E-mail notifications

Building a Single Sign On authentication is a huge time saver in an organization as people have enough passwords to remember already. Also getting all the users automatically from the internal Active Directory means that the software doesn't need to deal with registering users or managing their passwords.

From a programming viewpoint this software was developed using the MVC design pattern in PHP with CodeIgniter framework and JQuery for Javascript. Database of choice was MS SQL as it was already in use by other software. Although not being the modern tech stack of today, it has proven it's reliability in the long run.

Conclusion

The software was completed and taken into production in 2011 and is still in active use daily. It has received numerous updates and new features during these years as the ordering process has evolved slightly.

A more modernized update to the UI was planned but not yet implemented.

With careful planning and implementation it is possible to build software that lasts for years to come.

💡
Interested in order management or similar software solutions? Use the contact site to get in touch!