UPDATE 08/06
See post #11.
Hi Mozillians :) , my mentor Michael and I were discussing about a possible new tool to help managing Objectives and Key Results within the community ; right I mean [OKR](https://en.wikipedia.org/wiki/OKR).
Reps has a remo portal where we can list our actions and helps mentors and others monitoring what’s going on. Most of the time we are all aware about main projects but sometimes it’s hard to know what is going within specific regional communities. And the remo portal sometimes doesn’t help to know what are individual objectives for the next few months or how you succeed to fulfil them.
So yesterday, I spent very few hours to design a basic structure of a managing tool called “Okra”, here is the git repo. The aim of Okra (to quote myself) is “to help people managing their own time with more efficiency connecting with each other, still freely.” Indeed there is a bunch of OKR managing tools but they are not free and sometimes too much complicated for our simple need.
Okra Concept
Okra concept is to offer a “Galaxy Map” where people could see their interactions within a team or community as such as a Solar System. By clicking on a system or an individual, we get a profile with her/his defined OKR. It’s the “fancy part”.
http://okra.popzelife.me/media/galaxy-map.png
But the most important feature for sure is how to manage OKR. Objectives are divided into Quarters that all represent a year, within these quarters there are timelines. Timelines do not really divide the Quarter into equal time or either are linear. Actually they represent a main objective like “something awesome to do” (hey it’s how OKR works). And theses objectives are defined by Keys: more specific objectives or actions. It means within a Quarter you can add as many “Timelines” and “Keys” as you want or need. You can only have one timeline and many keys, or many timelines and one key within.
So to monitor how your Objectives are fulfil within Keys, I want to implement a feature where you add tasks to tick or how many time you need it to be done, eg: “56 / 80 translation made during three months”. Keys and Timelines need to be public but tasks within are privates to others. OKR only needs to be a general overview of someone goal within a community.
http://okra.popzelife.me/media/mockup-okr.png
And at the end of the Quarter by checking how many tasks you’ve done out of the number you entered at the beginning of the Quarter, it gives you a score. Imagine that you have 3 keys, you succeeded the Key 1 by 80% (it’s more than 65% you got a green tick), Key 2 is only done at 15% (it’s below 35%, you have a red cross) and Key 3 is half done at 55% (it’s between 35% and 65%, you got a orange circle). You score your month at 0.58 (well not really but it’s the example given on my image). Do not worry if you have such a middle score - OKRs need to be ambitious and a good score is something between 0.55 and 0.65. Below means either your OKRs were too difficult or you didn’t do enough ; upper means your OKRs were to easy and not enough ambitious. It’s even better to score a 0.35 with very ambitious OKR than a high score at all.
Wait I don’t like competition and comparing myself ?!
Well, if you think OKR is a way to track your work within the community it’s wrong. OKR are individuals and made for you. It only intents to help you better managing your OWN objectives and results within a community you love to volonteer for. Plus score doesn’t mean anything at all. There is something to debate here.
Okra should also answers some old underground issues where people think Reps weren’t enough aware of some regional community activities. Even with the Reps portal it’s sometime hard to track activities within the communities. Plus with a galaxy system, people could see what is the main goal of their communities. By the way community OKRs are meant to be a little bit different.
And for sure Okra is intended to be an optional tool.
Developing Okra
This tool is first aimed at the Mozillian community (not just the reps) but I also want small teams or anyone to be able to use Okra for free (I will see later how to succeed to provide a complete free tool easy to use). I engage myself to provide a working alpha tool before the next month (very ambitious but let’s consider it as an OKR sample). Still there is a lot of questions to debate.
- So I would like to know your feeling about such a tool? Do you think about a better workaround?
- If you think it’s interesting enough for the community?
- Which technology, coding libraries, do you prefer to get an open source tool? Privacy issue…
- How to provide a free tool accessible for everyone but at a low cost for web hosting? Considering previous point.
By the way, there are already some existing projects on github about OKR but too small or without a single readme. So I better prefer to start from scratch. Plus the first version of Okra is not intended to be that fancy for now.
I’m more confortable with C++ coding and know how to use Qt, to create an app. I could try to work with SDL to get a full open source app and faking Signal Slot system used by Qt (meaning it could take more than a single month to do). And I can manage a web page with server queries. Reminder git repo here.
For now, I would like to try a beta preview with C++ Qt and try after an export on Android. I will use my own website, server to get working online features.
Let’s debate, I’m all ears
Mozilla Metrics
Considering these topics: Meta Working Group: Improve the Reps Portal for recognition and Brainstorming - How should reporting look like?.
Mozilla metrics can be linked to Okra so an objective set in Okra has a type that correspond to an activity, area or initiative in Reps portal. Any people working on the same field could be linked and the Galaxy Map (feature) can be designed to show different interactions and linked between people according to the option set: per regions, per team, per alike activities… quite the same as how Reps Metrics works.
But with Okra we should also be able to see Mozillians connected to these reps activities, since the web app not only focus on Reps but all Mozillians. The web app can link a Mozillian to a Rep, not just because they belong to the same team in mozillians.org and reps.mozilla.org but because they have currently the same objectives.
Going further in the concept, achieving a key or a task and finishing a quarter should create an automatic report for Reps. A notification will be send to you, so you can accept to create this report/event on the reps portal (or not). Mozillians would have the same kind of reports but internally with Okra, and we can imagine at the certain amount of succeeded keys in a specific areas, we earn a badge: still alike Mozilla Open Badges.
A special API could communicate with the Reps Portal (and Mozillians one ?) to check if there are new area, activities and field of interest. I think the Reps Council should easily be able to add specific Mozilla events or special programs each new quarter or month to correspond to limited in time community needs (feature for Reps Next and MWG).
Project Updates
UPDATE 08/06
See post #11.
UPDATE 24/05
Git repo updated with 1 new branche:
- mockup: web app mockup improved,
live example [here]
UPDATE 21/05
Git repo updated with 3 new branches:
- html-public: the framework for the user-interface (the web page)
- sql-setting: adding the database with its tables
- php-classes: the upcoming classes to interact between the server and the web page