We are gearing up for a major release this summer and the development team is already firing on all cylinders. With only six weeks from code complete and only a few months from market launch we’re entering the phase of development that can be both exciting and tiring, when there is little room in the schedule for new changes. Throughout my career, I’ve read a lot of books and blogs that give advice about effective management, things that range from the mundane (reduce time in meetings), the abstract (“fail fast! And iterate!”), to the obscure (hybridize your management process across waterfall and scrum), but very few have offered practical advice. In the stage of development we’re in here at Mersive, Thomas Ruge (our VP of Product Development) and I decided to take a different approach to managing our development team. One that none of the books or experts advise. Perhaps it’s crazy, maybe even radical… We asked the team.
After all, the members of our development team know better than anyone how to make their days more effective and I trust their opinions. So I asked each member of the team independently,
“What can we do to increase your productivity and make your day generally happier?”
I also told them nothing is off limits, but I wanted to hear their opinions and we’d do what we could as a company to support them. What I learned was not only valuable to our own team, but some of it may fit within your own corporate culture, so I wanted to pass it along.
Surprisingly (or perhaps not), no one on the team mentioned waterfall or scrum…
Four Effective Management Tips
- Flexibility – Give your team the ability to work when it suits them best. If members are more efficient working at home, in a coffee shop, or like to program deep into morning hours, encourage them. We use instant messaging at all hours to stay connected but, unless we need to be together for deeper creative and collaborative sessions, we encourage the team to work where, how, and when they are most effective. This is a hard one for managers who grew up in the – 8:30-6:30-in-the-office-means-you-work-hard era, but the millennial generation doesn’t get it and thinks work flexibility is worth more than most benefits.
- Distractors – Ask your team what distracts them during the day and help create an environment that removes it. Is it co-workers brainstorming near their desk? Is it the lack of time for errands because the release deadline is now only four weeks away? These are easy ways to improve productivity with little money or effort. Buy your team a great set of headphones and set them up with a monthly account on task rabbit.
- Food and Work – I had some team members tell me they would get in earlier and work through lunch more if they didn’t spend time making lunch at home or walking to lunch somewhere. We now cater lunch into our development area every Monday/Wednesday/Friday until the release. This is also a great way to get the team together over good food. This is an efficiency trick I learned from my graduate students years ago that lived and worked in the intense career environment of Mumbai where home cooked meals can be delivered to your desk every day via the Dabbawalla network. If you’re going to do something like this, you have to make clear to your team that it’s optional. If you have team members that are more efficient using a walk at lunch to clear his/her head for an afternoon programming push – by all means encourage them to do so.
- Ownership – This is probably one of the most obvious answers that I got back from the team. If someone is building something that they can be proud of, that they own, and can point to and say “I did that”, they will work harder to create it. I’ve blogged about the difference between factory worker developers and true craftsmen in the past and this is one of the best ways to create a culture of software craftsmanship. You can’t always break a product into components that each engineer can own, but our team gravitates to areas where they already excel – architecture, UI, click-flow and experience, video streaming encoders, etc.. The key is to give them the flexibility to find and own parts of the process – not to assign work without their input.
In implementing any of these ideas you have to remain open to individuals viewing things differently. The point is to support a team that wants to be more efficient – not to impose rules of efficiency.
I’d love to hear thoughts from other entrepreneurs on how they work with their development teams during deadline crunches. What effective management tips can you share?