In this post I want to talk about internal quality of software for non-developers, especially the major benefits of hiring an agile quality offshore for the business.
In Apiumtech, we are committed to the quality of our code. We are not satisfied by just giving to the customers the features they want. For our teams in Barcelona and Vietnam it’s crystal clear: a good architecture and “good code” matters a lot.
We were having beers a few days ago with some Barcelona fellows and we noticed that this is something that is not always understood out of the development team. The pressures to deliver in the shortest time possible and a with minimal budget can make us doubt of the importance of “details”, like having an application composed by high quality code.
If you’re not a programmer, terms like agile outsourcing, TDD, test coverage, continuous integration, design patterns, emerging architecture and refactoring can be confusing and their benefits can get mysterious. In order to shed some light regarding this subject for non-developers, I’ll explain here the main benefits of hiring an agile quality offshore for the business.
Agile quality offshore benefits
“In computing, 80% of what we do is called curiously ‘maintenance’: the act of repair.” (“Clean Code”, 2008 Robert C. Martin)
Most likely, sooner or later, someone will have to come back to the code. A direct consequence of bad practices applied in software development is a drastic increase in time/ resources/ cost required to upgrade or maintain the application. It is often necessary to even redesign the entire application.
Working with proven design patterns and scalable architecture allows us, for example, to add new features, increase the maximum number of users or reduce the loading time of an application much more quickly and effectively.
RESPOND TO CHANGES QUICKLY
The early bird catches the worm. In a world where technology changes and evolves at breakneck speed, this can make the difference between viability of the project and premature death of the project.
“An agile team is focused on business priorities and adapts quickly to emerging customer needs.” (“Agile Estimating and Planning”, 2005 Mike Cohn)
Thanks to continuous integration, customers can follow the project day by day as someone else inside the development team and through agile planning, change or add requirements throughout the project life.
HAVE FEWER BUGS
With good programming practices arises less bugs and they get fixed faster.
A 2008 research compared the evolution of four projects of IBM and Microsoft where TDD was applied with four other similar projects where TDD was not applied. The result was conclusive. In projects where it was applied, TDD increased the quality and number of bugs decreased.
Moreover, as Martin Fowler tells us in his blog, continuous integration helps us find and fix bugs more quickly.
TALENTS WITH HIGH SKILLS
The most valuable asset of a company is its team and for a developer with thirst for knowledge, code quality matters.
We live in exciting times in the world of software development. Time for change. New programing languages, new technologies, new devices, new ways of working are out there.
In an agile company, the programmer is no longer an operator at the end of the assembly line. The developer gets prominence by getting involved in the planning process. The quality code dignifies and rises the profession to the level of other great engineerings. Practices such as the automation of the build or deploy, release the programmer from tedious repetitive tasks to focus on more creative and exciting work tasks.