How many developers does it take to build a mobile app?
The most successful mobile apps are staffed by small brilliant development teams. The core ShopSavvy application was developed by less than five full-time software engineers. Over time, we added more and more developers, but more bodies didn’t really improve our productivity, features or functionality. Throwing bodies at software development is often counterproductive. Just the other day a recruiter reached out to discuss a CEO opportunity with a mobile app company with 60 developers located outside of the country. My first reaction was that we needed to fire everyone, relocate development to San Francisco and hire the ten best developers we could find. We wouldn’t save any money as the company was already spending more than $4M in development salaries (our average salary in San Francisco would be $400K), but our work product would be 10x better/faster.
The dirty secret is that the BEST software developers are between 10 and 28 times more productive than average developers. Robert Glass in his book “Facts and Fallacies of Software Engineering” uncovered the uncomfortable truth that “the best programmers are 28X better than the worst programmers.” Further, in research conducted by Sackman, Erickson and Grant, outlined in Fred Brook’s “The Mythical Man-Month“, found that the best developers are 10x more productive and deliver code 5x faster than average or normal developers. Stop counting lines of code to determine productivity. The best code:
- is maintainable (easily for multiple developers to work with = lower cost of ownership)
- has fewer bugs (focus on cost of ownership not time to completion = saves time both during creation and maintenance)
- has fewer lines (leverage others tools and frameworks = less code that does more)
So if more developers won’t help what can a company do to produce more results? Joel Spolsky and his partner Michael Pryor have a simple theory they’ve been testing since 2000 (it’s been working):
If you’re in the software development world you might have heard of Brooks’ Law, which states that “adding manpower to a late software project makes it later.” One developer has ZERO coordination and communication overhead while ten developers working on the same task must coordinate and communicate. These interactions take a LOT of time. Imagine trying to coordinate the work of 60 developers?
By the way, the company decided they didn’t think I would be a good fit. Thank God. But honestly? I’m disappointed they didn’t want me to help fix their company.