Hi, there is any tool or scripts who can help me to generate stats about users work? I need graphs about user push, changes in code (ammount of code lines), maybe size of project too, etc. per days, weeks, months.
Perhaps a tool like https://github.com/ejwa/gitinspector may be of use, but I caution against using this to measure any sort of productivity from developers.
Why not? We need some tool to measure productivity. Is there anything better than stats about lines of code, changes, pushes etc?
If you measure by lines of code or pushes then that is what developers will optimize for. Your developers could just push a feature one line at a time, or make the feature 10x as much lines as needed resulting in poor code.
I sadly can’t tell you the best way of “measuring productivity”, but can only warn against it, as developers are more than just “lines of code” they need time to think about best way of doing things, or perhaps the best way is to remove lines of code. Maybe some functionality you need could take months to plan, but is implemented in not many lines of code, by your measure of pushes/LOC they would be considered “not productive”, but the result they provide would still be just as valuable as other developers.
You need to take a holistic approach to each developer to see if they are meeting their commitments, and it needs to be a back and forth conversation between both parties, and individualized per developer. “Developer Productivity” is not a one size fits all.
Note that even Tom DeMarco, famous for the quote ‘You can’t control what you don’t measure’, seems to have recanted this. I’m having trouble finding the article where he gets into this, as it seems to have moved from its original location, but Google “Tom DeMarco recants” and you’ll find plenty of discussion on it. So, while his book 'Controlling Software Projects" seems to be by the wayside, I’d still recommend getting hold of and reading the books ‘Peopleware’ and ‘Slack’.