Rapid MVP Development for Startup with Implementation of Scrum and QA Processes

checklist
  • Duration: 6 years
  • Industries: Telecom Industry; IT Industry; IoT & Geofencing
  • Services: Backend Development; Custom Software Development; Test Automation Services; Early-Stage Innovation, R&D Services; Software Reengineering, Refactoring and Modernization. Cloud Migration; Software Integration Services
  • Software Categories and Types: Integration Solutions
  • IT Architecture Paradigms and Approaches: Data Driven Testing (DDT); Enterprise Integration Patterns; Object-Oriented Programming (OOP); Architectural Patterns; Reactive Programming; Event Driven Architecture
  • Technical Expertise: Java Server Side Development; Research and Development (R&D); Databases; Internet of Things (IoT), Geofencing, Smart City; Cloud Enablement, Migration, Implementation
  • DevOps Expertise: Linux Advanced; Advanced build organization; CI/CD Basics; Virtual Machines; Docker; Monitoring Systems
  • Technologies: Project Management, Collaboration and Bug Tracking; IntelliJ IDEA; Jira; Hibernate Validator; CI/CD Automation Servers; Git; Apache Maven; Akka; Docker; Hibernate; JUnit / TestNG; pgAdmin; Data Bases; Redis; Kotlin; Swagger; СПОДЭС; TeamCity; Various Utility Languages; Kubernetes (K8s); Java; Fabric8; gRPC; Frontend; IDE; JVM Languages; Build and Dependency Platforms and Tools; Backend; NetCat; JavaScript; Spring; Containers and DevOps Tools; Mockito; PostgreSQL; Kaitai Struct; Apache Kafka; Development Infrastructure and Tools; Source Code Management (SCM); Standards and Protocols; Test Automation; CI/CD and DevOps; Putty; Message Queues and Service Buses; Languages, Protocols, APIs, Network Tools; Network Tools; TimescaleDB; General Frameworks; Software Engineering and Management Tools; ORM & Persistence; Java Libraries; HttpWatch; Lombok; DLMS (Device Language Message Specification); IEC-104
project-team
  • Team size (5):
  • 1 Project Manager
  • 1 QA Manual
  • 1 QA Automation
  • 2 Backend

Provided services

Backend Development, Custom Software Development, Test Automation Services, Early-Stage Innovation, R&D Services, Software Reengineering, Refactoring and Modernization. Cloud Migration, Software Integration Services

Client

IoT data service provider, which has its own network of base stations.

Product

A seamless service designed for interaction with different metering platforms. Our service effortlessly processes readings from metering devices and grants remote access, empowering users like power supply service operators. Data flows seamlessly, allowing effortlessly to retrieve information on services consumption, monitor cost dynamics, remotely manage equipment, and customize metering device settings.

Metering devices can be used in various locations and conditions. It happens that for some reason a metering device may be unavailable (for example, the metering device is not connected to the network server at the time of the request) and data from this metering device is not transmitted to the system. A component that provides additional data collection was developed for such cases. The system records cases of missing data and from time to time sends requests to the metering device. At the moment when the communication is restored, the metering device receives the request from the system and gives it the data.

MVP Development

Challenge

Our client was initiating a fundamental change in the industry through the development and implementation of an innovative product. The developed platform aimed to standardize the management of utility metering devices. Complex business scenarios were implemented to ensure that the end customer could receive complete and, most importantly, accurate information regularly, without omissions or gaps.

The client wanted to invest immediately in the stability of the production processes and was looking for a partner who would fulfill the MVP development tasks and be able to bring the culture and best practices of software development to the project.

Our team had to help the client create and implement transparent and clear processes and apply best practices of agile methodologies.

The goal was to immediately start selling the MVP, develop its functionality, scale it and at the same time maintain the stability and high quality of the product.

Project Context

  • Active participation of the team in experimental infrastructure technical support at any time of the day.
  • Active involvement of the product owners in the work of the team, which significantly increased the development speed.
  • Data processing and control of different types of metering devices with different software versions, which affected the architecture and complexity of the code.
  • The development was carried out by a geographically distributed team.

JazzTeam Challenge

JazzTeam specialists mastered new field-specific technologies.

Need help

Solution

