Back

Cutting scope and fixing bugs in someone else’s API: how to finish a 3-month project in 2 months

At Purrweb, we regularly get the ‘I need it yesterday!’ requests from our clients. To deal with such MVP development projects, you need to forget everything unimportant and focus on the things that matter most. How to meet a tight deadline without burning out and exhausting your team — Sergey Nikonenko will tell you about this in the case of Headcount, a financial startup.

Reading time: 5 minutes

rapid development
Table of contents

We started working on the Headcount project on June 17. It’s a B2B service for transferring money to contractors around the world. We were to finish the project by August 24 — a Demo Day in Y Combinator, a business incubator. This day is considered one of the most important events for IT startups. The projects presented there help us understand how the IT industry will be evolving in the near future.

rapid development of MVP

The main competitors of Headcount are Gusto.com, letsdeel.com, and pilot.co. All of them use Wise (a service for transactions) and have giant fees for international transfers. Headcount, on the contrary, collaborates with a large bank on special terms. It means that people can save money on fees.

We had two months to launch the payroll system. There was no time for testing separate code parts, and every potential mistake meant that we could lose client’s money. So, we had to use rapid development to create a perfectly flawless product in the shortest possible time.

Normally, it would take us at least three months to finish a project like this. Taking up the work on a payroll system with tight deadlines, a lot of risks, and no testing is a big gamble. But the Demo Day in the business incubator doesn’t happen every day and we just couldn’t give up a chance to work with Aldrin Clement — the author of the project who had a successful experience of launching a product in the incubator.

How the client came up with the startup idea

Aldrin’s main project is jumpstart.com. The service helps foreign companies start businesses in the USA. The project is handled by a remote team of developers who need to be paid regularly. Delayed money transfers and high bank fees are the main headaches for clients. Aldrin Clement is not the only one who suffered from this. Questioning startuppers from a business accelerator helped us find out that many businesses are facing the same problem with payrolls.

jumpstart — rapid development

The startup suggested itself and killed three birds with one stone:

    •  develop a new product and fill a new niche in the market 
    •  upsell clients of jumpstart.com and apply a recurring revenue model, increasing LTV 
    •  show up in Y Combinator with a new project and develop a reputation as an experienced entrepreneur. It will be easier to get funding with every new project
See also  We can help struggling companies to pivot: rebooting a British startup. Purrweb’s case

Deadline is more important than features

We had no time to get into the swing of things. To meet the deadline, we suggested cutting the scope and expanding the rapid development team.

The client agreed to get rid of features that could hold up the development. For example, we gave up the working time tracker, multiple payment options, and automated testing of code parts. We cut the tracker due to confidence in the employees. In the meantime, they can fill the table of working hours manually. The multiple payment options weren’t the most important feature. It was risky to put automated testing aside (it’s better to triple-check everything related to money), but we had no time for it. That’s why we kept only manual testing.

Yet the mobile version of the website was a must. The client knew that in his other project — jumpstart.com — 60% of transactions were carried out via smartphones. ‘You’ll be surprised, but people make $4,000 purchases and start businesses directly in a phone browser,’ he said.

Rapid development of mobile app

We planned to use React for the frontend development, but the client convinced us to use Next.js which was more familiar to him. Normally, we only use it if there’s a need for server-side rendering. The client needed Next.js because it was used in Jumpstart — it’s more convenient to work with the same software.

We started working on the must-have features: creating an account, filling out the table of working hours, regular payrolls to the employees, linking a bank account, and money transfers.

rapid development of a web app

Micromanagement is not always unreasonable

Because of the deadline, we involved five developers in the project (normally it takes three developers to finish the work in 3 months). We were only responsible for the coding and our team worked in two-week sprints. During sprint zero, our team lead built the architecture, and the other developers joined the process later on.

The client checked the code and our decisions every day. We never had clients who were so involved in the project trying to control every action, but the tight deadline explained everything.

Finding bugs in someone else’s API

The most difficult thing during the rapid development was dealing with the partner bank’s API. The bank designed the API just recently and it was very raw and some methods simply didn’t work. We were developing our service and finding bugs in the API simultaneously. For example, we couldn’t return the TIN field for Russia (EIN in the US) or a bank code for Brazil.

Considering the pressing deadline, we sent all bugs to the bank’s dev team to request the adjustments the same day. While they were fixing the bugs, we put the current task on hold, moved on to the next one, and then got back to the delayed task. A couple of times, we had to call the bank’s developers and explain the problem verbally. Trust me, this isn’t something you want to do when you only have two months to launch a startup without proper testing.

See also  Turning Web into Mobile: How to Save Thousands of Dollars on Development and Outsmart the App Store

How we managed it

Our work would be more efficient if we had more time and fewer people on the team. When you work in a big team, you spend a lot of time on synchronization, code reviews, and integration testing.

We managed to finish the work within two months and released the app. The team members worked 8 hours a day and surprisingly avoided overtime work. Building a proper workflow helped us a lot following the sprints, creating detailed tasks in Jira, real-time testing with Vercel, and using auto deployments. We automated the rapid development process as best as we could. We set a special time for fixing large and medium-priority bugs while fixing the smallest bugs on the go.

The client already pays for his contractors’ work through our app. The main advantage of the service is that it helps to save money on fees. For example, if you want to transfer $1,000, Wise charges $18 and converts dollars to internal country currency. Headcount charges only $10 and won’t convert as it will send money in the same currency. It’s especially relevant for employees from countries with unstable currency rates.

Later, we plan to write automated tests and release the features that we put off. Aldrin asks his friends and acquaintances to test the transactions, gets feedback, and releases the service. He already has a potential audience from jumpstart.com, so he can upsell them and increase the average check.

How useful was this post?

Rate this article!

10 ratings, аverage 5 out of 5.

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

Share