How to build software successfully

Published on by   business

We’ve built many apps over the years and our process is always evolving as we learn from each client engagement – however I am confident we have a solid game-plan for new projects and that it works well for us the vast majority of the time. Obligatory caveat: what works for us might not work well for you etc.

The blame game

Our process has evolved out of something I like to call ‘the blame game’. This is a mindset for things going wrong with clients – if you always blame yourself for projects going wrong and ask yourself what could we have done differently to avoid this scenario, and usually you find a solution to modify your planning or product management that wouldn’t have allowed this problem to happen in the first place.

Client/Agency fit

There are some agencies and clients that just won’t work well together, the client won’t be happy, you won’t be happy doing the work and everyone loses out.

It’s good to know the type of project and client that you can do your best work for and who will facilitate you doing just that. Qualification is hard and if you’re just starting as an agency it can be hard to turn away projects, in the long-run, you and your clients will be happier if you are only taking on work that is a good fit.

We try to answer the following questions when qualifying new clients:

  • Do our expectations for the project match up? (is it a small project for us and a massive project for the client)
  • Will we enjoy working on this project and do we believe in the concept or problem it’s trying to solve?
  • Are we capable of doing a world-class job of this project?
  • Will this project strengthen our business? (case study, financially or otherwise)

If we answer no to more than one of these it’s usually not a good fit.

Success criteria

What will make this project a success for us internally? For us, the answer is usually to ship on time and have a client who is delighted with the product. What will make this project a success for the client? How do we make them look good to their stakeholders, investors, boss, customers?

Our product process

Set expectations

Make sure you set clear expectations for the end product you are going to deliver and when. You should write a Statement of Work describing your deliverables, key dates, key roles and payment schedule. Have both parties sign this agreement, it makes sure everyone reads it and is in agreement.

Show progress early and often

Don’t lock yourself in a dark room for 3 months and do a big-bang release, communicate early and often to show your client that you are on track and making progress.

This also allows you to get feedback and make changes before you are too far down a road that is either not required or wrong altogether.

We used to be big proponents of Kanban, but we have found that splitting projects up into 2-week sprints provides lots of small deliverables throughout a project and is a great way to demonstrate you are on track.

Be flexible

Nothing is set in stone, don’t start off with a giant requirements document, instead, provide a high-level overview of the features and sprints you are going to deliver. Flexibility throughout the build will help make a better product that everyone is happier with.

We are the experts in building software

Remember that you (the agency) are being hired because you are an expert in provisioning digital services, if you think a client is wrong don’t be afraid to push-back. Educate clients on building lean products and testing their assumptions with end-customers, while at the same time take advantage of their wealth of industry knowledge.

Allow time for testing

Make sure to schedule a UAT period at the end of each project. There are always going to be change requests (see above be flexible), make sure to schedule a time for these, but also make sure to time-box this period as if you are not careful it can go over.

Love to launch

There’s nothing worse than painstakingly crafting an app that never sees the light of day. We have shipped our own products and love to share our experiences with our clients, especially where we could have done a better job. Launching our own products has given us a priceless example from start to finish of building businesses and allows us to help with tasks outside of the build, such as marketing advice, getting feedback from real humans and building lasting companies.

Finally, Make sure everyone is happy!

Our main goal as a company is ensuring throughout the whole process that our clients are happy, the designers and developers are happy and to facilitate making awesome products.

Want to speak with us about partnering on a project? Get in touch.

Related Articles

A little background I’m Pete, director of Alternate Labs, I’ve been working in the web industry for just over 10 years with agencies and…

Would you like to work with us?

We would love to hear from you

Get in touch

© Alternate Labs Ltd is a registered company in Northern Ireland NI628282