Software developers constantly face the challenge of combining regulated, planned, and managed processes with dynamic methods that allow for rapid development. Fortunately for developers, Agile methodology exactly addresses these issues. But mastering the methodology is not easy.
“Agile fosters collaboration between stakeholders and the development team,” says Juan Carlos Rodriguez, manager of Client Services at Simpat Tech, a custom software consulting company headquartered in Austin, Texas. “This helps them get involved in prioritization and iteration planning from very early stages. It also translates into transparency, better budget and timeline management and overall end-user satisfaction with the delivered product.”
Though Agile has been around for two decades, and many custom developer companies claim to embrace the methodology, not all organizations have mastered it. This is in part because, in order to maximize Agile’s advantages, it is important not to fall victim to one’s own success. Often, as developer organizations grow to handle larger jobs, they become bloated and overly bureaucratic.
“We are unique in that we are agile and lean,” says Rodriguez of the company that has a development center in Monterrey, Mexico. “Our bilingual teams are small and dynamic, and we believe in delivering value from day one. When we engage in a project, our main focus is how we can maximize our client’s ROI in the least amount of time.”
When Agile is properly utilized, its iterative nature results in much less resistance to changing conditions. Modifications or new features can be added to the next iteration, with little to no disruption to the overall goal of the project. But to get it right requires a workforce that is independent and committed to customer success.
“Our teams are self-managed with low to zero administrative overhead for our clients,” says Rodriguez. “We share cultural and value affinities with the US due to our proximity. Their main focus is on users. We commonly utilize user stories, with business-focused conditions of satisfaction to define product requirements.”
Given that one of the main goals of Agile is to deliver value for users, Simpat Tech focuses on features that are based on the users’ real needs, not just new IT assets. This makes sense, given that Agile works best when it fits into a company’s customer-centric culture. One example of this is DevOps, which combines the words “development” and “operations” to bring together people, processes, and technology, and which can include practices and tools that coordinate roles to respond better to customer needs.
“We see DevOps as a pillar for Agile delivery,” says Rodriguez. “DevOps fully supports Agile’s intense release cycles. There are mutual benefits, and our delivery model relies on both for the great majority of our projects.”
A Multidisciplinary Approach
In order for Agile to deliver the best results for the user it is critical to properly coordinate communication with the client. For its part, Simpat Tech has a multidisciplinary Client Success team, which is in charge of managing all of the company’s client interactions.
“The members of the Client Success team are certified in Agile methodologies, project management, business analysis, QA testing, UX/UI design, and several other disciplines that have a proven positive impact on successful project delivery. Each one of the team members are fully fluent in English and Spanish, and have great verbal and written communication skills.”
“We see DevOps as a pillar for Agile delivery. DevOps fully supports Agile’s intense release cycles. There are mutual benefits, and our delivery model relies on both for the great majority of our projects,” — Juan Carlos Rodriguez.
The workforce should be dedicated and stable, too. In the case of Simpat Tech, 40% of the company’s team has worked together for at least three years, and the other 60% has joined the company during its organic growth over the last two years. Remarkably, the company has had no turnover for the past four years.
“Among the 60 members of our operations team, there are over 125 IT certifications,” says Rodriguez. “We continually motivate our team members to go for more, taking advantage of our ‘Improve Yourself’ program.”
To get the most out of Agile, it helps if every member of an organization – from the most junior member, to the most senior collaborator – is a well-trained, highly-valued technology consultant, as opposed to simply a software developer. A consultant is expected to display creative and innovative approaches to problem solving, critical thinking, an analytical mind, and excellent interpersonal skills.
Embracing the Best of Agile
Agile is noted for having a broad range of software development frameworks, the best-known being Scrum and Kanban. Scrum involves teams of ten or fewer members who work in “sprints” to complete work in fixed times frames, usually about two weeks. Kanban is a lean approach to management that allows work to be deployed and pulled according to capacity.
“We mainly use Scrum, although we have worked under Kanban as well, for particular projects,” says Rodriguez. “We think Scrum provides more flexibility and helps deliver value faster. It also provides increased visibility over the work in progress and for each iteration of the final product.”
Simpat Tech has adopted a lean approach to scrum. This helps to reduce the administrative overhead, especially for developers and other technical team members.
“We achieve this by trying to keep long meetings to a minimum, with our daily standups short and productive. We are always exploring new opportunities to maintain real-time collaboration.”
At the end of the day, in order to master Agile a company has to have the right organizational approach. It should include DevOps, low turnover, a commitment to lean, and a strong emphasis on collaboration and developer autonomy. When these are mastered, the client gets the best possible product – on time, and on budget.