Page MenuHomePhabricator

Gather and Analyze Information Around Developer Tooling Woes
Closed, ResolvedPublic

Description

The developer satisfaction survey is a good place to start getting a broad idea of what problems developers face, but results may not be detailed enough to hone in on the specific problems faced by both staff and volunteer developers when they work. Conducting interviews or observing developers work could help us gain deeper knowledge about what they feel is most counterproductive about the current developer environment.

The outcome of this task should be collected data, qualitative and/or quantitative analysis, and defined problems to be solved as a result of the analysis.

Event Timeline

jeena triaged this task as Normal priority.Dec 20 2018, 7:56 PM
jeena created this task.
jeena updated the task description. (Show Details)Dec 20 2018, 8:07 PM
jeena added a comment.Jan 17 2019, 8:13 PM

On Jan. 8, I sent an email to the engineering and wikitech-l mailing lists to solicit participants for interviews on their local dev environment.
There was some valid concern on not being able to reach many volunteers in other countries through this method. Thankfully there has some amount of volunteer participation, and I've asked volunteer participants to spread the word to their counterparts. We will continue to keep the volunteer experience in mind in future information gathering steps.
I expect to finish up most interviews by the end of this week and proceed to start the analysis step.

brennen added a subscriber: brennen.Feb 4 2019, 5:29 PM
jeena added a comment.EditedMar 7 2019, 10:41 PM

Analysis was completed and results were posted as well as emailed to engineering and wikitech-l: https://www.mediawiki.org/wiki/Developer_Satisfaction

The following rubric has been created for the local development environment:

DOCUMENTATION
Must have documentation that is easy to access
Must have documentation that is easy to follow
Must have documentation that is up to date
The documentation must define clear standards for developers whenever possible
INSTALLATION
Basic install must be easy for anyone
Should take 30 minutes or less
Should require 5 steps or less
USAGE
The environment must be easy to configure, use, and share
Configuration must have sensible defaults that result in a running environment
Configuration should be in one place
New environment spin-up should take 30 seconds or less
Changs to code should propagate almost instantaneously
Access information should be output to the user
PERFORMANCE
The basic environment should not tax the resources of an average laptop
It should run on 2 CPUs (the minimum requirement for minikube), and 2GB memory
INTEGRATION
The environment should match production more closely
The environment must be docker based
Local test results must be equivalent to CI
The environment must be able to deploy using images built in CI

We have started work on a local dev environment that runs in Kubernetes (https://gerrit.wikimedia.org/g/releng/local-charts/+/refs/heads/master)

jeena closed this task as Resolved.Mon, Jul 15, 4:13 PM