CASE STUDY

Epson

Japanese electronics company, one of the world's largest manufacturers of computer printers, as well as information and imaging equipment.

Solution

Web Development

Industry

Internet & Direct Marketing Retail

PROJECT DESCRIPTION

Epson is among the top manufacturers of inkjet, dot matrix and laser printers, scanners, and other electronics. Their award-winning innovations benefit both retail consumers and organisations in the government, medical, finance, and other sectors across the globe. An innovation-driven enterprise, Epson actively generates fresh ideas, aiming to supply the market with revolutionary products. One of such ideas was to provide customers with a hassle-free ink refill system and enable its resellers and distributors to build long-lasting relationships with the clients. Enter the ReadyInk System - the system which monitors the ink level in eligible printers in real time and automatically notifies both users and resellers of the need to refill the cartridges. The system also orders necessary cartridges and arranges their delivery to the store or the user’s door. To complete this time-sensitive, high-priority project, Epson’s Tech leaders of Epson entrusted the scaling of the internal IT department to Computools. Upon expertise-based talent evaluation of our software engineers, we assembled the team to complement Epson’s own in-house development talent of Epson. Seamless cooperation ensured the project was completed in time with zero compromises on performance and stability.

limited time to scale the internal IT department

Insufficient availability of qualified in-house engineers

Tight project schedule

Labor cost constraints

Market leading company with strong global demand for its products and services

Culture of consistent investment in innovation aimed at consolidating market positions

Fast ink top-up technology for clean and easy refilling

Well-honed logistics and delivery processes

Business Process Mapping

01
Described

Business Process Mapping was performed by the client. Epson Tech leaders had a clear vision for the design of the proprietary ink refill system. We received a detailed Business Process Map, covering all aspects of the ReadyInk System and its use cases for end users, electronics distributors and manufacturers. Our team was also provided with an extensive list of system requirements to implement in the course of Backend development.

02
Modeled

Our client conducted extensive internal business process modelling exercise before making a decision to complement the in- house IT department with our outstaffing developers. A cross-functional team of business analysts and marketers worked together to devise a stable ink refill system to rival similar offers from competition. The resulting system design combined the benefits of a pay-as-you-go plan with the efficiency of automatic cartridge ordering.

03
Planned

We devised a step-by-step development plan to ensure the implementation of all critical features and principal components for the cartridge refill system. While the large-scale architecture planning was performed by the client, our team devised the backend architecture. This roadmap enabled us to commence the development process for Epson.

Digital Platform & Technology

Computools
Java Developer
Team Lead
CLIENT
Team Lead
Project Coordinator
Software Engineer
Communication
Oracle Database

Oracle Database is the preferred relational database for international multimillion dollar enterprises. It possesses outstanding safety features to reliably protect data stored on the database from corruption and losses. Ease of Oracle database administration reduces the need for human intervention and curtails operational costs. The reduced computational complexity of the database ensures efficient resource consumption. Other advantages include cross-platform functionality and ease of updating and patching.

Backend Java + Spring Framework

Spring is a lightweight and transparent framework for Java applications. It ensures quick and cost-effective development due to extensive libraries of pre-built code. Spring Framework’s loose coupling and aspect oriented programming enable cohesive development. The Framework container provides configuration and lifecycle management capabilities while JDBC abstraction layer simplifies error handling by offering an exception hierarchy.

Disruptive Technologies

Rapidly transforming the industry through eCommerce technology advancements.

Smart wearables
Provide high-tech companies with the means to visualize and predict product failures, organize preventative maintenance and implement upgrades to secure customer loyalty and satisfaction
BIG DATA
Analytics generates customer and product insights, as well as predictive recommendations enabling companies to optimize operations, bring in new customers and upsell to regular clients
Intelligent Logistics
A perfect way to calculate the least cost or fastest route for delivery and optimize multiple siloed warehouse management systems

Specification

In tandem with the client’s in-house IT department, our team developed a detailed specification outlining both functional and nonfunctional requirements for an ink replenishment system. Based on real-life use cases and client’s technology preferences, it enabled us to map out the project’s sprints and releases.

