First of all, let’s clarify the definition “Under one roof”. That’s a term we configured ourselves that best summarizes the complex development approach. So it basically means that all the aspects of the software product development can be done by one development team performing:
What exact benefits will the client get?
There is no need to look for additional skills and involve other development partners. To find reliable partner is a challenge and always takes time to perform the search and as well as decision making process. Also it takes time and effort to set the right working environment and communication process, agree on methods and approaches that should be used. So when all the development stages can be passed with one partner it saves all the time and effort described.
Working with one team on all parts of the product client minimizes multiple risks that causes money loss. Most common and important risk is poor quality, so the client just throws away all the work done and needs to have it done once again in a proper way up to the standards required. So working step by step with a team that is proven and reliable minimizes this risk.
Also software development vendors tend to cut their rate when it comes to long term cooperation and larger number of man hours. So ordering the complex of services client is very likely to get the discounted price. Depending on the scope of work the discount might be very significant.
Easy to communicate and manage
It’s the common practice to have different teams working on one application at the same time. And those teams are usually located in different countries or even continents, speak different languages and apply different approaches to development process. So all that differences are usually causing the communication and management issues for client, that then might harm productivity and performance. When there is one team assigned for a project, being at one office guys can easily gather around one table and negotiate all the ideas and issues, be on the same page about the progress and deliveries, easily managed and lead by Client.
The complex mobile app development usually consists of several parts: mobile part development, web part development and service integration. Integration of the work that has been performed by different developers in different parts of the world, implementing different approaches and practices for development is a challenge. When one team is done e.g. with some iteration of mobile part, then it needs to be integrated with the service part and if it’s not done or is done not properly it causes delays in delivery and blocks the work of the mobile development team. Having one team covering all at once solves this problem.
We’ve been implementing “Under one roof” approach over the years and got multiple Clients feedback on this and what real benefits they are getting. So the points above are summarizing all that experience.