1. Early Project Scoping
At the beginning of any project, business development team members sit down with prospective clients to discuss their goals for their website–changes they may want from their current website, design goals, business goals, system integrations they require, and any other details unique to their situation. Typically a solution architect or lead developer will be brought in to appraise the project, and give them rough time estimates for the work.
2. Detailed Project Scoping
On projects that have complex integration requirements, they will often begin with a scoping phase with client teams. Senior developers, solution architects, TPMs and user experience (UX) specialists are often part of this process to get the details on paper.
3. Development Environments
In some agencies, setting up development environments is done by the lead developer. However, in ours we have a dedicated developer operations (web-ops) manager who will set up development, staging, and production environments. Lead developers can then deploy to those environments via Git. Developers pull from those dev environments to establish local versions of the project in their virtual machines (VMs).
4. The Build: Front-end and Back-end
At this stage we have a good picture of the project, and typically a design handoff as well. The TPM will typically ticket out much of the project in Jira, and setup the initial sprints. There will be a kickoff meeting with the whole development team that establishes a cadence for later stand-up meetings. The team will then start working through the tasks in front of them.
The lead developer drives development, working towards milestones and keeping the full team aware of progress. In our shop, lead developers could be senior front-end developers working on the site build, as well as look and feel, or they could be a senior PHP developer working on an integration or other custom module work. Often they work in concert with each other, but one is typically the primary on the project.
5. Quality Assurance (QA)
Once the project has been completed, there’s a round of QA–including by the client, depending on the nature of the project.
6. Final Round of Security and Launch
Web-ops comes in again, right at the end of the project, to check the integrity of the website’s security before launch.
This isn’t the only approach to web development. Freelance developers and in-house dev teams will handle projects differently, but for a development agency, it’s a common approach. Specifically, however, here’s how working at a development agency is different from freelance work:
The Client Leads the Project
The reason clients choose to work with a development agency, as opposed to a freelance developer, is because we provide a structure for their project, as well as deliverables up front. The client knows exactly what they will receive at the end of the project, because it correlates with what they scoped out with the TPM, web designer, and developer at the beginning of the project. That’s what the client is paying for–structure. This means defined tickets, sprints, and projects. Your work is structured according to the statement of work that is delivered to the client up-front.
The Developer Is In Charge
Our teams are structured with a lead developer, with perhaps 2-3 developers working under them depending on the size of the project. While the TPM will also be a consistent presence on the project–from start to finish–they can be working on a few projects at once.
The developer is given the lead because they know the project better than anyone, simply because they’ve spent the most time working on it. Unlike the TPM, they don’t have any other projects, and their attention is undivided throughout the duration of their work. Instead of receiving mandates from management, or a group of developers all working together, we prefer this approach because it differs to the judgement of someone who knows the project thoroughly.
While the business layout of a development agency is more structured than that of freelance work, this structure provides confidence to both the client, who knows what to expect, and the developer, who knows exactly what to deliver. As a veteran development agency that saw over 330 successful production deploys in 2016 alone, we stand by our approach.