Перейти к содержанию

Measuring

Материал из todogroup.org.ru

Данная страница является адаптированным переводом "Measuring your open source program's success" https://todogroup.org/guides/measuring/

Оценка успешности вашей программы развития открытого ПО

Измерение успеха вашей программы развития открытого ПО Measuring your open source program's success
Руководители программы развития открытого ПО должны демонстрировать окупаемость инвестиций. В данном руководстве представлен обзор некоторых стандартных способов оценки организациями своих программ развития открытого ПО, проектов и своего вклада в открытое ПО. Open source program managers must demonstrate the ROI of their efforts. This guide provides an overview of some of the standard ways that organizations evaluate their open source programs, projects, and contributions.
Узнайте, что измерять, как определять успех и как наилучшим образом использовать эту информацию для продвижения целей вашей программы программы развития открытого ПО, демонстрации её эффективности и получения поддержки. Learn what to measure, how to define success, and how to best use this information to advance your open source program objectives, demonstrate effectiveness, and gain support.



Как определить, что вы достигли успеха?

Как определить успех. How to define success
Прогрессивные организации понимают ценность инвестиций в разработку открытого ПО и постановку целей, связанных с использованием открытого кода или участия в его развитии. Но каждая программа развития открытого ПО определяет успех немного по-своему. Цели, которые вы ставите, и показатели, которые вы отслеживаете, будут различными в зависимости от причин, по которым вы инвестируете в открытый код - будь то привлечение разработчиков, поиск новых идей и технологий с помощью открытых инноваций, ускорение выхода на рынок, снижение затрат на разработку или какая-то из других причин. Smart organizations understand the value of investing in open source development and set goals related to open source use and participation. But every open source program defines success a little differently. The goals you set, and metrics you track, will vary according to the reasons you’re investing in open source – whether it’s to recruit developers, bring in new ideas and technologies through open innovation, achieve faster time to market, lower development costs, or myriad other reasons.
Важно определить цели, соответствующие вашей уникальной стратегии, и заручиться поддержкой руководства, чтобы убедиться, что ваша OpenSource-стратегия соответствует общей бизнес-стратегии. Тем не менее, существуют несколько стандартных способов оценки успешности программы развития открытого ПО, независимо от отрасли, продукта или бизнес-стратегии. К ним относятся:
  • Участие компании во внешних открытых проектах и степень влияния на такие проекты.
  • Репутация организации в сообществе открытого ПО.
  • Способность нанимать и удерживать талантливых разработчиков.
  • Общее состояние собственных открытых проектов и критически важных для бизнеса проектов, в которых участвуют разработчики компании.
  • Насколько хорошо они управляют соблюдением требований лицензий открытого ПО.
It’s important to set goals according to your unique strategy – and seek buy-in from the executive team to ensure that the open source strategy aligns with the overall business strategy. That said, there are some standard ways that open source program managers measure success, regardless of their industry, product, or business strategy. These include:

Their developers’ participation and level of influence in external open source projects Their organization’s reputation in open source communities Their ability to recruit and retain talented developers The general health of the organization’s own open source projects and the business-critical projects its developers contribute to How well they manage open source license compliance

Зачем ставить цели?

Прежде чем мы погрузимся в то, что отслеживает программа развития открытого ПО и как её реализовать, давайте немного поговорим о том, чего вы можете достичь, устанавливая цели и измеряя их достижение. Before we dive into what an open source program tracks and how to do it, let’s talk for a minute about what you can achieve by setting goals and measuring against them.
Прежде всего, отслеживание прогресса в достижении ваших целей позволяет убедиться, что открытые проекты, в которые вы инвестируете (как внешние, так и внутренние) остаются эффективными - отвечают интересам сообщества, хорошо позиционируют компанию и помогают достичь главные цели вашей программы развития открытого ПО.

Regular tracking can help set benchmarks for open source projects and serve as an early warning system that allows for course correction if a project veers off track, falls out of legal compliance, or simply needs to be retired.

First and foremost, tracking progress against your goals helps you make sure the open source projects you’re investing in (whether external or internal) remain healthy – that they are answering to the community, representing the company well, and helping to meet the broader goals of the open source program. Regular tracking can help set benchmarks for open source projects and serve as an early warning system that allows for course correction if a project veers off track, falls out of legal compliance, or simply needs to be retired.
Текст ячейки Careful (and strategic) measurement also makes great fodder for reports to upper management. Regular reporting helps ensure the program stays on track with its goals and the overall business strategy and helps program managers gain internal support for the program among executive leadership (especially if you’re meeting or exceeding those goals!)
Текст ячейки Facebook’s open source program office, for example, periodically posts the month-over-month results from its open source projects internally and sends an executive report to management.
Текст ячейки “Reports are just a good way to raise awareness. Even though Facebook places a high value open source (as an organization), it’s still always a good thing to market yourself internally all the time and show your value.” – Christine Abernathy , Open Source Developer Advocate at Facebook.
Текст ячейки Publishing the results publicly on a regular basis also helps raise awareness of your organization’s open source activities among potential partners, users, and developers.
Текст ячейки Getting the word out about results – the good, the bad, and the ugly – increases your program’s transparency, accountability, and thus credibility, in open source communities. See example open source report cards from Facebook and Google .

