In my time working in municipal government, I was able to experience something very few people in tech get to. I was a union employee.
Being a union employee comes with a lot of constraints that have been collectively bargained through the years. These constraints apply to the employer and the employee.
One of the constraints that we faced was a hard limit on the number of hours worked. There were very few long nights before a launch. Much unlike my previous lives as a consultant, where we'd often find ourselves working 10-12 hours at a time.
At the city, we were limited to 7 hour days. To work more, you'd either need permission or something went horribly wrong that day. This constraint didn't limit our productivity. If anything, it made us more productive.
Here are some of the things that I think really helped us be a productive group.
- Your team is there for a reason, believe in them and let them help. A small team with constraints needs to build trust with one another. Each member needs to know what the others are capable of, and they need to know that you will be able to get your tasks done. This allows them to focus on their own tasks without worry.
- Be open to compromise. Every product has things that will need to be compromised on. Be ready and open to compromise on anything from product scope to slightly imperfect development. Perfection takes a lot of time, and more than likely, no one will notice the majority of your perceived flaws.
- Get feedback early and often. Every product needs this, whether you have constraints or not. In our case, we resorted to testing things early and often. We were lucky to have a captive audience that showed up to our office building (City Hall) every day. If your customers aren't coming to you, get someone on the team to go meet them where they are. That could be in a physical location, or through more virtual means.
- Get lots of sleep. This is always a hard one, but sleep is important. You can get more done in 7 hours on a full nights sleep than you can get done in a week of burning the midnight oil. The only thing that not sleeping gets you is burnt out.
- Embrace patterns and systems. When building new things, make sure to reuse as much as you can from previous projects. Don't start from scratch every time. In our case, we built a pattern library and created a reusable app architecture. Patterns and systems will always make you more efficient.
- Don't blame, take ownership. Your team trusts you to carry your own water. If something goes wrong, don't spend time blaming others. Take ownership of the situation and fix the problem.
Even if your team doesn't currently have any time constraints, I'd encourage to try implementing one. I'd bet that you might find your team to become more efficient (and happier).