Remember to timesheet your "fixing dependencies" time

Published in Web development on 11th March 2022

In the good old days, back in my day, etc, most websites were just hand coded HTML files (i.e. just a standalone text file). Then there was this craaaazy Cascading Style Sheets witchcraft which added another type of file (i.e. just a standalone text file). Then JavaScript started to be used for small interactions (i.e. but still just a standalone text file).

You may have noticed the theme running through all of the above file types; they're all standalone text files. Just link them up in your HTML file and upload to your web server and all will work.

Even other technologies like PHP or Rails were all essentially just text files that are easily transportable.

I'm not going to get into the fight about what's happened in the JavaScript ecosystem. Regardless of your views, it has happened now, and every front-end project ends up starting with installing many, many dependencies. And goodness me, if you pick up another developers project (who has a different computer system to you) or one of your own that you've not had to update for a few months, you can often find that you have to spend a few hours working out how to get it set up again.

I will author a post at a later date about my tips for how to sort these things out, but the main point of this post is to do with managing a team of developers.

If your company has some software to timesheet time spent on different projects, that's a great start. But I feel it's really important to be able to report on this "fixing dependencies" time to see how much time it is taking up on your team.

If your development team is part of an agency that works for clients, it's another discussion as to whether you should charge your clients this time. Yes, it's on their project, but is it really their fault that the sites have been built using lots of dependencies?

If you're able to report across a period of time how much time your developers are spending sorting things out, you can start to think about how to reduce this time. Standardise with a project starter site? Standardise the tools your developers have installed on their computers? Use Docker containers for development? The answer will be different depending on your team and the types of projects you do of course, but at least if you have the data recorded somewhere you can see how much of a problem it is and whether it is getting better or worse.