OSEDev: Difference between revisions
Lex Berezhny (talk | contribs) No edit summary |
Lex Berezhny (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
= Status = | = Status = | ||
*Release Log: [[Osedev Log]] | |||
*GitHub: https://github.com/damoti/osedev | |||
*Issues: https://github.com/damoti/osedev/issues | |||
* | = Links = | ||
* | *Website - https://osedev.org | ||
*Login - https://osedev.org/auth/login | |||
*Graphs - https://osedev.org/graphs | |||
*User Profile - https://osedev.org/YOUR-OSEDEV-USERNAME | |||
*Hour Log Widget for Wiki - https://osedev.org/wiki/YOUR-OSEDEV-USERNAME | |||
= | = Use Cases: Public = | ||
== I'm new, how do I start logging my time? == | |||
https://osedev.org/ | # You must be added to osedev.org as an OSE Developer by an admin and you will receive your osedev.org username (usually the same as your wiki username). | ||
# Add widget to your Log wiki page (replace ''YOUR-OSEDEV-USERNAME'' with your actual username): | |||
<nowiki><html><iframe width="700" height="1000" src="https://osedev.org/wiki/YOUR-OSEDEV-USERNAME"></iframe></html></nowiki> | |||
# Start logging your hours. | |||
== I want to download a .csv with all hour entries. == | |||
https://osedev.org/report/ | https://osedev.org/report/everybody.csv | ||
== I want to download a .csv with hour entries for specific user. == | |||
https://osedev.org/report/[any user name here].csv | https://osedev.org/report/[any user name here].csv | ||
Line 25: | Line 34: | ||
https://osedev.org/report/Oliver.csv | https://osedev.org/report/Oliver.csv | ||
== I want to see how osedev.org splits entries by week. == | |||
https://osedev.org/report/logs | |||
=Graphs= | =Graphs= | ||
Line 61: | Line 75: | ||
== Admins == | == Admins == | ||
Line 196: | Line 195: | ||
*Parses person's work log for key outputs of that week, and posts all those results automatically on a weekly Results Log (presented during Team Meetings, as automated Scrum Standup) | *Parses person's work log for key outputs of that week, and posts all those results automatically on a weekly Results Log (presented during Team Meetings, as automated Scrum Standup) | ||
==Documentation Requirements= | ==Documentation Requirements== | ||
*App is fully documented so anyone can manage its subsequent modification (coding level) | *App is fully documented so anyone can manage its subsequent modification (coding level) | ||
*Admin side is documented, including a 1 minute video | *Admin side is documented, including a 1 minute video | ||
*User howto is documented, including a 1 minute video | *User howto is documented, including a 1 minute video | ||
==Other= | ==Other== | ||
===Other Automation== | ===Other Automation=== | ||
*Automates interview calendar | *Automates interview calendar | ||
*Automates badge creation and update | *Automates badge creation and update | ||
Line 210: | Line 209: | ||
*<s>integrates display to wiki with iframe or embed code, and is updated automatically on those pages</s> | *<s>integrates display to wiki with iframe or embed code, and is updated automatically on those pages</s> | ||
==Automation= | ==Automation== | ||
*<s>App should encourage time logging on an ongoing basis, as it provides an automatic week tally.</s> | *<s>App should encourage time logging on an ongoing basis, as it provides an automatic week tally.</s> | ||
*Sends notification - when person did not fill it out | *Sends notification - when person did not fill it out | ||
Line 221: | Line 220: | ||
*Provides a stats dashboard with all contributors like current graph, agraph broken down by each contributor and labeled, a graph of wiki editors, number of wiki articles, number of edits | *Provides a stats dashboard with all contributors like current graph, agraph broken down by each contributor and labeled, a graph of wiki editors, number of wiki articles, number of edits | ||
==Questions= | ==Questions== | ||
*Pull in alalytics from wiki to track overall Number of Editors, Number of Wiki Pages, Machines Documented | *Pull in alalytics from wiki to track overall Number of Editors, Number of Wiki Pages, Machines Documented | ||
*Create a burndown for each project. Burndown goes up to a successful enterprise. '''Would need to know the expected total hours in order to do burndown.''' | *Create a burndown for each project. Burndown goes up to a successful enterprise. '''Would need to know the expected total hours in order to do burndown.''' | ||
Line 229: | Line 228: | ||
==Other= | ==Other== | ||
===Content Feed== | ===Content Feed=== | ||
*Has auto feed from contributor logs to a single wiki page gallery,where Devs mark up their wiki for inclusion into weekly Results Gallery | *Has auto feed from contributor logs to a single wiki page gallery,where Devs mark up their wiki for inclusion into weekly Results Gallery | ||
*Results Gallery wiki page feed happens automatically, with new wiki pages created automatically | *Results Gallery wiki page feed happens automatically, with new wiki pages created automatically | ||
===Good Standing Algorithm== | ===Good Standing Algorithm=== | ||
*65% is our absolute minimum cutoff | *65% is our absolute minimum cutoff | ||
*If 65% cutoff is not attained over a month duration, Dev is removed from Dev status and asked to rejoin if their time frees up | *If 65% cutoff is not attained over a month duration, Dev is removed from Dev status and asked to rejoin if their time frees up | ||
*Regular Track is defined as someone who just participates | *Regular Track is defined as someone who just participates | ||
*Advanced Track is defined. This means that a certain person is preparing for running workshops. This includes building a machine and then committing 2 weeks on site for a [[Dedicated Project Visit]]. | *Advanced Track is defined. This means that a certain person is preparing for running workshops. This includes building a machine and then committing 2 weeks on site for a [[Dedicated Project Visit]]. |
Revision as of 05:13, 29 September 2017
OSEDev aims to be an online community hub for OSE Developers facilitating project management, onboarding, tracking level of effort, analytics, profile/badges and generally aid in getting work done.
Status
- Release Log: Osedev Log
- GitHub: https://github.com/damoti/osedev
- Issues: https://github.com/damoti/osedev/issues
Links
- Website - https://osedev.org
- Login - https://osedev.org/auth/login
- Graphs - https://osedev.org/graphs
- User Profile - https://osedev.org/YOUR-OSEDEV-USERNAME
- Hour Log Widget for Wiki - https://osedev.org/wiki/YOUR-OSEDEV-USERNAME
Use Cases: Public
I'm new, how do I start logging my time?
- You must be added to osedev.org as an OSE Developer by an admin and you will receive your osedev.org username (usually the same as your wiki username).
- Add widget to your Log wiki page (replace YOUR-OSEDEV-USERNAME with your actual username):
<html><iframe width="700" height="1000" src="https://osedev.org/wiki/YOUR-OSEDEV-USERNAME"></iframe></html>
- Start logging your hours.
I want to download a .csv with all hour entries.
https://osedev.org/report/everybody.csv
I want to download a .csv with hour entries for specific user.
https://osedev.org/report/[any user name here].csv
The User name is the same user name as the wiki user name.
https://osedev.org/report/Oliver.csv
I want to see how osedev.org splits entries by week.
https://osedev.org/report/logs
Graphs
View graphs:
Embed graphs:
you can now provide a custom height for any graph:
https://osedev.org/graph/weekly/user/?height=600
If you want to both specify a height and a start date then you must separate the parameters with ampersand, so:
https://osedev.org/graph/weekly/total/?start=2/1/2017&height=600
Embed Timesheet
Old Timesheet Hours
Links
- Emails parsing for osedev.org - see Emails.
Admins
- Website - https://osedev.org/admin/
- Login - https://osedev.org/admin/login
- Users - for contributor transparency - the Dev should be listed under their name as it appears on their official log - such as Emmanouil Log, Michael Log, Marcin Log, etc. In the log naming convention, first name is used when it is unique, but as soon as there are multiples of that first name, the last name is used. See Log Naming Convention.
Fixing Log Entries
- Go to logs page: https://osedev.org/admin/notebook/entry/
- Find log entry that needs correction.
- Click on log entry, make change and save.
- Done.
Adding Users
- Go to add user page: https://osedev.org/admin/user/user/add/
- Enter username and email.
- Click Save and your are done.
- Add to users wiki Log page: <html><iframe width="700" height="1000" src="https://osedev.org/wiki/OSEDEV_USER_NAME"></iframe></html>
Reports
- https://osedev.org/report/everybody.csv
- https://osedev.org/report/marcin.csv
- https://osedev.org/report/OSEDEV_USER_NAME.csv
Graphs
- https://osedev.org/graph/weekly/user/
- https://osedev.org/graph/monthly/user/
- https://osedev.org/graph/yearly/user/
- https://osedev.org/graph/weekly/user/marcin
- https://osedev.org/graph/monthly/user/marcin
- https://osedev.org/graph/yearly/user/marcin
- https://osedev.org/graph/weekly/user/OSEDEV_USER_NAME
- https://osedev.org/graph/monthly/user/OSEDEV_USER_NAME
- https://osedev.org/graph/yearly/user/OSEDEV_USER_NAME
- https://osedev.org/graph/weekly/total/
- https://osedev.org/graph/monthly/total/
- https://osedev.org/graph/yearly/total/
Overview
Premise
Scaling OSE into a global effort will require on-boarding more and more contributors. The following challenges and needs are present:
- Scaling technically, socially and organizationally.
- Aligning contributor efforts and available resources with completing tasks and accomplishing the mission.
- Interact with like minded individuals, collaborate, work, support others and be supported.
- Feel appreciated, integrated and accountable.
Features
Finished / Planned
- Time Tracking: Live.
- Developer Profile: In-Progress.
Proposed
- Map of contributors
- Task Tracking, something like scrumy but more customized for OSE workflow.
- Integrated video conferencing: with database of tasks and active developers it would be ideal to have one screen with a video conference, task creator and task assignment.
- Sponsor an OSE Developer: With browsable OSE Developer profiles and ability to see effort and progress per volunteer, the next logical step would be to allow outsiders to sponsor a particular developer. Could be monetary donations, tools, lodging, travel, etc (whatever makes sense for a particular volunteer and their situation). This can either be structured and have OSE management be involved or a direct collaboration between volunteer and donor. Something like patreon.com but with very deep integration with OSE needs, processes and workflows. This is different from organizational level fund raising in that ose developers would be encouraged to contribute more and high quality work in order to attract a sponsor, they can also advertise their OSEDev profile page themselves in other mediums.
Rollout Sequence
Phase 1
- Login is same as wiki (if someone is logged in, they can edit their hours)
- Contributors Input hours spent on tasks at any time, or all at once, through an inerface embeddable in the wiki
- Generates hours graph equivalent of Volunteer_Timesheet#Contributor_Graph (sum of all contributors' hours, number of contributors). This is an overall graph over all of time since 2017.
Phase 2
- Generates the same contributor graph with hours broken down by every contributor (many contributors on same graph, contributor labeled by color and name
- Back end is editable to correct any errors in inputs
- Generates embeddable Contributor Graph (wiki, wordpress). This graph is a sum of all contributions
- Validates input (so it's a number)
- Generates graph by a single contributor for the last 90 days
- Generates overall graph by contributor (over all of their time), with x axis time, and hours on y graph
- Generates embed code for each contributor graph (to paste in Work Log)
- Allows anyone to see a log of all contributions, and log of contributions by person. Log includes what task was done
- Graphs the number of wiki editors (is this possible?) this requires osedev.org and the wiki to be running in the same infrastructure
Phase 3
- Emails follow up with 90 day cycle completion, and follow up with a mid-point survey.
- Integrates with phpList so Developees List can be used for dev team emails as needed
- Adds and removes emails from active Dev List automatically if people leave the team
Contains emails of all contributors- Automatic send of welcome email (to be written up)
- Automatic followup email if 2 weeks pass after Video Cover Letter, to see where a person is.
- Automatic followup email for people to create work log if they don't do so by 2 days.
- Automatic send of regret letter (for devs let go, or for applicants who do not create a work log)
- Note that work log documents at which point people get stuck - for quality improvement purposes where OSE learns what of its procedures are adequate/clear
- Sends auto emails if logging has not occurred for 7 days (email to be written)
- Sends warning emails if a person is below 6.5 hours per week
- Sends auto email warning if 4 week average is trending below 6.5
- Kicks people off the team if 4 week average is below 6.5. This must be approved by HR admin.
Advanced
- Parses person's work log for key outputs of that week, and posts all those results automatically on a weekly Results Log (presented during Team Meetings, as automated Scrum Standup)
Documentation Requirements
- App is fully documented so anyone can manage its subsequent modification (coding level)
- Admin side is documented, including a 1 minute video
- User howto is documented, including a 1 minute video
Other
Other Automation
- Automates interview calendar
- Automates badge creation and update
- Automates sticker sending + swag sending
Integrates with main website (WordPress) for automatic display via simple iframe or embed codeintegrates display to wiki with iframe or embed code, and is updated automatically on those pages
Automation
App should encourage time logging on an ongoing basis, as it provides an automatic week tally.- Sends notification - when person did not fill it out
- Sends notification to Developer if they are not filling their commitment at the absolute minimum level (6.5)
- Boots people off if they don't meet their average absolute minimum after 1 month
- Rewards with an Outstanding Badge for meeting 90% of their quota after 3 months
Produces the graph that we use currently on an ongoing basis- Graphs the number of wiki editors on an ongoing basis
Graphs the total size of the dev team at one point- Provides a stats dashboard with all contributors like current graph, agraph broken down by each contributor and labeled, a graph of wiki editors, number of wiki articles, number of edits
Questions
- Pull in alalytics from wiki to track overall Number of Editors, Number of Wiki Pages, Machines Documented
- Create a burndown for each project. Burndown goes up to a successful enterprise. Would need to know the expected total hours in order to do burndown.
- Can app talk to Piwik? Probably yes.
- Can app query Mediawiki database? this requires osedev.org and the wiki to be running in the same infrastructure
- Can app query Wordpress database? this requires osedev.org and the wiki to be running in the same infrastructure
Other
Content Feed
- Has auto feed from contributor logs to a single wiki page gallery,where Devs mark up their wiki for inclusion into weekly Results Gallery
- Results Gallery wiki page feed happens automatically, with new wiki pages created automatically
Good Standing Algorithm
- 65% is our absolute minimum cutoff
- If 65% cutoff is not attained over a month duration, Dev is removed from Dev status and asked to rejoin if their time frees up
- Regular Track is defined as someone who just participates
- Advanced Track is defined. This means that a certain person is preparing for running workshops. This includes building a machine and then committing 2 weeks on site for a Dedicated Project Visit.