With the view of increasing efficiency, accessing a large pool of IT talents, relieving employees from high workload, and reducing costs, businesses are increasingly delegating software tasks. As an Agile software development process presents various advantages such as ease of product changes, close team collaboration, communication transparency, and frequent functionality delivery, many firms want to apply it to their IT outsourcing model.
Here at Arateg, Agile helps us be on the same wave with the customer, comply with the project deadlines, and create digital solutions of the best quality. However, what is the Agile approach and how does it work?
Agile comprises a number of iterative, lightweight, and adaptive methods of building software. The Agile approach is based on the following pillars: teamwork, fast changes, continuous functionality delivery, and close collaboration between the customer and an IT service provider.
Agile means that the team has the required skill set to create a digital product. Managers are responsible for assigning tasks and providing an environment that enables specialists to successfully organize the development process.
The development process is divided into short stages—sprints (also called iterations)—that take 2-4 weeks. At the end of each sprint, engineers demonstrate its results to the company.
Here at Arateg, we make a demo—a smartphone app that can be installed on mobile devices or a web application on the staging server—which lets the customer try the new functionality in action. On top of that, we share the product screens with the client showing what is ready.
Our team also holds everyday 15-minute meetings to plan the spread of activities and inform managers about the completed tasks.
Sergey Glebko, Co-founder and CTO at Arateg, about being Agile:
Being Agile is not just words for us. Today many IT outsourcing agencies claim they follow Agile but their employees don't have a clear understanding of what it is. In our company, we’ve established a strong Agile culture.
First, most of our experts are certified Scrum masters. Second, we deliver new functionality every 2-4 weeks and collect the customer’s feedback to make changes on the fly. Third, we hold everyday meetings, so that each team member knows how the project is going.
Finally, using a range of communication tools and our own internal information system AraIS, we provide full workflow transparency.
In traditional methodologies (e.g., Waterfall that focuses on the fixed amount of work) the customer is not engaged in the development process. After providing detailed requirements, the company waits until the product is 100% ready.
Agile, on the contrary, focuses on continuous value delivery. Before the work begins, our team estimates the work scope, divides it into 2-4 iterations, defines what has to be done at each stage, and sets up deadlines.
This approach allows us to understand when the desired functionality will be created. As new features are frequently built, our client can “touch” the product long before it is fully ready.
2. There are no detailed requirements: the client has an idea but there is no a clear understanding of how to implement it
In traditional software development outsourcing, the client assigns tech activities to an IT service vendor and then verifies the compliance of the end solution with the specification. This approach is about following instructions while Agile is based on close collaboration between the client and the vendor during the development process.
Providing high flexibility and effective cooperation through Agile, we build truly quality products even if there is no clear technical specification. The customer is able to check new functionality once it is delivered—every 2-4 weeks—test concepts, and give feedback. This way, strict and detailed requirements are not so necessary and can be supplemented during the project.