IT definitions, discussions and more
10 Laws of Software Productivity
23/11/2013Posted by on
Productivity decreased as team sizes increase.
- LAW 1 – Smaller teams are more efficient: The smaller the team the higher the productivity of each individual person.
- LAW 2 – SOME schedule compression can be bought: Adding people to a project, to a point, decreases the time and increases the cost.
- LAW 3 – Every project has a minimum time: There is an incremental person that consumes more energy than he/she produces. Team size beyond this point decreases productivity and increases time. (”Adding staff to a late software project makes it later.”)
- LAW 4 – Productivity is scalable: Projects of larger software size can use larger teams without violating LAW 3.
- LAW 5 – Complexity limits staffing: As complexity increases, the number of people that can effectively work on the project and the rate at which they can be added decreases.
- LAW 6 – Staffing can be optimized: There exists an optimal staffing function that is effectively modeled by the Rayleigh function. Flat (level load) staffing is rarely optimal.
- LAW 7 – Projects that get behind, stay behind: It is extremely difficult to bring a project that is behind schedule back on plan.
- LAW 8 – Work expands to fill the available volume: It is possible to allow too much time to complete a project.
- LAW 9 – Better technology yields higher productivity: More capable teams, better tools, and advanced, stable processes yield higher productivity.
- LAW 10 – No “silver bullets”: There is no methodology, tool, or process improvement strategy out there that yields revolutionary improvements in project efficiency.
Original Post by: Dan Galorath — 10 Laws of Software Productivity