A Java based Enterprise Web Application developed from the ground up with its own open source frameworks underneath. It enables End-to-End management of service delivery for a Fortune 500 organization. Some of the key features include: opportunity assessment, project management, resource management (resource dispatch, resource skills, logistics, 3rd party service providers management), status tracking, revenue recognition, time entry, invoicing, financial information tracking and field support handling. It also integrates into the corporate applications ecosystem to enable business process optimization and workflow automation not possible with other enterprise software solutions.
Using this application, the following were achieved:
- A 20% reduction of service cost and 70% faster delivery of services.
- Break free from old legacy systems that were difficult to adjust to business needs.
- Improved end customer satisfaction by reducing cost of re-work and ensuring that employees have full information at the earliest opportunity.
- Many work steps have been automated, reducing the time it takes to process tasks, which lead to reduced labour costs.
- Enable change by allowing to adjust processes, workflows and build new functionality quickly and at a low cost.
- Increased compliance by validating data as early as possible and reduce errors along the way.
The main challenges were business complexity and application size (over 750.000 lines of code), dynamic and fast paced business environment with changing needs and requirements and taking over responsibilities from enterprise legacy systems. Also, integrating with enterprise applications (SAP, Oracle ERP, MS Exchange, Business Intelligence systems, Enterprise data warehouses) and other external systems (Office365, Google Maps, SMS providers), high availability and scalability, large user base (thousands of users), with users on all continents needing support with low SLAs, data security, legal requirements and corporate standards compliance. Being a high visibility application, the quality standards were set very high.
Adopting a modular architecture enabled us to tackle the complexity, the focus being on code reuse and easy maintenance through constant refactoring and code clean-ups. We implemented an Agile development process that allows adapting quickly to business needs. An “Open to change” philosophy was enabled by loose module and component couplings, multiple abstraction layers, dependency injection and defined extension points.
Strong Business Analysis team that worked closely with field SMEs to document, improve and execute the transition from legacy systems to our application Strong DevOps team that worked closely with other application groups and designed solutions for integrating the application in the corporate ecosystem. Clustering and Load Balancing enabled high availability and scalability, together with the ability to have non-disruptive updates.
Customer support needs were leveraged by our excellent support team, that was recognized and awarded multiple times as one of the best in the company. We implemented strict policies to deal with data protection and legal requirements. The implementation of these policies was periodically audited by our team and customer representatives.
We met and exceeded the quality standards required by employing a Continuous integration system together with a strict multi step QA process that included automated regression testing, manual testing, business validation, performed on multiple testing and staging environments that mimic the production system as close as possible.
- JEE, Groovy
- Oracle DB, Microsoft SQL Server, SAP Hana
- Hibernate, ETL
- Infinispan, JGroups, Microsoft EWS
- Custom OSS frameworks for web development (jWic, appkit)
- JQuery, JQuery Mobile
- HTML, CSS, Velocity templates
- Maven, Jenkins, Sonar, Nexus, GitLab, Zabbix, Grafana
- RallyDev, ServiceNow