Providing services for educational institutions and coaching centers
DIGITAL TRANSFORMATION SERVICES
Diligent and effective work on the project allowed the team to successfully achieve the set goals. The developed multi-user platform for teachers is very popular, it works stably and smoothly, thanks to the applied technologies and solutions. The client is satisfied with the result as his revenue has increased.
Several key options we solved:
Developed and implemented options for placement, sharing and control of learning material for teachers.
Introduced a convenient task check system.
Added a reliable tool for collecting data and statistics on tasks and course execution.
Business Process Automation
The need for simultaneous options' development for all user roles
A preliminary study of the needs of potential customers
A high demand for such an educational solution
Well thought out monetization scheme
The client had the idea of creating a multi-user learning platform that would allow to create and share with other teachers unique learning content, and assign it to students as tests or hometasks. The main objectives of such a platform is to simplify and digitalize the educational process, provide the ability to share one's experience with colleagues and collect statistical data on academic performance, time spent on task completion, etc.
To bring the idea to life, the client turned to Computools as he was looking for a team of professionals with extensive experience in providing web development services and skills in creating such digital education solutions. After discussions and meetings held, agreement and selection from the proposed options, work began on the project. In close cooperation with the client, the engineering team successfully completed the assigned tasks and made changes if required. The result is an educational multi-user platform with all the necessary functionality.
Digital Platform & Technology
The stack of necessary technologies is determined by future application functions, necessary capabilities and tasks. To select the best technologies, programming languages and frameworks, we study ready-made solutions to similar problems and existing technologies.
PHP is a general-purpose, server-side scripting language that was designed to make dynamic pages and applications. PHP as a web development option is secure, fast, and reliable that offers lots more advantages to make it accessible to a lot of people. PHP supports MySQL, Oracle, Sybase etc. It can be embedded in any code or system. It is relative fast since it uses many system resources. Moreover, it has strong community support and powerful library support.
Laravel PHP Framework
Laravel gives the right tools to help build websites and web apps faster, more stable, and very easy to maintain. Laravel makes implementing authentication very simple. Almost everything is configured out-of-the-box. Laravel also provides a simple way to organize authorization logic and control access to resources. Laravel supports popular cache backends like Memcached and Redis out-of-the-box, allowing to create a fast application, which will result in accelerating revenue.
An effective communication ecosystem on the project ensures productive work and interaction between all participants. For this project, Skype was chosen as the main communication tool, since it allows to conduct video and audio conferences, quickly exchange news and questions about the project.
The project specification is created at the very beginning and is gradually supplemented during the development of the platform. This allows to follow a given algorithm and flexibly make changes, if required, supplementing with refinements and more specific data.
is to create a platform for teachers to create, assign tasks for students, check the results and collect statistics.
Creating a task:
- header selection; - adding material; - setting access to materials; - data storage.
Assigning of the task.
Checking the task.
Saving the results.
An experienced team of developers, designers, managers, and analysts is building specifically to work on the project. The coordinated work of engineers and specialists allows to get the highest quality result - a ready-made application. Computools strives to create comfortable working conditions for the team, therefore it carefully approaches the choice of each participant. The skills, experience, level of expertise of the employee, as well as personal qualities are taken into account.
The company pays special attention to the organization of the development process. During the work of the team, the latest technologies are applied in the field of brainstorming and the exchange of ideas and experience. Each participant has the opportunity to propose a solution and discuss it with colleagues.
Brainstorming is recognized as one of the most effective ways to find innovative solutions. At such meetings, developers can offer any idea, even the most incredible. In the discussion of ideas, original solutions are created.
Cooperation with other teams and clients also allows to share experiences and make the necessary changes to ready-made solutions, as a fresh look allows to identify small bugs and errors.
At the end of the project or a large part of it, we conduct feedback sessions. This helps to identify the strengths and weaknesses of the project, its participants. Everyone gets the opportunity to improve their skills for the next project.
Internal Communication Flow
Internal communication of the project allows all team members to be synchronized and stay in touch while working on tasks. Skype was used for meetings and resolving urgent issues, and Jira was used to manage the project. This allowed the Project Manager to monitor the progress of the assigned tasks, respond to delays in a timely manner and maintain the team's efficiency.
Project Management Methodology
Since this project required quick implementation and thorough testing, it was decided to choose Scrum as the project methodology. It allows project participants to adjust their activities in response to situations that arise during the project management process. Scrum consists of three roles: the product owner, the Scrum master and the team. The product owner is the individual who represents the company. The Scrum master is the project manager tasked with controlling and measuring the process. The team is made up of those who will execute the project tasks. Scrum "ceremonies" are the project steps, which are referred to as "sprints," as well as daily Scrum meetings. Scum "artifacts" include a product backlog, which is a prioritized list of customer requirements; a sprint backlog, or a task list for implementing the priority product features; and the burndown chart shows how much work remains as the backlogs "burn down" toward completion.
The sprint process provides development that results in a scalable product even while the project is in full swing. This incremental delivery system shortens the time to market and may result in higher revenue, as each completed backlog represents a new release of the product. In addition, reviewing each sprint before moving to the next means that testing is conducted throughout the process, which allows teams to change the scope or direction of the project at any point.
Identifying high-level project goals
Analysis & Exploration
Researching and analyzing the existing and ready-made solutions
Defining main restrictions and providing solutions for them
Identifying the main risks
Selecting basic architectural patterns and tools
Forming an application stack, work processes with VCS
Forming the main development guidelines
Interactive Prototypes & Specification
Development of a prototype in parallel with specification
Choosing Project Management Methodology
Build Development Process
Calculating the number of project teams
Configuring the technological processes and interactions between roles
Build the Team
Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
Adding executors to the team's core
Conducting an intro meeting
Development of a road map, dividing the development process into parts
Implementation of the first series of solutions for teachers
Implementation of developed functionality for the first user role
Adding options for students; impleneting analytical tools
Testing & Stabilization
Developing a testing plan
UI & Unit testing
Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency