I have written about sizing business requirements based on business value, and I now want to turn to sizing business requirements based on technical complexity. Before I go further, I should clarify that these two activities should be done independently of the other. The assignment of business value should be done by business representatives without any technology resources involved in the process. You will hear protests from business representatives that they "have to know the technical complexity" before they can size the requirement. Ignore these requests. If some of the work has already started, they will claim, "How can I determine business value if I don't know the percent complete of the work?" This should be ignored, too. Neither the technical complexity nor the percent complete of a business requirement should have any bearing on its business value. The business has to learn to trust the technology team to correctly assess technical complexity including any work that has already been completed.
So, how can a technology team size the technical complexity of a business requirement? How is a five point scale for how I have done it in the past:
Technical Complexity 5 – This business requirement is incredibly complex to implement. It will take a several weeks for one person to complete and poses very high risk to the codebase.
Technical Complexity 4 – This business requirement is very complex. It will take at least a month for one person to complete and poses high risk to the codebase.
Technical Complexity 3 – This business requirement is of average difficulty. It will take less than a month for one person to complete and has medium risk to the codebase.
Technical Complexity 2 – This business requirement is of low difficulty. It will take less than two weeks for one person to complete and has low risk to the codebase.
Technical Complexity 1 – This business requirement is of very low difficulty. It will take less than one week for one person to complete and has no risk to the codebase.
So far, I have presented both business value and technical complexity in terms of a simple five point scale. However, there is a way to represent the complexity of the relative importance of different business parameters that need to be reflected in technology solutions. This is done by adding a weight to each business parameter. It's also possible to assign weights to different components of the technical complexity. I'll cover how to do this in a later post.