govBuy is a new platform that allows anyone to provide microservices, software libraries, non-critical bug fixes and more to government agencies. Initiated by the Government Digital Services team, the current site is a prototype forked from 18F, that we are using to gauge interest and feasibility in Singapore.
govBuy makes it easier for teams to co-create with citizens and engage everyone in the tech community – freelancers, students, small companies. Not just those with the resources to bid for large tenders. By levelling the playing field and giving more people the opportunity to participate, we hope to foster a greater interest in technology, especially among our youth.
It provides a way for development teams to outsource technical spikes, non-critical bug fixes and other small tasks that have lower priority in the product backlog. This means that teams can reduce technical debt and deliver a better product.
The platform also helps us spot and grow talent. Students and junior technical talents will have more avenues to work on real-world problems and get practical experience. If the platform attracts a large number of students, we can use it to set up a talent pipeline with local schools.
Finally, we can use this to introduce open source software to government agencies in small steps.
1. Government agencies post a task or project.
2. Anyone can bid to take on the project during the bidding period. Bids are capped at $5,000 and the lowest bid wins.
3. The winner submits their code and if it meets the requirements and deadpne set out in the task, they get paid.
1. Check out the tasks. Each task on govBuy has detailed requirements, so you can accurately gauge how much work is involved. These requirements are also the acceptance criteria for your code.
2. Submit a bid. Decide what’s a fair rate for doing the task and put in your bid. Bids begin at $5,000, with $1 the lowest possible bid.
There are 2 types of auctions – open and sealed.
Open auctions can be seen by everyone. You’ll be able to see if someone bids lower than you and you can choose to change your bid as many times as you like. When the auction is over, the GitHub accounts and their bids will be revealed on govBuy.
Sealed auctions only allow 1 bid and you won’t be able to see any bids during the auction. If 2 people submit the same bid amount, the first to submit wins. But at the end of the auction, all is revealed just like open auctions.
3. Lowest bid wins. In all auctions, the lowest bid wins.
If you’re the winner, you’ll have to submit your code within the timeframe given in the task. If your code meets all the stated requirements by the given deadpne, you’ll get paid what you bid.
If your code doesn’t meet the requirements, we’ll reopen the auction. Sadly, you won’t get paid.
Each task listed for auction has a set of specific requirements. Providing clear and detailed requirements helps bidders accurately gauge the amount of work that goes into a task, so they can put in a fair bid. These requirements also double up as the acceptance criteria for the work submitted.
As part of the objective of govBuy is to provide learning opportunities, our intent is to let someone’s code do the talking. If the code is good, it shouldn’t matter if someone is a student, self-taught or an experienced developer. We want to give everyone a chance. That’s why the requirements are so important.
Each task listed for auction has specific requirements that must be met before the winner of the auction is paid. The clear requirements help you gauge the amount of work required for the task and it becomes the acceptance criteria for any code you submit.
govBuy is still an experiment though, so if you have a better idea, tell us about it.
We’re engineers too so it’s definitely not our intention to devalue engineering work. That’s why we’re clear and transparent about the requirements for each task. So you can accurately gauge how much effort is required.
We’re also experimenting with both open and sealed bids to see which works better. If you have feedback or ideas, we’d love to hear how we can make govBuy better.
Outsourcing through govBuy is similar to working with any open source software. We need to fully understand what we’re integrating into our project and do the necessary checks to ensure security.
The meeting the deadline is an important part of the acceptance criteria. As all working professionals know, it’s not enough to deliver a project, it must be delivered on time.
If any of the requirements are not met, the auction is re-opened. Nobody gets paid and we won’t use their work.
During the review process, we might discuss the work you’ve submitted with you and ask for clarifications. Once the work is accepted and you’ve been paid, we don’t expect you to provide any further support. If you wish to continue your involvement, you are welcome to do so. But you do not need to do so in order to get paid.
Our role isn’t just to deliver high quality digital products and services. It’s also to lead, engage and support the tech community in any way we can.
We actively participate in many initiatives, i.e. taking on interns, organising and participating in tech meet-ups, blogging about our projects, processes and challenges, that could be seen as ‘non-essential’ in the corporate world. We see it as doing our part to nurture young talent, support the community and grow our skills together.
It all depends on how our experiment turns out. That’s how Agile product development works. We prototype quickly, test and iterate.