A Business Process Automation Application

A Business Process Automation Application

Information
Region:
Poland, Uzbekistan, Vietnam
Industry:
HR and Recruiting
Type:
Web
Engagement model:
In-house
Duration:
21 month
Staff:
A Project Manager, a Team Leader, a Backend Developer, two FrontEnd Developers and a Business Analyst
ID:
366
Technologies used
JUnit 5
Mockito
Slf4j
Swagger
Jackson
Lombok
Jenkins
Sonarqube
Java
Spring boot
Firebase
Angular 11
Angular
MongoDB
TypeScript

Client

Elinext built a process automation system that has helped its coworkers collaborate more consistently and efficiently.

Challenge

Elinext has been steadily growing over the past 10 years. At some point, we realized we could no longer keep managing our processes the old way. We needed a new system that would allow us to store, study and improve process flows.

Process

Our project team used the methodology Elinext has mastered over the past decades: Agile. We worked in two-week sprints, and this approach proved itself indispensable. It helped us adjust as new functional requirements popped up during the development.

Agile methodology implies building a minimum viable product (MVP). Our MVP features included the essential operations in the system. Once the MVP was built, we moved toward developing the advanced product version. Along the way, we ran functional, regression and usability tests.

Product

The application is centered around six elements: Templates, Processes, Steps, Roles, Groups and Notifications.

Templates

Users can access all Templates from one page. Every Template comes with the following details:

  • Template name
  • Creator
  • Co-owners
  • Process initiators
  • Last revision date
  • Status (Draft, Published, etc.)

A user with sufficient access rights can create a new template, either from scratch or based on another one. This is usually done to describe a process as a sequence of steps that is consistent with other processes. Users can also manage Templates, make them unavailable and initiate Processes.

Processes

Just like with templates, users can view and manage all Processes on one page. We enabled the following details for each Process:

  • Process name
  • Start date
  • Process viewers
  • Process status

Permissioned users go to this page to initiate, manage and monitor Processes. A Process Initiator can edit its details, put it on hold, complete or close it. For greater transparency, they can view Process logs at each step in detail.

Steps

Steps are also all aggregated on one page. Each of them features the following details:

  • Step name
  • Step activation date
  • Due date
  • Description
  • Executor
  • Supervisor
  • Step status

Permissioned users can perform a step and view details about it on a diagram from this page. But they can also set Steps up in Templates and manage them as part of Processes.

Setting Up Steps In Templates

A user can open a Template and create Steps inside of it to describe different activities within a repetitive business process. These Steps could be single, conditional or parallel.

The following details can be edited:

  • Step name
  • Description
  • The Executor
  • The Supervisor
  • Step duration
  • Actions (what the Executor should do to complete the Step)
  • Options (for conditional Steps)

Managing Steps In Processes

Processes include Steps from Templates, and Executors can manage these Steps throughout each Process. Here’s what they can do:

  • Assign an Executor to a Step
  • Mark a Step as Done to push the Process forward
  • Escalate a Step (postpone the Step execution for some reason)
  • Unpause a Step (continue the Step execution after escalation)
  • Skip a Step when it is not mandatory
  • Approve a Step (if it needs the Supervisor’s approval)

Groups

A Group represents a set of users that can be assigned different roles. All Groups are featured on the same page with details like a group name, its status and members. Users with relevant access can create, view, archive/unarchive and delete Groups.

Roles

A user can be assigned a Role: Process Initiator, Process Viewer or Step Executor. Each of the Roles comes with its set of permissions for actions with Templates, Processes, Steps, Groups and Roles.

Users with sufficient access can create, view, assign and delete Roles on the respective page.

Notifications

Notifications are an essential part of the system, allowing coworkers to stay updated on tasks. We enabled two types: in-app and Email Notifications.

Users with relevant permissions can view and manage Notifications’ statuses, dates and descriptions from the Notifications page.

Results

The application we built has helped Elinext take communications on processes to a new level. Coworkers can now stay up to date on collaborative tasks without much hassle and easily reproduce repetitive processes.

Building a system for a diversified organization like Elinext — with offices in Poland, Uzbekistan and Vietnam — involved collaboration with multiple stakeholders. So, we had to learn to present the practical impact of our work in a way that brought it home for each of them.

At present, Elinext continues to adopt the system across different departments and locations. And it’s already saving employees’ time and improving delivery.

