Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
A development team needs the proper motivation to give their all when working on a project. The foundation of this is a good market-level salary; employees paid below market will soon find better things to do. Beyond this, there needs to be a mission that the team can agree on. A team with a strong mission will outperform one that is just working their day job. To achieve the mission, the team needs milestone goals.
A healthy environment is also important. Too often these days, developers are dumped into a noisy bullpen filled with distractions. Open floor plans have few benefits and are detrimental to allowing programmers to concentrate on their work. Even cubicle farms are preferable to the dreaded open floor plan.
The office also needs to be healthy. If a coworker is sick, make him stay at home. Don’t let a sick person infect others. Keep the office sanitary. Allow natural light to come into the office; having windows with views of trees is ideal. Putting developers in a windowless cave is like working in a dungeon.
Give developers the support that they need. You’re going to pay over a million dollars on salaries and create a product that will bring in many more millions in revenue. It doesn’t make sense to skimp on minor expenses like computers, displays, chairs, software tools, and other supplies.
Trust the developers to do their jobs well. Avoid micromanagement. If you control every move and decision, then you are not taking advantage of the developers’ skills and experience. The team members also need to trust and support each other. This also means when a person has a problem, he needs to speak up and seek help.
Humility is very important here, as team members with big egos will not benefit from the environment. They’ll ignore the advice of their peers and refuse to help others. Always seek to have team members who value humility as a virtue.