People
Of course, nothing gets done without people. Therefore, you must make a significant effort to hire and develop people to follow your processes. You must implement a vigorous training and certification program so that personnel can work within the process that you have defined.
Much of my experience with developers has been through the development of small businesses. This world obviously requires employees that are willing to make bigger personal sacrifices than those generally required of Fortune 500 employees. Larger companies are often successful at hiring and retaining employees through the use of flexible benefits. Many companies, for example, are beginning to provide day care benefits on site.
Obviously, small businesses have difficulty in competing for employees if the primary concern is benefits and flexibility. Sure, we can offer alternative work schedules and some flex time, but in the end, small businesses attract a different kind of employee. In this arena, it is my firm belief that employees stay with a small company for one of two reasons: money and professional development.
Employees are often lured to small business through the promise of financial reward. Certainly, the dotcom boom was fueled by this mentality. We are all familiar with the stories of sudden and dramatic wealth achieved by recent college grads who slept on the floor of a garage to start a business. We are also well aware that those times are fading fast.
I would argue that people who are motivated solely by money are not the ones you want to have when building a business. Sure, we all need moneyand we all expect to get a lot of it. That's one of the hallmarks of high tech, right? My point here is that money should not be no. 1. Professional development should be no. 1. Money should be no. 2. If money is the most important issue, then there is nothing you can do to keep an employee for the long term. That employee will leave eventually.
Assuming that your employees are motivated first by the chance to grow and work with new technologies, you are in a position to help them succeed. Every employee should be given a detailed professional development plan that allows them to meet their professional goals. At our company, employees create these plans with the help of a mentor, who is a partner in their development. These plans include specific training and certification goals, which the company funds. They also include softer goals such as displaying leadership and learning to listen. In the end, every employee should be a better technician, business leader, and person for having been at your company. This attitude, combined with well-defined processes, leads to success.