People analytics in Software Development – Leif Singer

Collaboration through machine is hard! We used to be able to learn from each other by watching them work, but that is harder now since everyone is occupied with their own work.

You want to be able to answer questions like: what is Harry doing, when will this one feature be done etc.? There are separate tools you can use, like GitHub, Google calendar, Slack, and this leaves a huge amount of data, especially in the case of remote work. This is a huge opportunity for data analysis, that Leif calls: people analytics.

You can start with simply tracking metrics like the numger of git commits, but it get even more interesting when you can get to actionable insights. For example CARES[1], a Visual Studio extension that displays a list of developers that have previously committed changes to a given file.

2015-08-24 17.14.40

CARES

We can go beyond just showing, we could, for example see that Dave and Bill are working on a file together, but they never chat. What would be going on there?

There have been a few cool initiatives along these lines like CodeAlike and Codacity “fitbit for developers”.

Yes, people analytics feels like a buzzword, but it is useful to unite people doing similar things. Leif says it differs from research lines like MSR, because the user/person is central and not the artefact.

The three C’s Communication, coordination & collaboration 

Leif talks about the awesome study by Lavalee et al. that distilled 10 organizational factors that hurt the overall quality of the software. Several of them are related to communication between developers themselves or between developers and business stakeholders — such as undue pressure from management delivered through informal channels, differences between the formal and the actual processes, or needing the right social capital to be able to get work done.

As more and more recruiters and peers look at open source profiles and metrics, developers get more aware of this and sometimes even think about managing their personal ‘brand’.[2] In another study [3] Leif found you can “nudge” inexperienced developers towards expected behavior, by making guidelines and setting the right example. Finally, Leif looked at Twitter users [4] that stated that they use Twitter to follow thought leaders and stay aware of practices and technologies. 2015-08-24 17.37.20

And also, maybe most importantly, Twitter helps people learn things they weren’t actively looked for.

2015-08-24 17.41.09

Again, here the ‘brand’ management happens:

2015-08-24 17.42.16

But, there are challenges too, like selecting relevant accounts to follow and to manage information overload.

More from Leif? I also live blogged his PhD defense.

 

1. A. Guzzi and A. Begel. Facilitating communication between engineers with
CARES. In Proceedings of the 2012 International Conference on Software Engineering, ICSE 2012, pages 1367–1370, Piscataway, NJ, USA, 2012. IEEE Press

2. M.-A. Storey, L. Singer, B. Cleary, F. Figueira Filho, and A. Zagalsky. The (r)evolution of social media in software engineering. In Proceedings of the on Future of Software Engineering, FOSE 2014, pages 100–116, New York, NY, USA, 2014. ACM.

3.  R. Pham, L. Singer, O. Liskin, F. Figueira Filho, and K. Schneider. Creating a shared understanding of testing culture on a social coding site. In Proc. Int. Conf. on Soft. Eng., ICSE ’13, pages 112–121, 2013.

4. L. Singer, F. Figueira Filho, and M.-A. Storey. Software engineering at the speed of light: How developers stay current using twitter. In Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, pages 211–221, New York, NY, USA, 2014. ACM.