4 Problems you might have doing open source in your company and how to solve them

North Bridge and Black Duck published last January their 2016 Future of Open Source Survey Results with a lot of interesting conclusions. Maybe the biggest one it’s that Open Source continue gaining force inside the IT business, but its management is chaotic because the lack of  process.

Most common problems related on the survey were:

  • Nearly 50% of companies have not formal policy and process for selecting and approving open source code.
  • One of the major problems of that is security. 47% don’t have a formal process in place to track the code and only 19% of vulnerabilities are detected and fixed automatically.
  • Nearly 1/3 has no process for identifying tracking or solving known open source vulnerabilities.
  • Over 1/2 companies has no responsible to identify and tracking remediation.

Software development as processes you can track

Software development is a process that you can track to have entire visibility of what is being done in a project or the contribution of each team player.

When measuring software development in your company, there are three main purposes to use metrics: check on going work, lead process improvement and motivational aspects.

  • Check on going work: this helps to understand where the development is right now. To be aware of the status helps to understand how fast things are changing when a new process is in the pipeline.
  • Lead process improvement: From a hierarchical way to a flatter way of working, software development needs indicators to help to determine if that process improvement is properly working. And if this is not working, then using another approach or apply other policies.
  • Motivational aspects: metrics can help you to improve meritocracy and transparency in your organization. Metrics will let developers know where they are and how their process is working, but also to have some fun within the work and competitions through challenges, hackathons and other measurable activities that lead to a more community-oriented organizations.

How do we track inner source software projects?

We’ve been developing metrics dashboards and consultancy for 5 years for open source projects. We’ve worked for companies such Red Hat or the Linux Foundation and our work with them is always focus on target and measure their goals.

We use Goal-Question-Metric Approach to establish with our clients which metrics are relevant to track the goals they have set up over the process, the code and the motivational aspects.

When analyzing software development projects, there are several areas that can be analyzed. Traditional analysis are focused on code metrics (code quality analysis), while the activity, community and processes are also key components to take into account. We use tools such Grimoire Lab to track different sources of activity around a project.

We are able to track:

  • Activity: this component focuses on the basics. Any developer when interacting with the infrastructure of the organization leaves traces of activity. From commits to emails, from tickets activity to code review actions. Measuring activity means quantifying the basic traces left by the developers. And when this information is aggregated and calculated over time, it is possible to obtain trends about this type of information.
  • Community: people are key when talking about open source and contribution so we need to measure how people interact with other contributors. Although this is again measured through the traces left by the developers, the analysis proposed are pretty focused on the people and how they build their own social networks. As each developer has her own interests, it is necessary to understand how developers are attracted and retained in a project. What policies are more successful than others when attracting those and who are leaders in the software development process.
  • Process: Process can be defined as the bureaucracy followed by the developers to write a piece of code. When you´re inner sourcing, that is, doing open source styled development at your company, process is quite similar to open source communities where code style, documentation, code review process, continuous integration, design meetings are part of this process. The main difference here is how developers directly interact with other developers, even being from different business units, even been far away geographically. That interaction is the one we need to polish and improve if we want to increase the quality and velocity of the development process.
  • Code: this aspect of the analysis is probably a well known one and there are several tools to do it. Grimoire Lab is focus on the 3 previous aspects. There are usual metrics that determine the complexity of the code, modularity, test coverage, documentation coverage, and others. What we have when measuring this type of metrics is that we can control where our inner source method is leading those metrics. Increases in the code complexity or less test coverage may indicate unexpected behaviors that should be fixed and controlled.

Online dashboards for monitoring

We offer our clients online dashboards with the metrics we’ve established on a consultancy previous process.

With those, we will be able to have almost real time metrics of the code contributions by channel, time lapse to fix an issue, main contributors on code and on mail lists with the time dimension you chose.

Here you have an example from OPNFV project from Linux Foundation. Please, visit it and grab the metrics you want by yourself.

Open Source Software dashboard for tracking

Open source software dashboard for tracking

 

Our book to learn and to start managing inner source projects

We are writing an open book about how to manage inner source at your company.

