So, while I was counting and assigning bugs in Jira, I started to wonder... What makes our development team (well... probably any team) successful? Aside from me being an awesome manager dude (with tie-dye t-shirts and all), the obvious answer is: people. Now that we’ve taken care of that platitude, the real question is: How do you make sure that you find smart people, retain smart people and keep those smart people efficient and engaged?
To me, all of it starts with the company culture. At CloudBees, we have a few guiding principles that help us make the right decisions:
It's ok to make mistakes. We want to take risks, and, if something turns out badly, let's fix it. No blaming, no finger pointing.
We want to know about problems. To be able to fix mistakes, we need to recognize them. So everybody is encouraged to speak up when they see a problem.
Execution + Consultation = Success. Make decisions you can make comfortably, and consult with other team members when you need help. Consult first with whoever is most likely to have a problem with your decision.
Get plenty of input, but move forward quickly. Big decisions warrant a greater level of input, but it’s important that you don't get stuck in the input gathering/consensus building stage indefinitely. Remember... It’s ok to make mistakes (as long as you don't run the company into the ground).
Operate under the "Reasonable Person Principle." If you don't understand why someone else is acting/responding in a particular way, remember that that person is likely to have a good reason for whatever they are doing. Instead of assuming your seemingly-crazy colleague is just plain wrong, pause and try to understand their reasoning (This works up to a point... there may be one or two unreasonable people out there).
Measuring Success: What Makes Us Think This Works?
Of course, there are lots of theories… and many fewer successes. As the old adage goes “The proof of the pudding is in the eating”. I’m glad to report that, so far, the recipe above has proved good eating for CloudBees.
Our customers are really happy. A recent customer survey found that 87 percent of our customers are very satisfied or satisfied. We are working hard on getting those mostly satisfied up to at least satisfied.
Our team turnover is very low. My team right now has an average tenure of 4.5 years. Over the 10 years of CloudBeess existence, my team has lost four engineers from leaving. And yes, I did lose other engineers to other groups in the company, and I didn't count retirement.
Our product keeps getting better. We are able to produce four on-time feature releases per year. We have produced 12 feature releases at nearly three-month intervals for the past three years (... let me check my math... yes, that's right). We also produced 15 patch releases in the same time frame.
We are stomping out our bugs. Our bug open-to-close stats show that in the past year we have closed four bugs for every three bugs created. While our source base, as well as our customer base, keeps expanding, our overall open bug count has remained steady/declined.
People know we are here to help. Within the organization (from marketing and sales to product management and support), the engineering team is well respected, and frequently called upon to provide help, guidance, support and even hugs (when requested).
We are growing even in hard times. Our customer base keeps growing, and our existing customers consistently renew support contracts and expand deployments.
So yes...It seems to work. But how does this manifest in our daily life here at CloudBees? To me, the day-to-day business is driven by several factors. Read on to find out more:
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.