Our team spearheaded transformative enhancements throughout the project, addressing key challenges and fortifying system stability under high loads. Our focus on optimizing data storage processes for handling substantial incoming information was a pivotal improvement, coupled with the strategic application of data caching techniques to alleviate service burdens.

Collaborating closely with our manager, we introduced and streamlined the use of Jira, fostering a comprehensive Scrum methodology across all project participants, including product owners. This encompassed task evaluation, sprint planning, daily scrum, regular demonstrations of implemented functionality, and retrospectives. Manual regression, integration, and smoke testing processes were seamlessly integrated to ensure system integrity.

Our contributions extended to the development of a UI subsystem, an additional data collection module, and services facilitating interaction with metering devices via DLMS and IEC-104 protocols. The meticulous preparation and delivery of releases, encompassing release management, underscored our commitment to project success.

To enhance operational efficiency, we implemented service state monitoring through the incorporation of Health Checks, significantly minimizing downtime. A key aspect of our commitment to quality assurance involved the establishment of an automatic project build after each commit, accompanied by comprehensive unit tests. Thanks to the introduction of the practice of covering code with unit tests we have achieved significant product stability in a production environment. Coverage of the developed code base by unit tests at the level of more than 90%. This meticulous approach ensures the sustained high-level quality of the codebase.

Development Approaches

Also, for the convenience of development, when functionality is not yet available in the UI component, Swagger framework is used on the project. It allows using the functionality of the service without reference to the UI and helps speed up the development of the client application. Thanks to Swagger, developers, test engineers and technical support can see all API services, available methods, as well as additional useful data (for example, the response status, content type, list of parameters).

Technological Overview

The service is a RESTful system consisting of a set of microservices. Microservices are a layer between end users and metering devices. They allow receiving data, as well as controlling metering devices via HTTPS, DLMS and IEC-104 protocols.
All the data received from metering devices is stored in PostgreSQL and TimescaleDB databases. Redis is also used to temporarily store certain types of data.
A UI component was developed in parallel with the RESTful system. It allows users to interact with metering devices. It is worthwhile noting that not all users work with the UI component. Some of them use their own software, which directly interacts with the REST API.

Testimonial

Viacheslav Shirikov
Viacheslav Shirikov
Chief Technology Officer & Co-Founder at Lartech telecom

"Lartech Telecom expresses its gratitude to JazzTeam for the cooperation and recommends JazzTeam's engineers as highly qualified.

We would like to note that the team took a proactive approach and was results-oriented from the very first days of the project. The team's immersion in a new subject area did not cause any difficulties and was promptly done.

Agile methodologies practices, such as daily Scrum meetings, weekly sprints and the results presentation, were implemented in the project from the very beginning. This allowed us to keep all communications at a high level, to focus on the outcome, to respond timely to challenges and changes in external circumstances, to get over pitfalls and to adjust plans and processes.

All the works were completed in full compliance with the requirements and within the specified timeframe.

We wish JazzTeam success in its professional activities."

Result

  • The MVP (Minimum Viable Product, a product with basic functionality) was put into trial operation within a short time and now is a client’s on of the top products. This was achieved through close coordination with client’s representatives and a focus on high-priority tasks.
  • The client has a robust, scalable, and flexible system that can effectively interact with a variety of utility metering devices, handle different protocols, and ensure data availability and reliability, all while maintaining high security standards and code quality.
  • On the project we’ve implemented cutting-edge management and QA methods, taking pivotal steps to enhance efficiency and transparency. We successfully integrated Jira to streamline processes and established a transparent interaction system, allowing the client to observe every stage of development. Our team strictly adheres to the best practices of ongoing quality checks, ensuring reliability in every aspect of the product. These enhancements not only elevated the project’s efficiency but also lay the groundwork for the long-term success of the product in the market.
  • At the same time with pilot operation, JazzTeam significantly expanded the functionality of the product in accordance with the requirements of the client, as well as the needs of end users.
Jazzteam specialists

Screenshots

Technologies

Programming languages: Java 11, JS, Kaitai, Kotlin.

Infrastructure: Maven, Docker, Fabric8, TeamCity, Git, IntelliJ idea, Jira, Swagger, Grafana.

Test libraries: Junit 4, Mockito.

Other libraries: Spring, Hibernate, Kafka, Akka, Lombok.

DB: PostgreSQL, TimescaleDB, Redis.

Protocols: HTTPS, DLMS, IEC-104.

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.