Amount of communication required | Amount of documentation required |
Availability of resources | Complexity of architecture |
Complexity of data models | Complexity of design |
Complexity of integration | Complexity of procurement |
Complexity of project management process | Complexity of regulatory processes such as permits |
Complexity of requirements | Complexity of technologies involved |
Compliance overhead | Decisions and decision making processes |
Extent of interdisciplinary collaboration – work that requires many types of professions to be involved | Level of resistance to change |
Level of support and commitment | Locations involved |
Number of business rules | Number of business units involved |
Number of change requests | Number of contributors |
Number of features | Number of functions |
Number of integrations | Number of interfaces |
Number of languages and locales | Number of meetings |
Number of non-functional requirements | Number of organizations involved |
Number of reports | Number of requirements |
Number of screens | Number of stakeholders |
Number of teams involved | Number of technologies involved |
Number of use cases | Number of user roles |
Number of workflows | Quality level required |
Risks | Small iterative releases or one large release – iterative releases reduce complexity |
Stability of organization | Stability of requirements |
Stability of target environments - stability of the things you are changing | Task dependencies |
Time constraints – it is more complex to deliver things quickly because you need more resources that must be coordinated | Type of materials involved e.g. for a construction project |
Work that involves highly specialized tasks | Work that involves legacy systems or things |
Work that involves multiple organizational cultures | Work that is intensely political |