In Agile there’s a common practice called a “Retrospective” which is a meeting at the end of an iteration to openly discuss ways to improve the process for the next iteration.
Before starting Alpha Bridge, I had a need to build a new SaaS product called NCE Online www.nceonline.com.sg that helps facilitate an IMDA-mandated compliance process between construction companies and utilities in Singapore.
Without an in-house development team to give the project to the only feasible option was to outsource the project.
Being a greenfield project the choice of technologies was wide open. After a deep dive, I felt that a Ruby on Rails or a Node.js stack would be the most appropriate choice.
The existing technology vendors that we had worked with specialised in PHP development and were unable and unwilling to take on a Ruby on Rails or Node.js project.
With the budget and scope approved it was time to select a vendor and my requirements were:
- Capacity to start immediately or within one month at the latest
- Ruby on Rails and/or Node.js specialists
- Agile contracts
- A warranty period of three months or more
- Ability to communicate directly with developers to avoid unnecessary filtering by a Project Manager or Account Manager
- Ability to meet the team face to face and facilitate the project kick-off
- Ability to deliver the project within three months
- Ability to demonstrate good engineering practices and Agile process
I reached out to four vendors in total, two in the Philippines, one in Thailand and one in Singapore.
In order to expedite the process, I produced a fairly detailed requirements document with the high-level architecture proposed, the more detail here the better as some vendors quoted straight off this document.
Engaging with the four vendors and receiving the quotes took three weeks.
Two of the vendors would not agree to Agile contracts, instead opting for a fixed price, fixed scope project.
Two of the vendors provided a quote that cost 3x more than the other two vendors.
One vendor would not allow me to meet the developers and do an on-site project kick-off, and the same vendor insisted on communication going via a project manager. Naturally, they didn’t get the gig.
After selecting the vendor I traveled to Manila and spent two days with the development team going through all of the requirements and planning the sprints.
This was a great experience and the team couldn’t have been more welcoming of me despite it not being a common occurrence to have the clients in the office.
Call me old-school but there’s simply no replacement for face-to-face communication and the ability to build a rapport meant that remote communication was much smoother.
What Worked Well
- Meeting face-to-face made communication much smoother as a rapport was established
- Direct communication with developers via Slack
- Able to view work-in-progress version only after insisting that Continuous Delivery was put in place
What Didn’t Work So Well
- Video and Audio calls due to poor internet coverage on the vendors’ side
- Working documents stored in the Cloud were not referred to due to internet issues, on investigation I found that the developers had downloaded them at the start of the project
- Vendors made technology choices that are most familiar to them
- Strong resistance to using ready-made components e.g. Auth0, FileStack
- When the project got off-track it wasn’t escalated quickly
What Could Have Been Improved
- Better escalation process. When the project went off course
- Requirements could have been more explicit
- The vendor could have been more willing to try new technologies
I started this project as a 15-year software veteran and whilst the project was delivered on time and on-budget I had to compromise on some functionality and architectural decisions.
My conclusion is that if you’re embarking on a software outsourcing arrangement for the first time and lack a deep technical background there is a very real risk that you could be led down a path that suits the vendor. In most cases, it’s not that the vendor is trying to gouge you but naturally, their interests are not always aligned with yours and that misalignment could cost you time, money, and the ability to respond swiftly to customer requirements in the future.
If you’re considering outsourcing
AlphaBridge helps non-technical start-up founders/CEOs with the following services:
- Vendor due diligence
- Vendor management
- Project kick-off
- Project management