Through interviews with dozens of technology executives, Brainspire conducted a research study to find cultural and technical processes and practices that produce the highest return on investment for software development. Below is the first of seven recommendations to enable more effective and higher quality software development:
Key #1 - Organize with Small Teams
Effective software development teams function best with approximately 5 members, including developers, testers, and a business analyst / project manager.
Small teams enable more effective communication and a commitment to produce results. Quality and velocity increase when everyone on the team is a contributing member and accountable. Nobody can hide in a small team. Enterprise level applications that have complex layers and require a large number of resources should be broken down into smaller functional teams - separate teams for user interface, the data layer, the business logic, the integration, business functions, etc. Further, these small teams should be built around the personality and strengths of each individual and self-organized. People who like working together are much more productive.
At appropriate times in the project lifecycle, examine your current teams and their size to determine if tuning would produce more effective and streamlined teams. Get input from the team members as to how they would like to organize and what they would like to work on to be more productive.