"Hierarchy works well in a stable environment", famous British anthropologist Mary Douglas once remarked.
In any transaction, if the seller understands the customer’s needs, the latter is happy, thus the transaction is successful. This is also valid if the seller is formed of a team of people. The only difference is that the relationship between teammates has to always result in “successful transactions” in order to thrive. Stability is hard to maintain when there is a well-established hierarchy, but not impossible.
App development agencies are hierarchical mechanisms. They need to be well-oiled in order to deliver the best results to their clientele and not only maintain, but also increase their rolodex. Without strong communication within a team, none of this can be achieved - at least not without extra struggle. Who has time for something extra, especially if it’s negative?
In order to understand how developers lead a happy life within agencies, we first have to take a look at the way each party works. What needs do agencies have? What needs do programmers have within an agency? How can the two maintain a fruitful relationship before the final product reaches the client? Let’s dig in deeper.
How Successful Agencies Work
This section comes especially in the attention of programmers and web developers.
While it is the role of agency CEOs and team managers to ensure a good workflow and dev happiness, programmers should also be aware of how an agency works in order to reap profits.
Agencies Creating a Platform from the Ground Up
A full-service web development company is usually comprised of:
- Marketing professionals
- Software engineers
- Web designers
In order to create a strong web platform for their customers, an agency takes a list of factors into consideration. Here are the main ones:
- Type of business (B2C / B2B)
- Industry or domain that the customer operates in
- Goals and objectives (short / long term)
- Budget (for creation and maintenance)
- Targeted geographics and audience demographics
Once this set of criteria has been established and agreed upon with the customer, it is time to roll out the working plan. The main activities of developing the desired web platform are:
- Framework, architecture, and navigation ideating and freezing
- Programming and coding the backend
- Integration of media files (videos, images, audio)
- Designing User Interface and User Experience at the frontend
- Beta testing the website or app before going live
- Identifying and fixing problems / bugs
- Performance testing and speed conducting
- Code implementation
- Going live
- Maintenance for as long as the platform is active
Most agencies' work is project-based. They take on as many projects as possible…sometimes biting more than they can chew. This work volume, however, also ensures a steady cash flow, resulting in satisfied employees and expanding the team if necessary, in order to take on even more projects.
In order to take on more projects, they need to finish the ones in motion, like, yesterday. Time is money, but the ratio is negative: the more money is at stake, the less time is available.
In an attempt to save time and also create a sense of unity for their workflow, agencies opt for using an "in-house" infrastructure to be used as the basis for all the apps they put out. Let's briefly analyze the pros and cons of this plan
- You build something you know you will need and use
- You take into consideration all the features you will want to offer
- You will have something that will pass the test of time, regardless of how many personnel changes your developer team goes through
- The in-house app template will require regular maintenance, updates, constant testing, documentation
- The above processes rarely happen
Another common practice for agencies is billing their customers on an hourly basis. Although they are project-based, they prefer to display the results through the hours of effort their entire team put in, as time is the real source of profit.
In the highly soliciting environment that is web development, programming is perhaps the most resource-absorbing of all. Those mental resources should be well-preserved and well-structured.
A real solution for agencies would be an additional layer on top of what the in-house team comes up with. An app that would maintain a unified experience across the board (UI and UX) by ensuring maintenance, update, testing, and documentation being done externally, so your team can cross these tasks off their crowded to-do list.
A framework like Avo.
Avo is an application development framework for Ruby on Rails. It gives its users the tools to enable a developer (or more) to ship a unified UI and UX experience all around.
Ironically, Avo is affordable. Agencies, don’t think you won’t be able to bill your customers as much as you would with your hourly billing approach. Yes, Avo is also very time-effective, but you can create a starter pack that also uses Avo, set the starting price for as high as you see fit, and bill the client with what comes on top afterwards.
The difference will be noticeable in the results your development team will generate. They will be happy the “dirty work” has been securely and efficiently done for them, so they have a clear mind to focus on personalizing the platform, which ultimately grants the agency praise from the clients.
But more about how Avo is also a developer's dream come true, soon.