It’s not enough, as programmers, to talk about code or to talking about committing code if we’re not also talking the best time to commit code, right?

Sure, some developers have their times dictated by outside circumstances. Maybe it’s an employer, maybe it’s a person who’s hired the developer under a contract, or maybe it’s some other external circumstance.

Whatever the case, I’ve found that having a set expectation as the best time to commit code can help take several aspects of the full sprint or milestone development process a bit easier especially regarding how it helps to scope a given release.

Time to Commit Code

I should preface all of this by saying that this is how I’ve been trying to run work within the context of Pressware for at least the last year.

When to Commit

As the team has grown, we’re still looking to experiment with this kind of stuff so I don’t know if it will hold, but I’ve tried to set time to commit code every Thursday evening.

Time To Commit Code: Recent Code Commits

This results in the following (in no particular order):

  • I scope weekly milestones that set expectations for the client and myself,
  • Scoping milestones per week help triage issues and requirements as they come in for a current or future sprint,
  • The ability to avoid committing code on a Friday which may result in weekend emails and work (depending on the client).

This doesn’t mean that milestones aren’t adjusted. Yes, there are a few times where I have to extend milestones beyond weekly delivery, but I try to do that only in extreme circumstances (which are usually related to testing things or introducing features that are otherwise more in-depth than planned).

Secondly, you can instate a ‘no weekend work’ policy, but if you do that then I think you need to make sure you aren’t setting yourself up for feedback over the weekend by committing code on the day the weekend starts (you know, Friday).

Finally, having a Thursday commit also gives me time to create screencasts for my clients, so they know what to expect given what I’ve created.

Time To Commit Code: Screencasts for Clients

I prefer to use Droplr for screencasts.

(Yes, I’m one of those that will create occasional screencasts for the sake of making sure we’re all on the same page. It helps with remote work.)

The Benefits

This results in some things that I’ve found beneficial to running both a business and a project (again, in no particular order):

  • this creates a predicate schedule for all of my projects which are beneficial not only my calendar, but it sets expectations for customers,
  • it gives us the ability to determine what features belong in their milestone or the current milestone,
  • it makes it possible to open issues (or re-open issues, if I’m honest) and move them to the current milestone if a bug is discovered.

There are more, of course, but your mileage may vary based on the type of work you’re doing. But knowing that “Thursday’s coming” always makes it easier to sit down with a notebook and scope a milestone before loading it up into your project management tool of choice.

To be clear, nothing that I’ve listed above is all-encompassing. It’s more-or-less general advice. And though it’s useful within the context of what I do, it may or may not be beneficial for you.

Ultimately, the point is to try to a find a way that’s an ideal time to commit code so that it alleviates certain points of stress is your development process and project management.

This Isn’t Law

None of the above is meant to be a recommendation on how you should be running your business or your projects. It’s simply my sharing how I do it and what I’ve found to be a good way to scope projects that alleviate stress and the feeling of pressure.

After all, it creates a predictable schedule with a definitive beginning and end. If you know how to estimate your time for a given task correctly (which isn’t always easy), then it makes it much easier to plan how you want to break a task into parts and then schedule them.

With all of that said, I’m interested in hearing the benefits of how you scope projects. I’m always open-minded into ways to make the whole project management aspect of this industry a bit easier especially in the context of contracting and small business.


Join the conversation! 4 Comments

  1. It’s like asking “When is it the best time to poop?”. And the answer is pretty much the same ;)

    • Funny!

      But in all seriousness, the question was posed just as a way to lead into the post. Depending on the type of business you’re running, the answer isn’t always the same.

      It may also be as absolutely as many times as possible for each change that’s introduced. That way, you can rollback just to the point of where the problem was introduced versus when a batch of things were added that happened also include the problem.

      • Tom,

        If I understood your comment correctly, we seem to be in agreement here.

        Of course, you can make schedules of when to use the toilet, so that you don’t prevent other people from using it, and set up limited time slots, increasing predictability. You can document rules for the use of the flush, the seat, and the toilet paper. But ultimately, you poop when you feel the need to poop, and you try to do that at least once a day. If you miss a day, it’s no disaster, but if you keep doing that, you may want to visit the doctor. If you do it multiple times a day, it’s also an indication of something being wrong, and you may be interfering with other people’s toiled business.

        That’s what I mean by comparing committing rules to pooping. There are some guides, but apart from a few intuitive (and obvious for many) guides, is there really a best way to do it? And is there a need for a best way to be?

        • If I understood your comment correctly, we seem to be in agreement here.

          Pretty much.

          is there really a best way to do it? And is there a need for a best way to be?

          There’s no single best way to do it, but I think there are ideal ways for a given company or team to do it. And whether or not there’s a need for a best way to be, I think so but that’s just limited to my own experience.

          And we all have different ones :).

Leave a Reply