Guest Blog: How to work with developers or an agency
Whenever you work with an agency to help your business in a certain field - be it recruitment, design or, as in this case, web development - it's never a simple transaction.
The process of buying a product has simple actions that achieve the same ends. It either works or it doesn't, you either return it or you don't and there is a straightforward store policy to follow. While emotions can get involved, the physical limitations of the product mean there's only so many arguments you can make about its functionality.
When you buy a service, you're essentially buying the skills and time of people and that isn't so straightforward. Everything relies on co-operation and reciprocity. You need to give in order to receive and you need to be able to work together in order to achieve what you want. Yes, you are paying them, but they are reliant on your instruction to understand what you need. If you can't do this effectively, you can't get much out of even the most talented workers.
Web development agencies have a commonly used system to help encourage co-operation and reciprocity between them and their clients as best as possible. It's called the Agile approach.
What is the agile approach?
The creation of Agile methodology is much like the method itself. It is a form of project management which first originated in the early 2000s as a more gradual approach to developing products for clients.
It stems from the frustrations software developers had in the 90s. These developers were losing commerce, mainly because of the lag between the time needed to complete a project in comparison to the rate that technology and business needs were developing.
Put simply, with an Agile approach developers meet short-term targets before evaluating the next step. This approach forces both the developer and the client to focus on the steps within the project and remain focused on creating the best product possible, instead of focusing solely on achieving the end goal without fully weighing the investments required.
How did it begin?
As software development became more commercial from the 1980s onwards and companies had briefs to meet, they adopted the Waterfall approach. Developers had to complete one task in order to move on to the next to ensure no corner was cut and that all elements of development and design fit together.
Much like the water of a waterfall can’t run backwards, the idea was that if developers invested enough time and effort into one step, they could logically move onto the next one without issue.
This brought much needed structure and control to the booming software industry. However, this pace became a problem in itself, and it didn’t factor in the development rate of modern business or technological advances either.
What a business needed when they commissioned a project compared to what they needed six months later was often drastically different. This either led to increased spend and increased time periods, resulting in never-ending production time, or the lag between the developer’s work and the business’s needs became so large that projects would be abandoned altogether – a major financial loss for software developers.
Software developers had to put in time and cost estimates for each project, without really knowing when the end product would be finished. This was a massive risk for developers, and many folded before a viable solution was discovered: the Agile approach.
How does it work?
Instead of setting one overarching goal, the client and developer set a number of features, called a backlog, which the site must have by the end of the project. These can be technical or user-centric, but are not overly detailed to allow for flexibility in how they are achieved.
The developer and client then agree to the time allocated for each sprint. A sprint is a unit of time measurement for every development period (a week, a month, etc.). The client will agree to the development goals for each sprint, and the developers will work on these goals in set iterations to make sure they meet the requirements of the features in the backlog.
The client and developers then meet to discuss each sprint, reviewing the backlog of items and how the development work in the sprint has helped to achieve them.
Not only does this help to create more bespoke and better developed products for clients, but also best counteracts the unpredictability of development.
Why does it work?
The key reasons why the Agile approach works are:
1) It alleviates financial risks for both the developer and client. Instead of investing the entirety
of a budgeted amount in one overarching concept, the client only invests in the starting
elements for creating what will be the end product. This means if they don’t like what they
see they can take it somewhere else that will cater better to their vision. But it also means
developers will be compensated for the work that they did do.
2) The backlog is a middle-ground that both the developer and client can understand and
cooperate with. Without a backlog, projects are beset by either one of two extremes: a too-
detailed brief from the client, without full understanding of what is needed to fulfil it; or a
brief that is so vague it is up to developers to interpret it, meaning they will deliver a product
they cannot be sure is what the client wants.
3) The gradual build allows more time for testing elements and taking on feedback. Instead of
testing only after a website is built and finding multiple errors, the developers can test each
element as they develop it to make sure it works and fits. If necessary, they can then adjust
it and in line with other elements during each sprint. This increases customer satisfaction
and ensures they are involved in the project.
4) Development is consistent. Web design trends and web development capabilities continue
to change and improve. By using the Agile approach, you can incorporate new elements and
make changes to ideas with minimal impact on the work done previously. That means the
product can be at its most up to date by the time of completion.
How do I know an agency is correctly using an Agile approach?
There are three main qualities that an agency and a client should possess to make the Agile
The first quality your agency should have is a focus on your needs. They should never assume what you want. Instead, they need to be clear about what you want to achieve and work to deliver that in the best possible way. This means they should regularly explain to you what your capabilities are in terms of development and ensure you understand limitations to what you would like.
The second quality a good agency will have is an understanding of your industry. They will do their research into competitors and consumer behaviour. They will also listen to your concerns about your customers and work your customer’s journey into their design and development ideas to make it as user-focused as possible. This is not their opportunity to show off, but to deliver the best option for a specific sector and its market.
Finally, an agency won’t throw you into the deep end if they are practising Agile methodology
properly. They will have a view of the whole lifecycle of a project, which includes after-launch
support once your website is live. They’ll have strong and organised account management, so you can always get in touch with them. Likewise, they will have all information to hand, including all sprint requests and backlog reviews.
How can I make the most of the Agile approach?
Agile methods are only as effective as the client’s willingness to participate in it. After all, equal
commitment from the agency and client is required for success.
To make sure you’re getting the most out of the Agile approach, always have the same
representative from your company in attendance at the sprint meetings. There needs to be a regular contact with the agency who has the full view of the project lifecycle and who is giving as much information to the agency as they need to make sure they do the best job.
On the other hand, while you need to be involved in the project to get the best possible website, you also need to be open-minded to the agency’s feedback. They are using their expertise to deliver what you need, which means they also know your limitations and what processes are involved to deliver each sprint goal. This means you can’t micromanage their project for them.
You need to trust that they know what they are doing and only give your input on what you are qualified to, such as branding, user journey or content.
This is just a brief introduction to Agile methodology, but it is fundamental in the world of digital design industry. It is how web developers build the great products they do. If you are looking for the services of a web developer, this introduction should help you know what to look for to ensure you get the smoothest experience and the best product possible.
Gareth is Technical Director at Cyber-Duck. He defines and oversees all development activities in the full service digital agency, delivering high-quality solutions for clients. Cyber-Duck has enjoyed working with exciting startups, SMEs and global brands, including the Bank of England, Mitsubishi Electric and Arsenal FC. Feel free to contact Cyber-Duck if you have a branding, marketing or website development project on the horizon.