Как ставить цели

Текст ячейки Текст ячейки
Текст ячейки It’s OK to have lofty goals for your open source program, but set reasonable expectations for how you will get there and on what kind of timeline. First, it’s helpful just to start measuring to establish a baseline for performance. Set up the right tools for collecting data and make sure the data sources are clean and in a format you (and your manager) can understand. Many organizations create a dashboard of metrics for their open source programs, to track all of the data in one place and provide project snapshots that can help assess progress at a glance. (See our guide on Tools for Managing Open Source Programs.)

Тут картинка


Текст ячейки Next, get all of the open source program managers and stakeholders together – at Facebook, this includes the engineering leads and project maintainers – and decide as a group where you want to go over the next 3-6 months (small, achievable increments). At the end of that time period, look back at how you did and adjust goals and tactics for the next pass, based on the previous pass.
Текст ячейки “I tend to find metrics based on what the community is feeling as pain, and try to change those metrics for the better to improve the community health.” – Sarah Novotny , Kubernetes Community Manager at Google.
Текст ячейки In addition to the baseline performance metrics, here are some more things to consider as you’re setting goals for your program:

Strategy alignment: Do your goals align with core business strategy, product goals, and other internal business goals? Level of control: Do your program managers have direct control over results, or does that live with engineering, legal, or some other function? Set goals that are achievable, within your control. Project variation: Goals can and should vary by project, depending on its purpose, community composition, technology stack, and other variables. For example, Facebook has noticed that its Javascript projects tend to be forked more often. They’ve learned (after many cycles of tracking!) these metrics aren’t necessarily the best indicators of project health for this type of project. Quantity vs. quality: Not all goals should be tied to a number. Process improvements that boost the quality of your projects are just as important, if not more so. Just because you’re hitting all the numbers, doesn’t necessarily mean your projects are healthy. Conversely, a very small project that’s not growing could also be extraordinarily healthy.

Текст ячейки “You could have a half-dozen core contributors and a dozen people who are active but not maintainers, but there are healthy discussions, and pull requests are handled in a short manner, and ponderous feature discussions have a clear beginning, middle, and end. That might be an incredibly healthy community, but it’s not going to have the gazillion stars or forks on GitHub, because it may be a niche project,” Novotny says. “So I tend to look at how the community is interacting with itself, how new leadership is being grown and mentored, and how any pain points are evolving.”

Общие цели

Текст ячейки Common goals
Текст ячейки When it comes to measuring your open source program’s success, it’s tempting to focus on the quantitative metrics for your projects: total number of contributors, lines of code, number of projects, etc. We’ll discuss what to measure to assess your project health in the next section. But first there are many other important ways to measure your program’s success than strictly by these numbers.
Текст ячейки “I think using metrics as a way to inform the trend is good. Using them as the only method of success leads you to trouble.” – Joe Beda , a founding engineer of Kubernetes at Google and Co-founder and CTO at Heptio.
Текст ячейки Kubernetes is one of the highest velocity open source projects on GitHub, attracting more than 80,000 commits from 2,760 developers at 1,181 companies over the last three years. But from the start, the project has managed its success in terms of whether its users were excited about the technology and using it, not by “some list of open source metrics,” Beda said.
Текст ячейки Below are some of the common goals behind an open source program office, and the top ways that program managers measure against these goals to track the overall progress of the program. Some of these goals can’t be measured, per se, but are about improving processes, efficiencies and quality. Others can be measured by conducting surveys or other methods of assessment such as regularly, and actively soliciting verbal or written feedback. (Talk to your team!)
Текст ячейки Goal 1: Ensure the efficient and legally compliant use of open source code.
Текст ячейки This is where organizations typically start when they get involved in open source. They realize engineering is consuming a lot of open source software either in their infrastructure, or in their products and services, or both. A program office helps centralize policies and decision-making around open source consumption, track its use, and ensure the organization doesn’t run afoul of its legal obligations under the various open source licenses. Programs can also keep track of how well they help developers resolve any legal issues they may encounter.


advance - продвижение ensure = убедиться aligns = позволяет regardless = независимо influence = влияние retain = удерживать related = связанные metrics = показатели, параметры according