Back to Insights

News

How to Choose a Software Development Company - Part 2

Does the agency know what they’re doing?

This is a question that you shouldn't be afraid to ask: does this agency know what they’re doing?

What are their credentials?

You probably won’t find an agency that has solved every problem in your industry (and they don’t necessarily need to have) so the next best thing is looking at if the agency has solved problems that are similar to the one you’re facing. Try looking for an agency that has:

  1. Successfully delivered a project of a similar size to what you have in mind (this works for both small projects and big projects - each have unique skill sets).

  2. Worked with technology that’s relevant to your project (for example, if you’re building for Android have they used Kotlin or Swift for iOS).

  3. Completed equally or more complicated projects.

  4. A contactable reference that can vouch for the quality of work.

If that can be married with industry experience, then great. But industry experience shouldn’t be held over those four essentials.

The Agency’s Team

At xDesign, we hire less than 1% of the developers that apply for jobs with us. The ones we do hire are put through their paces so we know that they’re among the best of the best. We do that so that our partner businesses don’t have to. Most agencies will tout the biggest or best projects they’ve done and use them to win over new business. It’s always worth digging into those claims because if the company’s last big win was eight years ago and the people that made it happen have moved on, then that doesn’t bring much value to you. So, check out the people that are going to be working on your project and ask the agency for current examples of work and big wins. They should be more than happy to provide them.

Approaching Development

The next thing you need to understand is how your agency is going to approach the different components of software development. Understanding how the agency does this is going to give you more transparency around what you expect from the agency and the quality of work they’ll be producing. Here are the ways we handle the main components of software development: Understanding and Estimating Requirements It’s crucial that your agency understands what you require and can estimate your requirements and costs, where needed. We do this through storyboarding and creating a user journey. During our Discovery Process, we work closely with you to map out the story of your product from its inception through to each step in the process - proof of concept, minimum viable product, prototype and all of the evolutions in between. The second part of this is the Rough Order of Magnitude (ROM), which is when we work to calculate how large the project is going to be, how long it will take to complete, how much it will cost and manpower requirements. Balancing User Experience with Cost of Development We have a goal based, success focused approach to balancing UX and the cost of development. At our Discovery Session we’ll work with you to understand the goals of your project and the experience you want your users to have. We continue to do this throughout the project lifecycle and ensure that the user experience is optimised and beautiful for the scale of the project. We don’t believe in doing something that will cost 10x more if it only makes the project user experience 2% better. Changes and improvements are always weighed against the needs of the budget. Not Creating Technical Debt through Design We don’t believe in wasting time or effort, which is why our design process is a collaborative team effort and a relay race (or worse, a ping pong match) between designers and engineers. Instead of re-inventing the wheel at every turn and making modular, reusable components, we have a full, existing, library of solutions. This means less time and budget spent creating solutions that already exist and more spent on custom design and development that’s unique to you. When we show you a design it's been vetted for ease and impact of implementation - so what you see on screen is what you will get in the final product. This idea runs all the way through to design and features.

Approach to Quality Assurance

At xDesign, we take quality assurance seriously.

Quality assurance isn’t an optional extra. It’s built into every line of code that our developers create and throughout building your project or product, we always take time to review the code we’ve written and make sure there aren’t any bugs. Once the project is finished, our maintenance warranty kicks in and for several months after the completion date, we make sure that no bugs develop or if there are any issues, then they’re fixed quickly.

Commitment to Test Driven Development and Continuous Improvement

We’re not the kind of agency that builds a product and then releases it into the wild and hopes for the best. We test drive everything we build and push it to its limits so you know that you’re getting something that’s robust and built to withstand anything. We pair that with a commitment to continuous improvement. You’ll see most of this during the two week sprints, when we deliver a workable demo of the product every two weeks, and are constantly refining the process and build so that every sprint that follows gets better and better. At the end of the cycle, you’re left with a product that has improved with every single iteration.

Cutover Planning

Cutover planning is part of the process of going live. It doesn’t always get talked about in Agile because the Agile methodology focuses on continuous product increments but cutover planning is an important end phase of the project. It’s the series of steps that we take that ensures that everything moves from pre-production to live in a way that’s smooth and successful. Our cutover planning is built into our agile approach to software development. We make sure that, during roll out, everyone knows where they need to be and what needs to be happening to ensure a smooth launch. At the core of our cutover planning is anticipating surprises, strong communication between everyone in the team, building a schedule so your project is ready for customers the day it goes live, not several days after and testing our deployment plan so we know everything is ready.

Support and Maintenance

We have a range of support and maintenance options for each project. Everything we do comes with a warranty - we’ll keep it updated and bug free for the first few months that it’s out in the wild. Beyond that, we offer 24/7 support and everything else in between, so that if something does happen - we’ll get it back online.

Read Part 1 of How to Choose a Software Development Company