My First Consulting Gig
Shortly after graduating, around 2002, a friend and I had the opportunity to propose a solution to a company looking to replace a custom old DOS application. We were competing against a proposal from the company that wrote the MS DOS application. I don’t know what the other company proposed, but we won the contract. For a couple of recent grads with no professional experience, the whole project went very, very well.
The application was a tool that enabled field agents to prepare reports. The agent completes an inspection, and a workflow ensures all areas of the inspection are covered. A series of checkboxes, triggering pre-written text, complemented with text boxes for customization, allows the agent to quickly prepare a professional looking report.
Solution and Proposal
In our proposal, we broke down the work into parts, and set milestones with associated payments. We estimated the two of us could complete the work in 3 months, for CAD$60K - this was very good compensation for us, and probably way less than competing proposals. We made what turned out to be excellent choices for components to build out the application:
- We built the application on top of Microsoft’s .Net framework 1.0 - this had just been launched in early 2002
- We used Microsoft SQL Desktop Engine (MSDE) to store the source inspection configuration (the checkboxes, workflow, and text) as well as each individual inspection
- To produce the report, we drove Microsoft Word through Visual Basic for Applications
Selecting what were then cutting edge components definitely gave us an edge, and allowed us to develop a much better product much faster than the previous generation of tools. Being an early adopter can come with risks - there are certainly many technologies from that period that were abandoned by their backers - perhaps we were just lucky that the .Net framework found widespread adoption.
What was interesting about these decisions is neither of us had previously had any experience with Windows development - all of our school experience to that point had been largely C and C++ on Linux.
We learned as we went. We had assumed that commercial tools, that we paid for, would be superior to the free and open source ones we had been used to. We fairly quickly dropped Microsoft’s mediocre “Visual Source Safe” (VSS) for the open source CVS system for source code management.
The decision to use Microsoft Word to generate the report was unconventional - at the time, I suspect most applications would have leveraged Crystal Reports. It also increased the per-seat cost of using our software - if memory serves, at the time, we suggested that agents who didn’t already have Microsoft Office buy Microsoft Works - which included Word at the time, for less than $200.
MS Word allowed us to build in the following capabilities:
- Our application called a specific “.dot” Word template. This could be customized, if desired, without engaging a developer
- Word produced extremely good looking output
- After our application built the report, through Word automation, we’d generate a table of contents, paginate, and run a spell check
Delivery
The inspection firm LOVED that the output was a standard .DOC file, and the quality of the output was much better than anything being produced in their sector at the time.
We delivered the project on schedule. There were a few small bugs that we fixed. The inspection firm identified a few additional features, which we quoted, they approved, and we delivered. The contract was now complete.
Something funny we learned - having had no prior business experience, the contract we created, and they signed, required payment within 10 days of invoicing, when the norm is 30 days. It turns out, it is challenging for large company with an accounts payable department to turn around payment in 10 days. We actually included interest penalties for late payment in the contract, and they paid the interest charges without complaint.
Epilogue
After we completed this project, we were unable to line up another contract, and my friend and I moved on to jobs as full-time employees elsewhere. Since that time, I’ve worked with larger companies, and I’ve come to appreciate having a sales team - for years now, I’ve never had this problem again - every time I’ve wrapped up a project, another one is magically lined up.
Years later, the inspection firm reached out to us. Their parent company, an American firm, was looking for a solution for their US inspectors, and they wanted to make changes to the application we created. By this point, my friend and I were well established - we weren’t interested in the work. We had already provided them with all the source code & the rights to use it, they were welcome to find another firm to extend it.
After we turned them down, the US parent company decided to start from scratch with a new vendor. It’s not clear to me how different their requirements were, but they invested US$750K before cutting ties with the firm they had engaged, and they abandoned the work.
I haven’t heard anything recently, but as of 2018, our original application was still in use by some Canadian field agents.