One of the challenges faced by smaller organizations that are usually strapped for resources / manpower is the decision to build new features versus fixing defects in the existing product.
At a high level, there are two ways to approach this dilemma. One, the company can allocate a percentage of each employee's time to defect fixing and new feature development. I'll call this the 'Time Allocation' method. The allocation can happen at various levels of granularity. For example, the decision can be to allocate 30% of an employee's time to defect fixing and the granularity can be set to one week. This would mean that 12 hours (30% of a normal 40 hour week) would be spent by the employee for defect fixing every week. It wouldn't matter whether the employee spent 2 hours and 24 minutes (12 hours divided by 5 weekdays) every day or if he/she spent one and a half days (8 + 4 hours) on fixing defects.
The other way to approach a solution to this problem would be to have dedicated teams working on fixing defects and rolling out new features. I'll call this the 'Resource Allocation' method. Each team would have managers who would review the product roadmap (for new features) or the defect backlog (for defect fixing) and manage the teams responsible for working on them. The team members are focused on their area of work and are free to develop optimal working styles or methodologies to maximize productivity.
So, what are the pros and cons of each method and how does a company go about choosing one approach? Well, the pros and cons must be fairly obvious, but I have listed some below. Ultimately, the approach that an organization adopts is very subjective and needs to be taken with the understanding that there is usually no ideal solution. The factor that could make or break the solution is actually the ability of leaders to convince team members to own and take pride in fixing product defects. It's not easy, but if team members can realize that fixing defects goes a long way towards making the product usable and more appealing to its customers, it will make it easier for organizations to deliver a stable and successful product.
At a high level, there are two ways to approach this dilemma. One, the company can allocate a percentage of each employee's time to defect fixing and new feature development. I'll call this the 'Time Allocation' method. The allocation can happen at various levels of granularity. For example, the decision can be to allocate 30% of an employee's time to defect fixing and the granularity can be set to one week. This would mean that 12 hours (30% of a normal 40 hour week) would be spent by the employee for defect fixing every week. It wouldn't matter whether the employee spent 2 hours and 24 minutes (12 hours divided by 5 weekdays) every day or if he/she spent one and a half days (8 + 4 hours) on fixing defects.
The other way to approach a solution to this problem would be to have dedicated teams working on fixing defects and rolling out new features. I'll call this the 'Resource Allocation' method. Each team would have managers who would review the product roadmap (for new features) or the defect backlog (for defect fixing) and manage the teams responsible for working on them. The team members are focused on their area of work and are free to develop optimal working styles or methodologies to maximize productivity.
So, what are the pros and cons of each method and how does a company go about choosing one approach? Well, the pros and cons must be fairly obvious, but I have listed some below. Ultimately, the approach that an organization adopts is very subjective and needs to be taken with the understanding that there is usually no ideal solution. The factor that could make or break the solution is actually the ability of leaders to convince team members to own and take pride in fixing product defects. It's not easy, but if team members can realize that fixing defects goes a long way towards making the product usable and more appealing to its customers, it will make it easier for organizations to deliver a stable and successful product.
Time Allocation
|
Resource Allocation
| |
Focus
| Focus of team shifts frequently from defects to new features and vice versa | Allows team to stay focused on one area and develop expertise |
Morale
| Less impact on employee morale because everybody is working on both defects and new features | Defect fixing has a stigma associated with it and can cause teams that are working on them to feel like they are being made to do "dirty work" |
Productivity
| Possibly adverse impact on productivity because team members find it difficult to optimize their way of working because of the varied nature of their work | Teams can try and develop efficient ways of working that could, over time, have positive effects on their productivity |
Release Management
| Release management may be a little more straightforward because the same team is working on both defect fixes and new features | Coordinating defect fix releases, branching and merging code frequently and various such activities could be more complicated because two separate teams are involved |
Testing
| Testing may turn out to be slightly easier because a single team has visibility and control into the code that is being written, so there is less chance of regressions | As code merges and branches happen during a release cycle, there is an increased chance of the wrong code creeping in which could impact regression testing. Also, when two separate teams are involved, there will invariably be a blame game when regressions are identified |