Effective project management and streamlined development processes are crucial for companies experiencing growth, especially when it comes to expanding technical teams. As organizations scale and the demand for innovative solutions intensifies, it is essential to ensure clear priorities and refined requirements to keep teams happy and productive and clients satisfied. This is where agile methodology steps in as a guiding force.
WebRTC.ventures is a subsidiary of AgilityFeat, experts in staffing nearshore teams of highly specialized software developers to US companies since 2010. AgilityFeat was originally founded by agile coaches Arin Sime and David Alfaro as an agile consultancy firm, helping software development teams to either transition to an agile model or optimize their team’s existing agile workflow.
Agile is still a part of our DNA. We are adept followers of the process in all of our WebRTC development work. We have agile coaches that work in conjunction with both our clients and our development teams. And while we don’t make our living as agile consultants these days, we do provide these services when needs and workloads align.
An Agile Consultancy Success Story
In this blog post, we will explore how we helped a recent client. As agile consultants, we empowered them to efficiently organize their team, refine their requirements, and start their journey to unlock the full potential of their growing development team.
By leveraging the principles of agility, companies can optimize their development efforts, foster collaboration, and adapt to changing business needs seamlessly.
The challenges
The challenges our client was facing are surely familiar to any fast-growing company.
- Complex and large volume business
- One large team and all-hands team meetings that only tackled top priorities
- An infinite and eternal list of issues, most not clearly defined, prioritized, or scoped
- Lack of visibility on workloads, deadlines, and project status
- Lack of clear expectations for each role, making onboarding new team members difficult
- Technical and business bottlenecks created by too few team members holding the institutional knowledge
- Legacy code that few team members knew how to maintain, and not enough time to upgrade
- Lack of events for internal feedback (only 1 retrospective with the large group every other week) and lack of requirements refinement (too little time spent analyzing and understanding business requirements), leading to subpar estimates and no proper planification for sprints
- Lack of Definition of Done (DoD), preventing the team from understanding and owning feature completion, impacted the company’s sense of progress
- Lack of documented standards for unit tests or code review
Getting started with agile
We started with a series of training sessions on how agile processes work. Then, we opened discussions on how to best tailor these principles and processes to this specific company. One of the first action items was to split the group into smaller teams. This allowed for separate backlogs and ceremonies and the ability to focus on how each separate team could constantly deliver value.
Recommended tools for agile teams
We suggested implementing Jira Issue and Project Tracking Software to manage the backlog and address the lack of workload visibility. With this tool, knowing the sprint status and understanding the top priorities is as simple as looking at the Jira sprint board. You can display the backlog of each team member at the standups, so you can easily see how each team member is doing with their requirements, their progress, and identify any blockers.
After Jira was implemented, it was a fresh and organized start! There were a few hard weeks for the product owner and scrum masters as they had to migrate, review, and prioritize the old and new requirements. If you are in a similar position, you should account for a transition period.
Formalizing expectations
“It’s ok to make mistakes.” “It’s ok to provide inaccurate estimates in this phase of adjustments.” I kept repeating this to the team and assured them that they would get better and better over time. It is a constant work-in-progress process in which we are changing the structure, estimates, and scope. It is normal to make a lot of mistakes and the team should not feel bad or guilty about it.
We also formalized and provided expectations for the engineering manager, product owner, tech leads and scrum masters. These are the closest leaders to the team members and have the highest impact on them. Through these leading roles the “constant improvement review and implementation” had an accountable team. Developers could provide feedback in a safe environment.
Open to change
After a couple of months of constantly improving the process through agile best practices, the team was able to feel and work at a better pace, with clear and organized requirements.
- They had clear goals on what to deliver for each sprint
- Upper management had visibility on project status
- Scrum masters were able to easily track the velocity of each team and use metrics to help the team reach the sprint goals
These optimizations were possible because the engineering leader was open to change. He was open to hearing and implementing new ideas and had a huge appreciation for each team member.
What I really appreciated and loved was that after the first phase of improvements was in place, the team was empowered to create an even bigger impact on their work environment. They organized constant technical trainings and motivation workshops, and continued to write documentation for current and new team members. They kept helping each other even if they were now on different teams.
It was amazing to spend time with such a hard working and inspiring team. Thank you for what you taught me. Keep the amazing work going!
If you’re interested in building an agile development team in Latin America or exploring agile coaching from our team, contact us at AgilityFeat.com!
If you’re interested in building live video or communications applications with a team that follows agile principles, contact our team at WebRTC.ventures!