Customized OA System, making management easier

Nova offers various flexible cooperation methods including ODC, time and materials, and fixed-price options to cater to different customer needs. If the customer requirements are relatively specific, they can choose the fixed-price cooperation method. Below is an example of a fixed-price OA project case.

Client Overview

image

This particular client is a multinational corporation based in Singapore. They specialize in mobile app development and have employees and offices in multiple countries. In order to better serve their customers in various countries, they have established local branches and offices. However, due to the fact that their employees are spread across different countries, each with its own set of public holidays, cultural practices, and legal requirements, it has been challenging for them to find a ready-made OA system that can effectively address their specific needs in terms of staff attendance, salary management, and vacation management. 

 

After careful consideration, the client has made the decision to develop and customize their own OA system to meet their unique company management needs and they chose Nova to be there software development provider.

 

Project Progress

Although this project is quite large, the requirements are clear, so the client chose the fixed-price mode for development. This means that the requirements are confirmed first, and then Nova provides a complete quotation. If there are no changes in the scope, the quotation will not increase. Through this collaboration approach, the client can effectively control the budget. Nova assisted the client in clarifying their requirements in the early stages, and there were no cases of scope creep during the process. The collaboration between both parties was pleasant, and the development and deployment work was successfully completed.
iconDevelopment Phase

This project is divided into three phases. 

 

The first phase involves completing the prototype design and requirements document, which serve as the foundation for subsequent work. Both the client and Nova are deeply involved in this phase, with Nova primarily responsible for presenting the work to the client for confirmation. This helps the client save a lot of time.

We consider requirement confirmation to be of utmost importance. If there are any deviations in the understanding of the requirements during this phase, it can lead to the failure of the entire project. Therefore, we proceed with caution and take great care in this stage.

 

In the second phase, the main development work is completed, and the produced software is promptly demonstrated to the client. After conducting internal testing, the software is submitted to the client for quick adoption and feedback collection.

 

In the third phase, based on user feedback during usage, the client adds some additional requirements, initiating a new phase of work. After completion, the project is successfully deployed and put into use.

 

iconDevelopment Team Information

The project has a relatively long duration and is developed using a front-end and back-end separation approach. Zhang Junchen has been managing the back-end development throughout the project as Project manaer.

The project is staffed with three back-end developers, three front-end developers, one full-time tester, and one project manager.

iconDevelopment Tools and Environment

Back-end API Development Tools: Eclipse (Oxygen.2 Release 4.7.2), JDK 1.8 

Front-end: Visual Studio Code (node.js 6.11.4, npm 5.6.0) 

Testing Server Environment (On-premises): Windows 10 64-bit Education Edition, Intel(R) Core(TM) i5-2400 CPU 3.10GHz, 8.00GB RAM 

Testing Server Environment (Cloud): Windows Server 2008 R2 Standard Service Pack 1 64-bit, Intel(R) Xeon(R) CPU E5-2682 v4 2.50GHz, 8.00GB RAM 

Production Server Environment: CentOS 7 

Web Container: Apache Tomcat 8.5

iconSome Technologies Used in the Project
  • PDF Export (Backend)
      For backend PDF export, the project uses the JasperReport library. The file templates are generated using the iReport tool, and the JRPdfExporter class is used to export the PDF files.
  •  Email Sending
      The project uses the javax.mail package for sending emails. The basic usage involves utilizing classes such as Address, Message, and Session as documented.
  • Workflow
      The project utilizes the Activiti workflow engine for managing workflows.
  • Scheduled Tasks
      The Quartz package is used to execute scheduled tasks in the project.
  • Front-end Components
      The project utilizes various front-end components, including:
      - Language switching: Translate
      - Charting: Echarts
      - File upload: ng2-file-upload
      - Page screenshot: html2canvas
      - PDF download: jspdf
      - Color picker: ngx-color-picker
      - Role-based permissions: ngx-permissions
      - Scrollbar: perfect-scrollbar
iconProject Management Experience
  • 1) Before each iteration begins, the team collectively learns and understands the prototype or requirements document to ensure that everyone understands the overall functionality of the system, rather than just focusing on their individual responsibilities. This ensures a consistent understanding among team members and provides a foundation for communication in areas that require collaboration. If there are any ambiguities, they are listed and confirmed with the client before further discussion among the team.

 

  • 2) In addition to the prototype and requirements understanding meetings before starting each iteration, each developer needs to carefully understand the task description and clarify what needs to be done, what scope it affects, what dependencies it has, and whether there are any uncertainties (not mentioned in the prototype or requirements document). They also evaluate if the allocated time is sufficient for the task.

 

  • 3) After completing the development, developers need to perform self-testing. The project has established some general self-testing rules, which are tailored and enhanced based on the project's specific requirements and circumstances.

 

  • 4) After a certain period of project development (usually on a weekly basis), a results demonstration meeting is held. Each team member demonstrates the functionality they have completed. This provides an overview of the project progress, allows evaluation of whether the implemented features align with the prototype or requirements document, and often reveals bugs during the demonstration, which serves as a motivation to improve development and testing quality. The OA project has performed well in this aspect.

 

  • 5) After completing a phase of the project (usually on an iteration basis), a retrospective meeting is held to review what was done well and what could be improved in the previous phase.

Overall, the project's process management is well-organized, resulting in few issues with deliverables.

What the Client Get from This Project

Through this project, the client has obtained an OA system that aligns with their company's workflow and allows for flexible configuration of workflows. This system better meets their specific needs compared to the off-the-shelf OA systems available in the market.
icon
Expertise in workflow
  • Workflow is clearer and more suitable to the actual needs of customers.
icon
Analytical support
  • Statistical information makes the boss better understand of financial and personnel data. 
icon
Flexibility
  • Realize intelligent office by introducing workflow engine and automatic approval process.

Business Model

We offer flexible business model, so as your product scales and matures, you can choose bussiness model that fits you best.
icon
Long-term contract
Turn Nova developers into an extension of client's local team, or build up a steady product development team (known as ODC).
icon
Time & Material
The essential idea of this model is, the project cost is a function of the project execution time and the resources deployed.
icon
Fixed bid
Under this model, cost and timeline will be pre-estimated, and a lucid project plan will be drafted.

Technology Stack We Use

Our dedicated developers provide you the quality you need and the flexibility you want using the following tech stacks
Frontend
vue
react
angular
nodejs
Backend
.net
.net core
java
Python
Mobile app
uniapp
android studio
xcode
ios
Flutter
Database
mysql
mariadb
mssql
oracle
postgresql
eCommerce
nopCommerce
Java Springboot
Kentico
Sitefinity

Contact Us

Send us your message
Complete the form below and send your message to us.
Name
E-mail
Phone
Message
We'll answer you as soon as possible.
Thanks for visiting!
Get In Touch
Copyright © 2005 - 2024 Nova Software Inc. All Rights Reserved.