├── README.md ├── community-items.md ├── documentation-items.md ├── outcome-items.md └── writing-and-shipping-code-items.md /README.md: -------------------------------------------------------------------------------- 1 | # State of the Octoverse 2021 survey items 2 | Survey questions from State of the Octoverse 2021 3 | 4 | * [Outcome items](/outcome-items.md) 5 | * [Writing and shipping code items](/writing-and-shipping-code-items.md) 6 | * [Documentation items](/documentation-items.md) 7 | * [Community items](/community-items.md) -------------------------------------------------------------------------------- /community-items.md: -------------------------------------------------------------------------------- 1 | # Community items 2 | 3 | * [Mentorship available](#mentorship-available) 4 | * [Clear governance](#clear-governance) 5 | * [Community demonstrates trust and respect](#community-demonstrates-trust-and-respect) 6 | 7 | ## Mentorship available 8 | | Survey item | 9 | |---| 10 | | People are interested in mentoring others | 11 | | People who want mentorship can get it | 12 | | My team/project explicitly offers mentorship to new contributors or new hires | 13 | | New contributors or new hires receive friendly code reviews | 14 | | New contributors or new hires receive timely code reviews | 15 | 16 | ## Clear governance 17 | | Survey item | 18 | |---| 19 | | Who has the authority to perform certain tasks (like making commits) | 20 | | Who has influence over decisions | 21 | | How to gain authority, influence, or rank | 22 | 23 | ## Community demonstrates trust and respect 24 | | Survey item | 25 | |---| 26 | | I understand what the intended purpose of my work is | 27 | | My team allows me to make my own decisions about managing my time | 28 | | My team allows me to use my personal judgement in carrying out my work | -------------------------------------------------------------------------------- /documentation-items.md: -------------------------------------------------------------------------------- 1 | # Documentation items 2 | 3 | * [Share knowledge](#share-knowledge) 4 | * [Source knowledge](#source-knowledge) 5 | * [Clear documentation available](#clear-documentation-available) 6 | * [Clear information search](#clear-information-search) 7 | 8 | ## Share knowledge 9 | | Survey item | 10 | |---| 11 | | I share knowledge and expertise publicly in forums and message boards (e.g., StackOverflow, HackerNews, GitHub Discussions) | 12 | | I am a regular contributor to official team or project/org documentation | 13 | | I edit and improve existing documentation for projects | 14 | | I share knowledge and expertise publicly using videos (e.g., YouTube, TikTok, etc. | 15 | ## Source knowledge 16 | | Survey item | 17 | |---| 18 | | I look for a timestamp or other way to know that I am reading the most up-to-date info| 19 | | I judge the validity or usefulness of information by the number of upvotes it has| 20 | | Detailed documentation plays a critical role in my work| 21 | | I follow tutorials to learn how to apply a concept to my own work| 22 | | I want to know best practices for working with a tool or product| 23 | | I prefer to use videos or vlogs (like YouTube or TikTok) to learn about new ideas or solve problems| 24 | | I prefer forums (like StackOverflow, HackerNews, or GitHub Discussions) to learn about new ideas or solve problems| 25 | ## Clear documentation available 26 | | Survey item | 27 | |---| 28 | | Documentation is easy to read for people outside the project or team| 29 | | Documenation makes dependencies clear| 30 | | Comments describe how each part of the code works| 31 | 32 | ## Clear information search 33 | | Survey item | 34 | |---| 35 | | New contributors or new hires can easily find solutions | 36 | | It is obvious where to go for help | 37 | | It is obvious where to ask questions | -------------------------------------------------------------------------------- /outcome-items.md: -------------------------------------------------------------------------------- 1 | # Outcome items 2 | 3 | * [Hybrid/Remote work](#hybridremote-work) 4 | * [Software delivery performance](#software-delivery-performance) 5 | * [Collaborate with others](#collaborate-with-others) 6 | * [Empowered to work](#empowered-to-work) 7 | * [Make progress](#make-progress) 8 | * [Feel fulfilled](#feel-fulfilled) 9 | * [Identify with the team/community and its mission](#identify-with-the-teamcommunity-and-its-mission) 10 | 11 | ## Hybrid/Remote work 12 | | Survey item | 13 | |---| 14 | | Before the pandemic, I typically worked with others: | 15 | | After the pandemic, I expect to work with others:| 16 | 17 | ## Westrum 18 | | Survey item| 19 | |---| 20 | | On my team, conflicts are resolved quickly| 21 | | On my team, information is actively sought| 22 | | On my team, responsibilities are shared| 23 | | On my team, cross-functional collaboration is encouraged and rewarded | 24 | | On my team, failure causes productive inquiry | 25 | | On my team, new ideas are welcomed | 26 | ## Software delivery performance [^DORA] 27 | | Survey item | 28 | |---| 29 | | For the primary application or service you work on, what is your lead time for changes (that is, how long does it take to go from code committed to code successfully running in production)? | 30 | | For the primary application or service you work on, how often does your organization deploy code to production or release it to end users? | 31 | | For the primary application or service you work on, what percentage of changes to production or releases to users result in degraded service (for example, lead to service impairment or service outage) and subsequently require remediation (for example, require a hotfix, rollback, fix forward, patch)? [^2] | 32 | | For the primary application or service you work on, how long does it generally take to restore service when a service incident or a defect that impacts users occurs (for example, unplanned outage, service impairment)? | 33 | ## Collaborate with others 34 | | Survey item| 35 | |---| 36 | | I work with other people | 37 | | I help other people | 38 | | On an average workday, I have meetings: | 39 | | I have the tools I need to do my job| 40 | ## Empowered to work 41 | | Survey item| 42 | |---| 43 | | My team allows me to make my own decisions about managing my time | 44 | | My team allows me to use my personal judgement in carrying out my work | 45 | | I understand what the intended purpose of my work is | 46 | ## Make progress 47 | | Survey item | 48 | |---| 49 | | I do a lot of work | 50 | | I make progress toward my goals | 51 | | I do high-quality work | 52 | ## Feel fulfilled 53 | | Survey item| 54 | |---| 55 | | I feel happy when I am working on software | 56 | | I feel worthwhile when I am working on software projects | 57 | | Software development is satisfying to me | 58 | | I feel empowered when dealing with difficult problems in my team | 59 | | Doing development at work or in my open source projects is meaningful to me | 60 | | When I write code or work with my taem, I feel like I'm making valuable contributions | 61 | ## Identify with the team/community and its mission 62 | |Survey item| 63 | |---| 64 | | Working on my team or on my projects is meaningful to me | 65 | | I feel a strong sense of belonging to this team / on project| 66 | | I identify with the mission and purpose of my team or project| 67 | | I care about the future of my team or project| 68 | | I identify strongly with my organization / open source project| 69 | | My contributions are valued in my organization/open source project/the developer community| 70 | 71 | [^DORA]: We thank the DORA team for developing the measures used in the software delivery performance section of this survey 72 | [^2]: This item didn’t load, which is typical for the DORA measures when used in constructs, which is consistent with prior research, see Accelerate 2018 and prior SODRs. All four measures are still predictive when used in a clustering classifier, see [2021 State of DevOps Report](https://cloud.google.com/devops/state-of-devops) (registration required) -------------------------------------------------------------------------------- /writing-and-shipping-code-items.md: -------------------------------------------------------------------------------- 1 | # Writing and shipping code items 2 | 3 | * [Detailed code reviews](#detailed-code-reviews) 4 | * [Easy to reuse code](#easy-to-reuse-code) 5 | * [Clear contribution and support](#clear-contribution-and-support) 6 | * [Code designed for reuse](#code-designed-for-reuse) 7 | * [Use automation to ship code](#use-automation-to-ship-code) 8 | 9 | ## Detailed code reviews 10 | | Survey item| 11 | |---| 12 | | Pull requests /merge requests include descriptions about why the change is needed | 13 | | Pull requests /merge requests describe how the change addresses the need | 14 | | Code reviews improve the quality of our codebase | 15 | | Our team has a culture of delivering positive, helpful feedback through code review | 16 | | I enjoy my team's code review process | 17 | | In my team, organization, or project, most code reviews are typically completed by: | 18 | 19 | ## Easy to reuse code 20 | | Survey item | 21 | |---| 22 | | I would like to use or continue to use code or libraries from outside my team or repository | 23 | | I currently use code or libraries from outside my team or repository| 24 | 25 | ## Clear contribution and support 26 | | Survey item | 27 | |---| 28 | | I know how to submit pull requests (e.g. there are contribution guidelines) | 29 | | Contributions get attention quickly | 30 | | They use common toolchains and communication channels | 31 | | I can tell whether other projects' code will be supported in the future| 32 | | I know how to submit issues or feature requests | 33 | | I can reuse individual code components | 34 | 35 | ## Code designed for reuse 36 | | Survey items | 37 | |---| 38 | | Accept pull requests from people outside the project or team| 39 | | Respond to pull requests or issues from people outside the project or team quickly | 40 | | Describe whether the code will be supported in the future | 41 | | Design documentation to make dependencies clear | 42 | | Write comments that describe how each part of the code work | 43 | | Modularize code so that people can reuse individual | 44 | 45 | ## Use automation to ship code 46 | | Survey item | 47 | |---| 48 | | Are confident tests will pass | 49 | | We run automated builds and automated tests against the builds when our code changes | 50 | | We release new code through automated pipelines | 51 | | Bugs and defects are captured by automated tests | 52 | | Our bug finding process is efficient and effective | 53 | | We continuously merge code changes into the main branch as often as possible | 54 | | If a build fails, we prioritize troubleshooting the | --------------------------------------------------------------------------------