DEV Community

ProgKids
ProgKids

Posted on

Iterative Software Development for the ProgKids Video Conferencing System

The rapid expansion of online education has created a growing demand for more advanced software solutions that can improve the quality of remote lessons and provide deeper insight into learning effectiveness. Recognizing these needs, ProgKids LLC undertook a large-scale initiative to enhance the ProgKidsMeet video conferencing module and prepare the ProgKids educational platform for rollout across the Russian and Asia-Pacific markets.

As part of a grant-funded project, the team upgraded the conferencing module based on clearly defined technical specifications. In addition, a machine learning–based lesson analysis system was created, integrating both audio and video recognition technologies to evaluate student engagement and teacher performance.

AI-Driven Lesson Analysis: Audio and Video Recognition

Audio Recognition

The audio analysis component captures and interprets speech during lessons. It identifies the emotional tone of both the student and the teacher and converts spoken dialogue into text for further evaluation.
This allows the system to:

  • assess the emotional atmosphere of the lesson,
  • understand how students respond to the material,
  • provide teachers with detailed feedback,
  • highlight areas that require pedagogical improvement.

Video Recognition

The video analysis system processes recorded lessons to assess:

  • student participation,
  • attentiveness,
  • engagement levels throughout the session.

By visualizing behavioral patterns, teachers gain a more accurate picture of student involvement and learning progress.

Overall Significance

The system’s value lies in its ability to help educators refine their teaching methods, improve the overall quality of online education, and optimize the learning process based on objective analytics rather than subjective impressions alone.

Development Approach: Agile Methodology

To build this complex solution efficiently, the team adopted the Agile methodology, relying on iterative and incremental development cycles.

Why Agile?

Agile divides the development process into multiple small, manageable iterations. Each cycle includes:

  • planning,
  • development,
  • testing,
  • product refinement.

This approach enables rapid feedback loops, continuous improvement, and better alignment with user needs.

Scrum Framework in Action

Within Agile, the team selected Scrum, one of the most widely-used frameworks for iterative software development.

Sprint Structure

  • The team worked in one-week sprints, shorter than the typical 2–4 week cycle, to increase flexibility and speed.
  • At the beginning of each week, during work calls, the team defined sprint goals, clarified requirements, and prioritized tasks.
  • Tasks were organized in a product backlog, containing descriptions of all functionality needed for successful project completion.

Sprint Execution

During each sprint, the team:

  • developed new features defined in the sprint planning session,
  • conducted continuous testing to ensure all requirements were met,
  • maintained close communication to resolve obstacles quickly.

Review and Retrospective

At the end of every sprint:

  • a Sprint Review was held to showcase newly developed features to all stakeholders,
  • a Retrospective identified strengths, challenges, and improvement opportunities for the next cycle.

This systematic process boosted product quality, accelerated development, and improved team collaboration.

Task Board and Workflow Visualization

A key tool in Scrum is the task board, which provides a visual representation of the current project status. In this project, the board included four columns:

  1. Submitted, Ready for Dev
  2. In Progress
  3. In Testing
  4. Wait for Release

Each task appeared as a card containing:

  • task name,
  • description,
  • current status.

Throughout each sprint, cards moved across the columns according to their progress. This approach improved:

  • transparency,
  • workflow control,
  • team communication,
  • accountability.

Choosing the YouTrack Platform

The team selected YouTrack as the primary project management and task board tool due to several advantages:

1. Extensive Functionality

YouTrack supports a wide variety of project management tasks, including:

  • issue tracking,
  • sprint management,
  • reporting and analytics.

This made it ideal for a Scrum-driven project with a structured backlog and sprint cycles.

2. User-Friendly Interface

The platform offers an intuitive, customizable interface that accelerates onboarding and minimizes user errors.

3. Strong Integration Capabilities

YouTrack integrates seamlessly with:

  • Git and other version control systems,
  • continuous integration platforms such as Jenkins,
  • external automation and project management tools.

This enhanced collaboration and streamlined workflows.

4. Scalability

YouTrack supports both small and large teams and can manage extensive data volumes, making it suitable for scaling the ProgKids platform.

Through a structured Agile and Scrum development approach, ProgKids LLC successfully enhanced its video conferencing module while introducing an intelligent machine learning–based lesson analysis system. These upgrades significantly improve lesson quality, help teachers adapt their methods, and strengthen the overall online learning experience.

The use of advanced audio and video analytics, combined with an efficient development workflow supported by YouTrack, enabled the team to deliver a more robust, scalable, and effective solution. This iterative approach not only accelerated development but also contributed to higher product quality and increased customer satisfaction.

Top comments (0)