At Globant, we place special attention on the use of proven methodologies and processes, in order to create solutions for our clients that meet their business needs.
As part of our experience in software development and the use of different methodologies, we have developed our own AGILE Globant Process Framework, which covers all the aspects in the development of a successful solution. Our methodology provides an agile framework which allows the most efficient delivery of a product to a client. The key characteristics and benefits are:
- To satisfy the customer through early and continuous delivery of valuable software, from a couple of weeks to a couple of months, with a preference
to the shorter timescale.
- Welcoming changing requirements even late in development. The processes harness change for the customer’s competitive advantage.
Within the bounds of the framework, there are no hard and fast rules.
- The process is tailored for each project to satisfy the specific needs of the client.
The key to the AGILE process is its flexibility. At Globant, we recognize that a solution may only be a vision in the customers mind and that all requirements can not always be thought out and planned at the outset.
The process therefore requires constant interaction between Globant and the customer, to provide feedback from both sides about how the project is going.
For this purpose, the role of the Product Owner is very important. The Product Owner is the person that provides requirements to the team and finally accepts the product delivered.
The Product Owner is required to be available for the team to enable fluid communication.
The Process
The main phases of a project are Planning, Project Incremental Development, Incremental Deployment and Project Closing. The Incremental Development stage is organized into consecutive Sprints or iterations where different tasks are carried out to implement a set of requirements.
Project Planning
As the project starts, the team is formed and planning activities take place to organize the work, this is called Iteration Zero. The Release planning includes the requirement gathering and fully understanding of the expectation of the customer.
A product backlog is created, with the list of product requirements. The technical vision is documented and a high level system architecture and design are established.
The following project criteria are established in this stage:
- Done Criteria: agreement within the team and with the customer, as to what needs to be completed for a product to be finished.
- List of user stories: discussions between the project team and the client to define what users actually want out of the product and the priorities.
- Testing plan: the types of testing that will be used for each product.
- Release schedule: Estimation of timing to release a product
Project Incremental Development
At Globant our development teams work according to a well-defined methodology which manage and control software and product development using iterative, incremental practices. This process significantly increases productivity and reduces time to benefits while facilitating adaptive, empirical systems development.
The Globant development methodology is designed to be flexible throughout the project. It provides a control mechanism for planning a product release and then managing variables as the project progresses.
Development is planned and executed in short cycles called Sprints or iterations.
Creation of a task backlog
The work is organized into a living backlog: the list of requirements or user stories.
The backlog is prioritized by the Product Owner according to business needs. The goal is to deliver first what it is the most valuable to the Client, to get the best ROI.
Sprints
The product progresses in a series of short cycles. The length of the sprint is set based on many factors to be assessed by the team, but typically goes from 2 to 4 weeks.
At the beginning of each Sprint, a brief planning session will take place in which the backlog items for the sprint are selected an estimated.
Each day, there will be a brief meeting or scrum, at which progress is explained, upcoming work is described and obstacles are raised and managed.
The daily scrum is facilitated by a Scrum Master, whose primary job is to remove obstacles which impede the progress of the team in delivering the sprint goal. The scrum master is not necessarily the leader of the team, as they are self-organizing, but acts as a productivity buffer between the team and any destabilizing influences.
The timing of the project is closely monitored to ensure that the team is on track. Daily, a burndown chart is updated to communicate how much work is remaining to complete the sprint backlog.
Review
By the end of a sprint, the team demonstrates the increment to the Product Owner and Stakeholders. Feedback is gathered as to make the necessary improvements to the product and the process.
Retrospective
A brief lessons learned meeting takes place, at which all team members review the sprint and plan short term actions to perform better.
Release Iteration
A release cycle includes many iterations (typically 4 to 6). For every release to a production environment one more iteration is planned to do thorough testing, bug fixing and final tuning. During the release iteration, no new features are developed.
Distributed Agile
We use collaboration tools to make offshore and onsite teams work together in an efficient way.
Agile teams are typically of 5 to 10 members. Projects that require larger teams are organized using many small teams, probably at different locations.
In such scenario, scrum masters meet together in a “scrum of scrums” meeting to coordinate teams.
Some of the tools used to make this integration possible are:
- Information sharing: Wiki
- Version Control: SVN, CVS.
- Continuous Integration: Maven
- Project Management: xplanner, MS Project
- Issue Tracking: TrackStudio
- Communication: Voip, VNC, Video Conferences, GoToMeeting and others
Support Processes
During the execution of the project, different support activities are carried out:
- Project Management: monitor project status, hold status meetings, gather and analyze metrics. Perform daily scrum meetings with all the team members as described in the scrum process. Manage scope changes. Perform risk management.
- Configuration Management: create and maintain code repositories and configuration environments, generate and control the releases through continuous integration systems.
- Quality Assurance: plan and execute product reviews to assure desired quality, perform process & product audits to verify adherence to processes. Report and complete a follow-up of non conformities. Globant performs Process and Product Quality Assurance during the whole project, to ensure that the best practices are used and to guarantee a high-quality delivery at every stage.
- Organizational Training:Coordinate coaching and training activities with team members to ensure that every team member has the necessary skills to perform the tasks assigned to them.
We create innovative software products that appeal to global audiences.