This post hasn't been updated in over 2 years.
You’re an adept, professional and fortunate freelance developer. As such, you’ve got loads of work on and everyone wants a part of you. But like all things, too much of something can also be a curse.
Early in your career, when your freelance business was smaller, and had only a handful of clients, life was simpler. You didn’t need an intense workflow to manage your projects from inception to delivery. But now all of that’s changed; you’re busy and it’s taking its toll.
Perhaps you, regularly, ask yourself some of these questions:
- Where does my time go?
- How can I spend more time in development and less time in administration?
- Why do I
wastespend so much time administering projects instead of building and billing them?
- How can I simplify my workflow?
- How can I do what I do, but simpler, quicker, easier?
Well, there are a number of great resources available, but I want to focus on just one. If you’re familiar with Github (or even if you’re not) then today you’re in for a treat. A while ago Github introduced a new feature called Organizations and it’s a real godsend for us freelance developers.
The basic setup is quite good. The personal features allow us to share and collaborate fairly well. But the permission structure is, well to say the least, simple.
For example, recently I wanted to give a client view access only to one of my projects. Unfortunately, given that it was under a personal profile, they could either get full access or nothing. There was no middle ground. But organizations changes all that and I’m sure you’re going to love it. Here’s why:
1. Manage More Projects
In every project there are many roles. As freelancers, we work and collaborate with others as the projects demand; whether that’s software developers, user interface designers, testers, marketers or something else entirely.
These diverse skills and backgrounds have different needs in the project and require different access and permissions as a result. How do we accommodate this diverse array of needs?
Like Basecamp, Github has taken a simplified, less is more, approach and allows you as the project administrator to create teams of people and assign them one of 3 permission groups.
- Pull Only – Allow a user to review the code and participate in the project’s issues and wiki. They have no commit access
- Pull+Push – Allow users to push, commit and participate, but not change details about the project.
- Pull+Push+Administrative – Grant full access to one or more users.
Now these new permissions aren’t exhaustive, and it would be good to have even more fine-grained control, but you get a lot for not much.
2. Scale Projects Without The Cost
Before Organizations came along, when you needed more power and flexibility than Github could provide, what did you do? More than likely you went looking around for a bigger, more powerful tool, right?
Well, depending on your needs, that might not have come without some cost. Now I’m not saying that there aren’t other tools out there, there are, such as:
And with some of them, you get a lot for you money, but you can end up paying quite a lot as well. So while Github Organizations may not give us everything we need, but it does give us greater ability to scale and manage projects with no extra cost. It’s available free whether you’re currently on a free or paid plan.
3. Distribute Work Amongst Freelancers As Needed
In all software projects, there’s a lot that we need to do, especially when we’re co-ordinating people, such as on the Zend Framework 2 or JoindIn projects. There’s commits to review, issues and the wiki to manage, push requests to go over and merge – if accepted. After all, we’re not producing rubbish, we’re producing software that really satisfies our clients.
With the old way of working on Github, that wasn’t the easiest to do. But with organizations, when you arrange your projects, you can switch context from one to the next and do all of this rather quickly. No logging out, logging in and starting over. Just switch context. This should serve to ease the administrative burden on us as freelance project administrators.
4. Appear Like a Larger Business
Now this isn’t specific to Github Organizations itself, but to the flexibility and productivity that organizations gives us. With the reduced management overhead we get, we now have more time to do the work of developing code, resolving issues, providing great documentation and ultimately satisfying our clients.
If nothing else, you can do more in less time, giving you more time for you, for your loved ones, for anything else but project administration. I don’t know about you, but I’d rather be in my project or out bike riding than doing admin.