Originally published Improving P4 in tandem on Medium.
The co-development, feature request and voting process
The Planet 4 project is ambitious, just check out the roadmap. We’re rolling out P4 across Greenpeace, having already launched platforms for Greenpeace International, Greece, New Zealand, India, the Netherlands, Canada, and Brazil and aiming to release more than 10 others before the end of 2018.
In parallel, we’re still trying to move forward on overall product development. The P4 development team is rather small for such a large scale project — counting less than 12 full time staff. This is why the help of Greenpeace offices with extra capacity and of the open source community is most welcome.
Here’s the P4 process for feedback and co-development.
For open sourcers:
Experienced open sources probably know that most FOSS projects are a bit messy. We are too. Hi, nice to meet you. If you want to contribute code, please read the P4 technology intro and check out the P4 Jira board. You can develop alongside Greenpeace devs — make a Jira account and comment in the ticket you’d like to pick up!
For “easy” features that need to be developed, check out our contributor label and comment in the tasks you are willing to work on, we’ll add you to the P4 RocketChat channel and integrate you into the team.
If you want to contribute in another way, just reach out to the project team, we can’t wait to hear your ideas!
For Greenpeace Teams:
Chances are if you’re on staff at Greenpeace, your NRO has its set of priorities. Your office likely needs Planet 4 to do something specific to support campaigners, fundraisers, volunteers or other stakeholders. These local priorities might support a specific piece of software, region or perspective, and that’s totally fine!
When taken into a global perspective, local requirements might not match the P4 overall product priorities, which means the Product team can’t drop everything and refocus on NROs stuff. Not to worry, NROs can help the entire organization, and develop alongside the Product team! Just keep reading..
00: A functionality is needed by an NRO — check the feature list!
Your P4 site needs a new feature (e.g. ability to embed Instagram stories)? Want to check what other colleagues need or what’s already on the pipeline?
Everything you need is to check out the list of upcoming features in the Handbook, it’s publicly available. There’s a good chance that the feature your NRO needs is already in the list, but if not, you can submit your idea / proposal (while logged in the Handbook*) and shout out to the community to see how popular it becomes!
*.. need a Handbook account? Send us an email!
01: Is the feature on the P4 roadmap? YES > vote for it and make it popular! NO > Let’s see how many NROs want it
A feature being on the roadmap (tagged: ON THE ROADMAP), means the P4 team intends to build it to achieve the concept. When the feature will be built? We don’t know, necessarily.
You want it NOW or soon? If the idea is marked “open for voting”, give a thumbs up / vote it on the list (while logged in the Handbook*). When an idea is marked “Contribute!” it means that we need help to ship it. When an idea is marked “In progress” the Planet 4 team is working on it. When an idea is marked “shipped” it’s live.
This up/down-voting system, powered by IdeaPush, makes it easy to keep an overview on which features are most needed by the community and how urgently.
A feature not being on the roadmap (tagged: NOT ON THE ROADMAP), means that at this moment, the P4 team don’t necessarily sees it being strategic for Product development. We are not omniscient, of course, so it may be that we are missing the strategic value this new idea may bring to an Office or Greenpeace as a whole, this is why it’s important to state your case when submitting new ideas, so that colleagues can see its value and vote for it!
#2: Roadmap reprioritized or changed? YES. > #3.1 and #4: Help develop it! NO > #3.2 you need to develop the idea independently
If the feature is on the roadmap (tagged: ON THE ROADMAP), it will be in Jira and reprioritization might be done. To get (re)prioritized, the Planet 4 team asks how the feature benefits the global organization and where it fits in the concept.
Having a feature to the roadmap does not mean its development is as fast as an office wants. Should the feature fall kinda low on the product roadmap (aka, step #3.1 — not a priority for the overall P4 Product), NROs have 2 choices: wait for the regular course of events or get together with colleagues who need it sooner and help the P4 team develop it.
The more we work together, the faster we get things done! That’s why we created the “Contribute” Jira label on our P4 board. Please, if your office is interested in joining the development of this feature, make a Jira account and comment in the ticket you’d like to pick up.
#4: Idea is developed
Planet 4 and NRO devs work together to develop the stories that build up the feature, coordinating work in sprints, testing, creating and passing User Acceptance Test (UAT). Contributions from Open Sourcers are most welcome, and the submitted code will be reviewed.
#5: P4 release is out with the new feature
The feature passed the UAT? Wow, that’s great co-development and we all contributed to make the web a better place, making a functionality available to all Greenpeace offices and (in some cases) the broader WordPress community.
Last steps are kinda the usual ones: document how to use the functionality, write the release note (both in the Handbook), share the good news with the community, have a drink.
#2: Is the feature on the P4 roadmap? NO. > #3.2: Open Source it or develop it independently!
Sometimes there are features that don’t fit the vision of the product. Luckily, P4 is built in a way that allows offices to have flexibility and develop custom features.
If a feature in the list is not included on the roadmap (tagged: NOT ON THE ROADMAP), NROs can open source it, develop it internally or with other folks and write about this new functionality on the Handbook #Updates or #Case Studies sections. Collaboration across NROs is strongly encouraged, even for features not part of the overall product roadmap!
Here’s the full process again, but if you need help, please reach out and ask!
This post and process was created in tandem by Luca Tiralongo and Laura Hilliger. We’re happy for your feedback.