And the cracks begin to show
Progress was being made, but several cracks began to appear in the foundation. Two months had passed, and I was seeing results but things were starting to slow. Communication was beginning to wane. There was no need to sound any alarms, because I had been conditioned to expect at least twice the development time and twice the expense as originally agreed. And I was seeing progress. Just not as fast I would like.
We are now approaching a usable application, and from the advice I have read over the years, you need to launch your site. You can debug forever. Get it out there. So we did. That was a bit of a crowning moment.
There were a lot of bugs, but we were launched. The response was exciting. We had great local coverage and everyone understood we were brand new on the scene, and frankly most were excited for our application regardless of any bugs. That’s what beta means!
Got the product out, but development slowed
There was still plenty to do. It was time to layout the next milestone and circle up all the bugs in V.1. We used a tracking software to collaborate on bugs. Jira was starting to fill, as was Google Analytics. We had done no real marketing or advertising for the launch. It was intended to be little fanfare with only a soft mention on social media and an email blast to early registrants.
As traffic steadied over the first few weeks, progress on the development did not. I was noticing slower bug fixes, less communication, and the carrot was being dangled with over promising and under delivering. Then came the money issue. You didn’t think this story would end without one of those, did you?
It was the standard agreement, 50% up front, and 50% at the time of delivery. We were live, but the first deliverable still had a lot of bugs. We were working on those, but also moving forward to milestone two. The money to pay the team of four had been exhausted for milestone one.
Even though the bugs had not all been flushed out, additional payments would be needed to continue so a cost associated to finishing milestone two was agreed upon, and 50% was forwarded to the team. Meanwhile, the second payment for milestone one was withheld. Of course I recognize the accounting zero sum game, but it kept the intention straight. Correct the bugs and get more money.
Work proceeded, but it became apparent that certain feature sets that were labeled as “no problem”, were in fact, becoming a problem. Things that should have been easily integrated were now taking long periods of time. The cracks were getting larger.
“They have mastered the art of dangling the carrot”
Now it’s time to take a step back and look at what’s really happening. This is where things get incredibly tough, because you have invested a tremendous amount of time working with a team, articulating your idea and your vision. Going over user UX and UI for hours and hours. You want to trust the guys you have dropped a large amount of cash on and that have taken you this far. After all, we were live.
On the other hand, they have mastered the art of dangling the carrot just right to take advantage of your excitement and passion for your startup. They know just how to string you along with the promise of the next deliverable and telling you it will be fixed tomorrow, but nothing happens. They need more money, so right at the time you want to throw in the towel and move on to a new team, they drop some code on you and the whole cycle starts over.
Now you are limping along, holding on on to the dream that these guys actually care about your application when it has become painfully obvious that you are no longer their priority. You feel like a battered wife who keeps coming back for more but the idea of transitioning your entire development environment to a new team and bringing them up to speed is overwhelming. This is actually the best case scenario, which I was lucky to find myself in. It could be far worse.
Time to cut the cord, take the loss
I had control of my environment. My code was on GitHub. I was hosted on AWS and my domain was purchased in my name. These might seem obvious to some of you but to a new entrepreneur, these could be critical mistakes.
Imagine if you didn’t own your domain in your own name, your code was in a version control system you did not have access to, and your hosting was in an account owned and managed by the team from which you are trying to separate yourself. This alone could be the demise of your startup.
The time had come. These guys had disengaged. Nothing was being delivered. They were ahead of me on contractual payments. Communication was at a minimum and if their lips were moving, they were lying. Their new interest seemed to be in gaming.
Pivoting, building in-house team
The good news. I had two engineers that were getting the same treatment. They had almost no communication from the lead engineer, and they weren’t getting paid. Fortunately, they did believe in the application. As with most engineers, I have been told it is less about the money than what is being created. I was able to keep these two guys on board. Along the way, I struck a relationship with an architect who was experienced in exactly our stack. I was able to bring him on board as we were faced with a serious migration. Additionally, I had engaged an individual specifically tasked with terminating my previous relationship in terms of code and access and helping to make sure we had a seamless transition and the site remained stable.
At this point, there were questions to be asked. How good is the code? Will it run on its own? Does it have integrity? What am I left with?
Once these questions were answered it was time to start cleaning up the mess. I consider myself lucky. I had some very knowledgeable engineers that were able to identify the shortcomings, create a plan of action and start architecting things the way they should have been done in the first place. I mentioned earlier the need for scale and responsive design. These were two of the missing elements. While the application is engineered in a way to accommodate my local MLS, it wasn’t architected to scale. And while the application ran fine on a desktop web browser, it didn’t on mobile devices. That has since been rewritten and now displays beautifully on phones and tablets.
Back in the saddle again
So here we are. We are over the hump and great progress is being made once again. I am no longer working with someone else’s team. I am now working with my own. I am grateful for the engineers who believe in the mission. We collaborate daily and working with them is a pleasure. We are tidying up a few loose ends and will once again be moving forward to new features that should start to establish our brand as an innovator in the real estate technology space.
Lesson learned. Be insanely diligent in scrubbing the outsource team you hire to build your company and make sure you are in control at all times OR hire your own team.