3 ms·
A way to tackle this further is to use an analytics tool like CodeScene. You link it with your repo and it shows you what people have knowledge across which par
by yreg 6y ago
A way to tackle this further is to use an analytics tool like CodeScene. You link it with your repo and it shows you what people have knowledge across which parts of code[0].
Then you can identify parts that share too few contributors and encourage people to work on them together. You might also find parts where the knowledge is already lost, since everyone who worked on it already left the company. In that case some team can volunteer to take ownership of the code and take time to make some sense of it.
Of course, easier said than done.
[0] https://codescene.io/projects/167/jobs/55946/results/social/knowledge/individuals https://codescene.io/projects/167/jobs/55946/results/social/...
- daemin 6y agoThat kind of looks useful, would be nice if it handled Perforce and could be installed on private servers. Don't think the company would want to release all the code publicly.
- yreg 6y agoAre you sure it couldn't be installed locally? My client is a bank with private GitHub servers, so I assume their codescene is self hosted as well. edit: Yep, there is an on-premise option: https://codescene.com/pricing/ https://codescene.com/pricing/
- nephrenka 6y agoYes, there's an on-prem version of CodeScene that can be run on private servers. The latest release is described here: https://codescene.com/blog/architectural-analyses-simplified-and-growing-programming-language-support/ https://codescene.com/blog/architectural-analyses-simplified... To analyse Perforce, you setup an automated conversion to a read-only Git repo that you then point the analysis to.
- corytheboyd 6y agoFully support those who want to use these tools, just don’t forget they are not a crutch. You can still write hard to work with code and know exactly who the SME is. That doesn’t make the code less difficult to work with, less error prone to change. That can only be solved by design and enforced through discipline.
- yreg 6y agoAbsolutely. This only helps to nerf the knowledge loss from teammates leaving the project, nothing more.
- Jugurtha 6y agoAnd nerf knowledge loss from ourselves after a couple of [weeks/months/years].
- nephrenka 6y agoFully agree! That's why I recommend to monitor the code health trends continuously -- the earlier we can catch any potential issues, the better: https://codescene.io/projects/167/jobs/55946/results/warnings/code-health-degradation https://codescene.io/projects/167/jobs/55946/results/warning... We have these code health trends supervised as part of our pull requests and use them as (soft) quality gates. [1] [1] https://codescene.com/blog/measure-code-health-of-your-codebase/ https://codescene.com/blog/measure-code-health-of-your-codeb...