Serial Number check Goal 1. Check that Serial Number is not already registered and is eligible to participate in the program. 2. Get printer model. Entry points 1. Register Printer (the user is not logged in). 2. Add Printer (the user is logged in). Post conditions 1. Serial Number check is passed or failed. Main Flow 1. The user provides S/N. 2. The system checks that this S/N exists in the database. 3. If the S/N doesn’t exist in the database, the system requests printer SKU from Warranty Checker service. 4. If SKU is received, Serial Number check is passed. 5. The flow ends. Alternative Flows 1. If Serial Number exists in DB and has registration with Created, Activated or On Hold state. 1. The check is failed. 2. The flow ends. 2. If Serial Number exists in DB and has registration with any state other than Created, Activated or On Hold. 1. The check is passed. 2. The flow ends.

COMPUTOOLS TEAM

We screened the pool of Computools software engineers to select the specialists with experience in Backend Java and Oracle Database development whose expertise would complement the client’s in-house team.

Team Lead
Oleg Svet
Java Spring Engineer
Igor Ryadinskii
Java Developer
Roman Tskalo
Quality Assurance Engineer
Mariia Boborova
EPSON internal team
30+ developers
UX Designer
Valeriy Panchenko
Oracle Database Engineer
Evgeny Mohnachev
Scrum Master
Andrey Melnichenko

BACKSTAGE

Our experts reliably produce quick and high-quality results due to a well-established internal communication and development flow. Face-to-face meetings, video, and audio-conferences establish efficient workflow between the team members that are spread around the globe.

Feedback Session
Discussions and feedback sessions finalize every sprint. The exchange of opinions and ideas enables our software engineers to develop innovative solutions and increases overall efficiency.
Brainstorming
To choose the most cost-effective and high-performance approach, our software engineers put their minds together in a brainstorming session. At this stage all ideas are welcome without criticism to promote innovative thinking.
Dev Meeting
Digital collaborative tools ensure our software engineers work in perfect sync with their in-house counterparts. Well coordinated collaboration at all stages of the coding and testing process increases the pace of the development.

Internal Communication Flow

Our engineers worked as a part of an international outstaffing team to ensure the timely launch of Epson ReadyInk software. Email, Skype, Git, and Slack communication channels secured efficient daily communication between the members of the team. Besides instant messaging platforms, audio and video conferences provided seamless communication and promoted mutual understanding among the team members.

Monthly feedback sessions were organized to exchange new ideas and ensure long-term improvements in communication among the international members of the team. Based on stakeholder analysis, we established the communication management plan in under a week and documented the process.

Project Management Methodology

To adequately address the project challenges and added complexity of working in a globally distributed, international team, our Scrum Master introduced Jira and Redmine platforms to manage resources, distribute roles among the team, and follow the tasks’ progress. At the onset of the project, our team outlined the preferred communication channels, adopted project management, and reporting systems.

The sprint-based project management methodology with daily Scrum meetings allowed us to follow the development plan keeping to the client’s requirements while staying flexible to overcome emerging challenges.

PROJECT TIMELINE

1 week
2 weeks
8 months
1
Background
First Sight
  • Client's business processes analysis
  • Identifying strengths & weaknesses
  • Setting goals with the client
  • Deriving Specification, Tasks & Deadlines
2
Strategy
Planning
  • Business process modelling
  • Technology selection
Project Management Flow
  • Expertise-based talent evaluation and 1 week team forming
  • Internal Communication Flow establishment
  • Project Management Methodology
Development Flow
  • Development Methodology
3
Implementation
System Implementation
  • System requirements’ analysis
  • Role Assignment Tasks Assignment
Software Development
  • Code Creating & Refactoring
  • Testing & Fixing
Launch
  • Verification of safety requirements
  • Item integration and Unit testing
  • System Launch
  • Deploy & Support

Design Development

To complement the work of the Back-end Software Engineers, Computools User Experience Designer suggested an enhanced user flow. Our outstaffing efforts resulted in a streamlined user experience design complementing the user interface design developed by the client’s in-house IT department.

Computools
Scrum Master
Team Lead
UX Designer
CLIENT
Team Lead
UI Designer
Communication

CODE DEVELOPMENT

To ensure continuous delivery, we assigned team tasks in the course of sprint-planning sessions. We created separate feature branches that were merged into Dev after successfully passing the code review. Jenkins continuous integration tool helped complete the build process, while QA engineers performed testing by deploying feature branches on test rigs. SonarQube was used as a linter. This approach ensured on time and on spec delivery of the stable and error-free product to the client.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/custom-enterprise-crm-sample

CONTACT US

Let's talk about your project.
Use the form to drop us an e-mail.

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.