So, I was sitting yesterday with DashSoft's General Scrum Master, Ahmed Nasr (AKA Nasr) talking about how can we improve DashSoft even more.
We've had our growth pain. We've grown up 300% the past year and we're still growing. We've learned in the hard way that controlling or should i say "regulating" that growth and preventing it from changing the company culture is even more important.
Actually I learned about the company culture a while ago. I've been talked and learned about by Stephen Forte, Remi Caron and Joel Semeniuk. however, I've never really understood the importance of it until we faced a massive growth in a relatively short period. 
Generally, the company culture is a set of values that produce a specific mind set. You can know that you built a good culture in your company when you ask various individuals at your company the same question "What would you do if ...." and you get mostly the same answer. So the answers you get are mostly flowing around a central core. This core is the value that you have built in your company.
So the values could be technical, ethics, or commitment values. They can be a way of treating customers, a way of treating fellow employee, or even a way of treating yourself when you face a challenge and so on.
In order to track your progress of building a culture, you need two things: a set of tools to measure the culture aspects and a set of standards to compare your measurements to.
I am going to demonstrate an example we are doing currently in DashSoft now.
Interviews
So the first step we did is that we raised our interview levels standard. we become more picky on the ethics aspect more than the technical one. DashSoft is well known with its high technical level, and smart developers would be up to speed in no time.
Defining Culture
You need to define "very" clearly what is your target, you need to show the teams first, the benefits they're going to have when they try to have these values within them, teams believe more in things if they know the reason why.
Start planning a road map
Now everyone is agreed on the What and the Why, we need to agree on the how. Consult your upper management, share your vision and process their feedbacks. Come out from those meetings with a roadmap on how should the company, the management and the teams do in order to have a healthy culture and work environment.
Release a guide on how to improve yourself and doing periodical evaluation meetings with the teams is always a good thing to put them on the right track and everyone makes sure that they're on that track.
Evaluation
Most important part is find a way to "measure" those improvements. So you and your teams can understand if they're working right or not, if not, you'd be able to figure out what's wrong and save yourself lots of time trying to implement a wrong part that potentially would affect the company in a bad way.
Incentives to keep growing
So, yes, you have the teams that willing to do a change, they're smart have high endurance threshold and you can really depend on them to create a solid company. What happens if some bad apples slipped inside ? or people getting lazy ? What's the incentive they would have to start getting up again ? A word I have learned from a dear friend Vassil Terziev a year ago & it's still ringing in my head, "Peer Pressure". Teams should be self sustainable, people are up should help the ones are down. It's not your job to get people up on their feet. It's your job to create the culture that will make everyone feels that its his/her duty to help others.
So beside the guidance and supporting people , everyone will see the "Improvement Progress Chart"
| Aspects | Commitment | Ethics | Technical | | Team | V1 | V2 | V3 | V1 | V2 | V3 | V1 | V2 | V3 | | Name 1 | | √ | √ | √ | - | √ | √ | √ | | | Name 2 | √ | | √ | - | | √ | | √ | √ | | Name 3 | √ | | √ | √ | √ | | √ | | √ | |
Simply it has all the names and all the values we agreed on. each value (V1,V2,...) has a link on how to improve yourself on this specific value along with examples and cases we faced or we would have.
Each team member (Name 1, Name 2, ....) has a √ at the values he gets and nothing (-) at the values he does not have it fully yet. The trick is what is the standard you are going to go by that would say from 1-3 is nothing & from 4-5 is something ? It's tricky because you need to realize your team capabilities and you need to understand how far can they endure to be better person. Think of it like a gym. If you are going to train someone, he'd be in pain (good pain) but can he run for 1 hour from the first the first month or day or from the first year.
The last part is: if the team member's leader see he should learn something. He would find a message at this specific value he doesn't have yet that is visible only to him telling him how to be better as a tip, that's beside the guide on how to be better on the value that is visible to everyone.
One last thing. If you are going through that, you need to have a great faith in your team. I do. I have the reputation of being a tuff person in technical projects management. So whoever can survive me for that long surely he/she is a pretty great person. I have a team of people who can survive me, and I do have the faith in them that they won't let the me down. You need to make sure of that first before going forward with building a culture.
I will keep you posted on how this goes.