1-138
Do you want the same project?
Got A Project Idea? Lets Discuss It With Us
Contact Us

    • United States+1
    • United Kingdom+44
    • Afghanistan (‫افغانستان‬‎)+93
    • Albania (Shqipëri)+355
    • Algeria (‫الجزائر‬‎)+213
    • American Samoa+1
    • Andorra+376
    • Angola+244
    • Anguilla+1
    • Antigua and Barbuda+1
    • Argentina+54
    • Armenia (Հայաստան)+374
    • Aruba+297
    • Ascension Island+247
    • Australia+61
    • Austria (Österreich)+43
    • Azerbaijan (Azərbaycan)+994
    • Bahamas+1
    • Bahrain (‫البحرين‬‎)+973
    • Bangladesh (বাংলাদেশ)+880
    • Barbados+1
    • Belarus (Беларусь)+375
    • Belgium (België)+32
    • Belize+501
    • Benin (Bénin)+229
    • Bermuda+1
    • Bhutan (འབྲུག)+975
    • Bolivia+591
    • Bosnia and Herzegovina (Босна и Херцеговина)+387
    • Botswana+267
    • Brazil (Brasil)+55
    • British Indian Ocean Territory+246
    • British Virgin Islands+1
    • Brunei+673
    • Bulgaria (България)+359
    • Burkina Faso+226
    • Burundi (Uburundi)+257
    • Cambodia (កម្ពុជា)+855
    • Cameroon (Cameroun)+237
    • Canada+1
    • Cape Verde (Kabu Verdi)+238
    • Caribbean Netherlands+599
    • Cayman Islands+1
    • Central African Republic (République centrafricaine)+236
    • Chad (Tchad)+235
    • Chile+56
    • China (中国)+86
    • Christmas Island+61
    • Cocos (Keeling) Islands+61
    • Colombia+57
    • Comoros (‫جزر القمر‬‎)+269
    • Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)+243
    • Congo (Republic) (Congo-Brazzaville)+242
    • Cook Islands+682
    • Costa Rica+506
    • Côte d’Ivoire+225
    • Croatia (Hrvatska)+385
    • Cuba+53
    • Curaçao+599
    • Cyprus (Κύπρος)+357
    • Czech Republic (Česká republika)+420
    • Denmark (Danmark)+45
    • Djibouti+253
    • Dominica+1
    • Dominican Republic (República Dominicana)+1
    • Ecuador+593
    • Egypt (‫مصر‬‎)+20
    • El Salvador+503
    • Equatorial Guinea (Guinea Ecuatorial)+240
    • Eritrea+291
    • Estonia (Eesti)+372
    • Eswatini+268
    • Ethiopia+251
    • Falkland Islands (Islas Malvinas)+500
    • Faroe Islands (Føroyar)+298
    • Fiji+679
    • Finland (Suomi)+358
    • France+33
    • French Guiana (Guyane française)+594
    • French Polynesia (Polynésie française)+689
    • Gabon+241
    • Gambia+220
    • Georgia (საქართველო)+995
    • Germany (Deutschland)+49
    • Ghana (Gaana)+233
    • Gibraltar+350
    • Greece (Ελλάδα)+30
    • Greenland (Kalaallit Nunaat)+299
    • Grenada+1
    • Guadeloupe+590
    • Guam+1
    • Guatemala+502
    • Guernsey+44
    • Guinea (Guinée)+224
    • Guinea-Bissau (Guiné Bissau)+245
    • Guyana+592
    • Haiti+509
    • Honduras+504
    • Hong Kong (香港)+852
    • Hungary (Magyarország)+36
    • Iceland (Ísland)+354
    • India (भारत)+91
    • Indonesia+62
    • Iran (‫ایران‬‎)+98
    • Iraq (‫العراق‬‎)+964
    • Ireland+353
    • Isle of Man+44
    • Israel (‫ישראל‬‎)+972
    • Italy (Italia)+39
    • Jamaica+1
    • Japan (日本)+81
    • Jersey+44
    • Jordan (‫الأردن‬‎)+962
    • Kazakhstan (Казахстан)+7
    • Kenya+254
    • Kiribati+686
    • Kosovo+383
    • Kuwait (‫الكويت‬‎)+965
    • Kyrgyzstan (Кыргызстан)+996
    • Laos (ລາວ)+856
    • Latvia (Latvija)+371
    • Lebanon (‫لبنان‬‎)+961
    • Lesotho+266
    • Liberia+231
    • Libya (‫ليبيا‬‎)+218
    • Liechtenstein+423
    • Lithuania (Lietuva)+370
    • Luxembourg+352
    • Macau (澳門)+853
    • Macedonia (FYROM) (Македонија)+389
    • Madagascar (Madagasikara)+261
    • Malawi+265
    • Malaysia+60
    • Maldives+960
    • Mali+223
    • Malta+356
    • Marshall Islands+692
    • Martinique+596
    • Mauritania (‫موريتانيا‬‎)+222
    • Mauritius (Moris)+230
    • Mayotte+262
    • Mexico (México)+52
    • Micronesia+691
    • Moldova (Republica Moldova)+373
    • Monaco+377
    • Mongolia (Монгол)+976
    • Montenegro (Crna Gora)+382
    • Montserrat+1
    • Morocco (‫المغرب‬‎)+212
    • Mozambique (Moçambique)+258
    • Myanmar (Burma) (မြန်မာ)+95
    • Namibia (Namibië)+264
    • Nauru+674
    • Nepal (नेपाल)+977
    • Netherlands (Nederland)+31
    • New Caledonia (Nouvelle-Calédonie)+687
    • New Zealand+64
    • Nicaragua+505
    • Niger (Nijar)+227
    • Nigeria+234
    • Niue+683
    • Norfolk Island+672
    • North Korea (조선 민주주의 인민 공화국)+850
    • Northern Mariana Islands+1
    • Norway (Norge)+47
    • Oman (‫عُمان‬‎)+968
    • Pakistan (‫پاکستان‬‎)+92
    • Palau+680
    • Palestine (‫فلسطين‬‎)+970
    • Panama (Panamá)+507
    • Papua New Guinea+675
    • Paraguay+595
    • Peru (Perú)+51
    • Philippines+63
    • Poland (Polska)+48
    • Portugal+351
    • Puerto Rico+1
    • Qatar (‫قطر‬‎)+974
    • Réunion (La Réunion)+262
    • Romania (România)+40
    • Russia (Россия)+7
    • Rwanda+250
    • Saint Barthélemy+590
    • Saint Helena+290
    • Saint Kitts and Nevis+1
    • Saint Lucia+1
    • Saint Martin (Saint-Martin (partie française))+590
    • Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)+508
    • Saint Vincent and the Grenadines+1
    • Samoa+685
    • San Marino+378
    • São Tomé and Príncipe (São Tomé e Príncipe)+239
    • Saudi Arabia (‫المملكة العربية السعودية‬‎)+966
    • Senegal (Sénégal)+221
    • Serbia (Србија)+381
    • Seychelles+248
    • Sierra Leone+232
    • Singapore+65
    • Sint Maarten+1
    • Slovakia (Slovensko)+421
    • Slovenia (Slovenija)+386
    • Solomon Islands+677
    • Somalia (Soomaaliya)+252
    • South Africa+27
    • South Korea (대한민국)+82
    • South Sudan (‫جنوب السودان‬‎)+211
    • Spain (España)+34
    • Sri Lanka (ශ්‍රී ලංකාව)+94
    • Sudan (‫السودان‬‎)+249
    • Suriname+597
    • Svalbard and Jan Mayen+47
    • Sweden (Sverige)+46
    • Switzerland (Schweiz)+41
    • Syria (‫سوريا‬‎)+963
    • Taiwan (台灣)+886
    • Tajikistan+992
    • Tanzania+255
    • Thailand (ไทย)+66
    • Timor-Leste+670
    • Togo+228
    • Tokelau+690
    • Tonga+676
    • Trinidad and Tobago+1
    • Tunisia (‫تونس‬‎)+216
    • Turkey (Türkiye)+90
    • Turkmenistan+993
    • Turks and Caicos Islands+1
    • Tuvalu+688
    • U.S. Virgin Islands+1
    • Uganda+256
    • Ukraine (Україна)+380
    • United Arab Emirates (‫الإمارات العربية المتحدة‬‎)+971
    • United Kingdom+44
    • United States+1
    • Uruguay+598
    • Uzbekistan (Oʻzbekiston)+998
    • Vanuatu+678
    • Vatican City (Città del Vaticano)+39
    • Venezuela+58
    • Vietnam (Việt Nam)+84
    • Wallis and Futuna (Wallis-et-Futuna)+681
    • Western Sahara (‫الصحراء الغربية‬‎)+212
    • Yemen (‫اليمن‬‎)+967
    • Zambia+260
    • Zimbabwe+263
    • Åland Islands+358

    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    {}
    Nothing to preview
    Insert