I've noticed this correlation, but I'm not sure if it's just coincidence or if others have noticed this as well?

  • 2
    Can also be that there's no funding or not sufficient resources. Or dimply that the product is mature – Christophe Oct 30 '17 at 18:11
  • 1
    Stable, robust code needs no modifications. This is a good thing. But the slow pace of commits could also be from the fact that everyone is afraid to touch the code due to fragility. – Frank Hileman Oct 30 '17 at 18:45
  • 1
    How have you noticed this correlation? – Robert Harvey Oct 30 '17 at 19:34
  • 1
    In my own experience, Happiness with code ∝ commit pace – Carbon Oct 30 '17 at 19:45
  • You don't say if this is during development or maintenance and what type of tasks are being worked on. IME, during development there's usually a flurry of commits early on as the framework and low hanging fruit is completed. Then things slow down as people actually have a working system that they can verify their code against. Just prior to delivery there's another flurry as the low-priority bugs are taken care of. During maintenance is when the technical debt starts piling up as that's when 'new' developers start hacking in their fixes. If that starts slowing then it is most likely code debt. – Dunk Oct 31 '17 at 18:20

Necessarily? No. There are plenty of other factors that can slow the pace. Buildup of technical debt is a possibility, though.

Something else to consider is the size of the commits that are being made, both in terms of lines of code and also number of files touched. If the commits have been getting generally larger, that could be a likely sign that technical debt is one of the causes - for example, a "simple" change will require more changes throughout the project in a highly-coupled architecture than in a more loosely-coupled one.

It's also worth looking at the obligations your team is taking on. If you are moving from a system entirely in development to a system in production, many people who have mostly been writing code might now be tied up in fixing deployment issues instead.

  • Loose coupling has no intrinsic value. Loose coupling may make it harder to determine the changes needed, however. – Frank Hileman Oct 31 '17 at 1:19
  • @FrankHileman Uh, run that by us again? Since when does making sure that code that shouldn't have dependencies with one another not have intrinsic value, like for example in trying to make changes to an existing code base.... Also if two structures aren't coupled, the lack of coupling isn't going to make it harder to determine changes because only one structure needs to be changed ie they aren't coupled. – opa Oct 31 '17 at 12:48
  • 1
    Loose coupling serves a specific purpose: when it is used, it should be needed at that time, or in the near future. Adding it with no purpose simply adds complexity for no purpose. There is no limit to the amount of loose coupling we can add. The simplest way to make everything loosely coupled is to use an interpreted, weakly typed language. There is a reason we don't use those as often. – Frank Hileman Nov 1 '17 at 17:17
  • @FrankHileman sounds like a good question for software engineering. Personally I do agree with your view even if it isn’t the norm. – Archimedes Trajano Nov 5 '17 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.