This is Part 2 of a blog series that details the challenges of outsourcing software development.
Software development is always on the cutting edge of technological advances. It’s the foundation that allows us to design tools that make our lives easier and stay ahead of the game. But designing software is far from easy. And honestly, sometimes it requires outside help.
Even though the number of outsourcing providers has skyrocketed in the past few years, the overall quality of work and level of customer satisfaction hasn’t. We want to change that. With over 15 years of cumulative experience in software development, our founding team has experience both from the perspective of an agency as well as a client.
We’ve received vague requirements (and given vague requirements).
We’ve dealt with picky customers (and been a picky customer).
We’ve complained about bugs to suppliers (and been the ones fixing bugs).
To put it simply: we’ve been on both sides of the fence. This has given us a unique perspective to understand the drivers and motivations behind clients and agencies when it comes to outsourcing.
Part 2: Buyer's Remorse
Buyer’s remorse is the sense of regret after having made a purchase. It’s usually an expensive item like a car or a house.
This regret happens for the following reasons:
- You did not need the item (right now)
- The item was too expensive for your current financial position
- The item falls short, in some way, of the original expectations
The common signs of buyers remorse are
- You feel frustrated
- You feel stuck with a product you don't want
- You wonder if you have been fooled
Buyer’s Remorse can also apply in business dealings, not just private purchases. It can happen when you purchase a product or service for your business. And it is unfortunately a common occurrence in outsourcing software development. Especially the third type, where the service/product usually falls short of the buyers' original expectations.
Here is how this usually plays out.
Great sales, no follow-through
You have spent the last two months diligently researching and evaluating a few development agencies.
You talked to the sales team on the phone. And one of the agencies sounded especially professional and courteous. Their sales pitch was on point. You have a good feeling about this. So you decide to move forward with them and kick things off.
One month into the project you decide to have an experienced technical advisor/friend look at the code… And it’s a complete mess. The architecture is flawed, there is lots of technical debt and every change requires colossal amounts of time and effort.
You are frustrated and you want out. But you already paid for two months’ worth of work. And it’s going to take another 3 weeks for them to hand the project over to a new agency.
At the beginning of the project, somewhere between the sales process and kick-off, you asked the agency for a timeline for your first release.
They said it will take a month for V.1 to be ready. Great! This leaves you a little time to start arranging interviews with potential clients and users of your app. You even schedule a presentation with key leads.
3 days before the agreed deadline the agency informs you that there has been a delay. They need one more week to finish all the features.
You are obviously frustrated. You already informed all of your customers and now you look bad in front of them and unreliable.
With few options left, you accept the new timeline and inform your clients about the new date, this time adding a few more days as a buffer.
One more week goes by and the team tells you that everything is ready. You ask for a run-through of the app before you can take it in front of your customers. There you find out that two features are not working as expected and there are a few UI fixes that still need to be done.
The agency apologizes for the misunderstanding and gives you yet a new deadline to amend everything.
Your deadlines keep being pushed. You want to start looking for a different agency, but onboarding them will take even more time. You are stuck paying significant chunks of money for sub-par performance, a classic Buyer's Remorse situation.
The bugfix that creates more bugs
So you have been developing for the past month and next week it’s time to have a Live Demo. You ask the external development team in advance if everything is going to be alright. They assure you that everything will be ready.
Demo Day comes, you start running the application….and sure enough, on the second page, one of the functionalities doesn't work.
The team gets back to fixing this bug and the next morning the bug is fixed.
You schedule another Demo. The application now runs fine this time. You go through the second and third page, everything works. But as you try to use the checkout functionality, it throws an error.
The team explains that this bug was created by the prior bugfix. So they need one more day to fix this newly created bug.
After that bug was fixed, you find another bug with the login. You lose faith and start feeling a little like Hercules vs Hydra, where cutting one head off the beast produces even more.
This was not your expectation of “quality code” that you read in the brochure. But you accept it and move on, after all, no one is perfect, right?
You are probably right, there is no such thing as a perfect agency. But there should at least be an agency out there that makes it easy for you if you want out.
What if you didn't have to pay large sums of money, for bad experiences? What if you could work with an agency and have no Buyer's Remorse or sunk costs if things didn't work out?
At Softup Technologies we believe that customers should not take big financial and operational risks when working with external agencies. That is why we offer our risk-free software development model, where you can work with us on biweekly sprints. And pay for each sprint only if you are satisfied.
Not just for the first sprint, forever.