Progressive Elaboration of Scope on Gitcoin
What is it? Why does it matter? How can you deal with it on Gitcoin?
The gig economy has changed the way work is done.
With Uber, it’s as easy as pulling out your cell phone, to get a ride.
With Airbnb, it’s as easy as opening up your browser, to compare dozens of great places to stay.
With Gitcoin, it’s as easy as opening up Metamask to drive a handful of developers to your project.
As the gig economy transitions from renting physical assets to provisioning knowledge work, the scope of the work that is allocated becomes less tangible because the assets they are based upon as less tangible!
For example, with an Uber, the scope of a task is to just send you safely and comfortably from point a to point b. Whether or not the task was completed successfully is pretty binary.
Software development is more abstract.
When I hire a developer, I can say “I want X”, and then the contributor might deliver “X(1)“.
When I see it and I might think “Oh…well, I really wanted X(prime). Can we iterate?”
We call this progressive elaboration of scope. It’s a totally normal part of iterative software development.
While we’re supportive of putting as much thought as possible into your issue scope as possible (See: How to price work on Gitcoin, How to scope work on Gitcoin), we’re also supportive of progressive elaboration of scope, because it’s inevitable in 21st century software development. We also think that we can provide tools to manage progressive elaboration in good faith. For example, in the past 3 months we have launched:
- The ability to edit an issue
- The ability to increase funding on an issue
- The ability to extend a deadline on an issue
These are all tools that are meant to allow the bounty to be updated as both sides of the marketplace learn more about the scope of the task being done!
But, alas, there is something we can’t program into the Gitcoin platform. The funder and contributor must both be committed to honest & upfront communication in good faith.
This means a few things.
- If an issue is underpriced, you should tell the funder (professionally)
- If the scope is vague, you should tell the funder (professionally)
- If scope is increasing, you should ask the funder for some more coins (professionally)
- This means that if code doesn’t follow your coding standards, you should tell the contributor (professionally)
- This means that if someone does a great job, or if you increase the scope, you should send them a tip (professionally)
- This means that if something is taking too long to be done, you should tell the contributor (professionally)
In the meantime, Gitcoin is continuing to iterate on ways to make this process easier and better. It’s a progressive elaboration of scope :)
We are lucky to be working on Open Source Software, a place where good faith is in abundance. I hope, as a member of the Gitcoin network, to help steward progressive elaboration of your intent and build productive working relationships, with each other!
👋 Happy BUIDLing!