One of the biggest issues when starting or continuing software development in a project that involves a relationship between teams located in different countries — but with similar time zones (onshore-nearshore)- is the proper selection of Agile practices to follow. This research arose from the need that software development teams have to adjust the way they work to achieve greater efficiency and productivity in software development processes.
Why to Study this Topic?
There is currently no specific methodology custom-designed to provide support in the proper selection of agile practices for projects with onshore-nearshore features.
The Issue with Agile Practices in Onshore-Nearshore Projects
The software development process is affected when two teams that are integrating, use the same or different agile / traditional practices and this situation explodes when the project is already in an advanced state.
Unlike traditional development which is sequential, Agile practices are based on iterative and incremental development, where requirements and solutions evolve over time as needed by the project.
1: Change from Scrum to Kanban
The onshore project was already using Scrum since the beginning of the relationship, but as they developed they didn’t have good results. The Nearshore team, based on their needs, suggested a change to Kanban. Months later, a nearshore Scrum Master makes an analysis of the situation and concludes that effectiveness improved with the change.
2: Change from Waterfall to Scrum
The onshore project is very traditional but introduces Agile practices, Scrum. There is no discipline in its adoption, neither an analysis is made to know if this was the adequate practice for them.
There is an increase in the use of agile methodologies due to the favorable results obtained, but despite its effectiveness there are many occasions where these results are not achieved and there is not even an analysis of compliance with the objectives of the practices.
This is very relevant to nearshore companies which are compromised to offer SaaS solutions with great quality and if this service is provided with difficulties, it can cost a client’s contract.
How to Solve It
Establishing an Agile practices selection methodology based on Encora Mexico as case study, aimed at onshore-nearshore teams using different Agile software development practices, that need to integrate for the implementation of a project.
How will this be accomplished? By identifying Agile practices selection patterns for each project depending on their size, type of project, roles and Agile practices implemented, adjusting them to a quadrant in the framework of complexity, Cynefin. And finally, by being able to determine which are the obstacles and positive aspects in the implementation of Agile practices in an onshore-nearshore software project with the previous characteristics well documented.
- Agile practices selection methodology (specifically for onshore-nearshore software projects)
Cynefin Framework of the software projects analysed
Most used Agile practice
Most used Agile practice for each Agile area or tribe
More than 2% of improvement is visualized in deliverables of projects that implemented Agile practices with favorable results, in comparison to their initial status at the beginning of the study; this percentage would increase if the selection methodology is used at the early stages of the onshore-nearshore relation.
In 82.37% of the projects Agile practices were refined. In 64.70% of the projects improvements were obtained in the matter of better defined processes, deliveries are more organized in accordance with team members and there is an increase in such deliveries.
By project size it is recommended the inclusion or reinforcement of the following Agile practices:
Having had the Cynefin model from the beginning, we would have discovered that 3 of the projects would be chaotic to work, almost bordering on disorder.
A clear and concrete strategy on how to approach the development of these projects could have been anticipated: which Agile practices were recommended and an estimation of the required number of roles in the team. Also, deficiency detection in documentation and if training was necessary.
By instance, Project #15 shows that although it seems that implementing an agile practice brings benefits, it may become harmful to make this decision arbitrarily without a thorough analysis of the processes that are being carried out by the team, roles involved, project duration and specific needs of the project.
Obstacles and positive aspects of the implementation of Agile practices in onshore-nearshore projects were determined:
Finally, a new selection model is obtained as a contribution, which provides a profile or characterization of each project; besides serving as a historical record of each client, it provides relevant data to support the development proposal to follow and the implementation of the Agile selection model at the beginning of development of each project.
To gain more insight into the project’s Agile behavior, we need to continue supervising application of the selection methodology for all seventeen projects analyzed in this study and reinforce regular follow up meetings to identify in the early stage when an Agile practice is not throwing expected results.
Also, for new projects obtained by the company, implementation of the selection methodology should be applied from day 1.
For a complex model and with a bigger sample of projects we could build a neural network that could support the prediction of Agile practices based on the project’s characteristics.
Like what you read?
Encora can augment your team with experienced engineers from around the world. Our global capabilities allow us to custom-tailor a software team to your specific needs. Encorians work hard to take ownership of their client’s products and make it a success.