We can help you with our metric and dashboards. But, In the meanwhile, please, take a sit and enjoy the lecture and if you are going to OSCON, don’t miss our talk there: Are you succeeding when InnerSourcing? Defining a metrics strategy!!!

Lessons learned when tracking OSS projects (and what Inner Source projects can learn)

[Extra material available at the Open Source Leadership Summit talk and its slides in the Bitergia’s Speakerdeck account]

We are all used to open source projects. Concepts such as community, code review process, continuous integration, geographically distributed contributions, community managers, and a whole myriad of terms and collaborative way of working are usual for all of us. And enterprises are learning from this open process. Those are changing the direction of their development models to a more open one within the organization. Initiatives such as the Inner Source Commons where companies such as PayPal or Bloomberg are publicly exposing their case, help others to deal with the usual problems they face.

Continue reading

Dashboard celebrating 25 years of Linux development

To celebrate 25 years of Linux kernel development, we at Bitergia have produced the Linux development history dashboard. This dashboard visualizes the current Linux git repository from two points of view: the history of all commits (changes to the source code) up to now, and the history of all lines in the current version. The dashboard visualizes the main parameters about the development (the who, when and what) are visualized, and allows for drilling down in the data, for example finding the specific commits that lead to a specific part of the code.

linux-dashboard-blame

Do you want to learn about when the lines in the current kernel were authored? Who has participated in specific areas of the kernel? How many files have remain untouched for more than 10 years? Play with the dashboard and find your own interesting details!

The dashboard was produced using only free, open source software tools (among them, GrimoireLab, our tookit for software development analytics). If you want to learn more details, check the slides I intended to use for my presentation at LinuxCon, which unfortunately I couldn’t attend. Those provide some more insight about how it was produced, some examples about how it can be used, and some curiosities found by exploring it.

Continue reading

Getting your project backlog with GrimoireLab. CoreOS use case

One of the first tasks done by a developer during the day is to choose where to go and what to fix. Backlogs are quite useful for this purpose, either using Kanban and directly having a look at the open issues waiting lists project by project as in the case of GitHub, or using any other manual or automated method.

For this engineering focus we have started to produce some panels whose main purpose is to help developers to make decisions. As this is still in its first stages there is room for improvement, but this hopefully shows how powerful this could be. The displayed panel is part of the open analytics panel produced for the CoreOS community.

backlog_panel_coreos

CoreOS Pull Requests / Issues Backlog panel

This panel aims at providing information at three main levels:

Continue reading

Adding Jenkins activity metrics. Early preview

On Monday, June 20th, our colleague Jesús will be in Berlin for OPNFV Design Summit to present The Quantitative State of OPNFV.[Update]: slides available, Jun, 20th, 2016.

OPNFV is one of the open source projects hosted by Linux Foundation and we have been working for them for almost a year, deploying and maintaining a Metrics Grimoire based Bitergia Dashbobard and detailed quarterly reports. But, meanwhile, we have been developing the new GrimoireLab toolkit, so we have some new things to show in Berlin for our OPNFV friends…

OPNFV MetricsGrimoire and GrimoireLab based dashboards

OPNFV MetricsGrimoire and GrimoireLab based dashboards

We have built a GrimoireLab based dashboard for OPNFV, but with some extra goodies!

Continue reading

Turning metrics and insights into relevant information not only for community managers

Bitergia gathers data from almost the entirety of the set of tools associated with collaborative software development, providing useful information, metrics and insights for different profiles.

bitergia-data-sources

It seems that the first person that needs this kind of information is the community manager. But, there are other profiles that can get advantage of tracking projects and understanding the details to answer specific questions.

Which are other profiles that could be interested in metrics, and the information they can get from that data?

Continue reading

OpenStack gender/diversity technical contributions analysis

Since last OpenStack Summit in Tokyo we were wondering at Bitergia if we could mix our knowledge on Software Development Metrics and some research we had done about gender/diversity contributions in Debian long time ago. Daniel started working on it, and he submitted a talk for OpenStack Summit in Austin that got accepted!

Updated: Vídeo and slides already available..

Continue reading