Are you planning to team up with a software development agency to build a web app? Choosing the best provider can be challenging. After all, there are so many options out there: you can hire a local company or outsource the job to an experienced IT service provider. If you pick the latter, you can further choose between options such as nearshoring and offshoring.
It doesn't matter which model you choose - at some point, you'll face the task of assessing your potential partner to tell whether they could help your project succeed.
It’s smart to enter into a technology partnership equipped with knowledge about industry standards and best practices for a web development process. That way, you’ll be able to tell whether your potential partner has the right level of technical skills and experience.
Here’s a detailed guide to the 5 phases of web development life cycle, showing you what a typical web development workflow looks like and what to expect from the development team as the web designing process moves towards realization.
Before the web development begins
Start by asking the development agency these 5 questions:
- Do you have experience with similar projects/clients?
- Can I see your case studies, references, or client testimonials?
- What does your process look like and how will we communicate?
- Do you understand my business model?
- What will the formal side of our collaboration look like?
You can find more details in this article: 5 questions you need to ask before hiring a development team
Negotiating with a software development agency
Once you decide that a company could become a good partner for your project, the most common first point is an introductory call where you discuss your goal in detail and agree on the best strategy for accomplishing them. This is where you need to clearly communicate your background, priorities, goals, and limitations. They will form the foundation for your initial proposal.
Note: This is also the right moment for sharing the brief and all the related documentation, which is usually part of such projects such as technical specifications, business use cases, wireframes, designer materials, and preliminary sketches that could be of use to the designer team.
Your next step? Questions
Once you share all the documentation with the team, expect developers to follow up with questions. If they don’t, you should consider that as a red flag that will determine the alignment of their workflow with your project goals.
Here's what it means:
The company is used to being a simple provider of outsourced services. Such developer teams are used to carrying out tasks set by clients without adding any business value coming from their experience or domain knowledge.
Now, we're all aware of the benefits of outsourcing IT services. But we believe that outsourcing can be more than just delegating tasks to an anonymous team. It can become a real strategic partnership where the provider brings in something more than just technical competencies: business acumen, domain knowledge, expertise in developing similar projects.
You can find out more about our approach to outsourcing by reading these articles and guides:
- How company culture impacts outsourcing partnerships – and what you can do about it
- Unpacking the dedicated team model + 3 best practices from our team
- 6 proven practices for scaling agile development teams
- The extended team model: here’s how to make it work
Once the team learns more about your project, it will be able to send you a well-designed project proposal that includes accurate time and cost estimates to offer you a point of reference. If you’re happy with the plan, the next step is to agree on the composition of the team working on the project and its starting date. Now all that’s left is signing the agreement.
At Sunscrapers, we extend this initial project phase by two other stages. Over the years, we found that they're essential for the success of our clients.
When we begin to work with a new client, we usually set up a special meeting where we introduce them to our company. Specifically, we show them our web design process, website design steps, developer workflow, tools of the trade, as well as roles and responsibilities. We found out that being aware of how our teams work helps to keep the website development process smooth.
Next up, we host a scoping workshop where we discuss the project’s scope. It determines the website designing steps and the general workflow for all the people involved in the project. We organize scoping workshops to fill the missing gaps, refine our estimates, set the right priorities, and align them all with the client’s deadline and budget.
What happens once developers start working on your app?
Every team of software developers follows a different web design workflow. But it's good to make sure that the people who work on your project are flexible and can adjust their working process to match your needs (which might change during the process of web design, build-up, or testing!).
Like many IT service providers out there, we follow the Agile project management methodology. We divide the routine development tasks into 2-week long sprints. Each sprint begins with a sprint planning session and ends with a sprint review and retrospective meetings. This is how we ensure the constant improvement of our processes, such as website design process.
Moreover, our teams meet every day during the daily stand-up meetings where they update each other about the progress of their tasks, report roadblocks, and have supervisors reach out to the client in case they need more information. This ensures that the communication flows smoothly throughout the website building process.
Remember to ask about tools
An experienced developer knows how to take advantage of tools such as programming languages, frameworks, and libraries that are considered industry standards. The technology stack of your project is important and it's smart to make sure that the people working on it know the best web development tool on the scene.
But you should also ask about the tools the company will use to manage the project and store project artifacts (code, wireframes, etc.).
Here's an example:
At Sunscrapers, we use Trello for project management and Github for code repositories. Google Drive is an excellent solution for storing files. When it comes to communication, nothing helps our people to stay connected like Slack. For video conferencing, we rely on Google Hangouts, Zoom, and Skype. We use Harvest to boost our time management and provide truly transparent reports of completed work to our clients.
Make sure that the company is flexible
Naturally, the toolset we mention above is only the foundation for our workflow. Depending on the outsourcing model, every cooperation is slightly different and requires a degree of flexibility from providers.
We're flexible and open to considering other tools, especially the project management tools used by the companies we team up with. This approach is essential if you're planning to hire additional developers for your team as part of a staff augmentation scenario. You need to know that the company can provide you with skilled professionals who can become part of your in-house teams seamlessly.
How developers should be keeping you up to date
Responsible software companies usually have a set of battle-tested strategies in place for communicating with their clients efficiently.
For example, an efficient project management tool allows updating all the task progress in real time. That way, clients can check the state of their project anytime they like, without having to contact the assigned project manager. Github is an excellent solution as well as it provides partners with real-time access to the code repository.
Finally, teams should also make sure that they share the staging environment with you. This is where they will be showing you the latest build for testing.
Want to learn more? Here's how we manage communication with our clients: Outsourcing best practices: 6 tips for coordinating internal and external development
Key rules that minimize risk
Experienced providers have policies in place that minimize the potential risks involved in technology projects.
Over the years, we've learned that these factors make a real difference and are critical to the success of such initiatives:
- Not deploying to the production environment in late afternoons or before the weekends;
- Ensuring that the infrastructure is easily scalable;
- Making a regular backup service available;
- Doing load testing when increased traffic is expected;
- Using error tracking tools like Sentry to get notified about critical errors in software.
Moreover, ask your potential technology partner whether they can designate an on-duty developer to your project. This is the person who will be available for immediate reaction during emergency situations or incidents. Responsible companies develop a structure of support to ensure that they build and maintain the product in the best possible way.
It pays to pick an IT outsourcing partner who has plenty of insight and experience to share with you. For example, if you're planning to build a digital product, the company can help you decide which features are essential for building a functional MVP to test your idea on the market.
Keep these five tips in mind when asking teams what their development workflow looks like. That’s how you ensure that your project is in safe hands.