Client
This is an internal project for our company Elinext, a custom software development company.
This internal project alongside almost 20 other solutions was developed for internal use and is a part of the eco-system that simplifies the everyday life of employees.
The basis of the software most likely will be used to speed up the development of a related custom product for our clients.
Oftentimes, new customers at Elinext save a significant amount of money and effort by choosing to go with a customized version of a product that already exists and is being used within our company.
Project Description
Inventory management software is an asset management software product, a web application for recording and tracking equipment items and licenses within the company.
The solution provides a wide variety of possibilities that depend on a user's role.
Through the intuitive interface, one should be able to easily:
- record newly purchased equipment items, and licensees of various types;
- manage equipment types, and inventories within the company;
- assign equipment items, and licenses to employees;
- manage the database of equipment items, and licenses and keep it up-to-date;
- track the history of all events in the application, owning history of items/licenses;
- control assets that are assigned to employees;
- track own equipment items and licenses;
- exchange certain items between colleagues;
- manage notification types that the application sends;
- receive email notifications on a bunch of relevant application events.
As Elinext was using an outdated version of the software that couldn’t fulfill most of the listed functions, we decided that it was time to come up with a new asset management system for our internal use.
Challenges
The software version that was used previously for the company's needs faced several problems, some of which were connected with outdated solutions:
- low overall performance;
- low operating speed;
- difficulties with the access to the database;
- separate accounts application usage, which increased expenditures for the company as those accounts had to be monitored and supported.
As the company grew, it became more and more obvious that we were going to need a more modern solution. Taking into account the current business state and potential perspectives, Elinext's C-level manager set the following objectives:
- gain its own, safe and up-to-date tool for asset management;
- ensure its high performance;
- automate workflows by integrating with the company’s ‘Identity Server’, which would let a new application use a common base of the company’s accounts;
- obtain a modern UI that would align perfectly with the company’s design system.
Process
For this project, we have chosen the Agile hybrid model (Kanban + Scrum). This was the perfect choice to complete the project on time because the development team had a third-party workload on other commercial projects.
The chosen strategy and methodology led to the completion of the project stages within the established time frame. Analysis of the previous applications our company used as asset management software and business needs was conducted to gain a better understanding of key points.
The experience of developing similar solutions helped to suggest and implement precisely what we wanted to receive. Our team started with defining the most critical functionality for the MVP. Further, there were several releases with an extended list of features. Our development had to migrate data from the previous application, as well as from another external database without interruption in their operations.
Developing a high number of dependencies was another challenge the team had to face in the process of development. Everything had to be implemented safely for the business workflows.
Employees of the company were the system users. There are about 700 of them. Due to the various employee roles at the company, it was necessary to catch everybody’s needs and implement them in the application.
Solution
The end product is a web client-server application with role-based access. Application functionality varies and depends on a user's role at the company and within the application.
Here are two of the user roles used in the web app:
- User is a default application role that provides restricted access to the basic features. Among those possibilities, they view their own profile with equipment items and licenses, request certain items, process submitted and received requests, as well as manage to receive notification types;
- The administrator is responsible for the overall application and has full control over asset management.
There are a dozen different modules providing web application functionality. Let’s describe them in brief.
Module 1: My Profile
With the help of this module, one can view the equipment list, process the requests, and view one’s licenses. There is a filter on requests by their status (fulfilled/unfulfilled), and type (incoming/outgoing).
Module 2: Audit Trail
This module enables users to view logs and filter them. The company has the full logs history in the application. With the help of this module, one could open items/licenses, and restore them if they’re soft-deleted.
Module 3: Equipment list
This module enables viewing equipment items and adjusting displayed data. Here is what we can do with the items: adding, editing, making them available for exchange, writing them off, soft-deleting, hard-deleting the item, binding it, moving it to inventory, and changing the item’s owner.
Module 4: Equipment item
Users can have access to the item’s details, view the device’s relations (connected items), view the item’s owning history, and change its owner and inventory. Here users can also view, add, edit, and delete notes, and do the same with comments about the item.
Module 5: Search
The search of an item is enabled in this module. It could be a full match search or an advanced search of an item (by specifying certain values for needed item fields).
Module 6: Licenses
Pretty much all the operations that were possible to do with items with the help of module 3 are possible here but with the licenses.
Module 7: License
With the help of this module, users have access to the license’s details, and they can add, view, edit, and delete notes and comments about the licenses.
Module 8: Employees
Overview of Employees, employees' record cards could be exported, printed, and adjusted with the help of this module.
Module 9: Employee profile
Employee’s equipment and licenses can be viewed here for a selected employee.
Module 10: Equipment types
The user has an overview of the currently available equipment types with the help of this module. One can also add, edit, and delete equipment types here.
Module 11: Inventories
The user has an overview of the currently available inventories, as well as add, edit, and delete ones.
Module 12: Notifications
Users can receive email notifications on a list of certain events in the application.
Results
Our company received a new software solution with several functional modules that in combination with a user-friendly design and a single intuitive interface allow to:
- streamline business processes and simplify the overall asset management in one place;
- reject manual recording assets in separate databases;
- reduce the company’s time expenditures;
- offer employees a simple tool for controlling their equipment items and licenses;
- ensure accuracy and transparency in recording and tracking owning history;
- get prompt notifications on relevant events and react immediately.
As this new web application is used as our asset management software, everything is now more efficient for each employee. Their responsibility for assigned assets has increased, and the overall risk of losing or damaging the equipment is therefore now decreased.
At the moment the project is more or less completed and is actively used in the everyday operations of the company by its staff. However, we’re conducting surveys on satisfaction with the application end-users to define potential directions of the application improvement. As we get feedback, we will get more ideas for application improvement along the way. New features might be implemented shortly.