What evidence can you share that demonstrates the impact of the engagement?
I ultimately cut the project off in November when it became apparent they could not get it working consistently. I spent more than $10,000 fixing their work.
The project was meant to serve as an alpha for 100+ initial testers in September. I did not receive a build until late September because they could not figure out the App Store certificate process in order to distribute the app via Test Flight. When I finally received a build in late September, it was a mess. The UI didn’t scale to screen size and had many inconsistent elements, transitions between screens were jumpy, and the survey recording functionality often did not work. The app also crashed regularly. Adding insult to injury, before this build was delivered, they sent a final invoice that amounted to an extra 40% above the estimate for an app that was both late and didn’t work.
To make amends, they offered free bug fixes for these issues, which is sort of standard operating procedure when delivering something that doesn’t work. After three weeks working through ~30% of a 100-item punch list, during which the developer kept introducing new bugs, Simplex approached me to start paying for bug fixes. I balked and told them I would not pay the recent invoice unless they agreed to fix the remaining bugs. They agreed and we continued.
During this time, I had three different developers review the code base — something I should have done all along—and the verdict was unanimous: the person who coded the app was not only learning React Native, but was learning how to develop software as he went. The UI architecture was a mess, calls were overly complex and copy-pasted across the app, and so on. My brother, who works in UI prototyping, said it was the quality level of something thrown together in a couple of weeks for a meeting.
After we continued for a few more weeks, it became apparent Simplex could not meet the quality standard I was searching for, and their management wasn’t interested in finding help for their developer who was having so many issues, instead telling me that the project was “no longer profitable for them,” even though this only happened because they mismanaged the project. A more competent developer would’ve moved faster and created far fewer errors, resulting in a profitable project (and a happy customer).
When cutting the project off, I sent an email outlining my frustrations with the poor quality and timeline as the reason I was cutting off the project. Simplex responded admitting that they should have had someone reviewing the developer’s code, but they didn't offer to have a more experienced developer review and/or fix my codebase.
Ultimately, Simplex Software created an app that was 2 months late, 40% over budget, and didn’t actually satisfy the criteria as something to be shipped and tested by hundreds or thousands of people.
How did Simplex Software perform from a project management standpoint?
They were communicative but lacked detail, especially in their invoices. They created agile sprints in JIRA, but they did not correspond to hours on the invoices. The project manager was communicative, but did not do much beyond setting up meetings and the JIRA board (ie did not step in during bug fixes until the very end).
What did you find most impressive about them?
The founder and one of the developers stayed in touch even when we had our disagreements about the billing. They did not flee or go silent as many firms would.
Are there any areas they could improve?
They assigned a developer to my project who didn’t know the framework. He seemed to be pretty new at coding and they did not have anyone overseeing him, so they moved slowly and passed that cost on to me.
It’s standard best practice to have a senior developer oversee a new developer and do basic troubleshooting and answer technical questions. It was pretty clear none of that was happening, which they later admitted to me in an email as well. There was a bit of a language barrier, so I had trouble knowing if the developer understood what I wanted, which made the bug fixes and troubleshooting pretty difficult.
Do you have any advice for potential customers?
Conduct a technical interview with the person they’re going to staff for the project. Perform regular code reviews with a trusted, independent friend or advisor. Also, get itemized billing information as it relates to the actual task that they’re working on. Create performance-based incentives for meeting budgets and goals.